@charset "UTF-8";
/* SimKit for WooCommerce — uses CSS vars so themes (e.g. Salient) can override. */
:root {
  --simkit-accent: #3886fb;
  --simkit-radius: 14px;
  --simkit-card-bg: #ffffff;
  --simkit-card-border: rgba(0, 0, 0, 0.08);
  --simkit-muted: #6e6e73;
  --simkit-success: #34c759;
  --simkit-warning: #ff9500;
  --simkit-danger: #ff3b30;
}

.simkit-esims-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 16px;
  margin: 16px 0;
}

.simkit-esim-card {
  background: var(--simkit-card-bg);
  border: 1px solid var(--simkit-card-border);
  border-radius: var(--simkit-radius);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.simkit-esim-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.simkit-esim-card__title { font-weight: 600; font-size: 16px; line-height: 1.3; }

.simkit-esim-card__status {
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.06);
  color: var(--simkit-muted);
}
.simkit-esim-card__status--ready { background: rgba(52, 199, 89, 0.12); color: var(--simkit-success); }
.simkit-esim-card__status--pending { background: rgba(255, 149, 0, 0.12); color: var(--simkit-warning); }
.simkit-esim-card__status--cancelled { background: rgba(255, 59, 48, 0.12); color: var(--simkit-danger); }

.simkit-esim-card__qr { text-align: center; }
.simkit-esim-card__qr canvas { border: 1px solid var(--simkit-card-border); border-radius: 8px; }

.simkit-esim-card__actions { display: flex; gap: 8px; flex-wrap: wrap; }
.simkit-step-locked { display: none !important; }

/* === Currency switcher =================================================== */
.simkit-currency-switcher {
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
    font-size: 0.85rem;
    color: var(--simkit-muted);
}
.simkit-currency-switcher__label { font-size: inherit; }
.simkit-currency-switcher__select {
    border: 1px solid var(--simkit-card-border);
    border-radius: 8px;
    padding: 4px 8px;
    background: #fff;
    font-size: 0.85rem;
}
/* Footer strip — the auto-injected wp_footer switcher. Sits at the very
   end of the page in a centred row, low contrast, no float / no shadow.
   Replaces the old --floating chip that hovered over page content. */
.simkit-currency-switcher-footer {
    width: 100%;
    padding: 20px 16px 28px;
    text-align: center;
    background: transparent;
}
.simkit-currency-switcher--footer {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--simkit-muted);
}
.simkit-currency-switcher--footer .simkit-currency-switcher__label { color: inherit; }
.simkit-currency-switcher--footer .simkit-currency-switcher__select {
    border: 1px solid var(--simkit-card-border);
    border-radius: 6px;
    padding: 3px 8px;
    background: #ffffff;
    font-size: 13px;
    color: #1f1f1f;
}
.simkit-price-suffix { opacity: 0.7; font-size: 0.85em; margin-left: 2px; }

/* === Airalo-style plans list on single-product pages ===================== */

.simkit-plans { margin: 1.5rem 0 2rem; }
.simkit-plans__intro {
    color: var(--simkit-muted);
    font-size: 0.95rem;
    line-height: 1.5;
    margin-bottom: 1.5rem;
}

.simkit-plans__group { margin: 1.5rem 0; }
.simkit-plans__group-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding: 0.4em 0;
    border-bottom: 1px solid var(--simkit-card-border);
    margin-bottom: 0.4em;
}
.simkit-plans__group-trip { font-size: 1.1rem; font-weight: 700; letter-spacing: -0.01em; }
.simkit-plans__group-count { font-size: 0.85rem; color: var(--simkit-muted); }

.simkit-plans__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.simkit-plan {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 1rem;
    align-items: center;
    padding: 0.9rem 1rem;
    background: var(--simkit-card-bg);
    border: 1px solid var(--simkit-card-border);
    border-radius: var(--simkit-radius);
    transition: border-color 0.15s ease, transform 0.15s ease;
}
.simkit-plan:hover { border-color: var(--simkit-accent); }

.simkit-plan__detail { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.simkit-plan__data {
    font-size: 1.15rem;
    font-weight: 600;
    color: #111;
    line-height: 1.2;
}
.simkit-plan__meta { font-size: 0.8rem; color: var(--simkit-muted); }
.simkit-plan__topup-badge {
    display: inline-flex;
    align-self: flex-start;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(52, 199, 89, 0.12) !important;
    color: #1f8a3a !important;
    font-weight: 600;
}

.simkit-plan__price {
    font-size: 1.2rem;
    font-weight: 700;
    color: #111;
    text-align: right;
    white-space: nowrap;
}
.simkit-plan__price .amount { font-size: inherit; font-weight: inherit; }

.simkit-plan__cta { justify-self: end; }
.simkit-plan__buy {
    background: var(--simkit-accent) !important;
    color: #fff !important;
    border: none !important;
    padding: 0.55em 1.1em !important;
    border-radius: 999px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    white-space: nowrap;
}
.simkit-plan__buy:hover { filter: brightness(0.92); }
.simkit-plan__unavailable { font-size: 0.9rem; color: var(--simkit-muted); }

.simkit-plans__footer {
    margin-top: 1.5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--simkit-card-border);
    color: var(--simkit-muted);
    font-size: 0.85rem;
    line-height: 1.5;
}
.simkit-plans__footer a { color: var(--simkit-accent); }

