/* Cookie-consent banner — SHARED, byte-identical on every page.
   Copied to deploy/vs-consent.css by scripts/deploy.sh and linked as /vs-consent.css.
   The markup is injected by vs-track.js; this file is only its presentation.

   Ported verbatim from the inline block that used to live in mockup-v7-carousel.html,
   with one change: every custom property now carries its literal fallback. The
   original read `var(--cta)` and so on, which resolve on the homepage and on NOTHING
   else — the /planes/ and /legal/ pages define their own, much smaller, variable sets.
   Without the fallbacks the banner would render on those pages with no accent colour,
   no easing and the wrong font: technically present, visibly broken, on ten of the
   eleven pages. Values are the homepage's :root, copied exactly. */

.cc-scrim{position:fixed;inset:0;z-index:9998;background:rgba(6,14,31,0.55);
  backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
  opacity:0;pointer-events:none;transition:opacity 260ms var(--e1,cubic-bezier(0.23,1,0.32,1))}
.cc-scrim.on{opacity:1;pointer-events:auto}
.cc{position:fixed;z-index:9999;left:50%;bottom:1.25rem;transform:translate(-50%,140%);
  width:min(760px,calc(100vw - 2rem));padding:1.5rem 1.6rem;border-radius:18px;
  background:rgba(10,22,48,0.88);
  backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);
  border:1px solid rgba(120,170,255,0.28);
  box-shadow:0 18px 60px rgba(0,0,0,0.5);
  color:var(--white,#f5f2ed);font-family:var(--font-b,'Inter',system-ui,sans-serif);
  transition:transform 420ms var(--e1,cubic-bezier(0.23,1,0.32,1));
  max-height:calc(100vh - 2.5rem);overflow-y:auto}
.cc.on{transform:translate(-50%,0)}
.cc h2{font-family:var(--font-h,'Playfair Display',Georgia,serif);font-size:1.15rem;
  font-weight:700;margin-bottom:0.5rem;color:#fff}
.cc p{font-size:0.86rem;line-height:1.55;color:rgba(255,255,255,0.72)}
.cc p a{color:var(--gold-l,#e8cc96);text-decoration:underline}
.cc-actions{display:flex;flex-wrap:wrap;gap:0.6rem;margin-top:1.1rem}
.cc-btn{flex:1 1 auto;min-width:150px;padding:0.72rem 1.1rem;border-radius:10px;
  font-family:var(--font-b,'Inter',system-ui,sans-serif);font-size:0.86rem;font-weight:600;
  cursor:pointer;
  border:1px solid rgba(255,255,255,0.24);background:rgba(255,255,255,0.08);color:#fff;
  transition:background 180ms,border-color 180ms}
.cc-btn:hover{background:rgba(255,255,255,0.16)}
.cc-btn.primary{background:var(--cta,#25D366);border-color:var(--cta,#25D366);color:#06210f}
.cc-btn.primary:hover{background:var(--cta-dk,#1aad54);border-color:var(--cta-dk,#1aad54);color:#fff}
.cc-btn.link{flex:0 0 auto;min-width:0;background:none;border-color:transparent;
  color:rgba(255,255,255,0.6);text-decoration:underline;font-weight:500}
.cc-btn.link:hover{background:none;color:#fff}
.cc-panel{display:none;margin-top:1.2rem;border-top:1px solid rgba(255,255,255,0.14);padding-top:1.1rem}
.cc-panel.on{display:block}
.cc-row{display:flex;gap:1rem;align-items:flex-start;padding:0.85rem 0;
  border-bottom:1px solid rgba(255,255,255,0.08)}
.cc-row:last-of-type{border-bottom:none}
.cc-row-txt{flex:1}
.cc-row-txt strong{display:block;font-size:0.88rem;color:#fff;margin-bottom:0.2rem}
.cc-row-txt span{font-size:0.79rem;line-height:1.5;color:rgba(255,255,255,0.62)}
.cc-sw{position:relative;flex:0 0 auto;width:44px;height:25px;margin-top:0.1rem}
.cc-sw input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:2}
.cc-sw i{position:absolute;inset:0;border-radius:99px;background:rgba(255,255,255,0.18);
  transition:background 200ms;pointer-events:none}
.cc-sw i::after{content:'';position:absolute;top:3px;left:3px;width:19px;height:19px;
  border-radius:50%;background:#fff;transition:transform 200ms}
.cc-sw input:checked + i{background:var(--cta,#25D366)}
.cc-sw input:checked + i::after{transform:translateX(19px)}
.cc-sw input:disabled{cursor:not-allowed}
.cc-sw input:disabled + i{background:rgba(37,211,102,0.4)}
.cc-sw input:focus-visible + i{outline:2px solid var(--gold-l,#e8cc96);outline-offset:2px}
.cc-btn:focus-visible{outline:2px solid var(--gold-l,#e8cc96);outline-offset:2px}
@media(max-width:560px){
  .cc{padding:1.25rem 1.1rem;bottom:0.6rem}
  .cc-btn{flex:1 1 100%;min-width:0}
}
