/**
 * Ampy - Elcentral-kollen - CSS
 * Fluent Snippets: Frontend, load as a file. (v2.16.5)
 *
 * Folded from the plugin CSS. Fully scoped to .ampy-ec (its own namespace, no
 * battery / EV / LED / Elkollen collision), safe to load globally. Two changes
 * from the plugin CSS: the global html{font-size:62.5%} rem-leak is removed (the
 * Ampy theme provides that base), and the four self-hosted @font-face blocks are
 * dropped - Outfit and Plus Jakarta Sans are already loaded site-wide.
 */
.ampy-ec {
  -webkit-text-size-adjust: 100%; text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent; /* ingen grå iOS-tap-blink; vi ger egen feedback */
  overflow-x: hidden; overflow-x: clip; /* overflow-guard i okänd WP/Bricks-embed; hidden-fallback för iOS Safari <16, clip bevarar sticky-rail på 16+ */
  --ec-q-minh: 56rem; /* M2: stabil frågehöjd (desktop) → lugn, jämn scroll mellan steg */
  --focus-ring: 0 0 0 3px rgba(0, 169, 145, 0.25); /* EN fokusring för all input + knapp */
  /* Colors */
  --bg-primary: #ffffff;
  --bg-secondary: #f4f5fb;
  --bg-subtle: #f7f8fc;
  --bg-surface: rgb(9, 11, 50);
  --text-primary: rgb(9, 11, 50);
  --text-secondary: #5a5d7a;
  --text-tertiary: #8a8da5;
  --text-inverse: #ffffff;
  --text-info: rgb(10, 122, 191);
  --text-success: rgb(15, 110, 86);
  --action-primary: rgb(0, 169, 145);
  --action-primary-strong: rgb(0, 122, 105);        /* white-on ≈ 5.3:1 (AA) */
  /* 1:1 från ampy.se (Core Framework, samma 1rem=10px-rot): exakta gradient/skugga + fluida tokens */
  --ampy-cta-gradient: linear-gradient(120deg, #55ff9a 0%, #5eb1bf 100%);
  --ampy-cta-gradient-blue: linear-gradient(120deg, #b6f2ff 0%, #70becb 100%); /* = Elkollen-herons .ampy-btn--phone */
  --ampy-cta-shadow: 0 0 16px 0 rgba(241, 241, 241, 0.23);       /* = Elkollen-herons .ampy-btn */
  --ampy-cta-fs: clamp(1.4rem, calc(0.21vw + 1.33rem), 1.6rem);  /* = Elkollen-herons .ampy-btn font-size (1:1) */
  --ampy-cta-pad-y: clamp(1.02rem, calc(0.39vw + 0.9rem), 1.4rem); /* = .ampy-btn vertikal padding (1:1) */
  --ampy-cta-pad-x: clamp(2rem, calc(2rem + 0.0044 * (100vw - 380px)), 2.4rem); /* = .ampy-btn horisontell padding (ampy.se-token, 1:1) */
  --ampy-cta-radius: 0.8rem;                                     /* = .ampy-btn 8px (bricks-button-kaskaden) */
  --action-primary-strong-hover: rgb(0, 108, 93);
  --action-tint: rgb(240, 250, 248);                 /* selected fill, distinct from grey hover */
  --state-success: rgb(57, 194, 129);
  --state-warning: rgb(245, 175, 25);
  --state-error: rgb(220, 53, 69);
  --border-default: #e3e5ed;
  --border-tertiary: #ebedf3;
  --border-focus: rgb(0, 122, 105);

  /* Pill (mörk-på-ljus, AA ≥6.8:1) */
  --pill-success-bg: rgb(214, 240, 229);  --pill-success-fg: rgb(6, 71, 55);
  --pill-warning-bg: rgb(250, 233, 197);  --pill-warning-fg: rgb(92, 64, 5);
  --pill-error-bg:   rgb(250, 224, 222);  --pill-error-fg:   rgb(124, 32, 32);
  --pill-info-bg:    rgb(224, 236, 248);  --pill-info-fg:    rgb(17, 82, 135);
  --pill-neutral-bg: var(--bg-secondary); --pill-neutral-fg: var(--text-primary);

  /* Accent (non-text) */
  --accent-success: rgb(15, 110, 86);
  --accent-warning: rgb(135, 101, 7);
  --accent-error:   rgb(122, 22, 35);
  --accent-info:    rgb(13, 86, 140);
  --accent-neutral: var(--text-tertiary);

  /* Verdict-zon tint (whisper-wash, ingen border/shadow → ej ett kort) */
  --tint-success: rgb(240, 249, 245);
  --tint-warning: rgb(252, 247, 234);
  --tint-error:   rgb(252, 243, 243);
  --tint-info:    rgb(242, 247, 251);
  --tint-neutral: rgb(248, 249, 252);

  /* Spacing (10px rem-bas) */
  --space-1: 0.4rem;  --space-2: 0.6rem;  --space-3: 0.8rem;  --space-4: 1.0rem;
  --space-5: 1.2rem;  --space-6: 1.4rem;  --space-7: 1.6rem;  --space-8: 1.8rem;
  --space-9: 2.0rem;  --space-10: 2.2rem; --space-11: 2.4rem; --space-12: 2.8rem; --space-13: 3.2rem;
  /* Tvånivå-rytm (R3) */
  --rhythm-section: var(--space-11);  /* mellan resultat-sektioner */
  --rhythm-group: var(--space-5);     /* inom grupp */
  --rhythm-label: var(--space-3);     /* rubrik → ägt innehåll */

  --radius-sm: 0.6rem; --radius-md: 1.0rem; --radius-lg: 1.4rem; --radius-full: 999px;
  --shadow-sm: 0 1px 2px rgba(11, 13, 42, 0.04);
  --shadow-md: 0 8px 28px rgba(11, 13, 42, 0.07);
  --shadow-lg: 0 14px 32px rgba(11, 13, 42, 0.1);

  --fs-12: 1.2rem; --fs-13: 1.3rem; --fs-14: 1.4rem; --fs-15: 1.5rem; --fs-16: 1.6rem; --fs-18: 1.8rem; --fs-20: 2.0rem;
  /* Hjälte-roller: contained clamp (kanon) */
  --fs-title: clamp(2.0rem, 1.8rem + 0.5vw, 2.4rem);
  --fs-display: clamp(2.0rem, 1.7rem + 1.0vw, 2.8rem);

  /* Motion */
  --ease-out: cubic-bezier(0.2, 0.6, 0.2, 1);
  --dur-fast: 120ms; --dur-base: 220ms; --dur-reveal: 300ms;

  --block-padding-y: var(--space-11);
  --block-padding-x: var(--space-11);

  /* Ikon-rad - delad optisk justering (ikon → första textraden). Alla ikon+text-rader
     ärver dessa; varje radtyp överrider size/nudge lokalt vid behov (se IKON-RAD nedan). */
  --ec-row-icon-size: 1.8rem;   /* kvadratisk ikonbox (width = height) */
  --ec-row-icon-nudge: 0.2rem;  /* margin-top: optisk centrering mot första raden */

  display: block;
  font-family: 'Outfit', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-optical-sizing: auto;
  color: var(--text-primary);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.ampy-ec *, .ampy-ec *::before, .ampy-ec *::after { box-sizing: border-box; }

/* ============================================================================
   IKON-RAD - delad ikon→text optisk justering
   Alla ikon+text-rader (finding, faktanotis, akut, info, rail-cred) delar
   samma mekanik: kvadratisk ikonbox + margin-top-nudge mot första textraden.
   Storlek/nudge styrs av --ec-row-icon-size / --ec-row-icon-nudge (rot-default
   1.8rem / 0.2rem). Varje radtyp överrider bara de värden som avviker - tidigare
   hårdkodades de per klass och drev isär.
   ============================================================================ */
.ampy-ec__finding-icon,
.ampy-ec__factnote-icon,
.ampy-ec__akut-icon,
.ampy-ec__info-icon,
.ampy-ec__rail-cred-icon,
.ampy-ec__compact-cred-icon {
  flex-shrink: 0;
  width: var(--ec-row-icon-size);
  height: var(--ec-row-icon-size);
  margin-top: var(--ec-row-icon-nudge);
}

/* ============================================================================
   SHELL - en kolumn (mobil), tvåpanels (≥1024px)
   ============================================================================ */
.ampy-ec__shell {
  max-width: 128rem; /* Ampy-container (1280px) - minskar kant-whitespace på desktop */
  margin: 0 auto;
  min-width: 0;
  padding: clamp(2.4rem, 4vw, 5.6rem) calc(clamp(1.6rem, 4vw, 4rem) + env(safe-area-inset-right)) calc(clamp(2.4rem, 4vw, 5.6rem) + env(safe-area-inset-bottom)) calc(clamp(1.6rem, 4vw, 4rem) + env(safe-area-inset-left));
  display: grid;
  gap: var(--space-9);
}
@media (min-width: 1024px) {
  .ampy-ec__shell {
    /* 1:1 med Elkollen-herons hero__grid-proportioner (44fr/56fr) → rail-spalten får
       SAMMA bredd som referensen (~49rem på desktop) så copy-blocket bryter likadant. */
    grid-template-columns: minmax(36rem, 44fr) minmax(46rem, 56fr);
    gap: 6.4rem;
    align-items: start; /* rail toppställd → stabilt topp-läge, oberoende av kortets höjd */
  }
  /* Start + frågor: rail-innehållet vertikalt CENTRERAT inom en FAST höjd (= normalslidens korthöjd
     --ec-q-minh). Centrerat precis som på slide 1 OCH "fast" - flyttas INTE när ett multisval-kort
     (Q5/Q7) blir högre, för rail-boxen behåller sin höjd istället för att följa det högre kortet. */
  .ampy-ec__rail { align-self: start; min-height: var(--ec-q-minh); display: flex; flex-direction: column; justify-content: center; padding-top: 0; }
  /* Besked/formulär: kortet är mycket högre → toppställ + sticky, ingen fast-höjd-centrering. */
  .ampy-ec__shell[data-view="result"] .ampy-ec__rail,
  .ampy-ec__shell[data-view="lead"] .ampy-ec__rail { min-height: 0; justify-content: flex-start; position: sticky; top: var(--space-9); padding-top: var(--space-3); }
}

/* RAIL - varumärke + tes + verifierbart trust */
.ampy-ec__rail { min-width: 0; }
/* Rail-typografi = 1:1 med Elkollen-herons hero__copy (font/storlek/färg/radavstånd). */
.ampy-ec__rail-heading {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: clamp(3.2rem, 4vw, 4.4rem); font-weight: 700; line-height: 1.08;
  letter-spacing: -0.02em; color: var(--text-primary); margin: 0 0 2rem;
}
.ampy-ec__rail-lead {
  font-size: 1.8rem; font-weight: 400; line-height: 1.55;
  color: var(--text-secondary); margin: 0 0 2.8rem; max-width: 46ch;
}
/* Trust-bullets = hero__trust: 1.5rem/500/ikon 2rem teal, margin-top .3rem. Färgen mjukad en aning
   mot Elkollens live-rendering (mörk slate, inte ren navy) - ägarjustering, finkalibreras vid behov. */
.ampy-ec__rail-bullets { list-style: none; padding: 0; margin: 0 0 2.8rem; display: flex; flex-direction: column; gap: 1.6rem; }
.ampy-ec__rail-bullet { display: flex; align-items: flex-start; gap: 1.2rem; font-size: 1.5rem; line-height: 1.45; font-weight: 500; color: var(--text-primary); }
.ampy-ec__rail-bullet-icon { display: inline-flex; flex-shrink: 0; width: 2rem; height: 2rem; min-width: 2rem; margin-top: 0.3rem; color: var(--action-primary); }
.ampy-ec__rail-bullet-icon svg { width: 2rem; height: 2rem; }
.ampy-ec__rail-bullet-link { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.ampy-ec__rail-bullet-link:hover { color: var(--text-primary); text-decoration-thickness: 2px; }
/* Tesen är desktop-only (skulle trycka ner första frågan på mobil). */
/* Credential i rail = ENDAST desktop. På mobil bärs den av .ampy-ec__compact-cred (start + besked).
   Designad RUTA (ägaren ville ha tillbaka den): subtil bakgrund, padding, rundade hörn. */
.ampy-ec__rail-cred {
  display: none; align-items: flex-start; gap: var(--space-4); margin: var(--space-9) 0 0;
  padding: var(--space-6) var(--space-7); background: var(--bg-subtle); border-radius: var(--radius-md);
}
.ampy-ec__rail-cred-icon { --ec-row-icon-size: 2.0rem; --ec-row-icon-nudge: 0.1rem; color: var(--action-primary-strong); }
.ampy-ec__rail-cred-icon svg { width: var(--ec-row-icon-size); height: var(--ec-row-icon-size); }
.ampy-ec__rail-cred-text { font-size: var(--fs-13); line-height: 1.5; color: var(--text-secondary); margin: 0 0 var(--space-2); }
/* Länken bär SAMMA färg som resten av credential-texten, bara understruken (= läses som länk). */
.ampy-ec__rail-cred-link { font-size: var(--fs-13); font-weight: 500; color: var(--text-secondary); text-decoration: underline; text-underline-offset: 3px; }
.ampy-ec__rail-cred-link:hover { color: var(--text-primary); }
@media (min-width: 1024px) {
  .ampy-ec__rail-cred { display: flex; }
}

/* Kontakt-CTA i rail (1:1-replika av ampy.se: telefon-länk + gradient-knapp "Kontakta oss").
   ampy.se:s EXAKTA tokens (färg/storlek/spacing). Visas på desktop alltid; på mobil bara på
   start + besked (railen ligger överst på varje mobilslide → vill inte tränga ut frågorna). */
.ampy-ec__rail-actions { display: flex; flex-wrap: wrap; gap: var(--space-5) 2rem; margin: 0; }
/* BÅDA CTA = gradient-piller, 1:1 med Elkollen-herons .ampy-btn: Outfit 400, #1e1e1e, 8px, gap 2rem. */
.ampy-ec__rail-phone, .ampy-ec__rail-contact {
  box-sizing: border-box; min-height: 4.4rem;
  display: inline-flex; align-items: center; justify-content: space-between; gap: 2rem; text-decoration: none; white-space: nowrap;
  font-family: 'Outfit', system-ui, sans-serif; font-size: var(--ampy-cta-fs); font-weight: 400; line-height: 1.2; color: #1e1e1e;
  padding: var(--ampy-cta-pad-y) var(--ampy-cta-pad-x); border: 0; border-radius: var(--ampy-cta-radius); box-shadow: var(--ampy-cta-shadow);
  transition: opacity var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}
.ampy-ec__rail-contact { background-image: var(--ampy-cta-gradient); }
.ampy-ec__rail-phone { background-image: var(--ampy-cta-gradient-blue); }
.ampy-ec__rail-contact-icon, .ampy-ec__rail-phone-icon { display: inline-flex; flex-shrink: 0; color: #1e1e1e; }
.ampy-ec__rail-contact-icon svg { width: 1.8rem; height: 1.8rem; }
.ampy-ec__rail-phone-icon svg { width: 1.9rem; height: 2.0rem; }
.ampy-ec__rail-phone:focus-visible, .ampy-ec__rail-contact:focus-visible { outline: 2px solid var(--border-focus); outline-offset: 3px; border-radius: var(--ampy-cta-radius); box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.9); }
@media (hover: hover) {
  .ampy-ec__rail-phone:hover, .ampy-ec__rail-contact:hover { opacity: 0.92; box-shadow: 0 0 20px 0 rgba(9, 11, 50, 0.10); }
}
@media (max-width: 1023px) {
  /* Bullets + CTA:er bara på start + besked på mobil (railen ligger överst på varje slide).
     Styrs av JS-satt data-view (render()) - INTE :has() - så huvud-CTA (inkl. tel:-knappen) håller
     på iOS Safari <15.4 / äldre Android Chrome, den primära mobil-sociala kanalen. */
  .ampy-ec__rail-actions, .ampy-ec__rail-bullets { display: none; }
  .ampy-ec__shell[data-view="start"] .ampy-ec__rail-bullets,
  .ampy-ec__shell[data-view="result"] .ampy-ec__rail-bullets { display: flex; }
  /* Mobil: stapla CTA:erna i full bredd, centrerat innehåll, med luft (best practice). Bara start + besked. */
  .ampy-ec__shell[data-view="start"] .ampy-ec__rail-actions,
  .ampy-ec__shell[data-view="result"] .ampy-ec__rail-actions { display: flex; flex-direction: column; align-items: stretch; gap: var(--space-5); max-width: 42rem; margin-inline: auto; }
  .ampy-ec__shell[data-view="start"] .ampy-ec__rail-phone, .ampy-ec__shell[data-view="start"] .ampy-ec__rail-contact,
  .ampy-ec__shell[data-view="result"] .ampy-ec__rail-phone, .ampy-ec__shell[data-view="result"] .ampy-ec__rail-contact { width: 100%; justify-content: center; gap: 1.2rem; }
  /* iPad/tablet (singel-kolumn): kapa besked-/start-CTA + lead-submit så de inte sträcks uppblåst breda.
     Telefoner (< 44rem brett innehåll) påverkas ej → behåller full bredd. */
  .ampy-ec__cta-primary, .ampy-ec__cta-secondary { max-width: 44rem; margin-inline: auto; }
}

/* Slim mobil-credential (start + besked); dold på desktop där rail-credentialen visas */
.ampy-ec__compact-cred { display: flex; align-items: flex-start; gap: var(--space-3); margin: var(--space-9) 0 0; padding-top: var(--space-7); border-top: 1px solid var(--border-tertiary); }
.ampy-ec__compact-cred-icon { --ec-row-icon-size: 1.6rem; --ec-row-icon-nudge: 0.2rem; color: var(--action-primary-strong); }
.ampy-ec__compact-cred-icon svg { width: var(--ec-row-icon-size); height: var(--ec-row-icon-size); }
.ampy-ec__compact-cred-text { font-size: var(--fs-12); line-height: 1.5; color: var(--text-secondary); margin: 0; }
.ampy-ec__compact-cred-text a { color: var(--text-secondary); text-decoration: underline; text-underline-offset: 3px; }
.ampy-ec__compact-cred-text a:hover { color: var(--text-primary); }
.ampy-ec__start .ampy-ec__compact-cred { text-align: left; }
@media (min-width: 1024px) { .ampy-ec__compact-cred { display: none; } }

/* ---- Start-skärm (slide 1) ---- */
.ampy-ec__start { align-items: center; text-align: center; justify-content: center; }
.ampy-ec__crumb--start { justify-content: center; margin-bottom: var(--space-11); }
.ampy-ec__start-illu { width: 11rem; height: 11rem; margin: var(--space-5) auto var(--space-9); }
.ampy-ec__start-illu svg { width: 100%; height: 100%; display: block; }
.ampy-ec__start-heading { font-family: 'Plus Jakarta Sans', system-ui, sans-serif; font-size: var(--fs-display); font-weight: 700; line-height: 1.15; letter-spacing: -0.02em; color: var(--text-primary); margin: 0 auto var(--space-5); max-width: 20ch; }
.ampy-ec__start-heading:focus { outline: none; }
.ampy-ec__start-body { font-size: var(--fs-15); line-height: 1.5; color: var(--text-secondary); margin: 0 0 var(--space-11); max-width: 40ch; }
.ampy-ec__start-cta { max-width: 32rem; margin-left: auto; margin-right: auto; }

/* ---- Share-rad (ersätter trust-raden i beskedet) ---- */
.ampy-ec__share-row { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-4); margin: var(--space-5) 0 0; padding-top: var(--space-3); }
.ampy-ec__share-row .ampy-ec__share-nudge { margin-right: auto; }

.ampy-ec__stage { min-width: 0; }

/* ============================================================================
   DESKTOP-SKALA (≥1024px) - större typografi (Ampy body-skala 17–18px), generösare
   kort + mindre kompakt rail. MOBIL (<1024px) är PERFEKT och rörs INTE: varje bump
   lever bara i denna media query.
   ============================================================================ */
@media (min-width: 1024px) {
  /* Generösare kort (Ampy 2xl-spacing) */
  .ampy-ec__block { padding: var(--space-13) var(--space-13); }
  /* Rail-typografin är fast (= Elkollen-heron); inga desktop-bumpar som avviker från referensen. */

  /* Frågor */
  .ampy-ec__q-title { font-size: clamp(2.6rem, 1.2rem + 1.8vw, 3.2rem); margin-bottom: var(--space-11); }
  .ampy-ec__q-subtitle { font-size: var(--fs-15); }
  .ampy-ec__options { gap: var(--space-6); }
  .ampy-ec__option { min-height: 6.4rem; padding: var(--space-7) var(--space-9); }
  .ampy-ec__option-title { font-size: var(--fs-18); }
  .ampy-ec__option-clarifier { font-size: var(--fs-15); }
  .ampy-ec__info-text { font-size: var(--fs-15); }

  /* Start (slide 1) - mer vertikal luft (ägaren: "lite för kompakt vertikalt") */
  .ampy-ec__start { padding-top: var(--space-13); padding-bottom: var(--space-13); }
  .ampy-ec__start .ampy-ec__crumb--start { margin-bottom: var(--space-12); }
  .ampy-ec__start-illu { width: 12rem; height: 12rem; margin-top: var(--space-9); margin-bottom: var(--space-12); }
  .ampy-ec__start-heading { font-size: clamp(2.8rem, 1.4rem + 2vw, 3.6rem); margin-bottom: var(--space-8); }
  .ampy-ec__start-body { font-size: var(--fs-18); margin-bottom: var(--space-13); }

  /* Besked */
  .ampy-ec { --rhythm-section: var(--space-13); } /* sektionsrytm växer med desktop-typografin */
  .ampy-ec__result-lede { font-size: var(--fs-18); max-width: 54ch; }
  .ampy-ec__finding-text { font-size: var(--fs-18); }
  .ampy-ec__finding-icon { font-size: var(--fs-18); --ec-row-icon-size: 2.0rem; } /* radhöjd-ikon + SVG följer textgraden */
  .ampy-ec__findings { gap: var(--space-7); } /* luften växer med textgraden (mobil 1.2rem → desktop 1.6rem) */
  .ampy-ec__factnote-text, .ampy-ec__akut-text { font-size: var(--fs-15); }
  .ampy-ec__pill { font-size: var(--fs-18); }
  .ampy-ec__statusrow-axis { font-size: var(--fs-15); }
  .ampy-ec__lead-intro { max-width: 52ch; }
}

/* ============================================================================
   BLOCK (kortet)
   ============================================================================ */
.ampy-ec__block {
  padding: var(--block-padding-y) var(--block-padding-x);
  background: var(--bg-primary);
  border: 1px solid var(--border-tertiary);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  display: flex; flex-direction: column; gap: 0;
  scroll-margin-top: 1.5rem;
}
/* M2: enhetlig korthöjd på frågestegen → ingen hoppig scroll mellan slides.
   Start- och beskedssteget undantas (de har egen, avsiktligt varierande höjd). */
/* Start + frågesteg delar samma min-höjd → startvyn är lika stor som frågorna (ingen hoppig expansion). Besked + lead-formulär undantas. */
.ampy-ec__block:not(.ampy-ec__result):not(.ampy-ec__lead) { min-height: var(--ec-q-minh, 0); }
.ampy-ec__block[data-dir="fwd"] { animation: ec-in-fwd var(--dur-base) var(--ease-out) both; }
.ampy-ec__block[data-dir="back"] { animation: ec-in-back var(--dur-base) var(--ease-out) both; }
@keyframes ec-in-fwd { from { opacity: 0; transform: translateX(10px); } to { opacity: 1; transform: none; } }
@keyframes ec-in-back { from { opacity: 0; transform: translateX(-10px); } to { opacity: 1; transform: none; } }
@media (max-width: 767px) { .ampy-ec { --ec-q-minh: 60rem; } .ampy-ec__block { padding: var(--space-9); } .ampy-ec__crumb { margin-bottom: var(--space-9); } }
/* Forced-colors (Windows högkontrast): box-shadow-ringar strippas → återinför äkta outline. */
@media (forced-colors: active) {
  .ampy-ec__option:focus-visible, .ampy-ec__cta-primary:focus-visible, .ampy-ec__cta-secondary:focus-visible,
  .ampy-ec__lead-input:focus, .ampy-ec__rail-phone:focus-visible, .ampy-ec__rail-contact:focus-visible { outline: 3px solid Highlight; outline-offset: 2px; }
}

/* ============================================================================
   CRUMB + PROGRESS (bar only; numeral = sr-only)
   ============================================================================ */
.ampy-ec__crumb { display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); margin: 0 0 var(--space-11); min-height: 3.2rem; }
.ampy-ec__crumb--result { justify-content: flex-start; gap: var(--space-7); }
.ampy-ec__crumb-left { display: inline-flex; align-items: center; }
.ampy-ec__steps { display: inline-flex; gap: var(--space-2); align-items: center; }
.ampy-ec__steps span { width: 1.8rem; height: 0.4rem; border-radius: var(--radius-full); background: var(--border-default); transition: background var(--dur-base) var(--ease-out), width var(--dur-base) var(--ease-out); }
.ampy-ec__steps span.is-done { background: rgb(77, 163, 148); background: color-mix(in srgb, var(--action-primary-strong) 70%, #fff); }
.ampy-ec__steps span.is-current { background: var(--action-primary-strong); width: 2.8rem; }
.ampy-ec__crumb-back, .ampy-ec__crumb-restart {
  display: inline-flex; align-items: center; gap: var(--space-3); background: none; border: 0; padding: var(--space-2) 0; margin: 0; font: inherit;
  font-size: var(--fs-13); color: var(--text-secondary); cursor: pointer; border-radius: var(--radius-sm); transition: color var(--dur-fast) var(--ease-out); min-height: 4.4rem;
}
.ampy-ec__crumb-back:hover, .ampy-ec__crumb-restart:hover { color: var(--action-primary-strong); }
.ampy-ec__crumb-back:focus-visible, .ampy-ec__crumb-restart:focus-visible { outline: 2px solid var(--border-focus); outline-offset: 2px; }
.ampy-ec__crumb-back svg { width: 1.6rem; height: 1.6rem; }
/* "Börja om" nedtonad (mindre + dovare) - nollställer alla svar, ska inte vara en feltrycks-magnet bredvid "Tillbaka". */
.ampy-ec__crumb-restart { color: var(--text-secondary); font-size: var(--fs-12); }

/* ============================================================================
   FRÅGESTEG
   ============================================================================ */
.ampy-ec__q-title {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif; font-size: var(--fs-title); font-weight: 600;
  line-height: 1.25; color: var(--text-primary); letter-spacing: -0.015em; margin: 0 0 var(--space-9); max-width: 26ch;
}
.ampy-ec__q-title:has(+ .ampy-ec__q-subtitle) { margin-bottom: var(--rhythm-label); } /* tät koppling titel→subtitle (token, ej negativ marginal) */
.ampy-ec__q-title:focus { outline: none; }
.ampy-ec__q-subtitle { font-size: var(--fs-13); line-height: 1.45; color: var(--text-secondary); margin: 0 0 var(--space-9); }

.ampy-ec__options { display: flex; flex-direction: column; gap: var(--space-5); list-style: none; padding: 0; margin: 0 0 var(--space-9); }
.ampy-ec__option {
  width: 100%; display: flex; align-items: center; gap: var(--space-5); text-align: left;
  padding: var(--space-6) var(--space-7); font: inherit; background: var(--bg-primary); color: var(--text-primary);
  border: 1px solid var(--border-default); border-radius: var(--radius-md); cursor: pointer; min-height: 5.6rem;
  transition: border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}
@media (hover: hover) { .ampy-ec__option:hover { border-color: var(--action-primary); background: var(--bg-subtle); transform: translateY(-1px); box-shadow: var(--shadow-sm); } }
.ampy-ec__option:active { transform: scale(0.99); border-color: var(--action-primary); background: var(--action-tint); }
.ampy-ec__option:focus-visible { outline: none; border-color: var(--border-focus); box-shadow: var(--focus-ring); }
.ampy-ec__option.is-selected { border-color: var(--action-primary); background: var(--action-tint); }
.ampy-ec__option-body { display: block; min-width: 0; flex: 1; }
.ampy-ec__option-title { display: block; font-size: var(--fs-15); font-weight: 500; line-height: 1.4; color: var(--text-primary); }
.ampy-ec__option-clarifier { display: block; margin-top: var(--space-1); font-size: var(--fs-13); font-weight: 400; line-height: 1.45; color: var(--text-secondary); }

/* Multi-select: checkbox-affordans */
.ampy-ec__option--multi { gap: var(--space-6); align-items: flex-start; }
.ampy-ec__option--multi .ampy-ec__check { margin-top: 0.2rem; align-self: flex-start; }
.ampy-ec__check { flex-shrink: 0; width: 2.2rem; height: 2.2rem; border: 1px solid var(--border-default); border-radius: var(--radius-sm); display: inline-flex; align-items: center; justify-content: center; color: var(--text-inverse); transition: background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out); }
.ampy-ec__option--multi.is-selected .ampy-ec__check { background: var(--action-primary); border-color: var(--action-primary); }
.ampy-ec__check svg { width: 1.5rem; height: 1.5rem; }
.ampy-ec__multi-foot { display: flex; flex-direction: column; gap: var(--space-3); margin: var(--space-3) 0 var(--space-9); }
.ampy-ec__multi-hint { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.ampy-ec__multi-hint.is-shown { position: static; width: auto; height: auto; clip: auto; margin: 0 0 var(--space-2); font-size: var(--fs-13); color: var(--text-secondary); }

.ampy-ec__info { display: flex; align-items: flex-start; gap: var(--space-4); padding: var(--space-5) var(--space-6); background: var(--bg-subtle); border: 1px solid var(--border-tertiary); border-radius: var(--radius-md); margin: 0; }
.ampy-ec__info-icon { --ec-row-icon-size: 1.6rem; color: var(--accent-info); }
.ampy-ec__info-text { font-size: var(--fs-13); font-weight: 400; line-height: 1.55; color: var(--text-secondary); margin: 0; max-width: 62ch; }

/* ============================================================================
   BESKED - dual-status = HJÄLTE
   ============================================================================ */
.ampy-ec__result-eyebrow { font-family: 'Plus Jakarta Sans', system-ui, sans-serif; font-size: var(--fs-12); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-secondary); margin: 0 0 var(--rhythm-label); }

.ampy-ec__dualstatus {
  display: flex; gap: var(--space-6); margin: 0 0 var(--rhythm-section);
  padding: var(--space-8) var(--space-8) var(--space-8) var(--space-7);
  border-radius: var(--radius-md);
  animation: ec-rise var(--dur-reveal) var(--ease-out) both;
}
.ampy-ec__dualstatus[data-worst="success"] { background: var(--tint-success); }
.ampy-ec__dualstatus[data-worst="warning"] { background: var(--tint-warning); }
.ampy-ec__dualstatus[data-worst="error"]   { background: var(--tint-error); }
.ampy-ec__dualstatus[data-worst="info"]     { background: var(--tint-info); }
.ampy-ec__dualstatus[data-worst="neutral"]  { background: var(--tint-neutral); }
.ampy-ec__dualstatus-accent { width: 4px; border-radius: var(--radius-full); flex-shrink: 0; background: var(--accent-neutral); }
.ampy-ec__dualstatus[data-worst="success"] .ampy-ec__dualstatus-accent { background: var(--accent-success); }
.ampy-ec__dualstatus[data-worst="warning"] .ampy-ec__dualstatus-accent { background: var(--accent-warning); }
.ampy-ec__dualstatus[data-worst="error"]   .ampy-ec__dualstatus-accent { background: var(--accent-error); }
.ampy-ec__dualstatus[data-worst="info"]     .ampy-ec__dualstatus-accent { background: var(--accent-info); }
.ampy-ec__dualstatus-rows { display: flex; flex-direction: column; gap: var(--space-5); flex: 1; min-width: 0; }
.ampy-ec__statusrow { display: flex; align-items: center; gap: var(--space-5); }
.ampy-ec__statusrow-axis { flex-shrink: 0; min-width: 9.5rem; font-size: var(--fs-14); font-weight: 500; line-height: 1.3; color: var(--text-secondary); }
.ampy-ec__pill {
  display: inline-flex; align-items: center; gap: var(--space-3); padding: var(--space-3) var(--space-6);
  border-radius: var(--radius-full); font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  font-size: clamp(1.4rem, 1.3rem + 0.4vw, 1.6rem); font-weight: 600; letter-spacing: -0.005em; line-height: 1.2; max-width: 100%; white-space: nowrap;
  background: var(--pill-neutral-bg); color: var(--pill-neutral-fg);
}
.ampy-ec__pill[data-level="success"] { background: var(--pill-success-bg); color: var(--pill-success-fg); }
.ampy-ec__pill[data-level="warning"] { background: var(--pill-warning-bg); color: var(--pill-warning-fg); }
.ampy-ec__pill[data-level="error"]   { background: var(--pill-error-bg);   color: var(--pill-error-fg); }
.ampy-ec__pill[data-level="info"]    { background: var(--pill-info-bg);    color: var(--pill-info-fg); }
.ampy-ec__pill[data-level="neutral"] { border: 1px solid var(--text-tertiary); } /* synlig kant mot tonad zon; "lugn men avsiktlig" */
.ampy-ec__pill-icon { display: inline-flex; }
.ampy-ec__pill svg { width: 1.6rem; height: 1.6rem; flex-shrink: 0; stroke-width: 2.2; }

.ampy-ec__result-lede { font-size: var(--fs-16); font-weight: 400; line-height: 1.55; color: var(--text-primary); margin: 0 0 var(--rhythm-section); max-width: 58ch; }

@keyframes ec-rise { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* FYND */
.ampy-ec__findings-wrap { margin: 0 0 var(--rhythm-section); }
.ampy-ec__findings-head { font-family: 'Plus Jakarta Sans', system-ui, sans-serif; font-size: var(--fs-14); font-weight: 600; line-height: 1.3; letter-spacing: -0.01em; color: var(--text-primary); margin: 0 0 var(--rhythm-label); }
.ampy-ec__findings { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--rhythm-group); }
.ampy-ec__finding { display: flex; align-items: flex-start; gap: var(--space-4); animation: ec-rise var(--dur-base) var(--ease-out) both; animation-delay: calc(var(--i, 0) * 45ms); }
/* Ikonen centreras optiskt på FÖRSTA textraden via radhöjd (1.5em = textens line-height),
   så den linjerar perfekt med texten på både mobil och desktop - ingen manuell pixel-nudge. */
.ampy-ec__finding-icon { margin-top: 0; height: 1.5em; font-size: var(--fs-15); display: inline-flex; align-items: center; justify-content: center; }
.ampy-ec__finding-icon svg { width: var(--ec-row-icon-size); height: var(--ec-row-icon-size); }
.ampy-ec__finding--ok .ampy-ec__finding-icon { color: var(--text-success); }
.ampy-ec__finding--warn .ampy-ec__finding-icon { color: var(--accent-warning); }
.ampy-ec__finding--info .ampy-ec__finding-icon { color: var(--accent-info); }
.ampy-ec__finding-text { font-size: var(--fs-15); font-weight: 400; line-height: 1.6; color: var(--text-secondary); margin: 0; max-width: 62ch; }

/* FAKTANOTIS - enda amber-accenten (full hairline + ton i brand-amber, ingen sido-stripe) */
.ampy-ec__factnote { display: flex; align-items: flex-start; gap: var(--space-4); background: rgba(135, 101, 7, 0.05); border: 1px solid rgba(135, 101, 7, 0.22); border-radius: var(--radius-sm); padding: var(--space-4) var(--space-5); margin: 0 0 var(--rhythm-section); }
.ampy-ec__factnote-icon { --ec-row-icon-size: 1.6rem; color: var(--accent-warning); }
.ampy-ec__factnote-text { font-size: var(--fs-13); font-weight: 400; line-height: 1.55; color: var(--text-secondary); margin: 0; max-width: 62ch; }
.ampy-ec__factnote-src { font-size: var(--fs-13); font-weight: 400; line-height: 1.5; color: var(--text-secondary); margin: var(--space-3) 0 0; }
.ampy-ec__factnote-src-link { color: var(--action-primary-strong); text-decoration: underline; text-underline-offset: 2px; }
.ampy-ec__factnote-src-link:hover { color: var(--text-primary); }

/* AKUT (röd, tyngst på skärmen, först i DOM) - full röd ram + röd ton, ingen sido-stripe */
.ampy-ec__akut { display: flex; align-items: flex-start; gap: var(--space-4); border: 1px solid rgba(122, 22, 35, 0.38); background: rgb(252, 237, 238); border-radius: var(--radius-sm); padding: var(--space-6) var(--space-7); margin: 0 0 var(--rhythm-section); }
.ampy-ec__akut-icon { color: var(--accent-error); }
.ampy-ec__akut-label { font-family: 'Plus Jakarta Sans', system-ui, sans-serif; font-size: var(--fs-13); font-weight: 700; color: var(--accent-error); margin: 0 0 var(--space-2); }
.ampy-ec__akut-text { font-size: var(--fs-13); font-weight: 400; line-height: 1.55; color: var(--text-primary); margin: 0; max-width: 62ch; }

/* ============================================================================
   LEAD-FORMULÄR - in-tool capture (öppnas av "Få kostnadsfri rådgivning"). Elkollen-paritet.
   ============================================================================ */
.ampy-ec__lead-back { display: inline-flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-7); padding: var(--space-2) 0; min-height: 4.4rem; background: none; border: 0; cursor: pointer; font-family: 'Outfit', system-ui, sans-serif; font-size: var(--fs-13); font-weight: 500; color: var(--text-secondary); transition: color var(--dur-fast) var(--ease-out); }
.ampy-ec__lead-back svg { width: 1.7rem; height: 1.7rem; }
.ampy-ec__lead-back:hover { color: var(--action-primary-strong); }
.ampy-ec__lead-back:focus-visible { outline: 2px solid var(--border-focus); outline-offset: 2px; border-radius: var(--radius-sm); }
.ampy-ec__lead-title { margin: 0 0 var(--space-4); font-family: 'Plus Jakarta Sans', system-ui, sans-serif; font-size: var(--fs-20); font-weight: 700; line-height: 1.2; letter-spacing: -0.01em; color: var(--text-primary); }
.ampy-ec__lead-title:focus { outline: none; }
.ampy-ec__lead-intro { margin: 0 0 var(--space-9); font-size: var(--fs-15); line-height: 1.55; color: var(--text-secondary); max-width: 60ch; }
.ampy-ec__lead-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-9) var(--space-6); margin: 0 0 var(--space-9); }
.ampy-ec__lead-field { display: flex; flex-direction: column; gap: var(--rhythm-label); }
.ampy-ec__lead-label { font-family: 'Plus Jakarta Sans', system-ui, sans-serif; font-size: var(--fs-13); font-weight: 600; color: var(--text-primary); }
.ampy-ec__lead-input { width: 100%; min-height: 5.2rem; padding: var(--space-4) var(--space-5); font: inherit; font-family: 'Outfit', system-ui, sans-serif; font-size: var(--fs-16); color: var(--text-primary); background: var(--bg-primary); border: 1px solid var(--border-default); border-radius: var(--radius-md); transition: border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out); }
.ampy-ec__lead-input:focus { outline: none; border-color: var(--border-focus); box-shadow: var(--focus-ring); }
.ampy-ec__lead-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.ampy-ec__lead-consent { display: flex; align-items: flex-start; gap: var(--space-4); margin: 0 0 var(--space-10); font-size: var(--fs-13); line-height: 1.55; color: var(--text-secondary); }
.ampy-ec__lead-check { margin-top: 0.2rem; width: 2rem; height: 2rem; flex-shrink: 0; accent-color: var(--action-primary-strong); cursor: pointer; }
.ampy-ec__lead-consent a { color: var(--action-primary-strong); text-decoration: underline; text-underline-offset: 2px; }
.ampy-ec__lead-error { margin: var(--space-4) 0 0; font-size: var(--fs-13); font-weight: 500; color: var(--accent-error); }
.ampy-ec__lead-error[hidden] { display: none; }
.ampy-ec__lead-submit { width: 100%; margin: var(--space-10) 0 0; min-height: 5.4rem; }
.ampy-ec__lead-submit:disabled { background: var(--action-primary-strong-hover); border-color: var(--action-primary-strong-hover); cursor: default; }
.ampy-ec__lead-success { text-align: center; padding: var(--space-11) var(--space-4); }
.ampy-ec__lead-success-icon { display: inline-flex; align-items: center; justify-content: center; width: 5.6rem; height: 5.6rem; margin-bottom: var(--space-6); border-radius: var(--radius-full); background: var(--tint-success); color: var(--text-success); }
.ampy-ec__lead-success-icon svg { width: 2.8rem; height: 2.8rem; }
.ampy-ec__lead-success h2 { margin: 0 0 var(--space-4); font-family: 'Plus Jakarta Sans', system-ui, sans-serif; font-size: var(--fs-20); font-weight: 700; color: var(--text-primary); }
.ampy-ec__lead-success p { margin: 0 auto var(--space-7); font-size: var(--fs-15); line-height: 1.55; color: var(--text-secondary); max-width: 46ch; }
@media (max-width: 767px) { .ampy-ec__lead-grid { grid-template-columns: 1fr; } }

