/* ────────────────────────────────────────────────────────────────────
   landing-mobile.css
   P1 mobile landing redesign (storytelling, single-scroll).

   Loaded by index.html alongside landing.css. Desktop styles untouched.
   Strategy:
     - .landing-mobile-only: hidden by default, shown at <=767px only.
     - .landing-desktop-only: hidden at <=767px so existing heavy
       sections (story-stack, landing-pricing-cards, mobile-pricing-picker)
       drop out cleanly on phone widths.

   TYPOGRAPHY: all font-size values consume the --type-* tokens defined
   in css/style.css :root. See docs/prd-landing-page-typography.md for
   the scale and Hindi adjustment.
   ──────────────────────────────────────────────────────────────────── */

.landing-mobile-only { display: none; }

@media (max-width: 767px) {
    .landing-mobile-only { display: block; }
    .landing-desktop-only { display: none !important; }
}

/* ── Pain section — "Sound familiar?" ─────────────────────────────── */
.landing-mobile-pain {
    padding: 22px 18px 26px;
    background: #fdf7f0;
}
.landing-mobile-pain .lm-eyebrow {
    display: inline-block;
    padding: 3px 9px; border-radius: 999px;
    background: #fff; color: #d97706;
    font-size: var(--type-eyebrow); font-weight: 700;
    letter-spacing: 0.06em; text-transform: uppercase;
    line-height: var(--type-eyebrow-lh);
    margin-bottom: 10px;
}
.landing-mobile-pain h2 {
    font-size: var(--type-h1); font-weight: 800;
    line-height: var(--type-h1-lh);
    color: #17172a; margin-bottom: 4px;
}
.landing-mobile-pain .lm-sub {
    font-size: var(--type-meta); color: #9a7e5f; font-style: italic;
    line-height: var(--type-meta-lh);
    margin-bottom: 14px;
}
.landing-mobile-pain-pills {
    display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
}
.landing-mobile-pain-pill {
    background: #fff;
    border: 1px solid #f3e7d3;
    border-radius: 12px;
    padding: 12px;
    display: flex; align-items: flex-start; gap: 9px;
}
.landing-mobile-pain-pill .lm-pain-ic {
    width: 18px; height: 18px;
    flex-shrink: 0; color: #e07843; margin-top: 2px;
}
.landing-mobile-pain-pill .lm-pain-ic svg {
    width: 100%; height: 100%; display: block;
    fill: none; stroke: currentColor; stroke-width: 1.8;
    stroke-linecap: round; stroke-linejoin: round;
}
.landing-mobile-pain-pill .lm-pain-text {
    font-size: var(--type-body); line-height: var(--type-body-lh);
    color: #5b6173;
}
.landing-mobile-pain-pill .lm-pain-text strong {
    display: block; color: #17172a;
    font-size: var(--type-body); font-weight: 700;
    margin-bottom: 2px;
}

