/* /css/consent.css — cookie consent banner, "field note" register.
   Sits above .float-contact (~900) and .lp-tabbar (~90), below villa-inquiry sheets. */

.cc-banner{
  position:fixed;
  left:24px; bottom:24px;
  z-index:950;
  max-width:420px;
  padding:22px 26px 20px;
  background:var(--bw-bg, #F2EFE5);
  color:var(--bw-ink, #0F0E0C);
  border-left:3px solid var(--bw-accent, #D4471F);
  border-radius:0;
  box-shadow:0 20px 60px rgba(15,14,12,.18);
  font-family:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size:.875rem;
  line-height:1.55;
  animation:cc-in .5s cubic-bezier(.175,.885,.32,1.275) both;
}
@keyframes cc-in{ from{opacity:0; transform:translateY(20px)} to{opacity:1; transform:none} }

.cc-eyebrow{
  margin:0 0 12px;
  font-family:'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size:.7rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color:var(--bw-ink-soft, #4F4D45);
}
.cc-body{ margin:0 0 18px; color:var(--bw-ink-soft, #4F4D45); }
.cc-body strong{ color:var(--bw-ink, #0F0E0C); font-weight:600; }
.cc-link{ color:var(--bw-accent, #D4471F); text-decoration:underline; text-underline-offset:2px; }
.cc-link:hover{ color:var(--bw-ink, #0F0E0C); }

/* Both buttons identical — CNIL 2020-091 §III: same graphic treatment, one click each. */
.cc-actions{ display:flex; gap:10px; }
.cc-btn{
  flex:1 1 0; min-width:120px;
  padding:12px 18px;
  font-family:'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size:.72rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  background:transparent;
  color:var(--bw-ink, #0F0E0C);
  border:1.5px solid var(--bw-ink, #0F0E0C);
  border-radius:0;
  cursor:pointer;
  transition:transform .2s cubic-bezier(.4,0,.2,1),
             background .2s cubic-bezier(.4,0,.2,1),
             color      .2s cubic-bezier(.4,0,.2,1),
             box-shadow .2s cubic-bezier(.4,0,.2,1);
}
.cc-btn:hover{
  background:var(--bw-accent, #D4471F);
  color:var(--bw-ink, #0F0E0C);
  transform:translate(-2px,-2px);
  box-shadow:4px 4px 0 var(--bw-ink, #0F0E0C);
}
.cc-btn:focus-visible{ outline:2px solid var(--bw-ink, #0F0E0C); outline-offset:3px; }

/* Footer trigger */
.cc-manage{
  font-family:'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size:.72rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase;
  color:inherit; text-decoration:none;
  border-bottom:1px solid currentColor; padding-bottom:1px; cursor:pointer;
}
.cc-manage:hover{ color:var(--bw-accent, #D4471F); }

/* Never paint over an open villa inquiry sheet. */
body.vq-lock .cc-banner{ display:none; }

/* Mobile: full-width slide-up + hide bottom UI while a choice is pending. */
@media (max-width:900px){
  .cc-banner{
    left:0; right:0; bottom:0; max-width:none;
    border-left:none; border-top:3px solid var(--bw-accent, #D4471F);
    padding:20px 22px calc(20px + env(safe-area-inset-bottom));
    animation-name:cc-in-m;
  }
  @keyframes cc-in-m{ from{opacity:0; transform:translateY(100%)} to{opacity:1; transform:none} }
  body.cc-open .lp-tabbar,
  body.cc-open .float-contact{ display:none !important; }
}

@media (prefers-reduced-motion: reduce){
  .cc-banner{ animation:none; }
  .cc-btn{ transition:none; }
}