/* === Unlimited picker (tier × days) === */
.simkit-picker { margin: 1.4rem 0; }
.simkit-picker__heading {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 0.6em;
    color: #111;
}
.simkit-picker__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.simkit-pill {
    background: var(--simkit-card-bg);
    border: 1.5px solid var(--simkit-card-border);
    border-radius: 999px;
    padding: 0.55em 1.1em;
    font-size: 0.95rem;
    font-weight: 500;
    color: #111;
    cursor: pointer;
    transition: border-color 0.12s ease, background 0.12s ease, color 0.12s ease;
}
.simkit-pill:hover:not(:disabled) { border-color: var(--simkit-accent); }
.simkit-pill.is-selected {
    background: var(--simkit-accent);
    border-color: var(--simkit-accent);
    color: #fff;
}
.simkit-pill:disabled { opacity: 0.4; cursor: not-allowed; }

.simkit-picker__total {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding: 1rem 1.2rem;
    margin: 1.5rem 0 0.8rem;
    background: rgba(0, 0, 0, 0.03);
    border-radius: var(--simkit-radius);
}
.simkit-picker__total-label {
    font-size: 0.9rem;
    color: var(--simkit-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.simkit-picker__total-amount {
    font-size: 1.6rem;
    font-weight: 700;
    color: #111;
}
.simkit-picker__total-amount .amount { font-size: inherit; font-weight: inherit; }

.simkit-picker__savings {
    margin: 0.4rem 0 0.2rem;
    font-size: 0.85rem;
    color: var(--simkit-success);
    display: flex;
    align-items: center;
    gap: 6px;
}
.simkit-picker__savings::before {
    content: '✓';
    width: 1.1em;
    height: 1.1em;
    border-radius: 999px;
    background: rgba(52, 199, 89, 0.16);
    color: var(--simkit-success);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75em;
    font-weight: 700;
    flex-shrink: 0;
}
.simkit-picker__savings strong { color: var(--simkit-success); font-weight: 700; }
.simkit-picker__savings[hidden] { display: none; }

.simkit-picker__cta { margin-top: 0.6rem; }
.simkit-picker__cta .simkit-plan__buy {
    display: inline-block;
    padding: 0.8em 1.6em !important;
    font-size: 1.05rem !important;
}

/* === Plan info ("What's included") and Networks === */
.simkit-plan-info {
    margin: 2rem 0 1rem;
    padding: 1.25rem 1.5rem;
    background: var(--simkit-card-bg);
    border: 1px solid var(--simkit-card-border);
    border-radius: var(--simkit-radius);
}
.simkit-plan-info__heading {
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0 0 0.8em;
    color: #111;
}
.simkit-plan-info__list {
    list-style: none;
    padding: 0;
    margin: 0 0 0.8em;
    display: flex;
    flex-direction: column;
    gap: 0.55em;
}
.simkit-plan-info__item {
    position: relative;
    padding-left: 1.8em;
    line-height: 1.45;
    color: #1d1d1f;
    font-size: 0.95rem;
}
.simkit-plan-info__item::before {
    position: absolute;
    left: 0;
    top: 0.15em;
    width: 1.2em;
    height: 1.2em;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85em;
    font-weight: 700;
    line-height: 1;
}
.simkit-plan-info__item.is-yes::before {
    content: '✓';
    background: rgba(52, 199, 89, 0.16);
    color: var(--simkit-success);
}
.simkit-plan-info__item.is-no::before {
    content: '–';
    background: rgba(0, 0, 0, 0.08);
    color: var(--simkit-muted);
}
.simkit-plan-info__item.is-info::before {
    content: 'i';
    background: rgba(56, 134, 251, 0.12);
    color: var(--simkit-accent);
    font-family: Georgia, serif;
    font-style: italic;
}
.simkit-plan-info__note {
    margin: 0;
    padding-top: 0.8em;
    border-top: 1px solid var(--simkit-card-border);
    color: var(--simkit-muted);
    font-size: 0.85rem;
}

.simkit-networks {
    margin: 1rem 0 0;
    padding: 1.25rem 1.5rem;
    background: var(--simkit-card-bg);
    border: 1px solid var(--simkit-card-border);
    border-radius: var(--simkit-radius);
}
.simkit-networks__heading {
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0 0 0.6em;
    color: #111;
}
.simkit-networks__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5em;
}
.simkit-networks__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.4em 0;
    border-bottom: 1px dashed var(--simkit-card-border);
}
.simkit-networks__item:last-child { border-bottom: none; }
.simkit-networks__name { font-weight: 500; color: #1d1d1f; }
.simkit-networks__type {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--simkit-muted);
    padding: 2px 8px;
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.05);
}
.simkit-networks__speed-only { color: var(--simkit-muted); font-size: 0.95rem; margin: 0; }

@media (max-width: 540px) {
    .simkit-plan {
        grid-template-columns: 1fr auto;
        grid-template-areas: "detail price" "cta cta";
        gap: 0.5rem 1rem;
    }
    .simkit-plan__detail { grid-area: detail; }
    .simkit-plan__price { grid-area: price; }
    .simkit-plan__cta { grid-area: cta; justify-self: stretch; }
    .simkit-plan__buy { display: block; text-align: center; }
}

/* Single-product page: bigger, bolder price on the selected variation. */
.woocommerce-variation-price,
.single_variation .price,
.single_variation_wrap .woocommerce-variation-price .price {
    font-size: 2.4rem !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    margin: 0.4em 0 0.6em !important;
}
.woocommerce-variation-price .amount,
.single_variation .price .amount {
    font-size: inherit !important;
    font-weight: inherit !important;
}
/* Hide the now-empty variation description block. */
.woocommerce-variation-description:empty,
.woocommerce-variation-description p:empty {
    display: none !important;
}