/* ============================================================================
   CTA
   ============================================================================ */
.ampy-ec__cta-primary {
  display: flex; align-items: center; justify-content: center; gap: var(--space-3); width: 100%; padding: var(--space-5); margin: 0 0 var(--space-5);
  font-family: 'Outfit', system-ui, sans-serif; font-size: var(--fs-15); font-weight: 600; line-height: 1.3; border-radius: var(--radius-md);
  border: 1px solid var(--border-default); background: var(--bg-primary); color: var(--text-primary); cursor: pointer; text-decoration: none;
  transition: border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out); min-height: 4.8rem;
}
.ampy-ec__cta-primary:hover { border-color: var(--action-primary); background: var(--bg-subtle); }
.ampy-ec__cta-primary:active { transform: scale(0.99); }
.ampy-ec__cta-primary:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.ampy-ec__cta-primary svg { width: 1.6rem; height: 1.6rem; }
.ampy-ec__cta-primary[aria-disabled="true"] { opacity: 0.5; cursor: not-allowed; }
/* "Fortsätt" är aria-disabled men KLICKBAR (visar hinten) → dimma den inte, gör den lugnt nedtonad. */
.ampy-ec__cta-primary--outline[aria-disabled="true"] { opacity: 1; cursor: pointer; color: var(--text-secondary); border-color: var(--border-default); }
.ampy-ec__cta-primary--solid { background: var(--action-primary-strong); color: var(--text-inverse); border-color: var(--action-primary-strong); }
.ampy-ec__cta-primary--solid:hover { background: var(--action-primary-strong-hover); border-color: var(--action-primary-strong-hover); }
.ampy-ec__cta-primary--outline { background: transparent; }

