/* Gravferdsguiden — gravferdskalkulator.
   Two-column layout (dark panel + illustration left, form right) inspired by common
   funeral-cost calculators, rendered in an Anthropic-style warm palette: cream page,
   warm near-black panel, coral accent. Scoped under .gg-kalk with gg- prefixed classes
   and --gg- custom properties so it never collides with a WordPress theme.
   Self-contained. No external fonts or assets. */

.gg-kalk{
  --gg-bg:#ffffff;          /* white page */
  --gg-panel:#0e3d40;       /* petroleum/teal left panel */
  --gg-panel-ink:#ffffff;
  --gg-panel-soft:#cfe0dc;
  --gg-card:#ffffff;
  --gg-ink:#1c2530;
  --gg-muted:#5d6b7a;
  --gg-line:#e4e8ec;
  --gg-accent:#0e3d40;      /* petroleum (AA with white text) */
  --gg-accent-bright:#16565b;
  --gg-accent-soft:#eaf2f1;
  --gg-gold:#f4c542;        /* Calculate-button gold (from reference) */
  --gg-gold-ink:#3a2f00;
  --gg-warn:#8a6d3b; --gg-warnbg:#faf6ec;
  --gg-ok:#2f5d50; --gg-oksoft:#e8f0ed;

  color:var(--gg-ink);
  font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--gg-bg);
  border-radius:18px; max-width:1040px; margin:0 auto;
  box-shadow:0 1px 3px rgba(0,0,0,.05),0 10px 30px rgba(43,42,38,.06);
}
/* wizard placeholder heights (prevents CLS while data loads) */
.gg-kalk[aria-busy="true"]{min-height:980px}
@media(min-width:560px){.gg-kalk[aria-busy="true"]{min-height:900px}}
@media(min-width:820px){.gg-kalk[aria-busy="true"]{min-height:640px}}
.gg-kalk *,.gg-kalk *::before,.gg-kalk *::after{box-sizing:border-box}
.gg-kalk h1,.gg-kalk h2,.gg-kalk h3{margin:0;line-height:1.2;font-weight:650;letter-spacing:-.01em}
@media(prefers-reduced-motion:reduce){.gg-kalk *{animation-duration:.001ms!important;transition-duration:.001ms!important}}
@keyframes gg-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes gg-pop{0%{transform:scale(1)}45%{transform:scale(1.035)}100%{transform:scale(1)}}
@keyframes gg-spin{to{transform:rotate(360deg)}}

/* shell — the wizard (.gg-main) comes FIRST in the DOM so mobile users reach
   the kommune question without scrolling; on desktop the dark aside is placed
   in the left column via explicit grid placement. */
.gg-shell{display:grid;grid-template-columns:1fr}
@media(min-width:820px){
  .gg-shell{grid-template-columns:400px 1fr}
  .gg-shell-wiz .gg-aside{grid-column:1;grid-row:1}
  .gg-shell-wiz .gg-main{grid-column:2;grid-row:1}
}

/* left panel */
.gg-aside{background:var(--gg-panel);color:var(--gg-panel-ink);padding:36px 34px;display:flex;flex-direction:column;
  border-radius:0 0 18px 18px}
@media(min-width:820px){.gg-aside{border-radius:18px 0 0 18px}}
.gg-illus{width:100%;max-width:230px;margin:6px auto 20px;display:block}
.gg-aside-rule{border:none;border-top:1px dashed rgba(240,238,230,.35);margin:8px 0 22px}
.gg-aside h2{font-size:27px;margin-bottom:14px}
.gg-aside p{color:var(--gg-panel-soft);font-size:15.5px;margin:0 0 12px}
.gg-aside .gg-aside-list{list-style:none;padding:0;margin:8px 0 0}
.gg-aside .gg-aside-list li{position:relative;padding-left:26px;margin:9px 0;color:var(--gg-panel-ink);font-size:15px}
.gg-aside .gg-aside-list li::before{content:"";position:absolute;left:0;top:9px;width:12px;height:6px;
  border-left:2px solid var(--gg-accent-bright);border-bottom:2px solid var(--gg-accent-bright);transform:rotate(-45deg)}

