/* =================================================================
   MOBILE HERITAGE OVERLAY
   Loaded after page-*.css and footer-heritage.css. Tightens spacing,
   font sizes, and card padding for true phone widths (<=560px and
   <=380px). Scoped to [data-theme="heritage"] so non-Heritage pages
   are not affected. Source order alone is enough to win specificity
   ties without !important.
   ================================================================= */

/* -----------------------------------------------------------------
   ≤ 560px — phone portrait + landscape
   ----------------------------------------------------------------- */
@media (max-width: 560px) {

    /* Section wrap / generic container — most pages use .wrap with
       padding 96px 24px. Tighten vertical and horizontal both. */
    [data-theme="heritage"] .wrap {
        padding-top: 56px;
        padding-bottom: 56px;
        padding-left: 18px;
        padding-right: 18px;
    }

    /* Hero — every Heritage page has one. Reduce vertical padding
       and sharpen the headline for narrow viewports. */
    [data-theme="heritage"] .hero {
        padding-top: 40px;
        padding-bottom: 48px;
    }
    [data-theme="heritage"] .hero h1.display,
    [data-theme="heritage"] .hero .display {
        font-size: clamp(1.7rem, 7vw, 2.3rem);
        line-height: 1.18;
    }
    [data-theme="heritage"] .hero-lede {
        font-size: 1rem;
        line-height: 1.6;
    }
    [data-theme="heritage"] .hero-cta {
        gap: 10px;
        flex-direction: column;
        align-items: stretch;
    }
    [data-theme="heritage"] .hero-cta .btn {
        width: 100%;
        justify-content: center;
    }

    /* Section heads (eyebrow + h2.display + lede). Common pattern
       across pillars, timeline, story, credentials, team, etc. */
    [data-theme="heritage"] .sec-head h2.display,
    [data-theme="heritage"] section h2.display {
        font-size: clamp(1.55rem, 6.6vw, 2.1rem);
        line-height: 1.2;
    }
    [data-theme="heritage"] .sec-head h3.display,
    [data-theme="heritage"] .display + p {
        line-height: 1.6;
    }

    /* Eyebrow pill — tighter on small screens */
    [data-theme="heritage"] .eyebrow {
        font-size: 0.66rem;
        padding: 6px 13px 6px 10px;
        margin-bottom: 18px;
        letter-spacing: 1.2px;
    }

    /* Buttons — hit area + size */
    [data-theme="heritage"] .btn {
        padding: 13px 22px;
        font-size: 0.92rem;
    }

    /* Generic card-shaped blocks. Most card classes in the new
       templates land 28–34px padding; tighten across the board.
       Targets the common patterns the templates use rather than
       a wildcard so unrelated WP markup is not affected. */
    [data-theme="heritage"] .pillar,
    [data-theme="heritage"] .cred-card,
    [data-theme="heritage"] .team-card,
    [data-theme="heritage"] .audience-card,
    [data-theme="heritage"] .method-card,
    [data-theme="heritage"] .quality-item,
    [data-theme="heritage"] .form-card,
    [data-theme="heritage"] .shortcut-card,
    [data-theme="heritage"] .hl-card,
    [data-theme="heritage"] .cert-card,
    [data-theme="heritage"] .badge-card,
    [data-theme="heritage"] .tier-card,
    [data-theme="heritage"] .audience-points,
    [data-theme="heritage"] .info-card,
    [data-theme="heritage"] .step-card,
    [data-theme="heritage"] .review-card,
    [data-theme="heritage"] .first-card,
    [data-theme="heritage"] .test-item,
    [data-theme="heritage"] .strain-card,
    [data-theme="heritage"] .region-card {
        padding: 22px 20px;
        border-radius: 16px;
    }
    [data-theme="heritage"] .pillar h3,
    [data-theme="heritage"] .first-card h3,
    [data-theme="heritage"] .method-card h3,
    [data-theme="heritage"] .test-item h3 {
        font-size: 1.05rem;
    }
    [data-theme="heritage"] .pillar p,
    [data-theme="heritage"] .first-card p,
    [data-theme="heritage"] .method-card p,
    [data-theme="heritage"] .test-item p {
        font-size: 0.88rem;
        line-height: 1.55;
    }
    [data-theme="heritage"] .first-num {
        font-size: 1.7rem;
        margin-bottom: 8px;
        padding-bottom: 6px;
    }
    [data-theme="heritage"] .pillar-icon,
    [data-theme="heritage"] .method-icon,
    [data-theme="heritage"] .test-icon {
        width: 40px;
        height: 40px;
        margin-bottom: 12px;
        border-radius: 10px;
    }
    [data-theme="heritage"] .pillar-icon svg,
    [data-theme="heritage"] .method-icon svg,
    [data-theme="heritage"] .test-icon svg {
        width: 20px;
        height: 20px;
    }

    /* -------- PRODUCT GRID — 2x2 on phones (image #5) ---------- */
    [data-theme="heritage"].hvb-products .products-grid,
    [data-theme="heritage"].hvb-products #grid-variety {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
    [data-theme="heritage"].hvb-products .tpcard {
        border-radius: 14px;
        border-width: 1px;
    }
    [data-theme="heritage"].hvb-products .tpcard-body {
        padding: 12px 12px 14px;
        gap: 4px;
    }
    [data-theme="heritage"].hvb-products .tpcard h3 {
        font-size: 0.95rem;
        line-height: 1.2;
    }
    [data-theme="heritage"].hvb-products .tpcard-vein {
        font-size: 0.6rem;
        letter-spacing: 0.12em;
        gap: 6px;
    }
    [data-theme="heritage"].hvb-products .vein-dot {
        width: 7px;
        height: 7px;
    }
    [data-theme="heritage"].hvb-products .tpcard-rating { gap: 4px; margin: -1px 0 1px; }
    [data-theme="heritage"].hvb-products .tpcard-star { width: 11px; height: 11px; }
    [data-theme="heritage"].hvb-products .tpcard-rc { font-size: 0.65rem; }
    [data-theme="heritage"].hvb-products .tpcard-desc {
        font-size: 0.76rem;
        line-height: 1.4;
    }
    [data-theme="heritage"].hvb-products .tpcard-foot {
        margin-top: 10px;
        padding-top: 10px;
        gap: 6px;
        flex-wrap: wrap;
    }
    [data-theme="heritage"].hvb-products .tpcard-price {
        font-size: 0.95rem;
    }
    [data-theme="heritage"].hvb-products .tpcard-link {
        font-size: 0.68rem;
        letter-spacing: 0.06em;
        gap: 4px;
    }
    [data-theme="heritage"].hvb-products .tpcard-link svg { width: 12px; height: 12px; }
    [data-theme="heritage"].hvb-products .tpcard-badge {
        top: 8px;
        left: 8px;
        padding: 4px 8px;
        font-size: 0.58rem;
        letter-spacing: 0.08em;
    }

    /* Lab metrics grid (products + similar) — 2x2 on phones */
    [data-theme="heritage"].hvb-products .lab-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    /* -------- COA TEST-CATEGORY CARDS — 2x2 (image #3) --------- */
    [data-theme="heritage"].hvb-coas .test-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
    [data-theme="heritage"].hvb-coas .test-item {
        padding: 18px 14px;
    }
    [data-theme="heritage"].hvb-coas .test-item h3 { font-size: 0.95rem; }
    [data-theme="heritage"].hvb-coas .test-item p { font-size: 0.78rem; line-height: 1.5; }

    /* -------- COA RESULT CARDS — 1 per row on phones ----------
       The dense COA content (badges, sections, tables, lab report
       buttons) was still overflowing horizontally at 2 columns
       (e.g. "METALS/ALKALOIDS" pill clipped). One per row gives
       each card the full content area and reads cleanly. */
    [data-theme="heritage"].hvb-coas .coa-grid-wrap .coa-fe-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    [data-theme="heritage"].hvb-coas .coa-grid-wrap .coa-fe-card {
        border-radius: 12px;
    }
    [data-theme="heritage"].hvb-coas .coa-grid-wrap .coa-fe-card-header {
        padding: 12px 12px 10px;
    }
    [data-theme="heritage"].hvb-coas .coa-grid-wrap .coa-fe-header-top {
        gap: 6px;
    }
    [data-theme="heritage"].hvb-coas .coa-grid-wrap .coa-fe-strain-name,
    [data-theme="heritage"].hvb-coas .coa-grid-wrap .coa-fe-card-header h3,
    [data-theme="heritage"].hvb-coas .coa-grid-wrap .coa-fe-card-header h2 {
        font-size: 0.95rem;
        line-height: 1.2;
    }
    [data-theme="heritage"].hvb-coas .coa-grid-wrap .coa-fe-meta {
        font-size: 0.66rem;
        letter-spacing: 0.04em;
    }
    [data-theme="heritage"].hvb-coas .coa-grid-wrap .coa-fe-badge {
        font-size: 0.58rem;
        padding: 2px 7px;
    }
    [data-theme="heritage"].hvb-coas .coa-grid-wrap .coa-fe-badges {
        gap: 4px;
        margin-top: 8px;
    }
    [data-theme="heritage"].hvb-coas .coa-grid-wrap .coa-fe-card-body {
        padding: 10px 12px 14px;
        font-size: 0.78rem;
        line-height: 1.5;
    }
    [data-theme="heritage"].hvb-coas .coa-grid-wrap .coa-fe-section {
        padding: 8px 0;
    }
    [data-theme="heritage"].hvb-coas .coa-grid-wrap .coa-fe-section-toggle {
        padding: 7px 10px;
        font-size: 0.78rem;
        gap: 8px;
    }
    [data-theme="heritage"].hvb-coas .coa-grid-wrap .coa-fe-section-title {
        font-size: 0.8rem;
        letter-spacing: 0.02em;
    }
    [data-theme="heritage"].hvb-coas .coa-grid-wrap .coa-fe-test-table,
    [data-theme="heritage"].hvb-coas .coa-grid-wrap .coa-fe-limit-table {
        font-size: 0.72rem;
    }
    [data-theme="heritage"].hvb-coas .coa-grid-wrap .coa-fe-test-table th,
    [data-theme="heritage"].hvb-coas .coa-grid-wrap .coa-fe-test-table td,
    [data-theme="heritage"].hvb-coas .coa-grid-wrap .coa-fe-limit-table th,
    [data-theme="heritage"].hvb-coas .coa-grid-wrap .coa-fe-limit-table td {
        padding: 6px 8px;
    }
    [data-theme="heritage"].hvb-coas .coa-grid-wrap .coa-fe-info-panel-title {
        font-size: 0.78rem;
    }
    [data-theme="heritage"].hvb-coas .coa-grid-wrap .coa-fe-info-panel-body {
        padding: 10px;
        font-size: 0.78rem;
    }
    [data-theme="heritage"].hvb-coas .coa-grid-wrap .coa-fe-report-buttons {
        flex-direction: column;
        gap: 8px;
    }
    [data-theme="heritage"].hvb-coas .coa-grid-wrap {
        padding: 16px 10px;
    }

    /* -------- PRODUCTS FILTER BAR — tiny pills on phones --------
       Goal: label inline, all 5 pills (All/Red/White/Green/Gold) in a
       single wrap row taking ~half the height of the previous layout. */
    [data-theme="heritage"].hvb-products .filter-bar {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: 5px 6px;
    }
    [data-theme="heritage"].hvb-products .filter-bar-label {
        flex: 1 0 100%;
        margin-right: 0;
        margin-bottom: 2px;
        font-size: 0.62rem;
        letter-spacing: 0.08em;
    }
    [data-theme="heritage"].hvb-products .filter-btn {
        padding: 4px 9px;
        font-size: 0.7rem;
        gap: 4px;
        border-width: 1px;
        flex: 0 0 auto;
    }
    [data-theme="heritage"].hvb-products .filter-count {
        min-width: 15px;
        height: 15px;
        padding: 0 4px;
        font-size: 0.58rem;
    }
    [data-theme="heritage"].hvb-products .toolbar-inner {
        padding: 10px 14px;
    }
    [data-theme="heritage"].hvb-products .sort-row {
        gap: 8px;
        margin-top: 8px;
        padding-top: 8px;
    }
    [data-theme="heritage"].hvb-products .sort-label,
    [data-theme="heritage"].hvb-products .filter-results {
        font-size: 0.72rem;
    }
    [data-theme="heritage"].hvb-products .sort-select {
        font-size: 0.78rem;
        padding: 5px 28px 5px 10px;
    }

    /* -------- MEET THE FOUNDER — image overlay pills (images #9–10) -- */
    [data-theme="heritage"].hvb-meet-the-founder .hero-tag {
        bottom: 12px;
        left: 12px;
        right: 12px;
    }
    [data-theme="heritage"].hvb-meet-the-founder .hero-tag-pill {
        padding: 6px 11px;
        font-size: 0.6rem;
        letter-spacing: 0.1em;
        gap: 6px;
    }
    [data-theme="heritage"].hvb-meet-the-founder .hero-tag-pill svg {
        width: 11px;
        height: 11px;
    }
    [data-theme="heritage"].hvb-meet-the-founder .story-badge {
        left: 12px;
        bottom: 12px;
        padding: 8px 12px;
        border-radius: 12px;
    }
    [data-theme="heritage"].hvb-meet-the-founder .story-badge-num {
        font-size: 1.15rem;
    }
    [data-theme="heritage"].hvb-meet-the-founder .story-badge-lbl {
        font-size: 0.6rem;
        letter-spacing: 0.08em;
        margin-top: 2px;
    }

    /* -------- CLOUDFLARE TURNSTILE — fit widget inside form-card ----
       The Turnstile iframe is locked at 300×65px by Cloudflare's
       script (inline style — CSS width can't override it). The right
       way to make 300px fit is to shrink the surrounding form padding
       so the form-card's content area is ≥300px on phones. */
    [data-theme="heritage"].hvb-contact-us .contact-form,
    [data-theme="heritage"].hvb-contact-us .form-card {
        padding-left: 14px;
        padding-right: 14px;
    }
    [data-theme="heritage"] .cf-turnstile {
        display: block;
        margin: 14px 0;
        max-width: 100%;
        text-align: center;
    }

    /* =================================================================
       CONTACT PAGE — comprehensive phone pass
       Channel cards (Contact form / Discord / X-Twitter) shrunk;
       form-card padding cut so the 300px Turnstile fits; form-intro
       headline / inputs / labels compressed.
       ================================================================= */
    [data-theme="heritage"].hvb-contact-us .method-card {
        padding: 16px 14px;
        border-radius: 14px;
    }
    [data-theme="heritage"].hvb-contact-us .method-icon {
        width: 36px;
        height: 36px;
        margin-bottom: 10px;
        border-radius: 10px;
    }
    [data-theme="heritage"].hvb-contact-us .method-icon svg {
        width: 18px;
        height: 18px;
    }
    [data-theme="heritage"].hvb-contact-us .method-card h3 {
        font-size: 1rem;
        margin-bottom: 4px;
    }
    [data-theme="heritage"].hvb-contact-us .method-value {
        font-size: 0.78rem;
        margin-bottom: 8px;
    }
    [data-theme="heritage"].hvb-contact-us .method-card p {
        font-size: 0.82rem;
        line-height: 1.5;
        margin-bottom: 12px;
    }
    [data-theme="heritage"].hvb-contact-us .method-link {
        font-size: 0.7rem;
        letter-spacing: 0.06em;
    }
    /* Contact-form section padding & form-intro */
    [data-theme="heritage"].hvb-contact-us .contact-form-inner {
        padding: 48px 14px;
        gap: 28px;
    }
    [data-theme="heritage"].hvb-contact-us .form-intro h2 {
        font-size: clamp(1.4rem, 6.4vw, 1.85rem);
        margin-bottom: 14px;
    }
    [data-theme="heritage"].hvb-contact-us .form-lede {
        font-size: 0.92rem;
        line-height: 1.55;
        margin-bottom: 18px;
    }
    [data-theme="heritage"].hvb-contact-us .form-notes {
        gap: 10px;
        padding-top: 16px;
    }
    [data-theme="heritage"].hvb-contact-us .form-notes li {
        font-size: 0.85rem;
        line-height: 1.5;
        gap: 10px;
    }
    [data-theme="heritage"].hvb-contact-us .form-notes svg {
        width: 14px;
        height: 14px;
    }
    /* Compact form inputs / labels */
    [data-theme="heritage"].hvb-contact-us .form-label,
    [data-theme="heritage"].hvb-contact-us .form-group .form-label {
        font-size: 0.68rem;
        letter-spacing: 0.08em;
        margin-bottom: 6px;
    }
    [data-theme="heritage"].hvb-contact-us .contact-form input,
    [data-theme="heritage"].hvb-contact-us .contact-form select,
    [data-theme="heritage"].hvb-contact-us .contact-form textarea,
    [data-theme="heritage"].hvb-contact-us .form-input,
    [data-theme="heritage"].hvb-contact-us .form-textarea {
        font-size: 0.9rem;
        padding: 11px 12px;
        border-radius: 10px;
    }
    [data-theme="heritage"].hvb-contact-us .contact-form textarea,
    [data-theme="heritage"].hvb-contact-us .form-textarea {
        min-height: 110px;
    }
    [data-theme="heritage"].hvb-contact-us .form-field,
    [data-theme="heritage"].hvb-contact-us .form-group {
        margin-bottom: 12px;
    }
    [data-theme="heritage"].hvb-contact-us .form-submit-row {
        gap: 12px;
        margin-top: 4px;
        padding-top: 14px;
    }
    [data-theme="heritage"].hvb-contact-us .form-footnote {
        font-size: 0.78rem;
    }

    /* =================================================================
       HOMEPAGE — comprehensive phone pass
       Every section the user flagged: hero h1 one-line, best-seller
       cards on one row, badge pills shrunk, COA card compressed,
       strain guide cards compact, Standards offer cards compact,
       spirit (Buddha) image capped, review cards compact, final CTA
       (Ready when you are) compact.
       ================================================================= */

    /* Hero h1 stays on a single line — keep nowrap and shrink font. */
    [data-theme="heritage"].hvb-home .hero h1 {
        font-size: clamp(1.35rem, 6.4vw, 1.85rem);
        line-height: 1.18;
        margin-bottom: 14px;
    }
    [data-theme="heritage"].hvb-home .hero h1 .h1-line1 {
        white-space: nowrap;
    }
    [data-theme="heritage"].hvb-home .hero-lede {
        font-size: 0.96rem;
        margin-bottom: 22px;
    }
    [data-theme="heritage"].hvb-home .hero { padding: 32px 16px 44px; }

    /* Best-sellers: 3 cards on one row, ultra-tight padding so each
       card is a thumbnail tile rather than a full product card. */
    [data-theme="heritage"].hvb-home .products-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        margin-bottom: 28px;
    }
    [data-theme="heritage"].hvb-home .pcard {
        border-radius: 12px;
        border-width: 1px;
    }
    [data-theme="heritage"].hvb-home .pcard-thumb { aspect-ratio: 1 / 1; }
    [data-theme="heritage"].hvb-home .pcard-body {
        padding: 8px 8px 10px;
        gap: 3px;
    }
    [data-theme="heritage"].hvb-home .pcard-vein {
        font-size: 0.5rem;
        letter-spacing: 0.08em;
        gap: 4px;
    }
    [data-theme="heritage"].hvb-home .pcard-vein .vein-dot { width: 6px; height: 6px; }
    [data-theme="heritage"].hvb-home .pcard h3 {
        font-size: 0.78rem;
        line-height: 1.15;
    }
    [data-theme="heritage"].hvb-home .pcard-desc { display: none; }
    [data-theme="heritage"].hvb-home .pcard-foot {
        margin-top: 6px;
        padding-top: 6px;
        gap: 4px;
        flex-wrap: wrap;
    }
    [data-theme="heritage"].hvb-home .pcard-price { font-size: 0.78rem; }
    [data-theme="heritage"].hvb-home .pcard-link {
        font-size: 0.55rem;
        letter-spacing: 0.04em;
        gap: 2px;
    }
    [data-theme="heritage"].hvb-home .pcard-link svg { width: 10px; height: 10px; }
    /* Badge pill on best-seller image (TOP RATED etc.) — much smaller. */
    [data-theme="heritage"].hvb-home .pcard-badge {
        top: 6px;
        left: 6px;
        padding: 3px 6px;
        font-size: 0.5rem;
        letter-spacing: 0.06em;
        border-radius: 100px;
    }

    /* Lab section — compress padding and the COA "sample" card. */
    [data-theme="heritage"].hvb-home .lab-inner {
        padding: 56px 16px;
        gap: 36px;
    }
    [data-theme="heritage"].hvb-home .lab-text h2 {
        font-size: clamp(1.55rem, 6.4vw, 2.05rem);
        margin-bottom: 16px;
    }
    [data-theme="heritage"].hvb-home .lab-text p {
        font-size: 0.94rem;
        line-height: 1.6;
    }
    [data-theme="heritage"].hvb-home .lab-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin-top: 20px;
    }
    [data-theme="heritage"].hvb-home .lab-metric {
        padding: 12px;
        gap: 8px;
        border-radius: 10px;
    }
    [data-theme="heritage"].hvb-home .lab-metric svg { width: 16px; height: 16px; }
    [data-theme="heritage"].hvb-home .lab-metric-title { font-size: 0.82rem; }
    [data-theme="heritage"].hvb-home .lab-metric-desc { font-size: 0.72rem; line-height: 1.45; }
    [data-theme="heritage"].hvb-home .lab-cta { margin-top: 20px; }

    /* The COA "sample" card on the Third-Party Tested section.
       Aggressively shrink everything — the card was still tall on
       phones because the rows + 3 panels stacked. */
    [data-theme="heritage"].hvb-home .coa {
        padding: 12px 10px;
        border-radius: 10px;
        transform: none;
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(212, 175, 55, 0.3);
    }
    [data-theme="heritage"].hvb-home .coa::before,
    [data-theme="heritage"].hvb-home .coa-stamp-text {
        width: 50px;
        height: 50px;
        top: -8px;
        right: -8px;
    }
    [data-theme="heritage"].hvb-home .coa-stamp-text {
        font-size: 0.45rem;
        letter-spacing: 0.06em;
    }
    [data-theme="heritage"].hvb-home .coa-sample-watermark {
        font-size: clamp(2.2rem, 16vw, 3.6rem);
        letter-spacing: 0.14em;
        color: rgba(184, 150, 12, 0.18);
    }
    [data-theme="heritage"].hvb-home .coa-head {
        padding-bottom: 8px;
        margin-bottom: 8px;
    }
    [data-theme="heritage"].hvb-home .coa-head-mark { gap: 6px; }
    [data-theme="heritage"].hvb-home .coa-head-logo { width: 24px; height: 24px; }
    [data-theme="heritage"].hvb-home .coa-head-logo svg { width: 14px; height: 14px; }
    [data-theme="heritage"].hvb-home .coa-head h3 { font-size: 0.78rem; letter-spacing: 0.04em; }
    [data-theme="heritage"].hvb-home .coa-head small { font-size: 0.52rem; letter-spacing: 0.06em; }
    [data-theme="heritage"].hvb-home .coa-head-meta { font-size: 0.56rem; line-height: 1.4; }
    [data-theme="heritage"].hvb-home .coa-title { font-size: 0.88rem; margin-bottom: 2px; }
    [data-theme="heritage"].hvb-home .coa-subtitle { font-size: 0.62rem; margin-bottom: 8px; }
    [data-theme="heritage"].hvb-home .coa-results { padding: 8px; margin-bottom: 6px; border-radius: 6px; }
    [data-theme="heritage"].hvb-home .coa-section-label { font-size: 0.5rem; margin-bottom: 6px; letter-spacing: 0.1em; }
    [data-theme="heritage"].hvb-home .coa-units { font-size: 0.92em; }
    [data-theme="heritage"].hvb-home .coa-table { font-size: 0.62rem; }
    [data-theme="heritage"].hvb-home .coa-table .row {
        gap: 6px;
        padding: 4px 0;
    }
    [data-theme="heritage"].hvb-home .coa-table .pill {
        font-size: 0.46rem;
        padding: 1px 5px;
        letter-spacing: 0.04em;
    }
    [data-theme="heritage"].hvb-home .coa-foot { font-size: 0.52rem; padding-top: 8px; gap: 6px; }
    [data-theme="heritage"].hvb-home .coa-sig svg { width: 11px; height: 11px; }

    /* Strain Guide — 6 vein cards, 2x2 max on mobile (was 1 col 600px). */
    [data-theme="heritage"].hvb-home .strain-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
    [data-theme="heritage"].hvb-home .strain { border-radius: 12px; }
    [data-theme="heritage"].hvb-home .strain-head {
        padding: 14px 14px 12px;
    }
    [data-theme="heritage"].hvb-home .strain-swatch {
        width: 30px;
        height: 30px;
        border-radius: 8px;
        margin-bottom: 8px;
    }
    [data-theme="heritage"].hvb-home .strain h3 { font-size: 0.95rem; margin-bottom: 2px; }
    [data-theme="heritage"].hvb-home .strain-sub { font-size: 0.7rem; line-height: 1.35; }
    [data-theme="heritage"].hvb-home .strain-body {
        padding: 10px 14px 14px;
    }
    [data-theme="heritage"].hvb-home .strain-body small {
        font-size: 0.58rem;
        letter-spacing: 0.1em;
        margin-bottom: 6px;
    }
    [data-theme="heritage"].hvb-home .strain-chip {
        font-size: 0.66rem;
        padding: 3px 8px;
        gap: 4px;
    }
    [data-theme="heritage"].hvb-home .strain-chip .sold-out-tag {
        font-size: 0.5rem;
        padding: 1px 4px;
    }

    /* Standards — offer cards: 2x2 instead of 1fr; compact. */
    [data-theme="heritage"].hvb-home .offer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
    [data-theme="heritage"].hvb-home .offer-card {
        padding: 14px 12px;
        gap: 6px;
        border-top-width: 2px;
    }
    [data-theme="heritage"].hvb-home .offer-icon-wrap {
        width: 32px;
        height: 32px;
        margin-bottom: 2px;
    }
    [data-theme="heritage"].hvb-home .offer-icon-wrap svg { width: 22px; height: 22px; }
    [data-theme="heritage"].hvb-home .offer-card h4 { font-size: 0.92rem; }
    [data-theme="heritage"].hvb-home .offer-card p {
        font-size: 0.78rem;
        line-height: 1.5;
    }

    /* Spirit (Buddha) — cap visual size and tighten padding. */
    [data-theme="heritage"].hvb-home .spirit { padding: 56px 16px; }
    [data-theme="heritage"].hvb-home .spirit-inner { gap: 28px; }
    [data-theme="heritage"].hvb-home .spirit-visual {
        max-width: 240px;
        border-radius: 14px;
    }
    [data-theme="heritage"].hvb-home .spirit-mark {
        width: 44px;
        height: 44px;
        margin-bottom: 12px;
    }
    [data-theme="heritage"].hvb-home .spirit h2 {
        font-size: clamp(1.55rem, 6.4vw, 2.05rem);
        margin-bottom: 14px;
    }
    [data-theme="heritage"].hvb-home .spirit-lede {
        font-size: 1rem;
        line-height: 1.55;
    }
    [data-theme="heritage"].hvb-home .spirit-text p {
        font-size: 0.9rem;
        line-height: 1.65;
    }

    /* Reviews — compact cards, 1 column (3-col was too packed). */
    [data-theme="heritage"].hvb-home .reviews-inner { padding: 56px 16px; }
    [data-theme="heritage"].hvb-home .reviews-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    [data-theme="heritage"].hvb-home .review {
        padding: 14px 14px 12px;
        gap: 8px;
        border-radius: 12px;
    }
    [data-theme="heritage"].hvb-home .review-stars svg { width: 12px; height: 12px; }
    [data-theme="heritage"].hvb-home .review-product { font-size: 0.62rem; letter-spacing: 0.06em; }
    [data-theme="heritage"].hvb-home .review-body {
        font-size: 0.85rem;
        line-height: 1.5;
    }
    [data-theme="heritage"].hvb-home .review-author {
        gap: 8px;
        padding-top: 10px;
    }
    [data-theme="heritage"].hvb-home .review-avatar {
        width: 28px;
        height: 28px;
        font-size: 0.75rem;
    }
    [data-theme="heritage"].hvb-home .review-author-name { font-size: 0.78rem; }
    [data-theme="heritage"].hvb-home .review-author-meta { font-size: 0.66rem; }
    [data-theme="heritage"].hvb-home .review-verified { font-size: 0.62rem; }
    [data-theme="heritage"].hvb-home .review-verified svg { width: 10px; height: 10px; }
    [data-theme="heritage"].hvb-home .reviews-empty { padding: 24px 16px; }

    /* Final CTA "Ready when you are" — minimal padding, no big empty
       space top/bottom. The default was 120px each side on desktop;
       phones don't need that breathing room. */
    [data-theme="heritage"].hvb-home .final-cta {
        padding: 28px 16px;
    }
    [data-theme="heritage"].hvb-home .final-cta .eyebrow {
        margin-bottom: 12px;
    }
    [data-theme="heritage"].hvb-home .final-cta h2 {
        font-size: clamp(1.55rem, 6.6vw, 1.95rem);
        margin: 8px 0 10px;
    }
    [data-theme="heritage"].hvb-home .final-cta p {
        font-size: 0.92rem;
        line-height: 1.5;
        margin: 0 auto 16px;
    }
    [data-theme="heritage"].hvb-home .final-cta .btn-primary {
        padding: 12px 22px;
        font-size: 0.88rem;
    }

    /* =================================================================
       AUDIT FIXES — additional card classes to compress on phones.
       Keeps these in lockstep with the existing card-shrink list above.
       ================================================================= */
    [data-theme="heritage"] .spot-card,
    [data-theme="heritage"] .compare-card,
    [data-theme="heritage"] .how-card,
    [data-theme="heritage"] .comm-card,
    [data-theme="heritage"] .persona-card,
    [data-theme="heritage"] .balance-card,
    [data-theme="heritage"] .offer-card,
    [data-theme="heritage"] .review {
        /* offer-card and .review already locally tightened above for
           home; this block ensures they are tightened on other Heritage
           pages that may reuse the class names. */
    }
    [data-theme="heritage"] .spot-card,
    [data-theme="heritage"] .compare-card,
    [data-theme="heritage"] .how-card,
    [data-theme="heritage"] .comm-card,
    [data-theme="heritage"] .persona-card,
    [data-theme="heritage"] .balance-card {
        padding: 22px 20px;
        border-radius: 16px;
    }

    /* Stats rows (about-us, meet-the-founder, premium landing) */
    [data-theme="heritage"] .split-stats,
    [data-theme="heritage"] .hero-stats,
    [data-theme="heritage"] .stat-row {
        gap: 18px;
    }
    [data-theme="heritage"] .stat-num {
        font-size: clamp(1.5rem, 6vw, 2rem);
    }
    [data-theme="heritage"] .stat-lbl {
        font-size: 0.7rem;
    }

    /* Final CTA — very common pattern with 120px vertical padding */
    [data-theme="heritage"] .final-cta-inner {
        padding-top: 64px;
        padding-bottom: 64px;
        padding-left: 18px;
        padding-right: 18px;
    }
    [data-theme="heritage"] .final-cta-inner h2.display {
        font-size: clamp(1.7rem, 7vw, 2.4rem);
    }
    [data-theme="heritage"] .final-cta-row {
        flex-direction: column;
        gap: 12px;
        align-items: stretch;
    }
    [data-theme="heritage"] .final-cta-row .btn {
        width: 100%;
        justify-content: center;
    }

    /* Section divider */
    [data-theme="heritage"] .section-divider {
        padding: 16px;
    }
    [data-theme="heritage"] .section-divider-mark {
        font-size: 0.74rem;
        letter-spacing: 0.24em;
    }

    /* Trust chips — many heroes carry a row of these */
    [data-theme="heritage"] .trust-chip {
        font-size: 0.78rem;
        padding: 6px 12px;
    }

    /* Top announcement strip (free shipping etc.) */
    [data-theme="heritage"].hvb-FAQ-top-strip,
    [data-theme="heritage"].hvb-contact-us-top-strip,
    [data-theme="heritage"].hvb-about-us-top-strip,
    [data-theme="heritage"].hvb-meet-the-founder-top-strip,
    [data-theme="heritage"].hvb-wholesale-top-strip,
    [data-theme="heritage"].hvb-premium-top-strip,
    [data-theme="heritage"].hvb-product-reviews-top-strip,
    [data-theme="heritage"].hvb-checkout-top-strip,
    [data-theme="heritage"].hvb-cart-top-strip,
    [data-theme="heritage"].hvb-blog-top-strip,
    [data-theme="heritage"].hvb-home-top-strip {
        font-size: 0.72rem;
        gap: 8px;
        flex-wrap: wrap;
        padding: 8px 16px;
        text-align: center;
        justify-content: center;
    }
}

