/* @override 
	https://dev.cdn-normandierouen.fr/profiles/ff_profile/modules/custom/ff_gin_spe/css/ff_gin_spe.css?* */

/* FONTS */
@font-face {
  font-family: "IBM";
  src:
    url("../../../../themes/custom/ff_rouen/fonts/IBMPlexSans-Regular.woff") format("woff"),
    url("../../../../themes/custom/ff_rouen/fonts/IBMPlexSans-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "IBM";
  src:
    url("../../../../themes/custom/ff_rouen/fonts/IBMPlexSans-Italic.woff") format("woff"),
    url("../../../../themes/custom/ff_rouen/fonts/IBMPlexSans-Italic.woff2") format("woff2");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "IBM";
  src:
    url("../../../../themes/custom/ff_rouen/fonts/IBMPlexSans-SemiBold.woff") format("woff"),
    url("../../../../themes/custom/ff_rouen/fonts/IBMPlexSans-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "IBM";
  src:
    url("../../../../themes/custom/ff_rouen/fonts/IBMPlexSans-SemiBoldItalic.woff") format("woff"),
    url("../../../../themes/custom/ff_rouen/fonts/IBMPlexSans-SemiBoldItalic.woff2") format("woff2");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}
/* FIN FONTS */

/* VAR */

:root {
	--gin-font: "IBM", sans-serif;
	--gin-font-weight-semibold: bold;
	--gin-font-weight-bold: bold;
	--gin-toolbar-width-collapsed: 120px;
}

body.gin--vertical-toolbar {
	--gin-icon-size-toolbar: 65px;
	--gin-toolbar-y-offset: 0px;
	font-weight: 400 !important;
}

#block-gin-page-title .page-title {
	font-weight: var(--gin-font-weight-bold) !important;
}
/* FIN VAR */

/* PARA FOND */

.field--name-field-fond-options .form-type--radio {
	position: relative;
	display: flex;
	align-items: center;
	gap: 15px;
	border-bottom: 1px solid #333;
	margin: 0 !important;
	padding: 10px 0;
	padding-left: 30px;
}

.field--name-field-fond-options .form-type--radio label {
	font-weight: 700 !important;
	text-transform: uppercase;
}

.field--name-field-fond-options .form-type--radio:after {
	position: relative;
	content: "";
	display: inherit;
	width: 300px;
	height: 100px;
}

.field--name-field-fond-options .form-type--radio:nth-child(1):after {
	background-image: url(../../ff_components/components/graphiques/fond/fonds/motif-1.png);
}

.field--name-field-fond-options .form-type--radio:nth-child(2):after {
	background-image: url(../../ff_components/components/graphiques/fond/fonds/motif-2.png);
}

.field--name-field-fond-options .form-type--radio:nth-child(3):after {
	background-image: url(../../ff_components/components/graphiques/fond/fonds/motif-3.png);
}

.field--name-field-fond-options .form-type--radio:nth-child(4):after {
	background-image: url(../../ff_components/components/graphiques/fond/fonds/motif-4.png);
}

.field--name-field-fond-options .form-type--radio:nth-child(5):after {
	background-image: url(../../ff_components/components/graphiques/fond/fonds/motif-5.png);
}

.field--name-field-fond-options .form-type--radio:nth-child(6):after {
	background-image: url(../../ff_components/components/graphiques/fond/fonds/motif-6.png);
}
/* FIN PARA FOND */

/* MEDIA GRID — /admin/content/media-grid (view media_library, display page) */

.view-id-media_library.view-display-id-page .media-library-views-form {
	display: block;
	padding: 4px 0;
}

.view-id-media_library.view-display-id-page .media-library-views-form__header {
	margin-bottom: 14px;
}

.view-id-media_library.view-display-id-page .media-library-views-form__rows {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
	gap: 14px;
}

.view-id-media_library.view-display-id-page .views-row.media-library-item--grid {
	position: relative;
	display: flex;
	flex-direction: column;
	margin: 0;
	background: #fff;
	border: 1px solid #e4e4e7;
	border-radius: 6px;
	overflow: hidden;
	isolation: isolate;
	transition: border-color .15s ease, box-shadow .2s ease, transform .15s ease;
}

.view-id-media_library.view-display-id-page .views-row.media-library-item--grid:hover {
	border-color: #18181b;
	box-shadow: 0 6px 20px -6px rgba(0,0,0,.18);
	transform: translateY(-1px);
}

.view-id-media_library.view-display-id-page .views-row.media-library-item--grid, .view-id-media_library.view-display-id-page .media-library-item__click-to-select-trigger, .view-id-media_library.view-display-id-page .media-library-item__content, .view-id-media_library.view-display-id-page .media-library-item__preview-wrapper, .view-id-media_library.view-display-id-page .media-library-item__preview {
	width: auto;
	max-width: none;
	min-width: 0;
	float: none;
}

.view-id-media_library.view-display-id-page .media-library-item__click-to-select-trigger, .view-id-media_library.view-display-id-page .media-library-item__content, .view-id-media_library.view-display-id-page .media-library-item__preview-wrapper {
	display: flex;
	flex-direction: column;
	flex: 1;
	cursor: pointer;
}

.view-id-media_library.view-display-id-page .media-library-item__preview {
	position: relative;
	width: 100%;
	margin: 0;
	display: block;
	background: transparent;
	box-shadow: none !important;
}
/* Le layout onecol qui wrappe les fields */

.view-id-media_library.view-display-id-page .media-library-item__preview .layout--onecol, .view-id-media_library.view-display-id-page .media-library-item__preview .layout__region {
	display: contents;
}
/* Thumbnail = ratio 4/3 (matche image_style media_library scale 400×300) */

.view-id-media_library.view-display-id-page .media-library-item__preview .field--name-thumbnail {
	position: relative;
	aspect-ratio: 4 / 3;
	width: 100%;
	background: linear-gradient(135deg, #fafafa 0%, #f4f4f5 50%, #e9e9ed 100%);
	overflow: hidden;
	margin: 0;
}

.view-id-media_library.view-display-id-page .media-library-item__preview .field--name-thumbnail::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(45deg, rgba(0,0,0,.025) 25%, transparent 25%),
	linear-gradient(-45deg, rgba(0,0,0,.025) 25%, transparent 25%),
	linear-gradient(45deg, transparent 75%, rgba(0,0,0,.025) 75%),
	linear-gradient(-45deg, transparent 75%, rgba(0,0,0,.025) 75%);
	background-size: 16px 16px;
	background-position: 0 0, 0 8px, 8px -8px, -8px 0;
	pointer-events: none;
	z-index: 0;
}

.view-id-media_library.view-display-id-page .media-library-item__preview .field--name-thumbnail > * {
	position: relative;
	z-index: 1;
}

.view-id-media_library.view-display-id-page .media-library-item__preview .field--name-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	max-width: none;
	transition: transform .4s cubic-bezier(.2,.7,.2,1);
}

