/* Fenêtre de départ — mêmes jetons que le thème, redéclarés au cas où
   la feuille du thème ne serait pas chargée sur cette page. */
.cd-ab{position:fixed;inset:0;z-index:100150;display:flex;align-items:center;justify-content:center;
  padding:clamp(12px,4vw,40px);
  --ab-f:#FBF7F4;--ab-s:#FFFFFF;--ab-t:#241619;--ab-t2:#4A3439;--ab-d:#7A6058;
  --ab-b:#E9DCD3;--ab-a:#8C2F42;--ab-a2:#6E2334;--ab-ok:#2F7A5A}
.cd-ab[hidden]{display:none}
.cd-ab-fond{position:absolute;inset:0;background:rgba(36,22,25,.5);
  -webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);opacity:0;transition:opacity .3s ease}
.cd-ab.est-ouvert .cd-ab-fond{opacity:1}

.cd-ab-vol{position:relative;display:grid;grid-template-columns:240px minmax(0,1fr);
  width:min(720px,100%);background:var(--ab-s);border-radius:16px;overflow:hidden;
  box-shadow:0 30px 70px -30px rgba(60,30,35,.55);
  opacity:0;transform:translateY(20px) scale(.97);
  transition:opacity .34s ease,transform .46s cubic-bezier(.16,1,.3,1)}
.cd-ab.est-ouvert .cd-ab-vol{opacity:1;transform:none}

.cd-ab-x{position:absolute;top:12px;right:12px;width:34px;height:34px;display:grid;place-items:center;
  background:rgba(255,255,255,.9);border:0;border-radius:999px;color:var(--ab-t2);cursor:pointer;z-index:2;
  transition:background .18s ease,color .18s ease}
.cd-ab-x:hover{background:var(--ab-f);color:var(--ab-a)}

.cd-ab-vis{background:var(--ab-f);display:grid;place-items:center;overflow:hidden}
.cd-ab-vis svg,.cd-ab-vis img{width:100%;height:100%;object-fit:cover;display:block}

.cd-ab-txt{padding:clamp(22px,3vw,34px)}
.cd-ab-txt h2{margin:0 0 .6rem;font-family:Fraunces,Georgia,serif;font-weight:400;
  font-size:clamp(1.3rem,2.6vw,1.7rem);line-height:1.15;color:var(--ab-t)}
.cd-ab-intro{margin:0 0 1.1rem;font-size:.92rem;line-height:1.55;color:var(--ab-t2)}

.cd-ab-f{display:flex;gap:.5rem;flex-wrap:wrap}
.cd-ab-f input{flex:1;min-width:170px;padding:.78rem .95rem;font-size:.94rem;color:var(--ab-t);
  background:var(--ab-f);border:1px solid var(--ab-b);border-radius:10px}
.cd-ab-f input:focus{outline:2px solid var(--ab-a);outline-offset:1px}
.cd-ab-f input[aria-invalid="true"]{border-color:#B0552A;background:#FBEDE2}
.cd-ab-b{position:relative;padding:.78rem 1.35rem;font-size:.94rem;color:#fff;background:var(--ab-a);
  border:1px solid var(--ab-a);border-radius:999px;cursor:pointer;
  transition:background .2s ease,border-color .2s ease}
.cd-ab-b:hover{background:var(--ab-a2);border-color:var(--ab-a2)}
.cd-ab-b.est-occupe{color:transparent}
.cd-ab-b.est-occupe::after{content:"";position:absolute;inset:0;margin:auto;width:15px;height:15px;
  border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;
  animation:cd-ab-tourne .62s linear infinite}
@keyframes cd-ab-tourne{to{transform:rotate(360deg)}}
.cd-ab-b-fant{background:transparent;border-color:var(--ab-b);color:var(--ab-t2)}
.cd-ab-b-fant:hover{background:var(--ab-f);border-color:var(--ab-d);color:var(--ab-t)}

.cd-ab-mention{margin:.85rem 0 0;font-size:.74rem;line-height:1.5;color:var(--ab-d)}
.cd-ab-mention a{color:var(--ab-d);text-decoration:underline}

.cd-ab-ok{text-align:left}
.cd-ab-ok p{margin:.7rem 0 1.1rem;font-size:.92rem;line-height:1.55;color:var(--ab-t2)}
.cd-ab-coche{display:block;width:40px;height:40px}
.cd-ab-coche svg{width:100%;height:100%}
.cd-ab-coche circle{stroke:var(--ab-ok);stroke-width:2.4;stroke-dasharray:145;stroke-dashoffset:145;
  animation:cd-ab-trace .5s cubic-bezier(.65,0,.45,1) .05s forwards}
.cd-ab-coche path{stroke:var(--ab-ok);stroke-width:3.6;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:36;stroke-dashoffset:36;
  animation:cd-ab-trace .28s cubic-bezier(.65,0,.45,1) .42s forwards}
@keyframes cd-ab-trace{to{stroke-dashoffset:0}}

@media (max-width:640px){
  .cd-ab{align-items:flex-end;padding:0}
  .cd-ab-vol{grid-template-columns:1fr;width:100%;border-radius:16px 16px 0 0;transform:translateY(100%)}
  .cd-ab.est-ouvert .cd-ab-vol{transform:none}
  .cd-ab-vis{height:150px}
  .cd-ab-f input{min-width:0;width:100%}
  .cd-ab-b{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .cd-ab-fond,.cd-ab-vol{transition:none}
  .cd-ab-coche circle,.cd-ab-coche path{animation:none;stroke-dashoffset:0}
}

/* bandeau de confirmation après désinscription */
.cd-ab-bandeau{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:100160;
  background:#241619;color:#fff;padding:.8rem 1.3rem;border-radius:999px;font-size:.88rem;
  box-shadow:0 18px 40px -22px rgba(0,0,0,.6)}

/* display:flex l'emporte sur l'attribut hidden : sans cette règle, le
   formulaire reste visible sous le message de confirmation. */
.cd-ab [hidden]{display:none!important}