.ampy-ec__cta-secondary {
  display: flex; align-items: center; justify-content: center; gap: var(--space-3); width: 100%; padding: var(--space-5); margin: 0 0 var(--space-5);
  font-size: var(--fs-15); font-weight: 500; border-radius: var(--radius-md); border: 1px solid var(--border-default); background: transparent; color: var(--text-primary);
  cursor: pointer; text-decoration: none; transition: border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out); min-height: 4.8rem;
}
.ampy-ec__cta-secondary:hover { border-color: var(--action-primary); background: var(--bg-subtle); }
.ampy-ec__cta-secondary:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.ampy-ec__cta-secondary svg { width: 1.6rem; height: 1.6rem; }
/* Ledtext ovanför en cta-link (t.ex. "Din central klarar en laddbox." + klickbart "Räkna ut din besparing"). */
.ampy-ec__cta-lead { font-size: var(--fs-16); font-weight: 400; line-height: 1.5; color: var(--text-primary); margin: 0 0 var(--space-3); max-width: 62ch; }
.ampy-ec__cta-link {
  background: none; border: 0; padding: var(--space-3) 0; margin: 0 0 var(--space-3); font: inherit; font-family: 'Outfit', system-ui, sans-serif;
  font-size: var(--fs-14); font-weight: 500; color: var(--action-primary-strong); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px;
  cursor: pointer; transition: color var(--dur-fast) var(--ease-out); min-height: 4.4rem; display: inline-flex; align-items: center; gap: var(--space-3);
}
.ampy-ec__cta-link:hover { color: var(--text-primary); text-decoration-thickness: 2px; }
.ampy-ec__cta-link:focus-visible { outline: 2px solid var(--border-focus); outline-offset: 3px; border-radius: var(--radius-sm); }
.ampy-ec__cta-link svg { width: 1.5rem; height: 1.5rem; }

