/* Shared mobile spacing for public pages. */
@media (max-width: 767px) {
    .container:not(.custom-navbar *):not(.hero-section-light *) {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
    .container .container:not(.custom-navbar *):not(.hero-section-light *) {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    :where(main, section, footer) .row:not(.hero-section-light *):not(.hero-layout) {
        --bs-gutter-x: 24px;
    }
    :where(main, section) .row.g-0 { --bs-gutter-x: 0; }
    :where(main, section) .row.g-5 { --bs-gutter-y: 28px; }
    :where(main, section) .row > * { min-width: 0; }
    .about-hero-section { padding: 100px 0 32px !important; }
    .about-hero-title {
        font-size: clamp(1.7rem, 7vw, 2.2rem) !important;
        line-height: 1.15;
        margin-bottom: 16px;
        text-wrap: pretty;
    }
    .about-hero-lead { font-size: .9rem; line-height: 1.7; }
    .about-hero-pill, .section-tag-pill {
        max-width: 100%;
        font-size: clamp(.6rem, 2.5vw, .75rem);
        letter-spacing: .04em;
        padding: 6px 10px;
        white-space: normal;
    }
    .section-title-large, .page-title {
        font-size: clamp(1.5rem, 6.4vw, 1.85rem);
        line-height: 1.22;
        text-wrap: pretty;
    }
    :where(main, section) p:not(.hero-section-light *) {
        font-size: .9rem;
        line-height: 1.75;
        overflow-wrap: break-word;
    }
    :where(main, section) :is(h2, h3, h4, h5):not(.hero-section-light *) {
        overflow-wrap: break-word;
    }
    :where(main, section) .p-5:not(.hero-section-light *) { padding: 24px !important; }
    :where(main, section) .p-4:not(.hero-section-light *) { padding: 20px !important; }
    :where(main, section) .btn:not(.hero-section-light *):not(.about-actions *) {
        max-width: 100%;
        white-space: normal;
        overflow-wrap: break-word;
    }
    :where(main, section) .btn-lg { font-size: .9rem; padding: 12px 18px !important; }
    :where(main, section) .d-flex:has(> .btn):not(.hero-cta-group):not(.about-actions) {
        flex-wrap: wrap;
        gap: 10px !important;
    }
    :where(main, section) :is(.form-control, .form-select) { font-size: 16px; }
    .pricing-container { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .pricing-card, .luxury-pricing-card { padding: 24px 20px; min-width: 0; }
    .plan-features li { line-height: 1.6; margin-bottom: 12px; }
    .checkout-main-wrap { padding: 24px 20px 40px; }
    .checkout-card { min-width: 0; padding: 24px 18px; }
    .checkout-card :is(.form-control, .form-select) { font-size: 16px; }
    .checkout-card .row { --bs-gutter-x: 16px; }
    .checkout-card .btn { max-width: 100%; white-space: normal; }
    .main-content .page-header { margin-bottom: 32px; }
}