/* -----------------------------------------------------------------
   ≤ 380px — small phone portrait (iPhone SE 4.7", small Androids)
   Final tightening for the smallest viewports we realistically
   target.
   ----------------------------------------------------------------- */
@media (max-width: 380px) {
    [data-theme="heritage"] .wrap {
        padding-top: 44px;
        padding-bottom: 44px;
        padding-left: 14px;
        padding-right: 14px;
    }
    [data-theme="heritage"] .hero {
        padding-top: 32px;
        padding-bottom: 40px;
        padding-left: 14px;
        padding-right: 14px;
    }
    [data-theme="heritage"] .hero h1.display,
    [data-theme="heritage"] .hero .display {
        font-size: clamp(1.5rem, 7vw, 2rem);
    }
    [data-theme="heritage"] .sec-head h2.display,
    [data-theme="heritage"] section h2.display {
        font-size: clamp(1.4rem, 6.6vw, 1.85rem);
    }
    [data-theme="heritage"] .pillar,
    [data-theme="heritage"] .cred-card,
    [data-theme="heritage"] .team-card,
    [data-theme="heritage"] .audience-card,
    [data-theme="heritage"] .method-card,
    [data-theme="heritage"] .quality-item,
    [data-theme="heritage"] .form-card,
    [data-theme="heritage"] .shortcut-card,
    [data-theme="heritage"] .hl-card,
    [data-theme="heritage"] .cert-card,
    [data-theme="heritage"] .badge-card,
    [data-theme="heritage"] .tier-card,
    [data-theme="heritage"] .info-card,
    [data-theme="heritage"] .step-card,
    [data-theme="heritage"] .review-card,
    [data-theme="heritage"] .first-card,
    [data-theme="heritage"] .test-item {
        padding: 16px 14px;
        border-radius: 14px;
    }
    [data-theme="heritage"] .final-cta-inner {
        padding-top: 52px;
        padding-bottom: 52px;
    }
    [data-theme="heritage"] .btn {
        padding: 12px 18px;
        font-size: 0.9rem;
    }

    /* Tightest product/COA grids on smallest phones */
    [data-theme="heritage"].hvb-products .products-grid,
    [data-theme="heritage"].hvb-products #grid-variety,
    [data-theme="heritage"].hvb-products .lab-metrics,
    [data-theme="heritage"].hvb-coas .test-grid,
    [data-theme="heritage"].hvb-coas .coa-grid-wrap .coa-fe-grid {
        gap: 8px;
    }
    [data-theme="heritage"].hvb-products .tpcard-body {
        padding: 10px 10px 12px;
    }
    [data-theme="heritage"].hvb-products .tpcard h3 { font-size: 0.88rem; }
    [data-theme="heritage"].hvb-products .tpcard-desc { font-size: 0.72rem; }
    [data-theme="heritage"].hvb-products .tpcard-price { font-size: 0.88rem; }
    [data-theme="heritage"].hvb-products .tpcard-link { font-size: 0.62rem; }
    [data-theme="heritage"].hvb-coas .coa-grid-wrap { padding: 14px 8px; }
    [data-theme="heritage"].hvb-coas .coa-grid-wrap .coa-fe-card-header { padding: 10px; }
    [data-theme="heritage"].hvb-coas .coa-grid-wrap .coa-fe-card-body { padding: 8px 10px 12px; }

    /* Turnstile widget is locked at 300px by Cloudflare. At <=380px
       even with form-card padding stripped the iframe is too wide.
       Apply transform: scale to the WRAPPER (not the iframe), with
       origin at top-left so the visible portion stays anchored to
       the left edge of the form card — never clips on either side. */
    [data-theme="heritage"] .cf-turnstile {
        transform: scale(0.85);
        transform-origin: 0 0;
        height: 56px; /* compensate for scaled height (65px * 0.85). */
        margin-bottom: 8px;
    }

    /* And remove every last px of contact-form padding on the
       smallest phones so the unscaled Turnstile case still fits. */
    [data-theme="heritage"].hvb-contact-us .contact-form,
    [data-theme="heritage"].hvb-contact-us .form-card {
        padding-left: 8px;
        padding-right: 8px;
    }
}