.simkit-install-btn { background: var(--simkit-accent) !important; color: #fff !important; border: none !important; }
.simkit-install-btn--android { background: #3ddc84 !important; color: #0a0a0a !important; }

.simkit-esim-card__manual { font-size: 13px; color: var(--simkit-muted); }
.simkit-esim-card__manual code.simkit-lpa { display: block; word-break: break-all; padding: 8px; background: rgba(0,0,0,0.04); border-radius: 8px; }

.simkit-esim-card__pending { color: var(--simkit-muted); font-size: 13px; }

.simkit-esim-card__usage { padding-top: 8px; border-top: 1px solid var(--simkit-card-border); }
.simkit-usage-bar { height: 8px; background: rgba(0,0,0,0.06); border-radius: 999px; overflow: hidden; }
.simkit-usage-bar__fill { height: 100%; background: var(--simkit-accent); transition: width 0.4s ease; }
.simkit-usage-text { font-size: 13px; color: var(--simkit-muted); margin-top: 6px; }
.simkit-usage-expires { font-size: 12px; color: var(--simkit-muted); margin-top: 2px; }

.simkit-esim-card__foot { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }

.simkit-order-esims { margin-top: 28px; }
.simkit-order-esim { padding: 16px; border: 1px solid var(--simkit-card-border); border-radius: var(--simkit-radius); margin-bottom: 12px; }
.simkit-order-esim__row { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; }
.simkit-order-esim__col { flex: 1; min-width: 200px; }
.simkit-help { color: var(--simkit-muted); font-size: 13px; }

/* === Single-product redesign (Airalo-style) =============================
   The theme keeps a 2-column gallery/summary grid even when the gallery is
   hidden, squashing the content into ~50% of the viewport. We force the
   whole product container to a single, centered column and rebuild the
   page hierarchy from scratch as: HERO → PLAN PICKER → INFO/NETWORKS →
   FAQ → CROSS-SELL. The hero is the only place country identity lives;
   everything else is information-dense, card-based, scannable. */

/* ─── Layout reset (defeat the theme's 2-column product grid) ──────────
   The body.simkit-product-page class isn't guaranteed to apply: Salient
   + WPBakery have been observed calling body_class() before our filter
   gets registered, and WP Engine page-caches the resulting HTML. We
   therefore also key off `:has(.simkit-hero)` (95%+ browser support) so
   the layout activates from the markup itself, not the body class. */

body.simkit-product-page div.product,
body.simkit-product-page #content div.product,
body.simkit-product-page .product.type-product,
div.product:has(.simkit-hero) {
    display: block !important;
    width: 100% !important;
    margin: 0 auto !important;
    float: none !important;
}

body.simkit-product-page div.product .summary,
body.simkit-product-page div.product .entry-summary,
div.product:has(.simkit-hero) .summary,
div.product:has(.simkit-hero) .entry-summary {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    clear: both !important;
}

body.simkit-product-page div.product .woocommerce-product-gallery,
body.simkit-product-page div.product .images,
body.simkit-product-page div.product .product-images,
body.simkit-product-page div.product .nectar-product-images,
body.simkit-product-page div.product .product-gallery,
body.simkit-product-page div.product .single-product-main-image,
body.simkit-product-page div.product > .onsale,
body.simkit-product-page div.product .related,
body.simkit-product-page div.product .related.products,
body.simkit-product-page div.product section.related,
body.simkit-product-page div.product .upsells.products,
div.product:has(.simkit-hero) .woocommerce-product-gallery,
div.product:has(.simkit-hero) .images,
div.product:has(.simkit-hero) .product-images,
div.product:has(.simkit-hero) .nectar-product-images,
div.product:has(.simkit-hero) .product-gallery,
div.product:has(.simkit-hero) .single-product-main-image,
div.product:has(.simkit-hero) > .onsale,
div.product:has(.simkit-hero) .related,
div.product:has(.simkit-hero) .related.products,
div.product:has(.simkit-hero) section.related,
div.product:has(.simkit-hero) .upsells.products {
    display: none !important;
}

/* Salient runs its own 12-column flex grid on `.row`, with `.span_5`
   reserved for the (now-hidden) image column and `.span_7` for the
   summary. Reset both so the summary takes 100% and the row stops
   acting like a flex container with a missing column. */
body.simkit-product-page div.product .row,
div.product:has(.simkit-hero) .row {
    display: block !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
body.simkit-product-page div.product .span_5,
body.simkit-product-page div.product .span_7,
body.simkit-product-page div.product .col,
div.product:has(.simkit-hero) .span_5,
div.product:has(.simkit-hero) .span_7,
div.product:has(.simkit-hero) .col {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    flex: 0 0 100% !important;
    float: none !important;
}

body.simkit-product-page .woocommerce-variation-price,
body.simkit-product-page .single_variation .price,
body.simkit-product-page .single_variation_wrap .woocommerce-variation-price .price,
div.product:has(.simkit-hero) .woocommerce-variation-price,
div.product:has(.simkit-hero) .single_variation .price {
    display: none !important;
}

/* ─── 2-column desktop grid (≥960 px) ─────────────────────────────────
   Hero + info live in the left column. Anything that looks like an
   action container (variations form, cart form, or our raw .simkit-plans
   wrapper) takes the right column for the whole height. */
@media (min-width: 960px) {
    /* Keep the summary + its wrappers as non-scroll-containers so the
       sticky destination card resolves against the viewport. (Salient
       doesn't actually set overflow here, but this guards against any
       theme/plugin that might.) */
    body.simkit-product-page div.product,
    body.simkit-product-page div.product .row,
    body.simkit-product-page div.product .summary,
    body.simkit-product-page div.product .entry-summary {
        overflow: visible !important;
    }

    body.simkit-product-page div.product .summary,
    body.simkit-product-page div.product .entry-summary,
    div.product:has(.simkit-hero) .summary,
    div.product:has(.simkit-hero) .entry-summary {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) !important;
        grid-template-rows: auto 1fr !important;
        column-gap: 3.5rem !important;
        row-gap: 1.2rem !important;
        align-items: start !important;
    }
    /* Floating destination image — the canonical "sticky image in a tall
       column" pattern:
         1. The CARD stretches to fill the full column height (both grid
            rows) so there's no empty space below it and it can never
            overflow into the sections beneath the summary.
         2. The IMG inside is `position: sticky` and sized to the viewport,
            so it floats at the top of the screen as the card scrolls past.
       NB: the high-specificity selectors (body.simkit-product-page / :has)
       are load-bearing — the base `.simkit-destination` rules appear later
       in this file with equal specificity, so a plain `.simkit-destination`
       here would lose to them on source order. */
    body.simkit-product-page .simkit-destination,
    div.product:has(.simkit-hero) .simkit-destination {
        grid-column: 1 !important;
        /* Span both rows so the sticky card's containing block is the full
           column height — that's the scroll travel room it floats within. */
        grid-row: 1 / span 2 !important;
        align-self: start !important;
        /* The CARD itself is the sticky, full-viewport-height element.
           Explicit height defeats the "collapses to content" problem that
           made it small, and `align-self: start` (not stretch) leaves it
           free to travel within its tall grid area as the page scrolls. */
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 96px !important;
        height: min(640px, calc(100vh - 140px)) !important;
        min-height: 0 !important;
        max-height: none !important;          /* override the base 600px cap */
        /* `clip` crops to the border-radius WITHOUT becoming a scroll
           container (which would break the sticky travel). */
        overflow: clip !important;
        min-width: 0;
    }
    /* Image simply fills the now-tall sticky card. */
    body.simkit-product-page .simkit-destination__img,
    div.product:has(.simkit-hero) .simkit-destination__img {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        max-height: none !important;
        object-fit: cover;
        object-position: center;
    }
    .simkit-hero {
        grid-column: 2;
        grid-row: 1;
        min-width: 0;
        margin: 0 !important;
    }
    .summary > form.cart,
    .summary > form.variations_form,
    .summary > .simkit-plans,
    .entry-summary > form.cart,
    .entry-summary > form.variations_form,
    .entry-summary > .simkit-plans {
        grid-column: 2;
        grid-row: 2;
        margin: 0 !important;
        min-width: 0;
    }
}

/* Salient injects an empty `.after-product-summary-clear` clearfix after
   the WC summary, and gives it a min-height that adds ~900px of dead
   vertical space on our redesigned pages. Hide it and any other empty
   theme-injected blocks; our own margins handle the FAQ/cross-sell gap. */
body.simkit-product-page .after-product-summary-clear,
body.simkit-product-page .product-tabs-wrapper:empty,
body.simkit-product-page .extra-product-content-section:empty,
body.simkit-product-page .woocommerce-tabs:empty {
    display: none !important;
}

/* Info section ("What's included") renders directly below the summary,
   sharing the same horizontal bounds as the .product container above
   it. Side-by-side row when both plan-info and networks exist; stacks
   on narrow viewports. */
.simkit-info-section {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: 1.5rem 0;
}
@media (min-width: 720px) {
    .simkit-info-section { flex-direction: row; align-items: stretch; }
    .simkit-info-section > * { flex: 1; }
}

/* ─── Destination card (left column) ──────────────────────────────────
   Renders the product's featured image (or first gallery image) cropped
   to fill the card. Falls back to plain white when the product has no
   images set, so missing imagery reads as empty space, not a coloured
   swatch. */
.simkit-destination {
    position: relative;
    background: #ffffff;
    border-radius: 20px;
    overflow: hidden;
    min-height: 360px;
    max-height: 600px;
}
.simkit-destination__img {
    position: absolute !important;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
    display: block;
    /* Defeat the theme's default max-width: 100% on img which can leave
       the image short of filling tall containers. */
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
}

/* ─── Hero / right-column intro (compact, no card background) ────────── */
.simkit-hero {
    margin: 0;
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
}
.simkit-hero__title {
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 0 0 10px;
    text-transform: none !important; /* themes love capitalize on h1 */
}
.simkit-hero__flag {
    font-size: 80px;
    line-height: 1;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.simkit-hero__heading {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}
.simkit-hero__place {
    font-size: 38px;
    font-weight: 600;
    line-height: 0.95;
    letter-spacing: -0.38px;
    color: #1f1f1f;
}
.simkit-hero__type {
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    color: #797979;
    letter-spacing: 0;
}
.simkit-hero__tagline {
    color: #1f1f1f;
    font-size: 15px;
    line-height: 1.45;
    font-weight: 400;
    margin: 0;
    max-width: 631px;
}

/* ─── Plan picker (the main interaction) ───────────────────────────────── */
body.simkit-product-page .simkit-plans {
    margin: 0 0 1.4rem;
    padding: 1.6rem;
    background: #ffffff;
    border: 1px solid var(--simkit-card-border);
    border-radius: 22px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
}
/* Picker heading replaces the previous '::before' eyebrow. Renders the
   country/region name dynamically ("Get an eSIM data plan for Ireland"). */
body.simkit-product-page .simkit-plans__heading {
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: #1d1d1f;
    margin: 0 0 1.2rem;
    line-height: 1.25;
}
body.simkit-product-page .simkit-plans__group { margin: 1.2rem 0 0.6rem; }
body.simkit-product-page .simkit-plans__group:first-of-type { margin-top: 0; }
body.simkit-product-page .simkit-plans__group-header {
    padding: 0.2em 0 0.4em;
    margin-bottom: 0.5em;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
body.simkit-product-page .simkit-plans__group-trip {
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #1d1d1f;
}
body.simkit-product-page .simkit-plan {
    border: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04);
    border-radius: 0;
    padding: 0.85rem 0.2rem;
    background: transparent;
}
body.simkit-product-page .simkit-plan:last-child { border-bottom: none; }
body.simkit-product-page .simkit-plan:hover { border-color: rgba(0, 0, 0, 0.04); background: rgba(56, 134, 251, 0.03); }
body.simkit-product-page .simkit-plan__data { font-size: 1.08rem; }
body.simkit-product-page .simkit-plan__price { font-size: 1.08rem; }
body.simkit-product-page .simkit-plan__topup-badge {
    text-transform: none;
    letter-spacing: 0;
    font-size: 0.7rem;
    padding: 2px 8px;
}

/* ─── Info / Networks cards (Figma palette: #cde1ff border, 10px radius)─ */
body.simkit-product-page .simkit-plan-info,
body.simkit-product-page .simkit-networks {
    margin: 0;
    padding: 24px 30px;
    background: #ffffff;
    border: 1px solid #cde1ff;
    border-radius: 10px;
    box-shadow: none;
}
body.simkit-product-page .simkit-plan-info__heading,
body.simkit-product-page .simkit-networks__heading {
    font-size: 15px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
    color: #1f1f1f;
    margin: 0 0 16px;
    line-height: 1.4;
}
body.simkit-product-page .simkit-plan-info__list {
    gap: 10px;
    margin-bottom: 16px;
    padding-left: 0 !important;
    list-style: none !important;
    list-style-type: none !important;
    list-style-image: none !important;
}
body.simkit-product-page .simkit-plan-info__item {
    font-size: 15px;
    color: #1f1f1f;
    line-height: 1.45;
    list-style: none !important;
    list-style-type: none !important;
}
body.simkit-product-page .simkit-plan-info__item::marker { content: '' !important; }
body.simkit-product-page .simkit-plan-info__note {
    font-size: 13px;
    color: #797979;
    margin-top: 4px;
    padding-top: 14px;
    border-top: 1px solid #cde1ff;
}

/* ─── FAQ ──────────────────────────────────────────────────────────────── */
.simkit-faq {
    margin: 1.6rem 0 1.6rem;
    padding: 1.4rem 1.6rem 0.4rem;
    background: #ffffff;
    border: 1px solid var(--simkit-card-border);
    border-radius: 22px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
}
.simkit-section-heading {
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0 0 0.6em;
    letter-spacing: -0.01em;
    color: #1d1d1f;
}
.simkit-section-intro {
    color: var(--simkit-muted);
    font-size: 0.95rem;
    margin: -0.4em 0 1rem;
    line-height: 1.5;
}
.simkit-faq__items { display: flex; flex-direction: column; }
.simkit-faq__item {
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}
.simkit-faq__item:first-child { border-top: none; }
.simkit-faq__item summary {
    list-style: none;
    cursor: pointer;
    padding: 1rem 0;
    font-weight: 600;
    color: #1d1d1f;
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.simkit-faq__item summary::-webkit-details-marker { display: none; }
.simkit-faq__item summary::after {
    content: '+';
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 1;
    color: var(--simkit-muted);
    transition: transform 0.2s ease;
    flex-shrink: 0;
}
.simkit-faq__item[open] summary::after { transform: rotate(45deg); color: var(--simkit-accent); }
.simkit-faq__item p {
    color: var(--simkit-muted);
    padding: 0 0 1.1rem;
    margin: -0.3rem 0 0;
    line-height: 1.6;
    font-size: 0.95rem;
    max-width: 60ch;
}

/* ─── Cross-sell ───────────────────────────────────────────────────────── */
.simkit-cross-sell {
    margin: 1.4rem 0 2.4rem;
    padding: 1.4rem 1.6rem 1.6rem;
    background:
        linear-gradient(180deg, rgba(56, 134, 251, 0.04) 0%, transparent 100%),
        #ffffff;
    border: 1px solid var(--simkit-card-border);
    border-radius: 22px;
}
.simkit-cross-sell__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}
.simkit-cross-sell__card {
    position: relative;
    padding: 18px 44px 18px 18px;
    border: 1px solid var(--simkit-card-border);
    border-radius: 16px;
    text-decoration: none !important;
    color: #1d1d1f !important;
    display: flex;
    flex-direction: column;
    gap: 4px;
    transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
    background: #ffffff;
}
.simkit-cross-sell__card:hover {
    border-color: var(--simkit-accent);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(56, 134, 251, 0.10);
}
.simkit-cross-sell__arrow {
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--simkit-accent);
    font-size: 1.2rem;
    font-weight: 600;
    transition: transform 0.18s ease;
}
.simkit-cross-sell__card:hover .simkit-cross-sell__arrow { transform: translate(4px, -50%); }
.simkit-cross-sell__name {
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.25;
    color: #1d1d1f;
}
.simkit-cross-sell__type {
    font-size: 0.78rem;
    color: var(--simkit-muted);
    line-height: 1.3;
    margin: -2px 0 2px;
}
.simkit-cross-sell__price { color: var(--simkit-muted); font-size: 0.85rem; }
.simkit-cross-sell__price .amount,
.simkit-cross-sell__price .woocommerce-Price-amount,
.simkit-cross-sell__price bdi { color: #1d1d1f !important; font-weight: 600; }

/* ─── Tablet & mobile (single-column flow) ────────────────────────────── */
@media (max-width: 960px) {
    /* Below the 2-col breakpoint, the destination card becomes a wider,
       shorter banner so it doesn't dominate mobile. */
    .simkit-destination {
        min-height: 0;
        aspect-ratio: 16 / 9;
        margin: 0 0 0.8rem;
    }
    .simkit-destination__flag { font-size: 110px; }
}
@media (max-width: 720px) {
    .simkit-hero__title { gap: 14px; }
    .simkit-hero__flag { font-size: 60px; }
    .simkit-hero__place { font-size: 28px; }
    .simkit-hero__type { font-size: 14px; }
    .simkit-hero__heading { gap: 8px; }
    .simkit-hero__tagline { font-size: 14px; }

    body.simkit-product-page .simkit-plans { padding: 1.2rem; border-radius: 10px; }
    body.simkit-product-page .simkit-plan-info,
    body.simkit-product-page .simkit-networks,
    .simkit-faq,
    .simkit-cross-sell { padding: 1.2rem; border-radius: 18px; }
}

@media (max-width: 480px) {
    .simkit-destination { aspect-ratio: 4 / 3; }
    .simkit-hero__flag { font-size: 52px; }
    .simkit-hero__place { font-size: 24px; }
}

/* === Saily-style plan grid (fixed-data products) ========================
   Replaces the old row list. The picker card itself keeps its existing
   "PICK YOUR PLAN" eyebrow + padding via the .simkit-plans wrapper. */

body.simkit-product-page .simkit-plans--grid { padding-bottom: 1.6rem; }

.simkit-plan-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 1.2rem;
}
@media (max-width: 760px) {
    .simkit-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 420px) {
    .simkit-plan-grid { grid-template-columns: 1fr; }
}

.simkit-plan-card {
    position: relative;
    display: grid;
    grid-template-rows: auto auto auto auto;
    row-gap: 5px;
    padding: 18px 16px 18px 40px;
    background: #fff;
    border: 1.5px solid var(--simkit-card-border);
    border-radius: 14px;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
    min-height: 120px;
    isolation: isolate;
}
.simkit-plan-card:hover { border-color: rgba(56, 134, 251, 0.45); }

/* Native radio is visually hidden; the .__radio span draws the dot. */
.simkit-plan-card__input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    cursor: pointer;
    z-index: 1;
}
.simkit-plan-card__radio {
    position: absolute;
    top: 18px;
    left: 14px;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    border: 1.5px solid rgba(0, 0, 0, 0.18);
    background: #fff;
    transition: border-color 0.15s ease, background 0.15s ease;
    z-index: 0;
}
.simkit-plan-card__radio::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #fff;
    transform: translate(-50%, -50%) scale(0);
    transition: transform 0.15s ease;
}

