/* BIC Design System — generated 2026-06-20
   Unified tokens, typography scale, button component, a11y, mobile.
   Loaded with high priority after Elementor. */

:root{
  /* Colour tokens (single source) */
  --bic-navy:#002B66; --bic-navy-900:#002B66;
  --bic-gold:#D4AF37; --bic-green:#d4af37;
  --bic-ink:#1F2937; --bic-muted:#5B6677;
  --bic-bg:#F5F7FA; --bic-surface:#FFFFFF; --bic-border:#DFE6F0;
  /* Fluid type scale */
  --bic-fs-h1:clamp(2.2rem,1.6rem + 2vw,3rem);
  --bic-fs-h2:clamp(1.6rem,1.3rem + 1.2vw,2.25rem);
  --bic-fs-h3:clamp(1.25rem,1.1rem + .6vw,1.5rem);
  --bic-fs-body:clamp(1rem,.95rem + .2vw,1.125rem);
  --bic-lh:1.6;
  --bic-maxw:1200px; --bic-radius:14px; --bic-btn-radius:8px;
}

/* Typography hierarchy (H1>H2>H3) */
h1{font-size:var(--bic-fs-h1);font-weight:700;line-height:1.15}
h2{font-size:var(--bic-fs-h2);font-weight:700;line-height:1.2}
h3{font-size:var(--bic-fs-h3);font-weight:500;line-height:1.3}
body,p,li{font-size:var(--bic-fs-body);line-height:var(--bic-lh)}

/* Unified button component */
.bic-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:48px;padding:0 24px;border-radius:var(--bic-btn-radius);font-weight:700;
  font-size:1rem;line-height:1;transition:.2s;text-decoration:none;cursor:pointer;border:0}
.bic-btn--primary{background:var(--bic-gold);color:var(--bic-navy-900)}
.bic-btn--primary:hover{filter:brightness(.95)}
.bic-btn--secondary{background:var(--bic-navy);color:#fff}
.bic-btn--ghost{background:transparent;color:var(--bic-navy);border:2px solid var(--bic-navy)}
@media(max-width:480px){.bic-btn{width:100%}}

/* Contrast fix: avoid light-on-light secondary text */
.elementor-widget-text-editor .bic-muted,.bic-muted{color:var(--bic-muted)}

/* Focus-visible states (a11y) */
a:focus-visible,button:focus-visible,.bic-btn:focus-visible,
.elementor-button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid var(--bic-gold);outline-offset:2px}

/* Touch targets + min font on mobile/tablet */
@media(max-width:1024px){
  a,button,.elementor-button,.bic-btn,input,select{min-height:44px;min-width:44px}
  body,p,li,span{font-size:clamp(.95rem,3.6vw,1.05rem)} /* >=15px */
}

/* Mega menu: clip overflow + collapse to drawer below 1024px */
.bic-mega,.bic-mega-wrapper{max-width:100vw;overflow-x:hidden}
header,.bic-header,body{overflow-x:clip}
@media(max-width:1024px){.bic-mega{display:none !important}}
