/* ═══════════ v1.19.637 — accessibility + cookie consent (shared) ═══════════
   Loaded by BOTH the storefront layout and the standalone emergency landing,
   so the strip, the skip link and the focus ring exist in one place only.
   Both stylesheets declare the same colour variables, so var() resolves on
   either page. Plain CSS on purpose: @media never lives inside Blade
   (house rule, PASSPORT @-directive canon). */

/* --- Skip link: invisible to the mouse, first stop for the keyboard --- */
.vc-skip{position:fixed;inset-inline-start:12px;top:-80px;z-index:200;display:inline-flex;
  align-items:center;min-height:44px;padding:11px 22px;border-radius:999px;background:#fff;
  color:var(--indigo-d);font-weight:800;font-size:.9rem;text-decoration:none;
  box-shadow:0 10px 30px -8px rgba(20,26,46,.45);transition:top .18s}
.vc-skip:focus{top:12px}

/* --- Visible focus ring. The storefront and the portal had NO focus styles at
       all before v637 (only the login inputs), so a keyboard user could not
       see where they were. --- */
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible,
canvas:focus-visible{outline:3px solid var(--indigo);outline-offset:3px;border-radius:10px}
.hdr-wa:focus-visible,.cta:focus-visible,.bnav .fab:focus-visible,
.vc-cc button:focus-visible{outline-offset:4px}

/* --- Cookie strip: thin, bottom, two buttons, no half-screen modal --- */
.vc-cc{position:fixed;inset-inline:0;bottom:0;z-index:90;display:flex;align-items:center;
  gap:14px;flex-wrap:wrap;justify-content:center;
  padding:10px 18px calc(10px + env(safe-area-inset-bottom,0px));
  background:rgba(255,255,255,.97);backdrop-filter:blur(14px) saturate(1.3);
  border-top:1px solid var(--line);box-shadow:0 -10px 30px -14px rgba(20,26,46,.34)}
.vc-cc[hidden]{display:none}
.vc-cc-txt{flex:1 1 340px;max-width:780px;margin:0;font-size:.86rem;line-height:1.45;color:var(--ink2)}
.vc-cc-txt a{color:var(--indigo);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.vc-cc-act{display:flex;gap:10px;flex:0 0 auto}
/* Buttons repeat the storefront canon exactly: 11/22, .9rem, full round,
   min 44px tall — a small target is itself an accessibility complaint. */
.vc-cc button{min-height:44px;padding:11px 22px;border:none;border-radius:999px;
  font-family:inherit;font-weight:700;font-size:.9rem;cursor:pointer;transition:transform .15s}
.vc-cc-yes{background:linear-gradient(135deg,var(--indigo),var(--indigo-d));color:#fff;
  box-shadow:0 10px 24px -10px rgba(84,92,216,.7)}
.vc-cc-no{background:var(--wash);color:var(--indigo-d);box-shadow:inset 0 0 0 1px var(--line)}
.vc-cc-yes:hover,.vc-cc-no:hover{transform:translateY(-1px)}
.vc-cc-yes:active,.vc-cc-no:active{transform:scale(.97)}

/* --- Legal links: inside the storefront footer; standalone slim bar on the
       portal pages and on the emergency landing, where there is no footer. --- */
.vc-legal{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center;align-items:center;font-size:.82rem}
.vc-legal a{text-decoration:underline;text-underline-offset:3px}
.vc-legal button{background:none;border:none;padding:0;font:inherit;cursor:pointer;
  text-decoration:underline;text-underline-offset:3px;color:inherit}
footer .vc-legal{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.18)}
footer .vc-legal a,footer .vc-legal button{color:#c9cef0}
footer .vc-legal a:hover,footer .vc-legal button:hover{color:#fff}
.vc-legal-bar{padding:20px 18px 26px;text-align:center;color:var(--ink3)}
.vc-legal-bar a,.vc-legal-bar button{color:var(--ink2)}
/* the emergency landing has a white card layout — give its bar a top border */
footer.vc-legal-bar{background:#fff;border-top:1px solid var(--line)}

/* --- Phone: text above the buttons, two lines total, buttons stay 44px --- */
@media(max-width:560px){
  .vc-cc{gap:10px;padding:10px 14px}
  .vc-cc-txt{flex:1 1 100%;font-size:.82rem;text-align:center}
  .vc-cc-act{width:100%;justify-content:center}
  .vc-cc button{flex:1 1 0;padding:11px 10px}
  .vc-legal{gap:6px 14px;font-size:.78rem}
}