/* right / form */
.gg-main{background:var(--gg-card);padding:34px 34px 30px}
.gg-main-title{font-size:22px;margin-bottom:4px}
.gg-main-sub{color:var(--gg-muted);font-size:14.5px;margin:0 0 18px}
.gg-field{margin:18px 0 0}
.gg-field > .gg-q{display:block;font-weight:600;font-size:15px;margin-bottom:8px}
.gg-field > .gg-q small{font-size:12px;font-weight:500;color:var(--gg-muted);margin-left:4px}
.gg-help{font-size:13px;color:var(--gg-muted);margin:-2px 0 8px}

/* wizard: filling progress bar + step labels */
.gg-wiz-progress{height:8px;border-radius:999px;background:#eef2f2;border:1px solid var(--gg-line);
  overflow:hidden;margin:0 0 10px}
.gg-wiz-bar{display:block;height:100%;width:0;border-radius:999px;background:var(--gg-accent);
  transition:width .35s cubic-bezier(.16,1,.3,1)}
.gg-wiz-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:0 0 18px;
  color:var(--gg-muted);font-size:12px}
.gg-wiz-steps span{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap}
.gg-wiz-steps b{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;
  border-radius:50%;background:#eef2f2;color:var(--gg-muted);font-size:12px;line-height:1;flex:none;
  transition:background .15s,color .15s}
