/* ==========================================================================
   Consent banner (inc/06-tracking.php)
   Sits at the bottom, where the call bar lives. Rather than stacking the two
   and guessing heights, the call bar is hidden while the banner is open — the
   phone number stays reachable in the header, and the banner is a one-tap,
   first-visit-only interruption.
   ========================================================================== */
.rconsent{
  position:fixed;left:0;right:0;bottom:0;z-index:80;
  background:var(--ink);border-top:3px solid var(--signal);
  box-shadow:0 -10px 40px rgba(6,24,47,.45);
}
/* [hidden] is only display:none in the UA sheet, so ANY author display rule
   beats it — .rbtn sets display:inline-flex and the "save" button showed up
   before the visitor ever opened the options. Enforce it for the whole banner. */
.rconsent[hidden],.rconsent [hidden]{display:none !important}
body.rconsent-open .rcallbar{display:none}

.rconsent__in{
  width:100%;max-width:var(--max);margin-inline:auto;
  padding:1.1rem var(--gut);
  display:flex;align-items:flex-start;gap:1rem 2rem;flex-wrap:wrap;
}

.rconsent__tx{flex:1 1 30rem;min-width:0}
.rconsent__ttl{
  font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:#fff;margin-bottom:.4rem;
}
.rconsent__d{font-size:var(--t-sm);line-height:1.55;color:var(--tx-inv-mute);max-width:70ch;text-wrap:pretty}
.rconsent__d a{color:#fff;font-weight:700;border-bottom:1px solid var(--rule-inv-2)}
.rconsent__d a:hover{border-bottom-color:#fff}

/* Options ---------------------------------------------------------------- */
.rconsent__opts{display:grid;gap:.6rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--rule-inv)}
.rconsent__opts[hidden]{display:none}
.rconsent__opt{display:flex;gap:.6rem;align-items:flex-start;font-size:var(--t-xs);line-height:1.5;color:var(--tx-inv-mute);cursor:pointer}
.rconsent__opt input{flex:none;width:1.05rem;height:1.05rem;margin-top:.12rem;accent-color:var(--signal);cursor:pointer}
.rconsent__opt input:disabled{cursor:default;opacity:.55}
.rconsent__opt b{color:#fff;font-weight:800}

/* Buttons ---------------------------------------------------------------- */
/* Refuse and Accept are the same size and weight on purpose: under the EDPB's
   reading of freely-given consent, refusing must be no harder than accepting. */
.rconsent__btns{flex:0 1 auto;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-left:auto}
.rimas .rconsent__btns .rbtn{padding:.75rem 1.3rem;font-size:.85rem;white-space:nowrap}
.rconsent__more{
  background:none;border:0;cursor:pointer;padding:.75rem .4rem;
  font:700 .78rem/1 "Archivo",system-ui,sans-serif;letter-spacing:.02em;
  color:var(--tx-inv-mute);text-decoration:underline;text-underline-offset:3px;
}
.rconsent__more:hover{color:#fff}
.rconsent__more:focus-visible,.rconsent__opt input:focus-visible{outline:3px solid var(--signal);outline-offset:2px}

@media (max-width:900px){
  .rconsent__in{padding:.95rem var(--gut);gap:.9rem}
  .rconsent__btns{margin-left:0;width:100%}
  /* Both primary actions share the row equally — neither is the easy one. */
  .rimas .rconsent__btns .rbtn:not(.rconsent__save){flex:1 1 0;justify-content:center;min-width:0}
  .rimas .rconsent__btns .rconsent__save{flex:1 1 100%;justify-content:center}
  .rconsent__more{order:3;flex:1 1 100%;text-align:center;padding:.2rem}
  .rconsent__d{font-size:var(--t-xs)}
}

/* The reopen link in the footer bottom bar. */
.rftr__consent{
  background:none;border:0;padding:0;cursor:pointer;
  font:inherit;color:var(--tx-inv-mute);
  text-decoration:underline;text-underline-offset:3px;
}
.rftr__consent:hover{color:#fff}

@media (prefers-reduced-motion:no-preference){
  .rconsent.is-open{animation:rconsent-up .26s var(--ease) both}
  @keyframes rconsent-up{from{transform:translateY(100%)}to{transform:none}}
}

@media print{.rconsent{display:none}}