/* Selected state. Uses :has() so the card highlights when its radio is
   checked — supported in all evergreen browsers. */
.simkit-plan-card:has(.simkit-plan-card__input:checked) {
    border-color: #1d1d1f;
    box-shadow: 0 0 0 3px rgba(29, 29, 31, 0.06);
}
.simkit-plan-card:has(.simkit-plan-card__input:checked) .simkit-plan-card__radio {
    border-color: #1d1d1f;
    background: #1d1d1f;
}
.simkit-plan-card:has(.simkit-plan-card__input:checked) .simkit-plan-card__radio::after {
    transform: translate(-50%, -50%) scale(1);
}
.simkit-plan-card__input:focus-visible + .simkit-plan-card__radio {
    box-shadow: 0 0 0 3px rgba(56, 134, 251, 0.3);
}

.simkit-plan-card__data {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1d1d1f;
    line-height: 1.1;
    letter-spacing: -0.01em;
}
.simkit-plan-card__validity {
    font-size: 0.92rem;
    color: var(--simkit-muted);
    line-height: 1.2;
}
.simkit-plan-card__price {
    font-size: 1.05rem;
    font-weight: 700;
    color: #1d1d1f !important;
    line-height: 1.1;
    margin-top: 4px;
}
/* Themes (Salient) paint .amount in their brand accent; reset to inherit. */
.simkit-plan-card__price .amount,
.simkit-plan-card__price .woocommerce-Price-amount,
.simkit-plan-card__price bdi {
    font-size: inherit !important;
    font-weight: inherit !important;
    color: #1d1d1f !important;
}
.simkit-plan-card__price .from { display: none; }
.simkit-plan-card__badge {
    display: inline-block;
    width: fit-content;
    font-size: 0.68rem;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(52, 199, 89, 0.12) !important;
    color: #1f8a3a !important; /* hex, not var — defeats theme overrides */
    margin-top: 2px;
}
.simkit-plan-card__unavailable {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--simkit-danger);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-top: 2px;
}