.ampy-ec__share-nudge { font-size: var(--fs-12); font-weight: 500; color: var(--text-success); white-space: nowrap; }

/* Share */
.ampy-ec__share-anchor { position: relative; display: inline-flex; align-items: center; }
.ampy-ec__share { display: inline-flex; align-items: center; justify-content: center; width: 4.4rem; height: 4.4rem; background: none; border: 0; padding: 0; margin: 0; cursor: pointer; color: var(--text-secondary); border-radius: var(--radius-sm); transition: color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out); }
.ampy-ec__share:hover { color: var(--text-primary); background: var(--bg-subtle); }
.ampy-ec__share:focus-visible { outline: 2px solid var(--border-focus); outline-offset: 2px; }
.ampy-ec__share svg { width: 1.8rem; height: 1.8rem; }
.ampy-ec__share-menu { position: absolute; right: 0; bottom: calc(100% + var(--space-2)); z-index: 20; min-width: 17rem; padding: var(--space-2); background: var(--bg-primary); border: 1px solid var(--border-default); border-radius: var(--radius-md); box-shadow: var(--shadow-lg); display: flex; flex-direction: column; gap: 0.2rem; animation: ec-pop 140ms var(--ease-out) both; }
.ampy-ec__share-menu[hidden] { display: none; }
@keyframes ec-pop { from { opacity: 0; transform: translateY(4px) scale(0.98); } to { opacity: 1; transform: none; } }
.ampy-ec__share-item { display: flex; align-items: center; gap: var(--space-4); width: 100%; padding: var(--space-3) var(--space-4); background: none; border: 0; border-radius: var(--radius-sm); font-size: var(--fs-14); font-weight: 500; color: var(--text-primary); text-decoration: none; text-align: left; cursor: pointer; transition: background var(--dur-fast) var(--ease-out); min-height: 4.4rem; }
.ampy-ec__share-item:hover { background: var(--bg-subtle); }
.ampy-ec__share-item:focus-visible { outline: 2px solid var(--border-focus); outline-offset: -2px; }
.ampy-ec__share-item-icon { flex-shrink: 0; width: 1.8rem; height: 1.8rem; color: var(--text-secondary); }
.ampy-ec__share-status { font-size: var(--fs-12); color: var(--text-success); opacity: 0; transition: opacity 200ms ease; margin-left: var(--space-3); }
.ampy-ec__share-status[data-visible="true"] { opacity: 1; }

