/* Mobile layout corrections. All rules stay below the phone breakpoint. */
@media (max-width: 768px) {
    /* Use the selected self-hosted font, not the obsolete Roboto/DM Sans overrides. */
    html:not([lang="fa-IR"]) body,
    html:not([lang="fa-IR"]) body :is(h1, h2, h3, h4, h5, h6, p, a, span, div, button, input, textarea, select) {
        font-family: var(--beiten-font-en, 'Inter'), system-ui, sans-serif !important;
    }
    html[lang="fa-IR"] body :is(h1, h2, h3, h4, h5, h6, p, a, button, label) {
        letter-spacing: normal !important;
        word-break: normal;
    }
    /* Let grid/flex children shrink before text or a URL widens the viewport. */
    .container, .shop-layout, .shop-content, .beiten-product-detail-columns,
    .beiten-product-summary-column, .beiten-product-gallery-column,
    .footer-grid, .single-post-grid, .post-full, .pr-card, .pr-content {
        min-width: 0; max-width: 100%;
    }
    .entry-content img, .post-content img, .woocommerce img { max-width: 100%; height: auto; }

    /* The late custom.css desktop sidebar has !important widths and sticky positioning. */
    .shop-layout {
        display: flex !important; flex-direction: column !important;
        align-items: stretch !important; width: 100% !important;
        padding-inline: 0 !important; margin: 20px auto !important; gap: 18px !important;
    }
    .shop-layout .shop-sidebar {
        order: 2; position: static !important; width: 100% !important;
        flex: 0 1 auto !important; min-width: 0 !important;
        margin: 0 !important; z-index: auto !important;
    }
    .shop-layout .shop-content {
        order: 1; flex: 0 1 auto !important; width: 100% !important; min-width: 0 !important;
    }
    .shop-content ul.products, .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .shop-content ul.products li.product, .woocommerce ul.products li.product {
        min-width: 0; max-width: 100%;
    }

    /* Product title, pricing, variations and actions need their own shrink points. */
    .beiten-single-product-container { max-width: 100%; margin-inline: auto; }
    .beiten-single-product-container .product-title,
    .beiten-single-product-container .product-summary-header,
    .beiten-single-product-container .product-cart-form-container,
    .beiten-single-product-container .woocommerce-cart-form-wrapper,
    .beiten-single-product-container .product-actions-wrapper { min-width: 0; max-width: 100%; }
    .beiten-single-product-container .product-summary-header .support-btn {
        display: inline-flex; min-height: 44px; flex: 0 0 auto;
    }
    .beiten-single-product-container .variations,
    .beiten-single-product-container .variations tbody,
    .beiten-single-product-container .variations tr,
    .beiten-single-product-container .variations th,
    .beiten-single-product-container .variations td { max-width: 100%; }
    .beiten-single-product-container .variations select { max-width: 100% !important; }
    .beiten-single-product-container .woocommerce-variation-add-to-cart { min-width: 0; }
    .beiten-variation-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .beiten-variation-card { min-width: 0; overflow-wrap: break-word; }

    /* Cart and order tables scroll locally, leaving the mobile nav in place. */
    .woocommerce-cart-form, .woocommerce-order-details,
    .woocommerce-MyAccount-content, .wc-block-cart__main,
    .wc-block-checkout__main { max-width: 100%; min-width: 0; }
    .woocommerce-cart-form, .woocommerce-order-details, .woocommerce-MyAccount-content {
        overflow-x: auto; -webkit-overflow-scrolling: touch;
    }
    .wc-block-components-sidebar-layout > * { min-width: 0; max-width: 100%; }

    /* Telegram promos and footer status wrap before the icon or arrow clips. */
    .promo-banners-grid { grid-template-columns: minmax(0, 1fr) !important; }
    .social-banner, .social-banner-content, .social-banner-text {
        min-width: 0; max-width: 100%;
    }
    .social-banner-text { overflow-wrap: break-word; }
    .social-banner-content { height: auto; min-height: 132px; }
    .footer-support-status {
        max-width: 100%; white-space: normal;
        overflow-wrap: break-word; line-height: 1.6;
    }
    .footer-support-status .fss-dot { flex: 0 0 8px; }
    .shop-sidebar .sidebar-telegram-banner { max-width: 100%; min-width: 0; }
    .sidebar-telegram-text { min-width: 0; overflow-wrap: break-word; }

    /* Blog, pages and account text preserve whole Persian words. */
    .page-content .entry-content, .single-post .post-content,
    .single-post .comment-content-wrap, .woocommerce-MyAccount-content {
        min-width: 0; overflow-wrap: break-word; word-break: normal;
    }
    .page-content .entry-content a, .single-post .post-content a,
    .woocommerce-MyAccount-content a { overflow-wrap: anywhere; }
    .post-toc { margin-inline: 16px; }
    .post-toc__list { max-height: min(60vh, 600px); overflow-y: auto; }
    .post-share-v2-wrap, .related-articles,
    .single-post .comments-area { padding-inline: 16px; }
    .single-post .comment-list .children { padding-inline-start: 16px; }
    .related-articles__grid { grid-template-columns: minmax(0, 1fr); }

    /* Inline form inputs on iOS stay at a readable size without viewport zoom. */
    .product-request-section input,
    .woocommerce form input:not([type="checkbox"]):not([type="radio"]),
    .woocommerce form select, .woocommerce form textarea { font-size: 16px !important; }
    .product-request-section .pr-card { min-width: 0; }
    .product-request-section .pr-media { height: clamp(160px, 48vw, 230px); }
    .product-request-section .rf-two { grid-template-columns: minmax(0, 1fr); }
    .product-request-section .rf-field,
    .product-request-section .rf-input-wrap { min-width: 0; }

    .beiten-bottom-nav {
        padding-inline: max(4px, env(safe-area-inset-left)) max(4px, env(safe-area-inset-right));
    }
    .beiten-bottom-nav .bbn-item { min-width: 0; min-height: 44px; }
    .support-fab { left: max(14px, env(safe-area-inset-left)); z-index: 8991; }
}

@media (max-width: 480px) {
    .shop-content ul.products, .woocommerce ul.products {
        grid-template-columns: minmax(0, 1fr) !important;
    }
    .beiten-single-product-container { padding: 16px !important; }
    .beiten-single-product-container .product-title {
        font-size: clamp(19px, 6vw, 24px) !important; line-height: 1.6;
    }
    .beiten-single-product-container .product-gallery-main,
    .beiten-single-product-container .product-gallery-thumbnails { max-width: 100%; }
    .beiten-single-product-container .product-cart-form-container { padding: 14px !important; }
    .product-request-section .pr-content { padding: 22px 16px 26px; }
    .product-request-section .pr-form { padding: 18px 14px; }
    .product-request-section .pr-title { font-size: clamp(20px, 6vw, 25px); }
    .social-banner-content { gap: 12px; padding: 16px 12px; min-height: 112px; }
    .social-banner-icon { width: 44px; height: 44px; }
    .social-banner-arrow { width: 32px; height: 32px; }
    .social-banner-title { font-size: 14px; line-height: 1.7; }
    .social-banner-sub { font-size: 11px; line-height: 1.6; }
    .single-post .comment-author .avatar { width: 32px; height: 32px; }
    .single-post .comment-body { gap: 8px; }
}

@media (max-width: 360px) {
    .social-banner-arrow { display: none; }
    .beiten-variation-cards { grid-template-columns: minmax(0, 1fr); }
    .footer-support-status { font-size: 12px; }
}