.simkit-plan-card.is-unavailable {
    opacity: 0.55;
    cursor: not-allowed;
}
.simkit-plan-card.is-unavailable:hover { border-color: var(--simkit-card-border); }

/* "Best value" accent ribbon at the top of the highlighted card. The
   ribbon stays absolute so the rest of the card grid is unchanged; the
   card just reserves enough padding-top to clear it. Heavy !important
   here to defeat Salient's theme accent + line-height overrides. */
.simkit-plan-card.is-best {
    border-color: #3886fb !important;
    padding-top: 44px;
    box-shadow: 0 0 0 1px #3886fb;
}
.simkit-plan-card__ribbon {
    position: absolute;
    top: -1px;
    left: -1px;
    right: -1px;
    padding: 7px 10px !important;
    margin: 0 !important;
    background: #3886fb !important;
    background-color: #3886fb !important;
    background-image: none !important;
    color: #ffffff !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    border-radius: 14px 14px 0 0 !important;
    text-align: center !important;
    z-index: 2;
    box-sizing: border-box;
    min-height: 0 !important;
    height: auto !important;
}
.simkit-plan-card.is-best .simkit-plan-card__radio { top: 54px; }
.simkit-plan-card.is-best:has(.simkit-plan-card__input:checked) {
    box-shadow: 0 0 0 3px rgba(56, 134, 251, 0.22);
}

