/* ==========================================================================
   SISD Luxembourg — charte 2026
   Couleurs : vert SISD (boutons), vert profond (liens), ardoise (titres),
   encre (texte), sauge (fonds). Titres en Outfit, texte en Atkinson
   Hyperlegible Next, toutes deux hébergées sur le site.
   ========================================================================== */

/* Remise à zéro de Hello Elementor 3.5.1 (reset.css), reprise ici pour éviter une feuille de style bloquante de plus. */
html{line-height:1.15;-webkit-text-size-adjust:100%}*,:after,:before{box-sizing:border-box}body{background-color:#fff;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:1rem;font-weight:400;line-height:1.5;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}h1,h2,h3,h4,h5,h6{color:inherit;font-family:inherit;font-weight:500;line-height:1.2;margin-block-end:1rem;margin-block-start:.5rem}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-block-end:.9rem;margin-block-start:0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace;font-size:1em;white-space:pre-wrap}a{background-color:transparent;color:#c36;text-decoration:none}a:active,a:hover{color:#336}a:not([href]):not([tabindex]),a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}abbr[title]{border-block-end:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none;height:auto;max-width:100%}details{display:block}summary{display:list-item}figcaption{color:#333;font-size:16px;font-style:italic;font-weight:400;line-height:1.4}[hidden],template{display:none}@media print{*,:after,:before{background:transparent!important;box-shadow:none!important;color:#000!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre{white-space:pre-wrap!important}blockquote,pre{-moz-column-break-inside:avoid;border:1px solid #ccc;break-inside:avoid}thead{display:table-header-group}img,tr{-moz-column-break-inside:avoid;break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{-moz-column-break-after:avoid;break-after:avoid}}label{display:inline-block;line-height:1;vertical-align:middle}button,input,optgroup,select,textarea{font-family:inherit;font-size:1rem;line-height:1.5;margin:0}input[type=date],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],select,textarea{border:1px solid #666;border-radius:3px;padding:.5rem 1rem;transition:all .3s;width:100%}input[type=date]:focus,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,select:focus,textarea:focus{border-color:#333}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;width:auto}[type=button],[type=submit],button{background-color:transparent;border:1px solid #c36;border-radius:3px;color:#c36;display:inline-block;font-size:1rem;font-weight:400;padding:.5rem 1rem;text-align:center;transition:all .3s;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}[type=button]:focus,[type=button]:hover,[type=submit]:focus,[type=submit]:hover,button:focus,button:hover{background-color:#c36;color:#fff;text-decoration:none}[type=button]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto;resize:vertical}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}select{display:block}table{background-color:transparent;border-collapse:collapse;border-spacing:0;font-size:.9em;margin-block-end:15px;width:100%}table td,table th{border:1px solid hsla(0,0%,50%,.502);line-height:1.5;padding:15px;vertical-align:top}table th{font-weight:700}table tfoot th,table thead th{font-size:1em}table caption+thead tr:first-child td,table caption+thead tr:first-child th,table colgroup+thead tr:first-child td,table colgroup+thead tr:first-child th,table thead:first-child tr:first-child td,table thead:first-child tr:first-child th{border-block-start:1px solid hsla(0,0%,50%,.502)}table tbody>tr:nth-child(odd)>td,table tbody>tr:nth-child(odd)>th{background-color:hsla(0,0%,50%,.071)}table tbody tr:hover>td,table tbody tr:hover>th{background-color:hsla(0,0%,50%,.102)}table tbody+tbody{border-block-start:2px solid hsla(0,0%,50%,.502)}@media(max-width:767px){table table{font-size:.8em}table table td,table table th{line-height:1.3;padding:7px}table table th{font-weight:400}}dd,dl,dt,li,ol,ul{background:transparent;border:0;font-size:100%;margin-block-end:0;margin-block-start:0;outline:0;vertical-align:baseline}[tabindex]:not([tabindex="-1"]):focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 4px #fff;outline:2px solid #000;outline-offset:2px}[tabindex]:not([tabindex="-1"]):focus:not(:focus-visible),a:focus:not(:focus-visible),button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible){box-shadow:none;outline:none}

@font-face {
	font-family: "Outfit";
	src: url("../fonts/outfit-normal-latin.woff2") format("woff2");
	font-weight: 300 800;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Atkinson Hyperlegible Next";
	src: url("../fonts/atkinson-normal-latin.woff2") format("woff2");
	font-weight: 200 800;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Atkinson Hyperlegible Next";
	src: url("../fonts/atkinson-italic-latin.woff2") format("woff2");
	font-weight: 200 800;
	font-style: italic;
	font-display: swap;
}

:root {
	--sisd-lime: #c4d96f;
	--sisd-lime-2: #b2ca52;
	--sisd-lime-soft: #e3ecbf;
	--sisd-sage: #eef3e2;
	--sisd-mist: #f7f9f2;
	--sisd-slate: #2e4357;
	--sisd-slate-2: #24384a;
	--sisd-ink: #44566a;
	--sisd-ink-soft: #5e6e7b;
	--sisd-green: #55721a;
	--sisd-line: #dfe6d4;
	--sisd-white: #fff;
	--sisd-on-slate: #d3dce4;
	--sisd-display: "Outfit", "Segoe UI", system-ui, sans-serif;
	--sisd-text: "Atkinson Hyperlegible Next", "Atkinson Hyperlegible", "Segoe UI", system-ui, sans-serif;
	--sisd-radius: 22px;
	--sisd-shadow: 0 24px 44px -26px rgba(46, 67, 87, .5);
	--sisd-header-h: 82px;
}

/* --- Base ---------------------------------------------------------------- */
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--sisd-header-h) + 16px); }
body {
	background: var(--sisd-white);
	color: var(--sisd-ink);
	font: 400 1.0625rem/1.65 var(--sisd-text);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5, h6 { font-family: var(--sisd-display); color: var(--sisd-slate); text-wrap: balance; line-height: 1.15; }
a { color: var(--sisd-green); text-underline-offset: 3px; }
a:hover { color: var(--sisd-slate); }
:focus-visible { outline: 3px solid var(--sisd-green); outline-offset: 2px; border-radius: 4px; }
::selection { background: var(--sisd-lime-soft); color: var(--sisd-slate); }
img { max-width: 100%; height: auto; }
.sisd-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sisd-hp { position: absolute !important; left: -9999px; }
.sisd-i { width: 1.15em; height: 1.15em; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sisd-c { width: min(1160px, 100% - 64px); margin-inline: auto; }
.sisd-section { padding-block: 56px 88px; }
.sisd-main { display: block; outline: none; }

.sisd-skip {
	position: absolute; left: 16px; top: -60px; z-index: 1000;
	background: var(--sisd-slate); color: #fff; padding: 12px 18px; border-radius: 12px;
	font: 600 15px/1 var(--sisd-display); text-decoration: none;
}
.sisd-skip:focus { top: 12px; color: #fff; }

/* --- Boutons et liens ----------------------------------------------------- */
.sisd-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	background: var(--sisd-lime); color: var(--sisd-slate); border: 0; border-radius: 999px;
	padding: 15px 22px; font: 600 15px/1 var(--sisd-display); text-decoration: none; white-space: nowrap; cursor: pointer;
	transition: background-color .2s, transform .2s, box-shadow .2s;
}
.sisd-btn:hover { background: var(--sisd-lime-2); color: var(--sisd-slate); transform: translateY(-1px); box-shadow: 0 10px 22px -12px rgba(46, 67, 87, .55); }
.sisd-btn .sisd-i { transition: transform .25s; }
.sisd-btn:hover .sisd-i { transform: translateX(3px); }
.sisd-btn--line { background: transparent; box-shadow: inset 0 0 0 1.5px var(--sisd-slate); }
.sisd-btn--line:hover { background: var(--sisd-slate); color: #fff; box-shadow: inset 0 0 0 1.5px var(--sisd-slate); }
.sisd-btn--sm { padding: 12px 18px; font-size: 14px; }
.sisd-link {
	display: inline-flex; align-items: center; gap: 8px; color: var(--sisd-slate); text-decoration: none;
	font: 600 15px/1.2 var(--sisd-display); padding-bottom: 3px;
	background: linear-gradient(var(--sisd-lime), var(--sisd-lime)) 0 100% / 100% 2px no-repeat;
}
.sisd-link .sisd-i { transition: transform .25s; }
.sisd-link:hover { color: var(--sisd-slate); }
.sisd-link:hover .sisd-i { transform: translateX(4px); }
.sisd-chip {
	display: inline-block; font: 600 12px/1 var(--sisd-display); color: var(--sisd-slate);
	background: var(--sisd-lime-soft); border-radius: 999px; padding: 7px 10px; text-decoration: none;
}
.sisd-eyebrow {
	display: flex; align-items: center; gap: 8px; margin: 0;
	font: 600 12.5px/1.2 var(--sisd-display); text-transform: uppercase; letter-spacing: .13em; color: var(--sisd-green);
}
.sisd-eyebrow__leaf { width: 16px; height: 16px; fill: var(--sisd-lime); stroke: none; }
.sisd-h2 { margin: 0; font-weight: 700; font-size: clamp(1.7rem, 3.2vw, 2.6rem); letter-spacing: -.018em; }
.sisd-input {
	width: 100%; min-width: 0; height: 54px; border-radius: 999px; border: 1.5px solid var(--sisd-line);
	background: #fff; padding: 0 22px; font: 16px var(--sisd-text); color: var(--sisd-slate);
}
.sisd-input:focus { outline: none; border-color: var(--sisd-green); box-shadow: 0 0 0 4px rgba(196, 217, 111, .5); }

/* --- En-tête --------------------------------------------------------------- */
.sisd-header {
	position: sticky; top: 0; z-index: 100; background: rgba(255, 255, 255, .96);
	border-top: 4px solid var(--sisd-lime); transition: box-shadow .25s;
	-webkit-backdrop-filter: saturate(1.4) blur(8px); backdrop-filter: saturate(1.4) blur(8px);
}
.admin-bar .sisd-header { top: 32px; }
.sisd-header.is-scrolled { box-shadow: 0 10px 30px -18px rgba(46, 67, 87, .45); }
.sisd-header__inner { display: flex; align-items: center; gap: 20px; min-height: var(--sisd-header-h); transition: min-height .25s; }
.sisd-header.is-scrolled .sisd-header__inner { min-height: 68px; }
.sisd-brand { display: flex; align-items: center; gap: 12px; flex: none; text-decoration: none; }
.sisd-brand img { height: 46px; width: auto; display: block; transition: height .25s; }
.sisd-header.is-scrolled .sisd-brand img { height: 40px; }
.sisd-brand__text { display: grid; }
.sisd-brand__name { font: 700 17px/1.1 var(--sisd-display); color: var(--sisd-slate); }
.sisd-brand__tag { font: 500 10.5px/1.3 var(--sisd-display); text-transform: uppercase; letter-spacing: .1em; color: var(--sisd-ink-soft); }

.sisd-nav { margin-left: auto; }
.sisd-nav__list { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 0; }
.sisd-nav__list > li { position: relative; display: flex; align-items: center; }
.sisd-nav__list > li > a {
	display: block; padding: 12px 11px; color: var(--sisd-slate); text-decoration: none;
	font: 500 15px/1 var(--sisd-display); position: relative;
}
.sisd-nav__list > li > a::after {
	content: ""; position: absolute; left: 11px; right: 11px; bottom: 4px; height: 2px;
	background: var(--sisd-lime); transform: scaleX(0); transform-origin: left; transition: transform .25s;
}
.sisd-nav__list > li:hover > a::after,
.sisd-nav__list > li:focus-within > a::after,
.sisd-nav__list > .current-menu-item > a::after,
.sisd-nav__list > .current-menu-ancestor > a::after { transform: scaleX(1); }
.sisd-nav .sub-menu {
	position: absolute; top: 100%; left: 0; min-width: 270px; margin: 0; padding: 10px; list-style: none;
	background: #fff; border: 1px solid var(--sisd-line); border-radius: 18px; box-shadow: var(--sisd-shadow);
	opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .2s, transform .2s, visibility .2s;
}
.sisd-nav__list > li:hover > .sub-menu,
.sisd-nav__list > li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.sisd-nav .sub-menu a {
	display: block; padding: 10px 12px; border-radius: 10px; color: var(--sisd-slate); text-decoration: none;
	font: 500 15px/1.3 var(--sisd-display);
}
.sisd-nav .sub-menu a:hover,
.sisd-nav .sub-menu .current-menu-item > a { background: var(--sisd-sage); }
.sisd-sub-toggle { display: none; }
.sisd-nav__extra { display: none; }
.sisd-tel { display: inline-flex; align-items: center; gap: 6px; color: var(--sisd-slate); text-decoration: none; font: 600 14px/1 var(--sisd-display); white-space: nowrap; }
.sisd-tel .sisd-i { color: var(--sisd-green); }
.sisd-burger {
	display: none; margin-left: auto; width: 46px; height: 46px; border-radius: 14px;
	border: 1.5px solid var(--sisd-line); background: #fff; color: var(--sisd-slate);
	align-items: center; justify-content: center; cursor: pointer; padding: 0;
}
.sisd-burger .sisd-i { width: 24px; height: 24px; }
.sisd-burger__close { display: none; }
.sisd-burger[aria-expanded="true"] .sisd-burger__open { display: none; }
.sisd-burger[aria-expanded="true"] .sisd-burger__close { display: inline-flex; }

@media (max-width: 1180px) {
	.sisd-header__tel { display: none; }
	.sisd-nav__list > li > a { padding-inline: 8px; font-size: 14.5px; }
}
@media (max-width: 1024px) {
	:root { --sisd-header-h: 70px; }
	/* Pas de flou ici : il ferait du panneau de menu fixe un enfant de l'en-tête. */
	.sisd-header { -webkit-backdrop-filter: none; backdrop-filter: none; background: #fff; }
	.sisd-header__cta { display: none; }
	.sisd-burger { display: inline-flex; }
	.sisd-brand img { height: 40px; }
	.sisd-nav {
		position: fixed; inset: calc(var(--sisd-header-h) + 4px) 0 0; z-index: 99;
		background: #fff; overflow-y: auto; overscroll-behavior: contain;
		padding: 12px max(18px, env(safe-area-inset-right)) 32px max(18px, env(safe-area-inset-left));
		visibility: hidden; opacity: 0; transform: translateY(-8px); transition: opacity .2s, transform .2s, visibility .2s;
	}
	.admin-bar .sisd-nav { top: calc(var(--sisd-header-h) + 4px + 46px); }
	.sisd-nav.is-open { visibility: visible; opacity: 1; transform: none; }
	.sisd-nav__list { display: block; }
	.sisd-nav__list > li { flex-wrap: wrap; border-bottom: 1px solid var(--sisd-line); }
	.sisd-nav__list > li > a { flex: 1; padding: 18px 0; font: 600 18px/1.2 var(--sisd-display); }
	.sisd-nav__list > li > a::after { display: none; }
	.sisd-sub-toggle {
		display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px;
		border: 0; background: var(--sisd-sage); color: var(--sisd-slate); border-radius: 12px; cursor: pointer;
	}
	.sisd-sub-toggle .sisd-i { transition: transform .2s; }
	.sisd-sub-toggle[aria-expanded="true"] .sisd-i { transform: rotate(180deg); }
	.sisd-nav .sub-menu {
		position: static; flex-basis: 100%; min-width: 0; padding: 0 0 12px; border: 0; box-shadow: none;
		opacity: 1; visibility: visible; transform: none; display: none;
	}
	.sisd-nav .sub-menu.is-open { display: block; }
	.sisd-nav__list > li:hover > .sub-menu, .sisd-nav__list > li:focus-within > .sub-menu { transform: none; }
	.sisd-nav .sub-menu a { padding: 12px 14px; font-size: 16px; }
	.sisd-nav__extra { display: grid; gap: 16px; margin-top: 24px; }
	.sisd-nav__extra .sisd-tel { justify-content: center; font-size: 16px; }
	body.sisd-nav-open { overflow: hidden; }
}
@media (max-width: 760px) {
	.sisd-c { width: calc(100% - 36px); }
	.sisd-brand__tag { display: none; }
}

/* --- Bandeau de page (archives, articles, pages hors Elementor) ----------- */
.sisd-page-hero { background: linear-gradient(180deg, var(--sisd-mist), var(--sisd-sage)); padding-block: 44px 56px; }
.sisd-page-hero__title { margin: 14px 0 0; font-weight: 700; font-size: clamp(2rem, 4.4vw, 3.4rem); letter-spacing: -.022em; max-width: 22ch; }
.sisd-page-hero__intro { margin: 16px 0 0; font-size: 1.15rem; max-width: 60ch; }
.sisd-page-hero--article .sisd-page-hero__title { max-width: 26ch; }
.sisd-page-hero--article .sisd-meta { margin-top: 18px; }
.sisd-crumbs ol { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0 0 6px; padding: 0; font-size: 14px; color: var(--sisd-ink-soft); }
.sisd-crumbs li + li::before { content: "›"; margin-right: 6px; color: var(--sisd-ink-soft); }
.sisd-crumbs a { color: var(--sisd-ink-soft); text-decoration: none; }
.sisd-crumbs a:hover { color: var(--sisd-slate); text-decoration: underline; }
.sisd-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: 14px; color: var(--sisd-ink-soft); margin: 0; }

/* --- Texte courant (articles et pages hors Elementor) ---------------------- */
.sisd-prose { max-width: 72ch; font-size: 1.125rem; line-height: 1.7; }
.sisd-prose > * + * { margin-top: 1.1em; }
.sisd-prose h2 { font-size: clamp(1.5rem, 2.6vw, 2rem); margin-top: 1.8em; }
.sisd-prose h3 { font-size: 1.3rem; margin-top: 1.6em; }
.sisd-prose ul, .sisd-prose ol { padding-left: 1.3em; }
.sisd-prose li + li { margin-top: .4em; }
.sisd-prose ul li::marker { color: var(--sisd-green); }
.sisd-prose blockquote {
	margin-inline: 0; padding: 18px 24px; border-left: 4px solid var(--sisd-lime);
	background: var(--sisd-mist); border-radius: 0 16px 16px 0; color: var(--sisd-slate);
}
.sisd-prose img, .sisd-prose figure img { border-radius: 18px; }
.sisd-prose figure { margin-inline: 0; }
.sisd-prose figcaption { font-size: 14px; color: var(--sisd-ink-soft); margin-top: 8px; }
.sisd-prose table { width: 100%; border-collapse: collapse; font-size: 1rem; }
.sisd-prose th, .sisd-prose td { border-bottom: 1px solid var(--sisd-line); padding: 10px 12px; text-align: left; }
.sisd-prose .wp-block-embed iframe, .sisd-prose iframe { max-width: 100%; border-radius: 18px; }
.sisd-prose .wp-block-button__link { background: var(--sisd-lime); color: var(--sisd-slate); border-radius: 999px; font: 600 15px/1 var(--sisd-display); padding: 15px 22px; text-decoration: none; }
.sisd-prose .wp-block-file { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; padding: 16px 18px; border: 1px solid var(--sisd-line); border-radius: 16px; }
.sisd-prose .wp-block-file__button { background: var(--sisd-lime); color: var(--sisd-slate); border-radius: 999px; padding: 10px 16px; font: 600 14px/1 var(--sisd-display); text-decoration: none; }
.sisd-article__media { margin-top: -28px; }
.sisd-article__media img { width: 100%; max-height: 520px; object-fit: cover; border-radius: 26px; display: block; }
.sisd-article__back { padding-bottom: 24px; }

/* --- Actualités ------------------------------------------------------------ */
.sisd-news { padding-block: 88px; }
.sisd-news--more { background: var(--sisd-mist); }
.sisd-news__head { display: flex; justify-content: space-between; align-items: end; gap: 16px; flex-wrap: wrap; margin-bottom: 32px; }
.sisd-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.sisd-card__link { display: grid; gap: 14px; text-decoration: none; color: inherit; }
.sisd-card__media { margin: 0; border-radius: 20px; overflow: hidden; aspect-ratio: 4 / 3; background: var(--sisd-sage); }
.sisd-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
.sisd-card__placeholder { display: grid; place-items: center; height: 100%; color: var(--sisd-lime-2); }
.sisd-card__placeholder .sisd-i { width: 64px; height: 64px; stroke-width: 1.2; }
.sisd-card__link:hover img { transform: scale(1.045); }
.sisd-card__title { margin: 0; font-weight: 600; font-size: 1.25rem; line-height: 1.25; transition: color .2s; }
.sisd-card__link:hover .sisd-card__title { color: var(--sisd-green); }
.sisd-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px; }
.sisd-filter {
	padding: 10px 16px; border-radius: 999px; border: 1.5px solid var(--sisd-line); text-decoration: none;
	color: var(--sisd-slate); font: 600 14px/1 var(--sisd-display); background: #fff;
}
.sisd-filter:hover { border-color: var(--sisd-lime); color: var(--sisd-slate); }
.sisd-filter[aria-current="page"] { background: var(--sisd-slate); border-color: var(--sisd-slate); color: #fff; }
.sisd-pagination { margin-top: 48px; }
.sisd-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.sisd-pagination .page-numbers {
	min-width: 44px; height: 44px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center;
	border-radius: 999px; border: 1.5px solid var(--sisd-line); color: var(--sisd-slate); text-decoration: none; font: 600 15px/1 var(--sisd-display);
}
.sisd-pagination .page-numbers.current { background: var(--sisd-slate); border-color: var(--sisd-slate); color: #fff; }
.sisd-empty { font-size: 1.1rem; }
@media (max-width: 960px) { .sisd-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .sisd-grid-3 { grid-template-columns: 1fr; } .sisd-news { padding-block: 64px; } }

/* --- Recherche et 404 ------------------------------------------------------ */
.sisd-search { display: flex; gap: 10px; max-width: 640px; }
.sisd-search .sisd-btn { padding-inline: 18px; }
.sisd-search-box { margin-bottom: 36px; }
.sisd-results { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.sisd-results a { display: grid; gap: 6px; padding: 18px 20px; border: 1px solid var(--sisd-line); border-radius: 18px; text-decoration: none; color: var(--sisd-ink); }
.sisd-results a:hover { border-color: var(--sisd-lime); }
.sisd-results strong { font: 600 1.15rem/1.3 var(--sisd-display); color: var(--sisd-slate); }
.sisd-results .sisd-chip { justify-self: start; }
.sisd-404 { padding-block: 72px 96px; background: linear-gradient(180deg, var(--sisd-mist), var(--sisd-sage)); }
.sisd-404 .sisd-search-box { margin: 28px 0; }
.sisd-404__links { display: flex; flex-wrap: wrap; gap: 14px 20px; align-items: center; }

/* --- Newsletter ------------------------------------------------------------ */
.sisd-nl { padding-block: 24px 0; }
.sisd-nl__box {
	background: var(--sisd-sage); border-radius: 30px; padding: 48px 52px;
	display: grid; grid-template-columns: 1fr 1.25fr; gap: 40px; align-items: center;
}
.sisd-nl__box p { margin: 10px 0 0; }
.sisd-nl__form { display: grid; gap: 14px; }
.sisd-nl__row { display: flex; gap: 10px; }
.sisd-nl__checks { display: flex; flex-wrap: wrap; gap: 8px 22px; border: 0; margin: 0; padding: 0; font-size: 15px; }
.sisd-nl__checks label, .sisd-nl__optin { display: inline-flex; gap: 8px; align-items: center; cursor: pointer; font-size: 15px; }
.sisd-nl__form input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--sisd-green); flex: none; }
.sisd-nl__msg { margin: 0; font: 600 15px/1.4 var(--sisd-display); color: var(--sisd-green); }
.sisd-nl__msg.is-error { color: #a12b1f; }
@media (max-width: 860px) {
	.sisd-nl__box { grid-template-columns: 1fr; padding: 30px 24px; gap: 22px; }
	.sisd-nl__row { flex-direction: column; }
}

/* --- Pied de page ---------------------------------------------------------- */
.sisd-footer { background: var(--sisd-slate); color: var(--sisd-on-slate); padding-block: 64px 26px; margin-top: 88px; font-size: 15.5px; }
.sisd-footer a { color: var(--sisd-on-slate); text-decoration: none; }
.sisd-footer a:hover { color: #fff; text-decoration: underline; }
.sisd-footer__cols { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 40px; }
.sisd-footer__title { margin: 0 0 14px; font: 600 16px/1.2 var(--sisd-display); color: #fff; }
.sisd-footer__brand { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; }
.sisd-footer__brand strong { display: block; font: 700 17px/1.2 var(--sisd-display); color: #fff; }
.sisd-footer__brand span span { font-size: 13px; }
.sisd-footer__logo { background: #fff; border-radius: 14px; padding: 7px 10px; display: inline-flex; }
.sisd-footer__logo img { height: 38px; width: auto; display: block; }
.sisd-footer__contact { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.sisd-footer__contact li { display: flex; gap: 10px; align-items: flex-start; }
.sisd-footer__contact .sisd-i { color: var(--sisd-lime); margin-top: 3px; }
.sisd-hours { display: grid; grid-template-columns: auto auto; justify-content: start; gap: 6px 18px; margin: 0; font-variant-numeric: tabular-nums; }
.sisd-hours dt { color: #fff; }
.sisd-hours dd { margin: 0; }
.sisd-footer__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.sisd-footer__fb { display: inline-flex; gap: 10px; align-items: center; margin-top: 18px; color: #fff !important; }
.sisd-footer__fb span { width: 34px; height: 34px; border-radius: 50%; background: var(--sisd-lime); color: var(--sisd-slate); display: grid; place-items: center; }
.sisd-footer__legal {
	border-top: 1px solid rgba(255, 255, 255, .15); margin-top: 48px; padding-top: 20px;
	display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; font-size: 13.5px;
}
.sisd-footer__legal-links { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 20px; }
@media (max-width: 860px) {
	.sisd-footer { margin-top: 64px; }
	.sisd-footer__cols { grid-template-columns: 1fr; gap: 32px; }
}

/* --- Bandeau cookies --------------------------------------------------------- */
.sisd-consent {
	position: fixed; z-index: 200; left: max(16px, env(safe-area-inset-left)); right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom));
	max-width: 720px; margin-inline: auto; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px;
	padding: 18px 22px; background: #fff; border: 1px solid var(--sisd-line); border-radius: 20px; box-shadow: var(--sisd-shadow); font-size: 15px;
}
.sisd-consent[hidden] { display: none; }
.sisd-consent p { margin: 0; flex: 1 1 320px; }
.sisd-consent a { color: var(--sisd-green); text-decoration: underline; text-underline-offset: 3px; }
.sisd-consent__actions { display: flex; gap: 10px; }
.sisd-footer__legal nav { display: flex; flex-wrap: wrap; gap: 8px 20px; }

/* --- Elementor : contenus construits dans l'éditeur ------------------------ */
.elementor-page .sisd-main > .elementor { overflow-x: clip; }

/* Mot souligné dans les grands titres : <em> devient un trait vert qui se dessine.
   Le trait est un pseudo-élément animé en transform (animation prise en charge par le GPU). */
.sisd-main .elementor h1 em {
	font-style: normal;
	position: relative;
	z-index: 0;
	padding-inline: 2px;
	white-space: nowrap;
}
.sisd-main .elementor h1 em::after {
	content: "";
	position: absolute;
	inset: auto 0 8.6% 0;
	height: 28%;
	background: var(--sisd-lime);
	z-index: -1;
	transform-origin: left center;
}
@media (prefers-reduced-motion: no-preference) {
	.sisd-main .elementor h1 em::after { animation: sisd-mark .9s .5s cubic-bezier(.6, 0, .2, 1) both; }
	@keyframes sisd-mark { from { transform: scaleX(0); } to { transform: scaleX(1); } }
}

/* Listes et citations écrites dans les paragraphes Elementor. */
.sisd-main .elementor p ul, .sisd-main .elementor p ol { margin: .4em 0 0; padding-left: 1.3em; }
.sisd-main .elementor li + li { margin-top: .35em; }
.sisd-main .elementor ul li::marker { color: var(--sisd-green); }
.sisd-main .elementor a:not([class]) { color: var(--sisd-green); text-decoration: underline; text-underline-offset: 3px; }
.sisd-main .elementor blockquote { margin: 0; padding: 16px 22px; border-left: 4px solid var(--sisd-lime); background: var(--sisd-mist); border-radius: 0 16px 16px 0; }

/* Bandeau des pages internes sur mobile : sous-navigation sur une ligne qui défile, photo moins haute,
   pour que le contenu commence dès le premier écran. */
@media (max-width: 767px) {
	.elementor .sisd-page-hero .sisd-subnav { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: 4px; }
	.elementor .sisd-page-hero .sisd-subnav::-webkit-scrollbar { display: none; }
	.elementor .sisd-page-hero .sisd-subnav > * { flex: 0 0 auto; white-space: nowrap; }
	.elementor .sisd-hero-split .sisd-photo-leaf { aspect-ratio: 16 / 10; }
}

/* --- Mouvement réduit ------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