.gg-wiz-steps .gg-step-active{color:var(--gg-ink);font-weight:650}
.gg-wiz-steps .gg-step-active b,.gg-wiz-steps .gg-step-done b{background:var(--gg-accent);color:#fff}

/* persistent live estimate card */
.gg-est{display:block;position:sticky;top:8px;z-index:4;margin:0 0 18px;padding:16px 18px;
  background:var(--gg-panel);color:var(--gg-panel-ink);border-radius:14px;
  box-shadow:0 6px 18px rgba(14,61,64,.22)}
.gg-est[hidden]{display:none}
.gg-est-k{display:block;font-size:12.5px;font-weight:650;color:var(--gg-panel-soft);
  text-transform:uppercase;letter-spacing:.05em}
.gg-est-val{display:block;font-size:34px;line-height:1.15;font-weight:700;font-variant-numeric:tabular-nums;
  margin:2px 0 0}
.gg-est-bump{animation:gg-pop .4s ease-out}
.gg-est-range{display:block;font-size:13.5px;color:var(--gg-panel-soft);margin-top:2px}
.gg-est-range b{color:var(--gg-panel-ink);font-variant-numeric:tabular-nums}
.gg-est-save{display:block;font-size:13.5px;color:#ffe9a8;margin-top:6px;animation:gg-rise .35s ease-out}
.gg-est-save[hidden]{display:none}
.gg-est-note{display:block;font-size:11.5px;color:var(--gg-panel-soft);margin-top:6px;opacity:.85}
.gg-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* one question at a time */
.gg-step{margin:4px 0 0;animation:gg-rise .3s ease-out;outline:none}
.gg-step[hidden]{display:none}
.gg-step:focus-visible{outline:none}

/* kommune quick-pick chips */
.gg-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.gg-chip{font:inherit;font-size:14.5px;font-weight:600;min-height:44px;padding:9px 16px;cursor:pointer;
  color:var(--gg-accent);background:#fff;border:1px solid var(--gg-line);border-radius:999px;
  transition:border-color .15s,background .15s,transform .1s}
.gg-chip:hover{border-color:var(--gg-accent-bright);transform:translateY(-1px)}
.gg-chip:active{transform:translateY(0)}
.gg-chip:focus-visible{outline:none;box-shadow:0 0 0 3px var(--gg-accent-soft);border-color:var(--gg-accent)}
.gg-chip[aria-pressed="true"]{border-color:var(--gg-accent);background:var(--gg-accent-soft);
  box-shadow:inset 0 0 0 1px var(--gg-accent)}
.gg-chip[aria-pressed="true"]::before{content:"✓ ";color:var(--gg-accent)}

/* Neste / Tilbake */
.gg-wiz-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px}
.gg-wiz-next{font:inherit;font-weight:700;font-size:16px;cursor:pointer;border:none;border-radius:999px;
  min-height:48px;padding:12px 30px;margin-left:auto;background:var(--gg-accent);color:#fff;
  transition:background .15s,transform .1s,box-shadow .15s,opacity .15s}
.gg-wiz-next:hover{background:var(--gg-accent-bright);transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(13,74,78,.25)}
.gg-wiz-next:active{transform:translateY(0)}
.gg-wiz-next:focus-visible{outline:none;box-shadow:0 0 0 3px var(--gg-accent-soft)}
.gg-wiz-next:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.gg-wiz-back{font:inherit;font-size:14.5px;font-weight:600;cursor:pointer;background:none;border:none;
  min-height:48px;padding:12px 14px;color:var(--gg-accent);text-decoration:underline;
  text-underline-offset:2px;transition:opacity .15s}
.gg-wiz-back:hover{opacity:.7}
.gg-wiz-back:focus-visible{outline:none;box-shadow:0 0 0 3px var(--gg-accent-soft);border-radius:8px}
.gg-wiz-back[hidden]{display:none}

.gg-seg-two{grid-template-columns:1fr}
@media(min-width:560px){.gg-seg-two{grid-template-columns:repeat(2,1fr)}}

.gg-select{width:100%;padding:13px 14px;font-size:15px;border:1px solid var(--gg-line);border-radius:11px;
  background:#fff;color:var(--gg-ink);appearance:auto;transition:border-color .15s,box-shadow .15s}
.gg-select:hover{border-color:var(--gg-accent-bright)}
.gg-select:focus-visible{outline:none;border-color:var(--gg-accent);box-shadow:0 0 0 3px var(--gg-accent-soft)}

/* Municipality search and optional browser-location shortcut. */
.gg-kommune-row{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}
@media(min-width:560px){.gg-kommune-row{grid-template-columns:minmax(0,1fr) auto}}
.gg-kommune-input-wrap{position:relative;display:block;min-width:0}
.gg-kommune-input{width:100%;min-height:48px;padding:12px 42px;font:inherit;font-size:15px;
  border:1px solid var(--gg-line);border-radius:11px;background:#fff;color:var(--gg-ink);
  transition:border-color .15s,box-shadow .15s}
.gg-kommune-input::placeholder{color:#73808d;opacity:1}
.gg-kommune-input:hover{border-color:var(--gg-accent-bright)}
.gg-kommune-input:focus-visible{outline:none;border-color:var(--gg-accent);box-shadow:0 0 0 3px var(--gg-accent-soft)}
.gg-search-icon{position:absolute;z-index:1;left:16px;top:50%;width:15px;height:15px;border:2px solid var(--gg-muted);
  border-radius:50%;transform:translateY(-58%);pointer-events:none}
.gg-search-icon::after{content:"";position:absolute;width:7px;height:2px;background:var(--gg-muted);right:-6px;bottom:-3px;
  border-radius:2px;transform:rotate(45deg)}
.gg-locate{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:11px 15px;
  font:inherit;font-size:14px;font-weight:650;white-space:nowrap;color:var(--gg-accent);background:var(--gg-accent-soft);
  border:1px solid #cfe0dc;border-radius:11px;cursor:pointer;transition:border-color .15s,background .15s,opacity .15s}
.gg-locate:hover{border-color:var(--gg-accent);background:#e1edeb}
.gg-locate:focus-visible{outline:none;box-shadow:0 0 0 3px var(--gg-accent-soft);border-color:var(--gg-accent)}
.gg-locate:disabled{cursor:wait;opacity:.65}
.gg-locate[hidden]{display:none}
.gg-locate-icon{position:relative;width:15px;height:15px;border:2px solid currentColor;border-radius:50%;flex:none}
.gg-locate-icon::before{content:"";position:absolute;inset:3px;border-radius:50%;background:currentColor}
.gg-locate-icon::after{content:"";position:absolute;inset:-5px;border:1px solid currentColor;border-radius:50%;opacity:.45}
.gg-location-note{min-height:20px;margin:6px 0 0;font-size:12.5px;line-height:1.5;color:var(--gg-muted)}

/* segmented control */
.gg-seg{display:grid;grid-template-columns:1fr;gap:8px}
@media(min-width:560px){.gg-seg{grid-template-columns:repeat(2,1fr)}}
.gg-seg button{font:inherit;cursor:pointer;text-align:left;background:#fff;border:1px solid var(--gg-line);
  border-radius:12px;padding:12px 13px;color:var(--gg-ink);
  transition:border-color .15s,background .15s,box-shadow .15s,transform .1s}
.gg-seg button .gg-seg-t{display:block;font-weight:600;font-size:14.5px}
.gg-seg button .gg-seg-d{display:block;font-size:12px;color:var(--gg-muted);margin-top:2px}
.gg-seg button:hover{border-color:var(--gg-accent-bright);transform:translateY(-1px)}
.gg-seg button:active{transform:translateY(0)}
.gg-seg button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--gg-accent-soft)}
.gg-seg button[aria-pressed="true"]{border-color:var(--gg-accent);background:var(--gg-accent-soft);box-shadow:inset 0 0 0 1px var(--gg-accent)}
.gg-seg button[aria-pressed="true"] .gg-seg-t::before{content:"✓ ";color:var(--gg-accent)}

/* checkboxes */
.gg-checks{display:grid;grid-template-columns:1fr;gap:8px}
@media(min-width:560px){.gg-checks{grid-template-columns:1fr 1fr}}
.gg-check{display:flex;align-items:center;gap:11px;border:1px solid var(--gg-line);border-radius:12px;
  padding:13px 14px;cursor:pointer;background:#fff;min-height:44px;transition:border-color .15s,background .15s,transform .1s}
.gg-check:hover{border-color:var(--gg-accent-bright);transform:translateY(-1px)}
.gg-check:active{transform:translateY(0)}
.gg-check:has(input:checked){border-color:var(--gg-accent);background:var(--gg-accent-soft)}
.gg-check:has(input:focus-visible){box-shadow:0 0 0 3px var(--gg-accent-soft)}
.gg-check input{width:20px;height:20px;accent-color:var(--gg-accent);cursor:pointer;flex:none}
.gg-check span{font-size:14.5px}

.gg-source{font-size:12.5px;color:var(--gg-muted);margin:16px 0 0}
.gg-actions{display:flex;align-items:center;gap:16px;margin-top:20px;flex-wrap:wrap}
.gg-btn{font:inherit;font-weight:700;cursor:pointer;border:none;border-radius:999px;padding:14px 30px;font-size:16px;
  transition:filter .15s,transform .1s,box-shadow .15s}
.gg-btn-primary{background:var(--gg-gold);color:var(--gg-gold-ink);box-shadow:0 2px 8px rgba(244,197,66,.35)}
.gg-btn-primary:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 4px 14px rgba(244,197,66,.45)}
.gg-btn-primary:active{transform:translateY(0)}
.gg-btn-primary:focus-visible{outline:none;box-shadow:0 0 0 3px var(--gg-accent-soft),0 2px 8px rgba(244,197,66,.35)}
.gg-btn-primary[data-busy="true"]{color:transparent;pointer-events:none}
.gg-btn-primary[data-busy="true"]::after{content:"";position:absolute;width:18px;height:18px;margin:-9px 0 0 -9px;
  top:50%;left:50%;border-radius:50%;border:2px solid rgba(58,47,0,.35);border-top-color:var(--gg-gold-ink);
  animation:gg-spin .6s linear infinite}
.gg-btn-primary{position:relative}
.gg-btn-reset{background:none;border:none;color:var(--gg-accent);font-weight:600;cursor:pointer;font-size:14.5px;
  text-decoration:underline;padding:6px;transition:opacity .15s}
.gg-btn-reset:hover{opacity:.7}

/* result */
.gg-result{padding:0 34px 34px}
@media(min-width:820px){.gg-result{padding:0 34px 34px 34px}}
.gg-result:empty{display:none}
.gg-result-card{background:var(--gg-card);border:1px solid var(--gg-line);border-radius:16px;padding:24px 26px;
  margin-top:4px;animation:gg-rise .35s cubic-bezier(.16,1,.3,1)}
.gg-result h3{font-size:20px;margin-bottom:4px}
.gg-result .gg-loc{color:var(--gg-muted);font-size:14px;margin:0 0 16px}
.gg-result-kicker{display:inline-block;margin:0 0 7px;padding:3px 9px;border-radius:999px;background:var(--gg-accent-soft);
  color:var(--gg-accent);font-size:11px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}

.gg-savings{display:grid;grid-template-columns:1fr auto;gap:2px 18px;align-items:center;margin:0 0 16px;
  padding:16px 18px;border:1px solid #d8c55a;border-radius:14px;background:#fff9d9;color:var(--gg-gold-ink)}
.gg-savings span{font-size:13px;font-weight:700}
.gg-savings strong{grid-column:2;grid-row:1 / span 2;font-size:25px;line-height:1.15;white-space:nowrap}
.gg-savings small{font-size:12px;line-height:1.4;opacity:.8}
.gg-savings-neutral{grid-template-columns:1fr;background:var(--gg-accent-soft);border-color:#cfe0dc;color:var(--gg-accent)}
.gg-savings-neutral strong{grid-column:1;grid-row:auto;font-size:17px;white-space:normal}
@media(max-width:480px){.gg-savings{grid-template-columns:1fr}.gg-savings strong{grid-column:1;grid-row:auto;font-size:22px}}

.gg-scn{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 18px}
.gg-scn .gg-c{border:1px solid var(--gg-line);border-radius:13px;padding:14px 10px;text-align:center;background:#fff;
  transition:transform .15s,box-shadow .15s}
.gg-scn .gg-c.gg-mid{border-color:var(--gg-accent);background:var(--gg-accent-soft);animation:gg-pop .4s ease-out .05s both}
.gg-scn .gg-c:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(13,74,78,.08)}
.gg-scn .gg-lab{font-size:12px;color:var(--gg-muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.gg-scn .gg-val{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;margin-top:4px}

.gg-brk{width:100%;border-collapse:collapse;margin-top:4px}
.gg-brk tr{animation:gg-rise .3s ease-out both}
.gg-brk tr:nth-child(1){animation-delay:.02s}.gg-brk tr:nth-child(2){animation-delay:.05s}
.gg-brk tr:nth-child(3){animation-delay:.08s}.gg-brk tr:nth-child(4){animation-delay:.11s}
.gg-brk tr:nth-child(5){animation-delay:.14s}.gg-brk tr:nth-child(n+6){animation-delay:.17s}
.gg-brk td{padding:10px 2px;border-bottom:1px solid var(--gg-line);font-size:14px;vertical-align:top}
.gg-brk td:last-child{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.gg-brk tr:last-child td{border-bottom:none;font-weight:700;font-size:15px}

.gg-tag{display:inline-block;font-size:11px;padding:1px 8px;border-radius:20px;font-weight:600;margin-left:6px;vertical-align:middle}
.gg-tag-kilde{background:var(--gg-oksoft);color:var(--gg-ok)}
.gg-tag-anslag{background:var(--gg-warnbg);color:var(--gg-warn)}
.gg-tag-mangler{background:#eef1f3;color:var(--gg-muted)}

/* W2: Hent Tilbud = the single dominant, full-width gold action after the
   estimate; the old links demote to secondary ghosts beneath. */
.gg-cta-lead{margin-top:22px}
.gg-cta-lead[hidden]{display:none}
.gg-cta-gold{display:block;width:100%;min-height:52px;font-size:17px}
.gg-cta-value{margin:10px 2px 0;font-size:13.5px;color:var(--gg-muted);text-align:center;line-height:1.5}
.gg-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.gg-cta-ghosts{margin-top:14px}
.gg-cta a{flex:1;min-width:200px;text-align:center;padding:12px 16px;border-radius:999px;font-weight:650;font-size:14px;
  text-decoration:none;transition:transform .12s,box-shadow .15s,background .15s}
.gg-cta .gg-primary{background:var(--gg-accent);color:#fff}
.gg-cta .gg-primary:hover{background:var(--gg-accent-bright);transform:translateY(-1px);box-shadow:0 4px 14px rgba(13,74,78,.25)}
.gg-cta .gg-ghost{background:#fff;border:1px solid var(--gg-accent);color:var(--gg-accent)}
.gg-cta .gg-ghost:hover{background:var(--gg-accent-soft);transform:translateY(-1px)}
.gg-cta a:active{transform:translateY(0)}

/* W3: NAV block — free prefilled draft + optional (gated) paid preparation */
.gg-navblock{background:#fbfcfc;border:1px solid var(--gg-line);border-radius:12px;padding:16px 18px;margin-top:16px}
.gg-navblock h4{margin:0 0 6px;font-size:16px}
.gg-navblock p{margin:0 0 8px;font-size:14.5px}
.gg-navblock-free a{color:var(--gg-accent);font-weight:650}
.gg-navprep{background:#fff;border:1px solid var(--gg-line);border-radius:12px;padding:14px 16px;margin:12px 0}
.gg-navprep strong{display:block;font-size:14.5px;margin-bottom:4px}
.gg-navprep p{font-size:13.5px;color:var(--gg-muted)}
.gg-btn-navprep{font:inherit;font-weight:650;font-size:14.5px;cursor:pointer;border-radius:999px;min-height:48px;
  padding:11px 22px;margin-top:10px;background:var(--gg-accent);color:#fff;border:none;
  transition:background .15s,transform .1s,opacity .15s}
.gg-btn-navprep:hover{background:var(--gg-accent-bright);transform:translateY(-1px)}
.gg-btn-navprep:focus-visible{outline:none;box-shadow:0 0 0 3px var(--gg-accent-soft)}
.gg-btn-navprep:disabled{opacity:.5;cursor:not-allowed;transform:none}
.gg-navprep-error{min-height:1.2em;color:#8b2d2d;font-size:13px;margin:8px 0 0}

/* W3: cross-sell offers — uforpliktende lead captures, never a shop */
.gg-offers{margin-top:16px;background:#fbfcfc;border:1px solid var(--gg-line);border-radius:12px;padding:14px 16px}
.gg-offers-sub{margin:-4px 0 10px;color:var(--gg-muted);font-size:13px}
.gg-offer-grid{display:grid;grid-template-columns:1fr;gap:8px}
@media(min-width:560px){.gg-offer-grid{grid-template-columns:repeat(3,1fr)}}
.gg-offer{font:inherit;font-size:14px;font-weight:650;min-height:48px;padding:11px 14px;cursor:pointer;
  color:var(--gg-accent);background:#fff;border:1px solid var(--gg-accent);border-radius:999px;
  transition:background .15s,transform .1s}
.gg-offer:hover{background:var(--gg-accent-soft);transform:translateY(-1px)}
.gg-offer:active{transform:translateY(0)}
.gg-offer:focus-visible{outline:none;box-shadow:0 0 0 3px var(--gg-accent-soft)}

.gg-trust{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--gg-muted);margin-top:16px}
.gg-trust span{display:inline-flex;align-items:center;gap:6px}
.gg-trust span::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gg-accent-bright)}

/* v2: NAV progressive fields, savings insight, byrå list, lead form */
.gg-navextra{display:grid;gap:10px;margin-top:10px}
@media(min-width:560px){.gg-navextra{grid-template-columns:1fr 1fr}}
.gg-navextra[hidden]{display:none}
.gg-navextra label{font-size:13px;font-weight:600;color:var(--gg-muted)}
.gg-select-sm{margin-top:4px;padding:10px 12px;font-size:14px}
.gg-insight{background:var(--gg-accent-soft);border:1px solid #cfe0dc;border-radius:12px;
  padding:13px 16px;font-size:14.5px;margin:0 0 16px;animation:gg-rise .35s ease-out}
.gg-byralist{background:#fbfcfc;border:1px solid var(--gg-line);border-radius:12px;padding:14px 16px;margin-top:16px}
.gg-byralist-h{font-weight:650;font-size:13px;color:var(--gg-muted);text-transform:uppercase;
  letter-spacing:.04em;margin-bottom:8px}
.gg-byralist-basis{margin:-5px 0 8px;color:var(--gg-muted);font-size:12.5px}
.gg-byrarow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 9px;
  border-bottom:1px dashed var(--gg-line);font-size:14.5px;border-radius:8px}
.gg-byrarow:last-of-type{border-bottom:none}
.gg-byrarow > span:first-child{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.gg-byrarow > span:first-child small{width:100%;color:var(--gg-muted);font-size:11.5px;line-height:1.35}
.gg-byrarow > span:first-child a{color:var(--gg-accent);font-weight:650;text-decoration:underline;text-decoration-thickness:1px;
  text-underline-offset:2px}
.gg-byrarow > strong{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}
.gg-byrarow-best{background:var(--gg-accent-soft);border-bottom-color:transparent}
.gg-tag-best{background:var(--gg-gold);color:var(--gg-gold-ink);font-size:10.5px;letter-spacing:.02em;
  text-transform:uppercase;font-weight:700}
.gg-cta-btn{font:inherit;border:none;cursor:pointer}
.gg-lead{background:#fff;border:1px solid var(--gg-accent);border-radius:14px;padding:20px 22px;
  margin-top:16px;animation:gg-rise .3s ease-out}
.gg-lead[hidden]{display:none}
.gg-lead h4{margin:0 0 4px;font-size:17px}
.gg-lead-sub{color:var(--gg-muted);font-size:14px;margin:0 0 14px}
.gg-lead label{display:block;font-weight:600;font-size:13.5px;margin:12px 0 0}
.gg-lead input[type="email"],.gg-lead input[type="tel"],.gg-lead input[type="text"],.gg-lead select{display:block;width:100%;margin-top:5px;
  padding:12px 13px;font-size:15px;border:1px solid var(--gg-line);border-radius:10px;font-family:inherit}
.gg-lead input:focus-visible{outline:none;border-color:var(--gg-accent);box-shadow:0 0 0 3px var(--gg-accent-soft)}
.gg-check-lead{margin-top:14px;font-weight:500}
.gg-lead .gg-btn{margin-top:16px}
.gg-lead-error{min-height:1.4em;color:#8b2d2d;font-size:13px;margin:10px 0 0}
.gg-lead-done{background:var(--gg-oksoft);border:1px solid #cfe0dc;color:var(--gg-ok);
  border-radius:12px;padding:16px 18px;margin-top:16px;font-size:15px;animation:gg-rise .3s ease-out}
.gg-lead-done[hidden]{display:none}
.gg-sendcopy{font-size:13.5px;margin:12px 0 0}
.gg-sendcopy a{color:var(--gg-accent)}

.gg-banner{border-radius:12px;padding:12px 16px;font-size:13.5px;margin:0 0 16px}
.gg-banner-info{background:var(--gg-warnbg);border:1px solid #ecdcbf;color:var(--gg-warn)}
.gg-src{font-size:12.5px;color:var(--gg-muted);margin-top:6px;line-height:1.5}
.gg-disc{font-size:12.5px;color:var(--gg-muted);margin-top:14px;line-height:1.55}
.gg-placeholder{color:var(--gg-muted);padding:8px 2px}