/* === Primary checkout CTA (used by both grid + unlimited picker) ====== */

/* Checkout CTA per Figma: 50px tall pill, solid #3886fb, just the word
   "Checkout" (no arrow), full width of the picker container. */
.simkit-checkout-btn,
body.simkit-product-page a.simkit-checkout-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50px;
    padding: 4px 16px !important;
    /* Triple-property defeat against Salient anchor accent. */
    background: #3886fb !important;
    background-color: #3886fb !important;
    background-image: none !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 50px !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    letter-spacing: -0.4px;
    text-decoration: none !important;
    text-align: center;
    line-height: 1.2;
    transition: filter 0.15s ease;
    margin: 0;
}
.simkit-checkout-btn:hover { filter: brightness(0.95); }
/* No arrow in the new design — hide if some markup still includes it. */
.simkit-checkout-btn__arrow { display: none !important; }

/* === Trust row under the CTA ========================================== */

.simkit-trust-row {
    list-style: none;
    padding: 0;
    margin: 1rem 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    justify-content: center;
    color: var(--simkit-muted);
    font-size: 0.82rem;
}
.simkit-trust-row__item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    line-height: 1.3;
}
.simkit-trust-row__item span[aria-hidden] {
    color: #1d1d1f;
    font-size: 0.95rem;
    line-height: 1;
}

