#og-consentement { --ogc-green:#235e49; --ogc-ink:#173f33; --ogc-paper:#fffdf8; --ogc-cream:#faf5e9; color:var(--ogc-ink); font-family:'Avenir Next',Avenir,'Helvetica Neue',Arial,sans-serif; font-size:14px; line-height:1.6; }
#og-consentement,#og-consentement * { box-sizing:border-box; }
#og-consentement [hidden] { display:none !important; }
#og-consentement h2 { color:var(--ogc-ink); font-family:inherit; font-size:18px; font-weight:600; letter-spacing:0; line-height:1.3; margin:0 0 10px; text-transform:none; }
#og-consentement p { color:inherit; margin:0 0 10px; font-size:14px; line-height:1.6; }
#og-consentement a { color:var(--ogc-green); text-decoration:underline; text-underline-offset:3px; border:0; box-shadow:none; font-size:13px; }
#og-consentement :is(a,button,input):focus-visible,#og-consent-footer-link a:focus-visible { outline:3px solid #b86c5b; outline-offset:4px; }
#og-consentement .ogc-banner { position:fixed; inset:auto 20px 20px; z-index:99990; max-width:1160px; max-height:60vh; overflow-y:auto; margin:0 auto; padding:24px; border:1px solid #c7d3ca; border-radius:6px; background:var(--ogc-paper); box-shadow:0 8px 35px rgba(23,63,51,.18); display:flex; align-items:center; gap:26px; }
#og-consentement .ogc-copy { flex:1; min-width:0; }
#og-consentement .ogc-copy p { font-size:13px; }
#og-consentement .ogc-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:stretch; }
#og-consentement .ogc-banner .ogc-actions { flex:0 0 300px; }
#og-consentement button { appearance:none; background:var(--ogc-green); color:var(--ogc-paper); border:1px solid var(--ogc-green); border-radius:3px; padding:11px 14px; min-height:44px; font:600 13px/1.4 'Avenir Next',Avenir,'Helvetica Neue',Arial,sans-serif; cursor:pointer; text-align:center; letter-spacing:0; text-transform:none; box-shadow:none; margin:0; }
#og-consentement .ogc-actions button { flex:1 1 130px; }
#og-consentement button:hover { background:var(--ogc-ink); color:var(--ogc-paper); }
#og-consentement .ogc-outline { background:transparent; color:var(--ogc-green); }
#og-consentement .ogc-outline:hover { background:var(--ogc-cream); color:var(--ogc-ink); }
#og-consentement dialog { width:min(640px,calc(100% - 32px)); max-height:calc(100dvh - 40px); padding:28px; border:1px solid #c7d3ca; border-radius:6px; background:var(--ogc-paper); color:var(--ogc-ink); overflow-y:auto; margin:auto; overscroll-behavior:contain; }
#og-consentement dialog:not([open]) { display:none; }
#og-consentement dialog::backdrop { background:rgba(23,63,51,.3); }
#og-consentement .ogc-panel-heading { display:flex; justify-content:space-between; align-items:start; gap:20px; }
#og-consentement .ogc-close { flex:0 0 44px; width:44px; background:transparent; border-color:transparent; color:var(--ogc-ink); font-size:26px; padding:0; margin-top:-8px; }
#og-consentement .ogc-close:hover { background:var(--ogc-cream); }
#og-consentement form { margin:20px 0 0; }
#og-consentement .ogc-category { border-top:1px solid #d4ddd5; padding:18px 0; }
#og-consentement .ogc-category label { display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; font-weight:600; font-size:15px; margin:0 0 8px; }
#og-consentement .ogc-category label small { display:block; color:#4c5f55; font-size:12px; font-weight:400; }
#og-consentement input[type=checkbox] { appearance:auto; -webkit-appearance:checkbox; width:20px; height:20px; min-width:20px; flex:0 0 20px; padding:0; margin:0; accent-color:var(--ogc-green); }
#og-consentement .ogc-category p,#og-consentement .ogc-note { color:#4c5f55; font-size:13px; }
#og-consentement .ogc-panel-actions { margin-top:22px; }
#og-consentement .ogc-panel-actions button:last-child { flex-basis:100%; }
#og-consentement .ogc-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
#og-consent-footer-link { display:block; grid-column:1/-1; margin-top:10px; }
#og-consent-footer-link a { color:#235e49; display:inline-block; font:inherit; font-size:13px; text-decoration:underline; text-underline-offset:3px; }
#og-consentement .ogc-noscript { padding:14px 24px; background:var(--ogc-cream); font-size:13px; }
@media (max-width:760px) {
 #og-consentement .ogc-banner { inset:auto 12px 12px; display:block; padding:18px; }
 #og-consentement .ogc-banner .ogc-actions { margin-top:16px; }
 #og-consentement .ogc-banner .ogc-actions button { flex-basis:calc(50% - 5px); }
 #og-consentement .ogc-banner .ogc-actions button:last-child { flex-basis:100%; }
 #og-consentement dialog { padding:22px; }
}
