/* EN / FR analytics consent. Equal acceptance and rejection; no cookie wall. */
:root{--cookie-contact-clearance:0px;--cookie-notice-height:0px}
.cookie-notice{position:fixed;left:24px;bottom:24px;z-index:60;width:545px;max-width:calc(100vw - 48px);max-height:calc(100dvh - var(--header-height,88px) - 55px);display:flex;flex-direction:column;background:var(--white,#fffcf5);color:var(--ink,#222e26);border:1px solid var(--line,#d9dccf);border-top:3px solid var(--green,#294a38);border-radius:6px;padding:24px;box-shadow:0 10px 42px #17322626;line-height:1.6}
.cookie-notice[hidden]{display:none!important}
.cookie-notice-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-shrink:0}
.cookie-notice-heading .eyebrow{margin:0;font-size:12px;letter-spacing:.08em;line-height:1.5}
.cookie-close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;border:1px solid var(--line);background:transparent;border-radius:3px;color:var(--green);cursor:pointer;margin:-8px -8px -4px 0}
.cookie-close:hover{background:var(--sage)}
.cookie-close svg{width:18px;height:18px}
.cookie-notice-copy{min-height:0;overflow:auto;overscroll-behavior:contain;margin-top:15px;padding-right:2px}
.cookie-notice h2,.cookie-dialog h2{font-family:var(--serif);font-weight:400;letter-spacing:-.025em;line-height:1.2;font-size:29px;margin:0 0 12px;overflow-wrap:break-word}
.cookie-notice p,.cookie-dialog p{font:15px/1.65 var(--sans);color:var(--muted);margin:0;max-width:none;overflow-wrap:break-word}
.cookie-notice-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:18px;flex-shrink:0}
.cookie-notice-actions .button,.cookie-dialog-actions .button{font:15px/1.4 var(--sans);min-height:48px;padding:11px 14px;gap:8px;transform:none;text-align:center;white-space:normal}
/* Same color, size and contrast for the accept/reject pair. */
.cookie-notice-actions .consent-choice,.cookie-dialog-actions .consent-choice{background:var(--green);border:1px solid var(--green);color:var(--white)}
.cookie-notice-actions .consent-choice:hover,.cookie-dialog-actions .consent-choice:hover{background:var(--deep)}
.cookie-notice-actions .cookie-customize{grid-column:1/-1;background:transparent;border-color:var(--green);color:var(--green)}
.cookie-links{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px}
.cookie-links a{font:14px/1.5 var(--sans);text-decoration:underline;text-underline-offset:3px;min-height:35px;display:inline-flex;align-items:center}
.cookie-footer-link{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:4px}
.cookie-footer-link:hover{text-decoration:underline}
.cookie-dialog{width:650px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 36px);padding:26px;border:1px solid var(--line);border-top:3px solid var(--green);border-radius:6px;background:var(--white);color:var(--ink);box-shadow:0 15px 70px #1732264d;overflow:auto;overscroll-behavior:contain}
.cookie-dialog:not([open]){display:none}
.cookie-dialog::backdrop{background:rgba(18,35,27,.56)}
.cookie-dialog .cookie-notice-heading{margin-bottom:20px}
.cookie-option{display:grid;grid-template-columns:1fr auto;gap:8px 22px;padding:20px 0;border-bottom:1px solid var(--line)}
.cookie-option:first-of-type{margin-top:16px;border-top:1px solid var(--line)}
.cookie-option label{font:17px/1.5 var(--sans);color:var(--ink);cursor:pointer}
.cookie-option .cookie-option-description{grid-column:1/-1;font-size:14px;line-height:1.65}
.cookie-option input{width:24px;height:24px;margin:1px 0;accent-color:var(--green);cursor:pointer;align-self:center}
.cookie-option input:disabled{cursor:not-allowed}
.cookie-option .cookie-always{font:13px/1.5 var(--sans);color:var(--green);background:var(--sage);border-radius:3px;padding:3px 8px;white-space:nowrap}
.cookie-dialog .cookie-small{font-size:14px;margin-top:17px}
.cookie-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
.cookie-dialog-actions .cookie-save{grid-column:1/-1;background:transparent;color:var(--green);border-color:var(--green)}
.cookie-policy-list{margin:22px 0 34px;border-top:1px solid var(--line)}
.cookie-policy-row{display:grid;grid-template-columns:190px minmax(0,1fr);gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}
.cookie-policy-row dt{color:var(--green);font-weight:500}
.cookie-policy-row dd{margin:0;min-width:0;overflow-wrap:anywhere}
.cookie-policy-row code{font-size:.93em;background:var(--sage);padding:3px 6px;border-radius:3px}
.cookie-policy-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:24px 0}
.cookie-policy-state{font-size:16px!important;padding:16px 18px;background:var(--sage);margin-top:18px!important}
html.cookie-notice-open{scroll-padding-bottom:calc(var(--cookie-notice-height) + 45px)}
html.cookie-notice-open body{padding-bottom:max(100px,calc(var(--cookie-notice-height) + 48px))}
html.cookie-settings-open{overflow:hidden}
body.menu-open .cookie-notice{visibility:hidden;pointer-events:none}
@media(max-width:760px){
 .cookie-notice{left:16px;right:16px;width:auto;max-width:none;bottom:max(calc(12px + env(safe-area-inset-bottom)),calc(var(--cookie-contact-clearance) + 12px));max-height:calc(100dvh - var(--header-height,78px) - var(--cookie-contact-clearance) - 48px);padding:20px}
 .cookie-notice h2{font-size:26px}
 .cookie-notice-copy{margin-top:14px}
 .cookie-notice-actions{gap:10px;padding-top:16px}
 .cookie-notice-actions .button{padding:10px 8px;font-size:15px}
 .cookie-policy-row{grid-template-columns:1fr;gap:5px;padding:15px 0}
 .cookie-dialog{padding:22px;max-height:calc(100dvh - 24px)}
 .cookie-dialog h2{font-size:27px}
 .cookie-dialog-actions .button{font-size:15px;padding:10px 8px}
 html.cookie-notice-open{scroll-padding-bottom:calc(var(--cookie-notice-height) + var(--cookie-contact-clearance) + 36px)}
 html.cookie-notice-open body{padding-bottom:calc(var(--cookie-notice-height) + var(--cookie-contact-clearance) + 40px)}
}
@media(max-width:380px){
 .cookie-notice{left:12px;right:12px;padding:17px}
 .cookie-notice h2{font-size:24px}
 .cookie-dialog{padding:18px}
 .cookie-notice-heading .eyebrow{font-size:11px}
 .cookie-dialog-actions .button,.cookie-notice-actions .button{font-size:14px}
}
@media(max-height:540px){
 .cookie-notice{max-height:calc(100dvh - 26px);bottom:12px;z-index:65}
 .cookie-notice-copy{margin-top:6px}
 .cookie-notice h2{font-size:22px}
 .cookie-notice-actions{padding-top:10px}
}
@media print{.cookie-notice,.cookie-dialog,.cookie-policy-actions{display:none!important}html.cookie-notice-open body{padding-bottom:0!important}}