/* The picker card had a default top padding via .simkit-plans::before;
   the grid version doesn't need the explicit margin on the unlimited
   "Top-up supported" badge that used to sit inside .simkit-picker__cta. */
body.simkit-product-page .simkit-plans--unlimited .simkit-plan__topup-badge {
    margin-top: 0.8rem;
    align-self: center;
}

/* === Top-of-picker promo banner ========================================
   Sits inside the .simkit-plans card, above the grid / unlimited picker.
   Cream background, dark headline, blue CTA — meant to feel like a
   contextual offer ("Visiting more than one country? See Europe plan").
   The whole thing is a single <a> so clicks anywhere route through. */
/* Promo banner matches Figma: light blue-grey bg, light blue border, no
   icon, just text on the left and a blue pill CTA on the right. */
.simkit-promo-banner {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 14px;
    margin: 0 0 1.2rem;
    padding: 18px 24px;
    background: #edf1f7;
    border: 1px solid #cde1ff;
    border-radius: 10px;
    text-decoration: none !important;
    color: #1f1f1f !important;
    transition: border-color 0.15s ease;
}
.simkit-promo-banner:hover { border-color: #3886fb; }
/* Hide the icon: Figma version has no icon, just text + CTA. */
.simkit-promo-banner__icon { display: none; }
.simkit-promo-banner__text {
    font-size: 15px;
    line-height: 1.4;
    color: #1f1f1f;
    font-weight: 400;
}
.simkit-promo-banner__text .amount,
.simkit-promo-banner__text strong { font-weight: 700; color: #1f1f1f; }
.simkit-promo-banner__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 18px;
    background: #3886fb !important;
    background-color: #3886fb !important;
    background-image: none !important;
    color: #ffffff !important;
    border-radius: 50px;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: -0.3px;
    white-space: nowrap;
    flex-shrink: 0;
    line-height: 1.2;
    min-height: 32px;
}
.simkit-promo-banner__arrow { display: none; }

@media (max-width: 560px) {
    .simkit-promo-banner {
        grid-template-columns: 1fr;
        row-gap: 12px;
        padding: 16px;
    }
    .simkit-promo-banner__text { font-size: 14px; }
    .simkit-promo-banner__cta { justify-self: stretch; }
}

/* Activation note matches Figma: same #edf1f7/#cde1ff palette as the
   promo banner, no icon, single paragraph. */
.simkit-activation-note {
    margin: 1.2rem 0;
    padding: 18px 24px;
    background: #edf1f7;
    border: 1px solid #cde1ff;
    border-radius: 10px;
    color: #1f1f1f;
    font-size: 15px;
    line-height: 1.45;
}
.simkit-activation-note p {
    margin: 0;
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}
.simkit-activation-note__icon { display: none; }

/* === Final price color override =======================================
   Salient wraps the WC amount in an extra .price element and paints it
   in the theme accent (orange). Force #212121 on every price element
   inside SimKit price containers. Heavy descendant selector (*) defeats
   any further theme nesting. */
body.simkit-product-page .simkit-plan-card__price,
body.simkit-product-page .simkit-plan-card__price *,
body.simkit-product-page .simkit-cross-sell__price .amount,
body.simkit-product-page .simkit-cross-sell__price .amount *,
body.simkit-product-page .simkit-cross-sell__price .woocommerce-Price-amount,
body.simkit-product-page .simkit-cross-sell__price .woocommerce-Price-amount *,
body.simkit-product-page .simkit-promo-banner__text .amount,
body.simkit-product-page .simkit-promo-banner__text .amount *,
body.simkit-product-page .simkit-promo-banner__text strong,
body.simkit-product-page .simkit-promo-banner__text strong *,
body.simkit-product-page .simkit-picker__total-amount,
body.simkit-product-page .simkit-picker__total-amount *,
body.simkit-product-page .simkit-plan-row__data,
body.simkit-product-page .simkit-plan-row__price,
body.simkit-product-page .simkit-plan-row__price * {
    color: #1f1f1f !important;
}

/* === Plan list (Figma layout) =========================================
   Grouped row list — "7 day plans", "15 day plans" etc. — with bordered
   white rows containing a radio circle, data label, optional inline
   "Best Value" pill, and right-aligned price. Replaces the previous grid
   card layout for fixed-data products. */

.simkit-plans--list {
    margin-bottom: 0; /* CTA owns the bottom margin */
}
.simkit-plan-groups {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.simkit-plan-group {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.simkit-plan-group__label {
    font-size: 15px;
    font-weight: 600;
    color: #797979;
    margin: 0;
    padding: 0 8px;
    line-height: 1.4;
}
.simkit-plan-row {
    position: relative;
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 18px 28px;
    background: #ffffff;
    border: 1px solid #cde1ff;
    border-radius: 10px;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.simkit-plan-row + .simkit-plan-row { margin-top: 5px; }
.simkit-plan-row:hover { border-color: #3886fb; }

/* Native radio sits invisibly over the whole row so any click on the
   row toggles selection. Visual radio is drawn in .__radio. */
.simkit-plan-row__input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    cursor: pointer;
    z-index: 1;
}
.simkit-plan-row__radio {
    position: relative;
    width: 17px;
    height: 17px;
    border: 1px solid #797979;
    border-radius: 999px;
    flex-shrink: 0;
    background: #ffffff;
    transition: border-color 0.15s ease;
    z-index: 0;
}
.simkit-plan-row__radio::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: #3886fb;
    transform: translate(-50%, -50%) scale(0);
    transition: transform 0.15s ease;
}
.simkit-plan-row:has(.simkit-plan-row__input:checked) {
    border-color: #3886fb;
    box-shadow: 0 0 0 1px #3886fb;
}
.simkit-plan-row:has(.simkit-plan-row__input:checked) .simkit-plan-row__radio { border-color: #3886fb; }
.simkit-plan-row:has(.simkit-plan-row__input:checked) .simkit-plan-row__radio::after {
    transform: translate(-50%, -50%) scale(1);
}
.simkit-plan-row__input:focus-visible + .simkit-plan-row__radio {
    box-shadow: 0 0 0 3px rgba(56, 134, 251, 0.25);
}

.simkit-plan-row__data {
    font-variant: jis78;
    font-size: 16px;
    font-weight: 600;
    color: #1f1f1f;
    line-height: 1.2;
    flex-shrink: 0;
}
.simkit-plan-row__best {
    display: inline-flex;
    align-items: center;
    padding: 4px 14px;
    font-size: 13px;
    font-weight: 400;
    color: #3886fb;
    background: #edf1f7;
    border: 1px solid #3886fb;
    border-radius: 20px;
    line-height: 1.2;
    white-space: nowrap;
    flex-shrink: 0;
}
.simkit-plan-row__price {
    margin-left: auto;
    font-size: 14px;
    font-weight: 600;
    color: #1f1f1f;
    line-height: 1.2;
    white-space: nowrap;
    text-align: right;
}
.simkit-plan-row__price--soldout {
    font-size: 14px;
    font-weight: 600;
    color: #797979;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.simkit-plan-row.is-unavailable {
    opacity: 0.55;
    cursor: not-allowed;
    background: #fafafa;
}
.simkit-plan-row.is-unavailable:hover { border-color: #cde1ff; }

/* The picker card uses the same wrapper as before — keep its outer
   white background and rounded corners. The heading sits at the top. */
body.simkit-product-page .simkit-plans--list {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
}
body.simkit-product-page .simkit-plans__heading {
    font-size: 15px;
    font-weight: 600;
    color: #1f1f1f;
    margin: 0 0 1rem 8px;
    letter-spacing: 0;
    line-height: 1.4;
}

@media (max-width: 720px) {
    .simkit-plan-row { padding: 14px 18px; gap: 12px; }
    .simkit-plan-row__best { font-size: 11px; padding: 3px 10px; }
}

/* === Poppins on all SimKit redesign surfaces ==========================
   Font-family inherits through descendants, so targeting the container
   classes covers every nested span/h1/h2/p without selector spaghetti.
   !important to defeat Salient's per-element font-family declarations
   on headings/paragraphs. */
.simkit-hero,
.simkit-hero *,
.simkit-plans,
.simkit-plans *,
.simkit-destination,
.simkit-promo-banner,
.simkit-promo-banner *,
.simkit-activation-note,
.simkit-activation-note *,
.simkit-checkout-btn,
.simkit-info-section,
.simkit-info-section *,
.simkit-faq,
.simkit-faq *,
.simkit-cross-sell,
.simkit-cross-sell * {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
}
