/* =========================================================
   MOBILE COMPACT PASS
   Load AFTER app.css and site-fixes.css
   Desktop is untouched.
========================================================= */

@media (max-width: 760px) {
    html, body { overflow-x: hidden; }
    body { font-size: 14px; line-height: 1.55; }

    main > section,
    main > article,
    .site-footer { width: calc(100% - 24px); }

    /* HEADER */
    .site-header-inner { min-height: 58px; padding: 7px 0; gap: 8px; }
    .site-logo { height: 28px; max-width: 125px; }
    .site-name { max-width: 118px; font-size: 12px; }
    .mobile-menu-button,
    .cart-link {
        width: 42px; min-width: 42px; height: 42px; min-height: 42px;
    }
    .site-nav a { min-height: 48px; padding: 0 16px; font-size: 13px; }

    /* HERO */
    .hero-section { padding-top: 14px; padding-bottom: 32px; }
    .hero-meta { gap: 3px; padding: 0 0 10px !important; font-size: 9px; }
    .hero-layout { border-left: 0; }
    .hero-copy {
        min-height: 0 !important;
        padding: 24px 0 !important;
        justify-content: flex-start !important;
    }
    .hero-copy h1 {
        max-width: 100%;
        font-size: clamp(34px, 10vw, 46px) !important;
        line-height: 1 !important;
        letter-spacing: -0.045em !important;
    }
    .hero-description {
        max-width: 100%;
        margin-top: 16px !important;
        font-size: 15px !important;
        line-height: 1.55 !important;
    }
    .hero-product-choice { display: block !important; }
    .hero-product {
        min-height: 0 !important;
        grid-template-columns: 24px minmax(0, 1fr) auto !important;
        gap: 10px !important;
        padding: 15px 12px !important;
    }
    .hero-product > span { font-size: 9px; }
    .hero-product strong { font-size: 16px; line-height: 1.2; }
    .hero-product small { font-size: 11px; line-height: 1.35; }
    .hero-product > b { font-size: 17px; }

    /* GLOBAL SECTIONS */
    .home-section,
    #modules,
    #packages,
    .expert-section,
    .final-cta {
        padding-top: 36px;
        padding-bottom: 36px;
    }
    .section-heading { margin-bottom: 20px; }
    .section-heading p { font-size: 14px; line-height: 1.55; }
    section h2 {
        margin-bottom: 16px;
        font-size: clamp(25px, 8vw, 32px);
        line-height: 1.05;
    }
    section h3 { line-height: 1.25; }
    .eyebrow { margin-bottom: 7px; font-size: 9px; }

    /* THREE COLUMNS */
    .three-columns-grid { display: block; border-left: 0; }
    .three-column-item { min-height: 0; padding: 18px 0; border-right: 0; }
    .three-column-number { margin-bottom: 10px; }
    .three-column-item h2 { margin-bottom: 7px; font-size: 19px; }
    .three-column-item p { margin-bottom: 0; font-size: 14px; line-height: 1.5; }

    /* BUYING CHOICE */
    .choice-grid { display: block; border-left: 0; }
    .choice-card {
        min-height: 0;
        padding: 19px 0;
        background: transparent;
        border-right: 0;
    }
    .choice-card h3 { margin-bottom: 8px; font-size: 20px; }
    .choice-card p {
        margin-bottom: 12px;
        font-size: 14px;
        line-height: 1.5;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
    }
    .choice-price { margin-top: 14px; margin-bottom: 14px; font-size: 20px; }
    .choice-card a { min-height: 46px; }

    /* FULL PROGRAM ON HOME */
    .program-home-main,
    .program-home-price,
    .full-program-home-description,
    .full-program-home-action { padding: 18px 0; }

    .program-home-count { margin-bottom: 14px; }
    .program-home-count strong { font-size: 30px; }

    .program-home-modules {
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 14px;
    }
    .program-home-module {
        grid-template-columns: 22px minmax(0, 1fr);
        gap: 6px;
        padding: 8px 0;
    }
    .program-home-module > span { font-size: 9px; }
    .program-home-module > strong { font-size: 12px; line-height: 1.3; }

    .program-price-row { min-height: 48px; }
    .program-price-row span { font-size: 11px; }
    .program-price-row strong { font-size: 15px; }
    .program-price-main strong { font-size: 19px; }
    .program-home-price .cta-secondary,
    .program-home-price .cta-primary { min-height: 46px; }
    .program-home-price .cta-secondary { margin-top: 16px; }

    .full-program-home-facts {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .full-program-home-facts > div { min-height: 78px; padding: 10px 8px; }
    .full-program-home-facts span { font-size: 9px; }
    .full-program-home-facts strong { font-size: 15px; }

    /* PACKAGES */
    .package-card-info,
    .packages-count-1 .package-card-info { padding: 20px 0; }

    .package-card-purchase,
    .packages-count-1 .package-card-purchase { padding: 0 0 22px; }

    .package-sales-card h3 { margin-bottom: 8px !important; font-size: 20px !important; }

    .package-task {
        min-height: 0;
        margin-bottom: 14px !important;
        font-size: 14px;
        line-height: 1.5;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
    }

    .package-module-list { margin-bottom: 16px; }
    .package-module-row {
        grid-template-columns: 24px minmax(0, 1fr);
        gap: 6px;
        padding: 8px 0;
    }
    .package-module-row > strong { font-size: 12px; line-height: 1.3; }

    .package-pricing { margin-bottom: 14px; }
    .package-pricing > div { min-height: 46px; }
    .package-pricing span { font-size: 11px; }
    .package-pricing strong { font-size: 14px; }
    .package-pricing .package-main-price { font-size: 18px; }

    .package-sales-card .catalog-actions {
        grid-template-columns: 1fr 1fr;
        gap: 6px;
    }
    .package-sales-card .catalog-details,
    .package-sales-card .catalog-buy {
        min-height: 44px;
        padding: 0 8px !important;
        font-size: 12px;
    }

    /* MODULE SHOWCASE */
    .modules-grid { display: block !important; border-left: 0; }
    .module-card {
        min-height: 0 !important;
        padding: 16px 0 !important;
        background: transparent !important;
        border-right: 0 !important;
    }
    .module-card-head { gap: 8px; }
    .module-card-body { margin-top: 7px; }
    .module-card-body h3 {
        margin-bottom: 0 !important;
        font-size: 18px !important;
        line-height: 1.2 !important;
    }
    #modules .module-card-body p { display: none !important; }
    .module-card-footer { padding-top: 12px; }
    .module-card .catalog-price { margin-bottom: 10px; font-size: 20px; }

    .module-card .catalog-actions {
        grid-template-columns: 1fr 1fr;
        gap: 6px;
    }
    .module-card .catalog-details,
    .module-card .catalog-buy {
        min-height: 42px;
        padding: 0 8px !important;
        font-size: 12px;
    }

    /* PROCESS */
    .process-grid { display: block; border-left: 0; }
    .process-grid article {
        min-height: 0;
        padding: 17px 0;
        background: transparent;
        border-right: 0;
    }
    .process-number { margin-bottom: 8px; }
    .process-grid article h3 { margin-bottom: 6px; font-size: 18px; }
    .process-grid article p { margin-bottom: 0; font-size: 14px; line-height: 1.5; }

    /* METHODOLOGY / OBJECTIONS */
    .methodology-section { display: block; }
    .methodology-text { font-size: 14px; line-height: 1.6; }

    .objections-section .objections-grid { display: block; border-left: 0; }
    .objections-grid article {
        min-height: 0;
        padding: 18px 0;
        background: transparent;
        border-right: 0;
    }
    .objections-grid article h3 {
        margin-bottom: 6px;
        font-size: 18px;
        line-height: 1.3;
    }
    .objections-grid article p { margin-bottom: 0; font-size: 14px; line-height: 1.5; }

    /* FINAL CHOICE */
    .final-choice { padding-bottom: 38px; }
    .final-choice-grid { display: block; border-left: 0; }
    .final-choice-card {
        min-height: 0;
        padding: 18px 0;
        background: transparent;
        border-right: 0;
    }
    .final-choice-card > span { margin-bottom: 10px; }
    .final-choice-card strong { margin-bottom: 6px; font-size: 18px; }
    .final-choice-card p { margin-bottom: 0; font-size: 14px; line-height: 1.5; }
    .final-choice-card b { margin-top: 12px; font-size: 13px; }

    /* PRODUCT / MODULE DETAIL */
    .product-page { padding: 24px 0 40px !important; }
    .product-back-link { margin-bottom: 16px; }
    .product-hero { grid-template-columns: 1fr; }
    .product-visual,
    .product-info { min-height: 0; }
    .product-visual { aspect-ratio: 16 / 10; }
    .product-info { padding: 22px; }
    .product-info h1 {
        margin: 8px 0 14px;
        font-size: clamp(30px, 9vw, 40px);
    }
    .product-lead { font-size: 15px; line-height: 1.55; }
    .product-buy-box { margin-top: 24px; padding-top: 18px; }
    .product-buy-price { margin-bottom: 14px; font-size: 26px; }
    .product-buy-box .primary-button { width: 100%; }
    .product-content-section {
        margin-top: 20px !important;
        padding: 28px 0 !important;
    }
    .product-description { font-size: 14px; line-height: 1.65; }

    /* PACKAGE / PROGRAM DETAIL */
    .package-detail-header,
    .program-page-header,
    .full-program-hero { grid-template-columns: 1fr; }

    .package-detail-header > div,
    .program-page-header > div,
    .full-program-copy { padding: 22px; }

    .package-detail-header h1,
    .program-page-header h1,
    .full-program-copy h1 { font-size: clamp(30px, 9vw, 42px); }

    .package-detail-module,
    .program-page-module,
    .full-program-module-card {
        min-height: 0;
        padding: 14px !important;
        gap: 10px;
    }

    .package-detail-module {
        grid-template-columns: 28px minmax(0, 1fr) auto;
    }

    .full-program-stats { gap: 14px; padding-top: 20px; }
    .full-program-final {
        margin-top: 24px !important;
        padding: 26px 0 !important;
        gap: 20px;
    }

    /* CART / CHECKOUT */
    .cart-page,
    .checkout-page { padding: 30px 0 !important; }

    .checkout-heading { margin-bottom: 22px; }

    .checkout-heading h1,
    .empty-state h1,
    .order-success h1 {
        font-size: clamp(30px, 9vw, 40px);
    }

    .cart-layout,
    .checkout-layout {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .cart-item {
        min-height: 0;
        gap: 12px;
        padding: 16px 0;
    }
    .cart-item h2 { margin-bottom: 6px; font-size: 18px; }

    .order-summary,
    .checkout-form-card { padding: 20px; }

    .form-field { margin-bottom: 14px; }

    input,
    textarea,
    select {
        min-height: 46px;
        padding: 11px 12px;
    }

    .summary-row { margin-top: 16px; }
    .summary-total { margin-top: 16px; padding-top: 16px; }

    .success-order-data { margin: 22px 0; }
    .success-order-data > div { padding: 14px; }

    /* STATIC PAGES */
    main > article:not(.product-page) { padding: 32px 0; }
    main > article:not(.product-page) > h1 {
        margin: 16px 0 22px;
        font-size: clamp(30px, 9vw, 42px);
    }
    main > article:not(.product-page) > div {
        font-size: 14px;
        line-height: 1.65;
    }

    /* FOOTER */
    .site-footer {
        margin-top: 24px;
        padding-top: 26px;
        padding-bottom: 22px;
    }
    .footer-grid { gap: 20px; }
    .footer-text { margin-top: 10px; font-size: 13px; line-height: 1.5; }
    .footer-grid strong { margin-bottom: 8px; }
    .footer-links a { min-height: 38px; font-size: 13px; }
    .footer-bottom {
        margin-top: 22px;
        padding-top: 14px;
        gap: 4px;
    }
}

/* VERY SMALL PHONES */
@media (max-width: 390px) {
    main > section,
    main > article,
    .site-footer {
        width: calc(100% - 20px);
    }

    .hero-copy h1 { font-size: 34px !important; }
    .hero-product {
        grid-template-columns: 22px minmax(0, 1fr) auto !important;
    }

    .program-home-modules { grid-template-columns: 1fr; }

    .package-sales-card .catalog-actions,
    .module-card .catalog-actions {
        grid-template-columns: 1fr 1fr;
    }
}