/* ── Promise callout (single-line big statement + repeat CTA) ───── */
.landing-mobile-promise {
    padding: 26px 18px; text-align: center;
    background: #fff;
}
.landing-mobile-promise h3 {
    font-size: var(--type-h1); font-weight: 800;
    line-height: var(--type-h1-lh);
    color: #17172a; margin-bottom: 14px;
}
.landing-mobile-promise h3 .grad {
    background: linear-gradient(135deg, #6C47FF, #4318D0);
    -webkit-background-clip: text; background-clip: text;
    color: transparent;
}
.landing-mobile-promise .btn {
    display: inline-flex; align-items: center; justify-content: center;
    gap: 6px; padding: 14px 22px; border-radius: 14px;
    background: linear-gradient(135deg, #6C47FF, #4318D0);
    color: #fff; font-weight: 700; font-size: var(--type-h2);
    text-decoration: none;
    box-shadow: 0 6px 18px rgba(108, 71, 255, 0.32);
}

/* ── Mobile features (simpler vertical cards with SVG icons) ───── */
.landing-mobile-features {
    padding: 28px 18px 24px;
    background: linear-gradient(180deg, #fafbfd 0%, #fff 60%);
}
.landing-mobile-features .lm-eyebrow {
    display: inline-block;
    padding: 3px 9px; border-radius: 999px;
    background: #f0ebff; color: #6C47FF;
    font-size: var(--type-eyebrow); font-weight: 700;
    line-height: var(--type-eyebrow-lh);
    letter-spacing: 0.06em; text-transform: uppercase;
    margin-bottom: 8px;
}
.landing-mobile-features h2 {
    font-size: var(--type-h1); font-weight: 800;
    line-height: var(--type-h1-lh);
    color: #17172a; margin-bottom: 18px;
    letter-spacing: -0.3px;
}
.landing-mobile-feat-card {
    background: #fff;
    border: 1px solid #eef0f7;
    border-radius: 16px;
    padding: 16px;
    margin-bottom: 12px;
    display: flex; gap: 14px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}
.landing-mobile-feat-card .lm-feat-icon-wrap {
    width: 42px; height: 42px; flex-shrink: 0;
    border-radius: 12px;
    background: #f0ebff; color: #6C47FF;
    display: grid; place-items: center;
}
.landing-mobile-feat-card .lm-feat-icon-wrap svg {
    width: 22px; height: 22px;
    fill: none; stroke: currentColor; stroke-width: 1.8;
    stroke-linecap: round; stroke-linejoin: round;
}
.landing-mobile-feat-card h4 {
    font-size: var(--type-h2); font-weight: 700;
    line-height: var(--type-h2-lh);
    color: #17172a; margin-bottom: 5px;
}
.landing-mobile-feat-card p {
    font-size: var(--type-body); line-height: var(--type-body-lh);
    color: #5b6173;
}

/* ── WhatsApp mobile banner (replaces heavy .whatsapp-anywhere) ─── */
.landing-mobile-whatsapp {
    /* Symmetric vertical padding so the gap above the banner (features ->
       WA) is the same as the gap below (WA -> How It Works). */
    padding: 28px 16px 24px;
}
.landing-mobile-wa-card {
    display: flex; align-items: center; gap: 14px;
    padding: 16px;
    background: linear-gradient(135deg, #25d366 0%, #128c7e 100%);
    border-radius: 16px;
    color: #fff;
    text-decoration: none;
    box-shadow: 0 8px 22px rgba(18, 140, 126, 0.22);
}
.landing-mobile-wa-card .wa-icon {
    width: 40px; height: 40px;
    flex-shrink: 0;
    background: rgba(255, 255, 255, 0.18);
    border-radius: 50%;
    display: grid; place-items: center;
    color: #fff;
}
.landing-mobile-wa-card .wa-icon svg {
    width: 22px; height: 22px;
}
.landing-mobile-wa-card .wa-text strong {
    display: block; font-size: var(--type-h2); font-weight: 700;
    line-height: var(--type-h2-lh); margin-bottom: 3px; color: #fff;
}
.landing-mobile-wa-card .wa-text span {
    font-size: var(--type-body); line-height: var(--type-body-lh);
    opacity: 0.94; color: #fff;
}

/* ── How It Works — auto-rotate one card at a time on mobile ───── */
/* Reuses the existing .workflow-loop .workflow-step-card markup; the
   existing JS at index.html:1203 already cycles .is-active every 2s.
   We hide all non-active cards entirely so only one is on screen,
   with a fade-up entrance for the active one. */
@media (max-width: 767px) {
    .workflow-loop {
        padding: 28px 0 24px;
    }
    .workflow-loop .container {
        padding-inline: 16px;
    }
    .workflow-loop .workflow-hero {
        padding: 30px 22px 30px !important;
    }
    .workflow-loop .workflow-steps {
        display: block !important;
        grid-template-columns: none !important;
        gap: 0 !important;
        margin: 22px 0 0;
        padding: 0;
    }
    .workflow-loop .workflow-step-card {
        display: none !important;
        padding: 22px 20px !important;
    }
    .workflow-loop .workflow-step-card.is-active {
        display: block !important;
        animation: lm-card-slide-in 0.5s cubic-bezier(0.16, 1, 0.3, 1);
    }
    @keyframes lm-card-slide-in {
        from { opacity: 0; transform: translateX(28px) scale(0.97); }
        to   { opacity: 1; transform: translateX(0)    scale(1); }
    }
    /* Dot indicators below the card */
    .workflow-loop .workflow-mobile-dots {
        display: flex; justify-content: center; gap: 6px;
        margin: 22px 0 0;
    }
    .workflow-loop .workflow-mobile-dots .dot {
        width: 6px; height: 6px; border-radius: 50%;
        background: #d6d9e8;
        transition: width 0.3s ease, background 0.3s ease;
    }
    .workflow-loop .workflow-mobile-dots .dot.is-active {
        width: 18px; border-radius: 3px;
        background: linear-gradient(90deg, #6C47FF, #4318D0);
    }

    /* The .story-deck-dots auto-added by initStoryDeckCarousel() in
       js/app.js sits as a sibling of .story-stack. We hide the stack on
       mobile but the dots survived — kill them too. */
    .story-deck-dots { display: none !important; }

    /* Fix headline overflow on iPhone widths + apply token. */
    .workflow-loop .workflow-hero h2 {
        font-size: var(--type-h1) !important;
        line-height: var(--type-h1-lh);
    }
    .workflow-loop .workflow-headline-top {
        display: block !important;
        text-align: center;
        column-gap: 0;
    }
    .workflow-loop .workflow-word-stack {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0.2em auto !important;
    }

    /* Mobile: tighten the gap between About and the final CTA. */
    .about-billbabu { padding-bottom: 28px !important; }
    .cta-section { padding-top: 18px !important; }

    /* "Built For" trust strip — 2-column grid on mobile. */
    .trusted-by .trust-logos {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 10px !important;
        max-width: 360px;
        margin: 0 auto;
    }
    .trusted-by .trust-logos span {
        padding: 9px 10px;
        text-align: center;
        font-size: var(--type-body);
    }
}

/* ── Hide existing heavy WhatsApp section on mobile ─────────────── */
@media (max-width: 767px) {
    .whatsapp-anywhere.landing-desktop-only {
        display: none !important;
    }
}

/* ── Compact About BillBabu on mobile ───────────────────────────── */
.landing-mobile-about-compact {
    padding: 0 4px 8px;
}
.landing-mobile-about-compact > p {
    font-size: var(--type-body); line-height: var(--type-lead-lh);
    color: #4b5563;
    margin: 0 0 16px;
}
.landing-mobile-about-pills {
    display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
}
.landing-mobile-about-pill {
    background: #fff;
    border: 1px solid #eef0f7;
    border-radius: 14px;
    padding: 12px;
}
.landing-mobile-about-pill strong {
    display: block; font-size: var(--type-meta); font-weight: 700;
    line-height: var(--type-meta-lh);
    color: #17172a; margin-bottom: 3px;
}
.landing-mobile-about-pill span {
    font-size: var(--type-meta); line-height: var(--type-meta-lh);
    color: #6b7280;
}

/* ── Value Stack (THE pricing centerpiece) ──────────────────────── */
.landing-mobile-value-stack-wrap {
    padding: 24px 18px 12px;
}
.landing-mobile-value-stack-wrap .lm-eyebrow {
    display: inline-block;
    padding: 3px 9px; border-radius: 999px;
    background: #f0ebff; color: #6C47FF;
    font-size: var(--type-eyebrow); font-weight: 700;
    line-height: var(--type-eyebrow-lh);
    letter-spacing: 0.06em; text-transform: uppercase;
    margin-bottom: 8px;
}
.landing-mobile-value-stack-wrap h2 {
    font-size: var(--type-h1); font-weight: 800;
    line-height: var(--type-h1-lh);
    color: #17172a; margin-bottom: 4px;
}
.landing-mobile-value-stack-wrap .lm-pricing-sub {
    font-size: var(--type-body); line-height: var(--type-body-lh);
    color: #5b6173; margin-bottom: 16px;
}
.landing-mobile-value-stack {
    border-radius: 22px;
    background: linear-gradient(165deg, #6C47FF 0%, #4318D0 100%);
    padding: 24px 20px; color: #fff;
    box-shadow: 0 14px 34px rgba(67, 24, 208, 0.32);
}
.landing-mobile-value-stack .vs-popular {
    display: inline-block; font-size: var(--type-eyebrow); font-weight: 700;
    line-height: var(--type-eyebrow-lh);
    letter-spacing: 0.08em;
    background: #fde047; color: #78350f;
    padding: 4px 10px; border-radius: 999px;
    margin-bottom: 10px;
}
.landing-mobile-value-stack .vs-eyebrow {
    font-size: var(--type-eyebrow); font-weight: 700;
    line-height: var(--type-eyebrow-lh);
    letter-spacing: 0.08em;
    text-transform: uppercase; opacity: 0.85; margin-bottom: 4px;
}
.landing-mobile-value-stack .vs-title {
    font-size: var(--type-h2); font-weight: 800;
    line-height: var(--type-h2-lh);
    margin-bottom: 14px;
}
.landing-mobile-value-stack .vs-price-row {
    display: flex; align-items: baseline; gap: 8px; margin-bottom: 4px;
}
.landing-mobile-value-stack .vs-price {
    font-size: var(--type-display); font-weight: 800;
    line-height: var(--type-display-lh);
    letter-spacing: -1.5px;
}
.landing-mobile-value-stack .vs-per {
    font-size: var(--type-body); opacity: 0.85; font-weight: 500;
}
.landing-mobile-value-stack .vs-strike {
    font-size: var(--type-body); opacity: 0.55; text-decoration: line-through;
    margin-left: 4px;
}
.landing-mobile-value-stack .vs-tagline {
    font-size: var(--type-body); line-height: var(--type-body-lh);
    opacity: 0.92; margin: 8px 0 16px;
}
.landing-mobile-value-stack .vs-chips {
    display: grid; grid-template-columns: 1fr 1fr; gap: 8px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 14px; padding: 12px 10px;
    margin-bottom: 16px;
}
.landing-mobile-value-stack .vs-chip {
    display: flex; align-items: center; gap: 8px;
    font-size: var(--type-meta); font-weight: 500;
    padding: 4px 4px;
    color: #fff;
}
.landing-mobile-value-stack .vs-chip svg {
    width: 16px; height: 16px;
    color: #c4b5fd;
    fill: none; stroke: currentColor; stroke-width: 1.8;
    stroke-linecap: round; stroke-linejoin: round;
    flex-shrink: 0;
}
.landing-mobile-value-stack .vs-cta {
    display: flex; align-items: center; justify-content: center;
    gap: 6px;
    padding: 14px; background: #fff;
    color: #4318D0; font-weight: 800; font-size: var(--type-h2);
    text-align: center; border-radius: 12px;
    text-decoration: none; margin-bottom: 10px;
}
.landing-mobile-value-stack .vs-foot {
    font-size: var(--type-meta); opacity: 0.85; text-align: center;
}

/* Compact plan tier strip (Basic, Enterprise teasers) */
.landing-mobile-plan-tiers {
    display: flex; gap: 10px; padding: 0 18px;
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    margin: 14px 0 6px;
    scroll-snap-type: x mandatory;
}
.landing-mobile-plan-tiers::-webkit-scrollbar { display: none; }
.landing-mobile-plan-tier {
    flex: 0 0 60%; scroll-snap-align: start;
    background: #fff; border: 1px solid #eef0f7;
    border-radius: 14px; padding: 14px;
}
.landing-mobile-plan-tier .tier-name {
    font-size: var(--type-eyebrow); font-weight: 700; color: #6C47FF;
    line-height: var(--type-eyebrow-lh);
    text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 4px;
}
.landing-mobile-plan-tier .tier-price {
    font-size: var(--type-h2); font-weight: 800; color: #17172a;
    line-height: var(--type-h2-lh);
}
.landing-mobile-plan-tier .tier-price small {
    font-size: var(--type-meta); color: #6b7280; font-weight: 500;
}
.landing-mobile-plan-tier .tier-desc {
    font-size: var(--type-meta); line-height: var(--type-meta-lh);
    color: #5b6173; margin-top: 6px;
}
.landing-mobile-plan-tier .tier-link {
    display: block; margin-top: 10px;
    font-size: var(--type-meta); font-weight: 700; color: #6C47FF;
    text-decoration: none;
}
.landing-mobile-compare-link {
    display: block; text-align: center;
    padding: 12px 18px 22px;
    font-size: var(--type-meta); font-weight: 700; color: #6C47FF;
    text-decoration: none;
}
.landing-mobile-getintouch {
    display: flex; align-items: center; justify-content: center;
    gap: 6px;
    margin: 14px 18px 6px;
    padding: 13px 18px;
    border-radius: 14px;
    border: 1.5px solid #6C47FF;
    background: #fff;
    color: #6C47FF;
    font-size: var(--type-h2); font-weight: 700;
    text-decoration: none;
}
.landing-mobile-getintouch::before {
    content: '';
    width: 16px; height: 16px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M22 16.9v3a2 2 0 0 1-2.2 2A19.8 19.8 0 0 1 3.1 5.2 2 2 0 0 1 5 3h3a2 2 0 0 1 2 1.7c.1.9.4 1.7.7 2.5a2 2 0 0 1-.5 2.1L9 10.6a16 16 0 0 0 4.4 4.4l1.3-1.2a2 2 0 0 1 2.1-.5c.8.3 1.6.6 2.5.7A2 2 0 0 1 22 16.9z'/></svg>") no-repeat center / contain;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M22 16.9v3a2 2 0 0 1-2.2 2A19.8 19.8 0 0 1 3.1 5.2 2 2 0 0 1 5 3h3a2 2 0 0 1 2 1.7c.1.9.4 1.7.7 2.5a2 2 0 0 1-.5 2.1L9 10.6a16 16 0 0 0 4.4 4.4l1.3-1.2a2 2 0 0 1 2.1-.5c.8.3 1.6.6 2.5.7A2 2 0 0 1 22 16.9z'/></svg>") no-repeat center / contain;
}

/* ── Hide existing heavy desktop sections on mobile ─────────────── */
@media (max-width: 767px) {
    /* Heavy 5-card story-stack — replaced by simpler landing-mobile-features.
       Hide the entire .features.story-showcase section (not just .story-stack)
       so its outer padding doesn't leave an empty gap between our mobile
       features section and the WhatsApp banner below. */
    .features.story-showcase { display: none !important; }
    .story-stack { display: none !important; }

    /* Desktop pricing 3-column grid — replaced by value stack */
    .landing-pricing-cards { display: none !important; }

    /* Existing mobile-pricing-picker — replaced by value stack */
    .mobile-pricing-picker { display: none !important; }
}
