/* Bandeau de consentement — thème EXERA */
.ex-consent{position:fixed;left:18px;bottom:18px;z-index:400;width:min(540px,calc(100% - 36px));padding:22px 22px 20px;border-radius:26px;
  background:rgba(255,253,250,.96);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(177,145,103,.5);
  box-shadow:0 30px 80px rgba(43,35,32,.35),0 0 0 1px rgba(255,255,255,.6) inset;color:#4f433c;font-family:Arial,Helvetica,sans-serif;
  transform:translateY(40px) scale(.97);opacity:0;transition:transform .55s cubic-bezier(.22,.9,.28,1),opacity .4s}
.ex-consent.show{transform:none;opacity:1}
.ex-consent::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;border-radius:26px 26px 0 0;background:linear-gradient(90deg,#8f7048,#d3b88c,#8f7048);background-size:200% 100%;animation:exShine 4s linear infinite}
.ex-consent-title{font-family:Georgia,serif;font-size:21px;color:#2b2320;margin:4px 0 8px;display:flex;align-items:center;gap:10px}
.ex-consent-title span{display:inline-block;animation:exWiggle 3s ease-in-out infinite}
.ex-consent p{margin:0 0 16px;font-size:13.5px;line-height:1.6;color:#6e5d52}
.ex-consent-actions{display:flex;gap:10px;flex-wrap:wrap}
.ex-c-btn{flex:1 1 auto;border:0;border-radius:14px;padding:12px 16px;font-weight:800;font-size:13px;cursor:pointer;position:relative;overflow:hidden;
  transition:transform .3s cubic-bezier(.22,.9,.28,1),box-shadow .3s,background-position .6s,border-color .3s}
.ex-c-btn:hover{transform:translateY(-3px)}
.ex-c-btn:active{transform:scale(.96)}
.ex-c-btn:disabled{opacity:.5;cursor:default;transform:none}
/* « Tout refuser » et « Tout accepter » ont la même importance visuelle (exigence CNIL) */
.ex-c-ghost{background:#fffdfa;color:#4f433c;border:1.5px solid #cdb79f}
.ex-c-ghost:hover{border-color:#b19167;box-shadow:0 10px 22px rgba(177,145,103,.25)}
.ex-c-gold{background:linear-gradient(120deg,#8f7048,#d3b88c,#b19167,#8f7048);background-size:240% 100%;color:#2b2320;box-shadow:0 10px 24px rgba(143,112,72,.38)}
.ex-c-gold:hover{background-position:100% 0;box-shadow:0 16px 32px rgba(143,112,72,.5)}
.ex-consent-panel{margin:4px 0 14px;display:grid;gap:10px}
.ex-consent-panel[hidden]{display:none}
.ex-consent-panel:not([hidden]){animation:exDrop .45s cubic-bezier(.22,.9,.28,1)}
.ex-consent .ex-consent-panel ~ .ex-consent-actions{margin-top:0}
.ex-sw{display:flex;gap:14px;align-items:center;padding:12px 14px;border:1px solid #e4d8cb;border-radius:16px;background:#fff;cursor:pointer;transition:border-color .25s,box-shadow .25s}
.ex-sw:hover{border-color:#b19167;box-shadow:0 8px 20px rgba(177,145,103,.18)}
.ex-sw input{position:absolute;opacity:0;width:0;height:0}
.ex-sw-ui{flex:0 0 46px;height:26px;border-radius:99px;background:#d9cfc4;position:relative;transition:background .3s}
.ex-sw-ui::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.25);transition:transform .35s cubic-bezier(.22,.9,.28,1)}
.ex-sw input:checked + .ex-sw-ui{background:linear-gradient(135deg,#8f7048,#d3b88c)}
.ex-sw input:checked + .ex-sw-ui::after{transform:translateX(20px)}
.ex-sw input:focus-visible + .ex-sw-ui{outline:3px solid rgba(169,123,65,.55);outline-offset:3px}
.ex-sw-txt{display:flex;flex-direction:column;gap:2px;font-size:13px;color:#4f433c}
.ex-sw-txt small{font-size:11.5px;color:#85766a;line-height:1.45}
.ex-cookie-link{background:none;border:0;color:inherit;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:0;margin-left:14px}
@media(max-width:560px){.ex-consent{left:10px;right:10px;bottom:10px;width:auto}.ex-c-btn{flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){.ex-consent{transition:none}.ex-consent::before,.ex-consent-title span{animation:none}}