/* PDF-capture */
.ampy-ec__pdf { margin: var(--space-9) 0 0; padding-top: var(--space-7); border-top: 1px solid var(--border-tertiary); }
.ampy-ec__pdf-toggle { display: inline-flex; align-items: center; gap: var(--space-3); background: none; border: 0; padding: var(--space-2) 0; font: inherit; font-size: var(--fs-13); font-weight: 500; color: var(--text-secondary); cursor: pointer; min-height: 4.4rem; }
.ampy-ec__pdf-toggle:hover { color: var(--action-primary-strong); }
.ampy-ec__pdf-toggle svg { width: 1.6rem; height: 1.6rem; }
.ampy-ec__pdf-form { display: flex; flex-direction: column; gap: var(--space-4); margin-top: var(--space-4); }
.ampy-ec__pdf-form[hidden] { display: none; }
.ampy-ec__pdf-flabel { font-size: var(--fs-13); font-weight: 500; color: var(--text-secondary); }
.ampy-ec__pdf-input { width: 100%; font: inherit; font-size: var(--fs-16); padding: var(--space-5); border: 1px solid var(--border-default); border-radius: var(--radius-md); min-height: 4.4rem; }
.ampy-ec__pdf-input:focus { outline: none; border-color: var(--border-focus); box-shadow: var(--focus-ring); }
.ampy-ec__pdf-consent { display: flex; align-items: flex-start; gap: var(--space-3); font-size: var(--fs-12); color: var(--text-secondary); line-height: 1.5; }
.ampy-ec__pdf-consent input { margin-top: 0.3rem; flex-shrink: 0; }
.ampy-ec__pdf-consent a { color: var(--action-primary-strong); text-decoration: underline; }
.ampy-ec__hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.ampy-ec__pdf-status { font-size: var(--fs-13); color: var(--text-success); margin: var(--space-3) 0 0; }

