/**
 * Artham Home — Mobile-only premium UI (max-width: 768px)
 * Desktop (769px+) is intentionally unchanged via min-width restore rules.
 */

@media (max-width: 768px) {
    /* ── Global mobile tokens ── */
    body.page-home {
        --mob-radius: 18px;
        --mob-shadow: 0 8px 32px rgba(15, 36, 84, 0.12);
        --mob-shadow-sm: 0 4px 18px rgba(15, 36, 84, 0.08);
        --mob-gap: 28px;
        padding-bottom: calc(120px + env(safe-area-inset-bottom, 0px));
    }

    body.page-home .container {
        padding: 0 16px;
    }

    .mob-section,
    .mob-reviews,
    .mob-order-block {
        padding-top: var(--mob-gap);
        padding-bottom: var(--mob-gap);
    }

    .mob-heading {
        margin-bottom: 16px;
        font-size: 20px;
    }

    /* ── 3. Top trust bar — 2 rows, larger icons ── */
    .top-bar--premium-grid {
        display: flex;
        flex-direction: column;
        gap: 6px;
        padding: 10px 12px;
    }

    .top-bar__row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px 12px;
    }

    .top-bar__item--icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        font-size: 10px;
        font-weight: 700;
        line-height: 1.2;
        white-space: normal;
        text-align: left;
    }

    .top-bar__item--icon img {
        width: 20px;
        height: 20px;
        flex-shrink: 0;
        filter: brightness(0) invert(1);
        opacity: 0.95;
    }

    /* ── 1–2. Hero ── */
    .mob-hero {
        padding-top: 16px;
        padding-bottom: var(--mob-gap);
    }

    .mob-hero__title {
        font-size: 34px;
        line-height: 1.25;
        letter-spacing: -0.02em;
        margin-bottom: 8px;
    }

    .mob-hero__bottle-wrap--center {
        min-height: 320px;
        margin-bottom: 16px;
    }

    .mob-hero__bottle {
        max-width: min(300px, 90vw);
        min-width: 225px;
        max-height: 400px;
    }

    .mob-hero__glow {
        max-width: 340px;
    }

    .mob-hero__seal-img {
        width: 72px;
        height: 72px;
        right: max(0px, calc(50% - 158px));
    }

    .mob-hero__cta {
        display: flex;
        width: 100%;
        max-width: 100%;
        justify-content: center;
        align-items: center;
        padding: 16px 20px !important;
        font-size: 17px !important;
        border-radius: var(--mob-radius) !important;
        box-shadow: var(--mob-shadow);
    }

    .mob-hero__icon-circle {
        width: 48px;
        height: 48px;
        border-color: rgba(31, 59, 130, 0.12);
        box-shadow: var(--mob-shadow-sm);
    }

    .mob-hero__icon-circle img {
        width: 26px;
        height: 26px;
    }

    .mob-hero__trust--icons {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        margin-top: 14px;
        padding: 12px;
        background: var(--brand-bg);
        border-radius: var(--mob-radius);
        box-shadow: var(--mob-shadow-sm);
    }

    .mob-hero__trust--icons span {
        font-size: 10px;
        font-weight: 700;
        color: var(--brand-secondary);
    }

    .mob-hero__trust--icons img {
        width: 18px;
        height: 18px;
    }

    /* ── 4. Problem / symptom cards ── */
    .mob-symptoms {
        gap: 12px;
    }

    .mob-symptom {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        min-height: 168px;
        padding: 16px 12px;
        border-radius: var(--mob-radius);
        border: 1px solid var(--border);
        box-shadow: var(--mob-shadow-sm);
        background: #fff;
        text-align: center;
    }

    .mob-symptom img {
        width: 72px;
        height: 72px;
        object-fit: contain;
        margin-bottom: 10px;
        flex-shrink: 0;
    }

    .mob-symptom__title {
        font-size: 16px;
        font-weight: 700;
        color: var(--brand-secondary);
        line-height: 1.35;
        margin: 0;
    }

    /* ── 5. Benefits premium cards ── */
    .mob-benefits-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        margin-bottom: var(--mob-gap);
    }

    .mob-benefit-card {
        display: flex;
        align-items: flex-start;
        gap: 14px;
        padding: 16px;
        background: #fff;
        border-radius: var(--mob-radius);
        border: 1px solid var(--border);
        box-shadow: var(--mob-shadow-sm);
    }

    .mob-benefit-card__check {
        width: 32px;
        height: 32px;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        background: rgba(46, 139, 87, 0.12);
        border-radius: 50%;
    }

    .mob-benefit-card__check img {
        width: 18px;
        height: 18px;
    }

    .mob-benefit-card p {
        margin: 0;
        font-size: 14px;
        font-weight: 600;
        line-height: 1.45;
        color: var(--text-secondary);
    }

    /* ── 6. Ingredients horizontal swipe ── */
    .mob-ing-list--swipe {
        display: flex;
        flex-direction: row;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        gap: 14px;
        padding: 4px 2px 12px;
        margin: 0 -16px;
        padding-left: 16px;
        padding-right: 16px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .mob-ing-list--swipe::-webkit-scrollbar {
        display: none;
    }

    .mob-ing-list--swipe .mob-ing-list__item {
        flex: 0 0 min(78vw, 280px);
        scroll-snap-align: start;
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 18px 14px;
        border-radius: var(--mob-radius);
        box-shadow: var(--mob-shadow);
        border: 1px solid var(--border);
        background: #fff;
    }

    .mob-ing-list--swipe .mob-ing-list__item img {
        width: 72px;
        height: 72px;
        margin-bottom: 10px;
    }

    .mob-ing-list--swipe .mob-ing-list__item h3 {
        font-size: 15px;
        margin-bottom: 6px;
    }

    .mob-ing-list--swipe .mob-ing-list__item p {
        font-size: 12px;
        line-height: 1.45;
    }

    .mob-ing-scroll-hint {
        text-align: center;
        font-size: 11px;
        font-weight: 600;
        color: var(--text-muted);
        margin: -4px 0 12px;
    }

    /* ── 7. Reviews carousel ── */
    .mob-reviews__track {
        gap: 12px;
        padding-right: 8px;
    }

    .mob-reviews__track .review-item {
        flex: 0 0 88%;
        scroll-snap-align: center;
        min-height: 180px;
        padding: 20px;
        border-radius: var(--mob-radius);
        box-shadow: var(--mob-shadow);
        border: 1px solid var(--border);
    }

    .mob-reviews__track .review-item__avatar,
    .mob-reviews__track .review-item__avatar--photo {
        width: 52px;
        height: 52px;
    }

    .mob-reviews__track .review-item__name {
        font-size: 15px;
        font-weight: 700;
    }

    .mob-reviews__track .review-item__text {
        font-size: 14px;
        line-height: 1.55;
        margin-top: 10px;
    }

    .mob-reviews__nav {
        margin-top: 14px;
    }

    .mob-reviews__arrow {
        width: 40px;
        height: 40px;
        box-shadow: var(--mob-shadow-sm);
    }

    /* ── 8. Premium offer card ── */
    .mob-offer-premium {
        position: relative;
        background: linear-gradient(180deg, #fff 0%, var(--brand-bg) 100%);
        border: 1px solid var(--border);
        border-radius: var(--mob-radius);
        box-shadow: var(--mob-shadow);
        padding: 20px 16px 18px;
        margin-bottom: var(--mob-gap);
        overflow: hidden;
    }

    .mob-offer-premium__ribbon {
        position: absolute;
        top: 16px;
        left: -28px;
        transform: rotate(-35deg);
        background: linear-gradient(90deg, #dc2626, #b91c1c);
        color: #fff;
        font-size: 10px;
        font-weight: 800;
        padding: 6px 40px;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        box-shadow: 0 4px 12px rgba(220, 38, 38, 0.35);
    }

    .mob-offer-premium__deal {
        display: inline-block;
        background: linear-gradient(135deg, var(--brand-primary), var(--brand-secondary));
        color: #fff;
        font-size: 15px;
        font-weight: 800;
        padding: 8px 18px;
        border-radius: 999px;
        margin-bottom: 12px;
    }

    .mob-offer-premium__visual img {
        max-height: 200px;
        width: auto;
        max-width: 100%;
        object-fit: contain;
        margin: 8px auto 12px;
        display: block;
        filter: drop-shadow(0 12px 24px rgba(15, 36, 84, 0.15));
    }

    .mob-offer-premium__pack {
        font-size: 13px;
        font-weight: 600;
        color: var(--text-muted);
        margin-bottom: 12px;
    }

    .mob-offer-premium__pricing {
        display: flex;
        align-items: baseline;
        justify-content: center;
        flex-wrap: wrap;
        gap: 8px 12px;
        margin-bottom: 8px;
    }

    .mob-offer-premium__mrp {
        font-size: 18px;
        color: #9ca3af;
        text-decoration: line-through;
        font-weight: 600;
    }

    .mob-offer-premium__price {
        font-size: 40px;
        font-weight: 800;
        color: var(--brand-secondary);
        line-height: 1;
    }

    .mob-offer-premium__save {
        display: inline-block;
        background: rgba(46, 139, 87, 0.12);
        color: var(--brand-accent);
        font-size: 12px;
        font-weight: 800;
        padding: 4px 10px;
        border-radius: 999px;
        margin-bottom: 14px;
    }

    .mob-offer-premium__cta {
        display: flex;
        width: 100%;
        justify-content: center;
        align-items: center;
        padding: 16px 20px !important;
        font-size: 17px !important;
        font-weight: 800 !important;
        border-radius: var(--mob-radius) !important;
        margin-bottom: 14px;
        box-shadow: 0 12px 28px rgba(46, 139, 87, 0.35);
    }

    .mob-offer-trust--badges img {
        max-width: min(150px, 46vw);
    }

    /* ── 9. Sticky bottom bar ── */
    .mob-sticky-bar {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto auto;
        gap: 8px;
        padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
        background: #fff;
        border-top: 1px solid var(--border);
        box-shadow: 0 -8px 32px rgba(15, 36, 84, 0.12);
    }

    .mob-sticky-bar__order {
        grid-column: 1 / -1;
        display: flex;
        align-items: center;
        justify-content: center;
        background: linear-gradient(135deg, var(--brand-accent), var(--emerald-dark));
        color: #fff;
        border: none;
        border-radius: var(--mob-radius);
        padding: 14px 16px;
        font-size: 15px;
        font-weight: 800;
        text-decoration: none;
        font-family: inherit;
        box-shadow: 0 6px 16px rgba(46, 139, 87, 0.35);
        line-height: 1.2;
    }

    .mob-sticky-bar__offer {
        color: var(--brand-secondary);
        line-height: 1.15;
        align-self: center;
    }

    .mob-sticky-bar__offer strong {
        font-size: 10px;
        color: var(--text-muted);
        font-weight: 700;
    }

    .mob-sticky-bar__offer span {
        font-size: 15px;
        color: var(--brand-accent);
    }

    .mob-sticky-bar__wa,
    .mob-sticky-bar__call {
        width: 48px;
        height: 48px;
        padding: 0;
        border-radius: 50%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        font-size: 0;
    }

    .mob-sticky-bar__wa {
        background: #25D366;
        color: #fff;
    }

    .mob-sticky-bar__call {
        background: var(--brand-accent);
        color: #fff;
    }

    .mob-sticky-bar__wa svg,
    .mob-sticky-bar__call svg {
        width: 20px;
        height: 20px;
    }

    /* Hide desktop-only blocks on mobile */
    .mob-offer-pack--desktop,
    .mob-checklist--benefits,
    .site-footer__grid--desktop {
        display: none !important;
    }

    .site-footer__grid--accordion {
        display: block;
    }
    .site-footer--home-ref {
        padding-top: 20px;
        padding-bottom: 8px;
    }

    .site-footer--home-ref .site-footer__brandblock {
        padding-bottom: 14px;
        margin-bottom: 0;
    }

    .site-footer--home-ref .site-footer__tagline {
        font-size: 12px;
        margin: 6px 0 10px;
    }

    .site-footer__grid--accordion {
        display: block;
        padding: 0 16px;
    }

    .site-footer__acc {
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    }

    .site-footer__acc summary {
        list-style: none;
        cursor: pointer;
        padding: 12px 28px 12px 0;
        position: relative;
        font-size: 13px;
        font-weight: 700;
        color: #fff;
    }

    .site-footer__acc summary::-webkit-details-marker {
        display: none;
    }

    .site-footer__acc summary::after {
        content: '+';
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        font-size: 18px;
        font-weight: 400;
        opacity: 0.7;
    }

    .site-footer__acc[open] summary::after {
        content: '−';
    }

    .site-footer__acc-body {
        padding: 0 0 12px;
        font-size: 12px;
    }

    .site-footer__acc-body ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .site-footer__acc-body li {
        margin-bottom: 8px;
    }

    .site-footer__acc-body a {
        color: rgba(255, 255, 255, 0.82);
        text-decoration: none;
        font-size: 12px;
    }

    .site-footer__acc-body p {
        margin: 0 0 6px;
        font-size: 12px;
    }

    .site-footer--home-ref .site-footer__bottom {
        padding: 12px 16px;
        font-size: 11px;
    }

    /* ── Shared card polish ── */
    .mob-doctor--card .mob-doctor__card,
    .mob-order .order-section,
    .mob-faq__item,
    .mob-final-cta__box {
        border-radius: var(--mob-radius);
        box-shadow: var(--mob-shadow-sm);
    }

    .mob-faq__item {
        border-radius: var(--mob-radius);
        box-shadow: var(--mob-shadow-sm);
    }

    .mob-guarantee {
        padding: var(--mob-gap) 0;
    }

    /* ── 13. Image sharpness ── */
    .mob-hero__bottle,
    .mob-symptom img,
    .mob-ing-list__item img,
    .mob-offer-premium__visual img,
    .review-item__avatar--photo {
        image-rendering: -webkit-optimize-contrast;
    }

    .mob-img-sharp {
        transform: translateZ(0);
        backface-visibility: hidden;
    }
}

/* ── Desktop restore (769px+) — keep existing desktop layout ── */
@media (min-width: 769px) {
    .top-bar--premium-grid .top-bar__row {
        display: contents;
    }

    .top-bar--premium-grid {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
    }

    .top-bar__item--icon img {
        display: none;
    }

    .mob-benefits-grid {
        display: none;
    }

    .mob-checklist--benefits {
        display: flex !important;
    }

    .mob-ing-scroll-hint {
        display: none;
    }

    .mob-ing-list--swipe {
        display: flex;
        flex-direction: column;
        overflow: visible;
        scroll-snap-type: none;
        margin: 0;
        padding: 0;
        gap: 0;
    }

    .mob-ing-list--swipe .mob-ing-list__item {
        flex: none;
        width: 100%;
        flex-direction: row;
        text-align: left;
        box-shadow: none;
        border-radius: 0;
        border: none;
        border-bottom: 1px solid #e5e7eb;
        padding: 12px 0;
    }

    .mob-offer-premium {
        display: none;
    }

    .mob-offer-pack--desktop {
        display: block !important;
    }

    .site-footer__grid--accordion {
        display: none !important;
    }

    .site-footer__grid--desktop {
        display: grid;
    }

    .mob-symptom__title {
        font-size: inherit;
        font-weight: inherit;
    }

    .mob-symptom h3.mob-symptom__title {
        font-size: 13px;
    }
}
