/* GMAV component styles — extract from per-page <style> blocks during Phase 3 migration. */
/* Scaffold: place universally-shared component rules here so Eleventy pages link this */
/* file and stop duplicating CSS inline. */

/* Reset + base */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);font-weight:300;background:#fff;color:var(--text-primary);line-height:1.6;overflow-x:hidden}

/* Skip link */
.skip-link{position:absolute;top:-100px;left:0;z-index:9999;padding:.5rem 1rem;background:var(--blue-60);color:#fff;font-weight:600;font-family:var(--font-body);text-decoration:none}
.skip-link:focus{top:0}
.skip-link:focus-visible{outline:2px solid var(--teal-40);outline-offset:2px}

/* Universal focus-visible */
a:focus-visible,button:focus-visible{outline:2px solid var(--blue-60);outline-offset:2px}

/* WCAG badge (footer) */
.wcag-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 7px 2px 6px;border:1px solid rgba(0,157,124,.35);border-radius:2px;font-family:var(--font-body);font-weight:400;font-size:10px;letter-spacing:.02em;color:rgba(0,157,124,.75);text-decoration:none;vertical-align:middle;margin-left:10px;transition:border-color .15s,color .15s}
.wcag-badge:hover{border-color:rgba(0,157,124,.65);color:#009d7c}

/* Visually-hidden a11y helper */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}


.soon-tag{display:inline-block;margin-left:6px;padding:1px 6px;font-family:var(--font-body);font-weight:600;font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-100);background:var(--teal-40);border-radius:2px;vertical-align:middle;line-height:1.6;white-space:nowrap}

.footer-addr-flag{width:26px;height:auto;flex-shrink:0;margin-top:2px;display:block;border:1px solid rgba(255,255,255,.14);border-radius:2px}
.footer-addr-role{font-weight:400;color:rgba(255,255,255,.45);font-size:10px;letter-spacing:0}

.eyebrow{font-family:var(--font-body);font-weight:600;font-size:13px;letter-spacing:.01em;text-transform:none;display:block;margin-bottom:var(--sp-04)}
.eyebrow-blue{color:var(--blue-60)}
.eyebrow-white{color:var(--teal-40)}
.eyebrow-teal{color:var(--teal-50)}
.form-check-row{display:flex;align-items:flex-start;gap:var(--sp-03);cursor:pointer}
.form-check-native{width:18px;height:18px;accent-color:var(--blue-60);flex-shrink:0;margin-top:2px;cursor:pointer}
.trust-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:var(--sp-03)}
.trust-item{display:flex;align-items:flex-start;gap:var(--sp-03);font-size:var(--ts-01);line-height:1.4;color:var(--text-secondary)}
.trust-ic{width:18px;height:18px;flex-shrink:0;margin-top:1px}

/* Mobile legibility: bump the smallest micro-labels (8-9px) to 10px */
@media(max-width:600px){
  .tkc-label{font-size:10px !important}
  .proc-step-label{font-size:10px !important}
  .hwb-label{font-size:10px !important}
}

/* back-to-top */
.to-top{position:fixed;right:var(--sp-06);bottom:calc(var(--sp-06) + 72px);width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--blue-60);color:#fff;border:none;cursor:pointer;z-index:250;opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease,background .12s ease;box-shadow:0 6px 20px rgba(0,0,0,.28)}
.to-top.show{opacity:1;pointer-events:auto;transform:translateY(0)}
.to-top:hover{background:var(--blue-70)}
.to-top:focus-visible{outline:2px solid #fff;outline-offset:2px}
.to-top svg{width:20px;height:20px}
@media(max-width:600px){.to-top{right:var(--sp-05);bottom:calc(var(--sp-05) + 68px);width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.to-top{transition:opacity .2s ease}}


/* whatsapp-widget */
.wa-widget{position:fixed;right:var(--sp-06);bottom:var(--sp-06);z-index:250;display:flex;flex-direction:column;align-items:flex-end;gap:var(--sp-04)}
.wa-fab{width:60px;height:60px;padding:0;background:none;border:none;cursor:pointer;line-height:0;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35));transition:transform .12s ease}
.wa-fab:hover{transform:translateY(-2px)}
.wa-fab:focus-visible{outline:2px solid var(--blue-60);outline-offset:3px;border-radius:50%}
.wa-fab img{width:100%;height:100%;display:block}
.wa-pop{width:300px;max-width:calc(100vw - 2*var(--sp-06));background:#fff;box-shadow:0 12px 40px rgba(0,0,0,.25);display:none;overflow:hidden}
.wa-widget.open .wa-pop{display:block;animation:waIn .18s ease}
@keyframes waIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.wa-pop-head{display:flex;align-items:center;gap:var(--sp-04);background:#075e54;color:#fff;padding:var(--sp-05)}
.wa-pop-ava{width:40px;height:40px;flex-shrink:0;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center}
.wa-pop-ava svg{width:24px;height:24px}
.wa-pop-meta{display:flex;flex-direction:column;line-height:1.3}
.wa-pop-meta strong{font-family:var(--font-body);font-weight:600;font-size:15px}
.wa-pop-meta span{font-size:12px;opacity:.85}
.wa-pop-x{margin-left:auto;background:none;border:none;color:#fff;font-size:22px;line-height:1;cursor:pointer;padding:0 4px}
.wa-pop-x:focus-visible{outline:2px solid #fff;outline-offset:2px}
.wa-pop-body{padding:var(--sp-06) var(--sp-05);background:#e5ddd5}
.wa-msg{background:#fff;padding:var(--sp-04) var(--sp-05);font-family:var(--font-body);font-size:14px;color:#161616;line-height:1.5;box-shadow:0 1px 1px rgba(0,0,0,.1)}
.wa-pop-cta{display:flex;align-items:center;justify-content:center;gap:var(--sp-03);background:#25d366;color:#fff;font-family:var(--font-body);font-weight:600;font-size:15px;text-decoration:none;padding:var(--sp-05);transition:background .12s ease}
.wa-pop-cta:hover{background:#1ebe5d}
.wa-pop-cta:focus-visible{outline:2px solid #fff;outline-offset:-3px}
.wa-pop-cta svg{width:20px;height:20px;flex-shrink:0}
body.wa-open .to-top{display:none}
@media(max-width:600px){.wa-widget{right:var(--sp-05);bottom:var(--sp-05)}.wa-fab{width:56px;height:56px}.wa-pop{width:280px;max-width:calc(100vw - 2*var(--sp-05))}}

/* footer-social-unboxed */
.social-btn{background:none;border:none;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:opacity .12s}
.social-btn img{width:19px;height:19px;filter:invert(1);opacity:.5;transition:opacity .12s}
.social-btn:hover img{opacity:1}