/* ============================================================================
   UTIL + MOBIL
   ============================================================================ */
.ampy-ec__sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.ampy-ec[data-booted="true"] .ampy-ec__noscript { display: none; }

@media (max-width: 520px) {
  .ampy-ec__statusrow { flex-direction: column; align-items: flex-start; gap: var(--space-2); }
  .ampy-ec__statusrow-axis { min-width: 0; }
  .ampy-ec__pill { font-size: var(--fs-15); padding: var(--space-2) var(--space-5); gap: var(--space-3); white-space: normal; }
  .ampy-ec__pill svg { width: 1.5rem; height: 1.5rem; }
  .ampy-ec__dualstatus { padding: var(--space-6) var(--space-6) var(--space-6) var(--space-5); gap: var(--space-4); }
}
@media (max-width: 360px) {
  .ampy-ec__block { padding: var(--space-7); }
  .ampy-ec__options { gap: var(--space-4); }
}

@media (prefers-reduced-motion: reduce) {
  .ampy-ec__block, .ampy-ec__dualstatus, .ampy-ec__finding, .ampy-ec__share-menu { animation: none !important; }
  .ampy-ec__steps span, .ampy-ec__option, .ampy-ec__cta-primary { transition: none !important; }
}


/* ============================================================================
   Rail removed in the engine: collapse the desktop two-column grid so the
   test spans the full container width.
   ============================================================================ */
@media (min-width: 1024px) {
  .ampy-ec__shell { grid-template-columns: 1fr !important; }
}