.view-id-media_library.view-display-id-page .views-row.media-library-item--grid:hover .field--name-thumbnail img {
	transform: scale(1.03);
}

/* SVG inline : fond mid-gray + drop-shadow pour contraste blanc/noir */

.view-id-media_library.view-display-id-page .media-library-item__preview:has(svg) .field--name-thumbnail {

	box-sizing: border-box;
	padding: 10px;
}

.view-id-media_library.view-display-id-page .media-library-item__preview:has(svg) .field--name-thumbnail::before {
	display: none;
}

.view-id-media_library.view-display-id-page .media-library-item__preview:has(svg) .field--name-thumbnail .field__item {
	position: absolute;
	inset: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.view-id-media_library.view-display-id-page .media-library-item__preview:has(svg) .field--name-thumbnail svg {
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	display: block;

}

/* Caption (légende) + copyright sous l'image, dans la card */

.view-id-media_library.view-display-id-page .field--name-field-media-caption, .view-id-media_library.view-display-id-page .field--name-field-media-copyright {
	padding: 0 12px;
	font-size: 11px;
	line-height: 1.4;
	color: #52525b;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	word-break: break-word;
}

.view-id-media_library.view-display-id-page .field--name-field-media-caption {
	margin-top: 8px;
	font-style: italic;
	color: #3f3f46;
}

.view-id-media_library.view-display-id-page .field--name-field-media-caption .field__item p {
	margin: 0;
}

.view-id-media_library.view-display-id-page .field--name-field-media-copyright {
	margin-top: 4px;
	font-size: 10px;
	letter-spacing: .03em;
	text-transform: uppercase;
	color: #71717a;
	font-weight: 500;
}

.view-id-media_library.view-display-id-page .media-library-item__attributes {
	padding: 10px 12px 11px;
	display: flex;
	flex-direction: column;
	gap: 2px;
	border-top: 1px solid #f4f4f5;
}

.view-id-media_library.view-display-id-page .media-library-item__name {
	font-weight: 600;
	font-size: 12.5px;
	line-height: 1.4;
	letter-spacing: -.005em;
	color: #18181b;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	word-break: break-word;
}
/* Espace en bas si caption/copyright présents */

.view-id-media_library.view-display-id-page .views-row.media-library-item--grid:has(.field--name-field-media-caption) .media-library-item__preview, .view-id-media_library.view-display-id-page .views-row.media-library-item--grid:has(.field--name-field-media-copyright) .media-library-item__preview {
	padding-bottom: 10px;
}

.view-id-media_library.view-display-id-page .media-library-item__attribute, .view-id-media_library.view-display-id-page .media-library-item__type {
	font-size: 10px;
	color: #71717a;
	text-transform: uppercase;
	letter-spacing: .06em;
	font-weight: 500;
}

.view-id-media_library.view-display-id-page .media-library-item__edit, .view-id-media_library.view-display-id-page .media-library-item__remove {
	position: absolute;
	top: 8px;
	z-index: 5;
	width: 28px;
	height: 28px;
	background-color: rgba(255,255,255,.96);
	border: 1px solid rgba(0,0,0,.12);
	border-radius: 6px;
	box-shadow: 0 2px 6px rgba(0,0,0,.12);
	opacity: 0;
	transform: translateY(-2px);
	transition: opacity .15s ease, transform .15s ease, background-color .15s ease, border-color .15s ease;
	font-size: 0;
	color: transparent;
	overflow: hidden;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 15px 15px;
}

.view-id-media_library.view-display-id-page .media-library-item__edit {
	right: 42px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2318181b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 20h9'/><path d='M16.5 3.5a2.121 2.121 0 1 1 3 3L7 19l-4 1 1-4L16.5 3.5z'/></svg>");
}

.view-id-media_library.view-display-id-page .media-library-item__remove {
	right: 8px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b91c1c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='3 6 5 6 21 6'/><path d='M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6'/><path d='M10 11v6M14 11v6'/><path d='M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2'/></svg>");
}

.view-id-media_library.view-display-id-page .views-row.media-library-item--grid:hover .media-library-item__edit, .view-id-media_library.view-display-id-page .views-row.media-library-item--grid:hover .media-library-item__remove, .view-id-media_library.view-display-id-page .views-row.media-library-item--grid:focus-within .media-library-item__edit, .view-id-media_library.view-display-id-page .views-row.media-library-item--grid:focus-within .media-library-item__remove {
	opacity: 1;
	transform: translateY(0);
}

.view-id-media_library.view-display-id-page .media-library-item__edit:hover {
	background-color: #fff;
	border-color: #18181b;
}

.view-id-media_library.view-display-id-page .media-library-item__remove:hover {
	background-color: #fee2e2;
	border-color: #b91c1c;
}

/* Wrapper neutralisé visuellement — conserve l'arbre a11y (input bulk) */
.view-id-media_library.view-display-id-page .views-field-media-bulk-form {
	position: static;
	background: transparent;
	border: 0;
	padding: 0;
	box-shadow: none;
	margin: 0;
	line-height: 0;
}
/* La case visible unique : .media-library-item__click-to-select-checkbox */

.view-id-media_library.view-display-id-page .media-library-item__click-to-select-checkbox {
	position: absolute !important;
	top: 8px !important;
	left: 8px !important;
	z-index: 5;
	width: 28px;
	height: 28px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	margin: 0;
	padding: 0;
}

.view-id-media_library.view-display-id-page .media-library-item__click-to-select-checkbox .js-form-item, .view-id-media_library.view-display-id-page .media-library-item__click-to-select-checkbox .form-item {
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.view-id-media_library.view-display-id-page .media-library-item__click-to-select-checkbox input[type="checkbox"] {
	margin: 0;
	display: block;
	width: 20px;
	height: 20px;
	cursor: pointer;
}

.view-id-media_library.view-display-id-page .media-library-item__click-to-select-checkbox label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.view-id-media_library.view-display-id-page .views-row.media-library-item--grid:has(input[type="checkbox"]:checked) {
	border-color: #16a34a;
	box-shadow: 0 0 0 2px #16a34a, 0 6px 20px -6px rgba(22,163,74,.4);
}

@media (max-width: 720px) {
	.view-id-media_library.view-display-id-page .media-library-views-form__rows {
		grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
		gap: 10px;
	}
	
	.view-id-media_library.view-display-id-page .media-library-item__name {
		font-size: 11.5px;
	}
	
	.view-id-media_library.view-display-id-page .media-library-item__edit, .view-id-media_library.view-display-id-page .media-library-item__remove, .view-id-media_library.view-display-id-page .views-field-media-bulk-form {
		opacity: 1;
		transform: none;
	}
}

.view-id-media_library.view-display-id-page .pager {
	margin-top: 24px;
}
/* FIN MEDIA GRID */

/* FF OVERLAY */
.ff-rouen-couverture-overlay-settings .media-library-item__preview-wrapper {
	width: 200px !important;
}
.ff-rouen-couverture-overlay-settings .media-library-item__preview-wrapper svg,
.ff-rouen-couverture-overlay-settings .media-library-item__preview-wrapper img {
	width: 100%;
}
.ff-rouen-couverture-overlay-settings .button--danger {
	border-color: var(--gin-color-danger) !important;
}
/* FIN FF OVERLAY */