/*
 * Public page health layer.
 * Only shared utility pages are targeted here; page-specific redesigns and
 * the campaign/landing shells remain untouched.
 */

/* FAQ */
.br-faq-page {
    width: min(calc(100% - 32px), 1120px);
    margin: 24px auto 64px;
    font-family: "Yekan Bakh", "IRANSansX", Tahoma, sans-serif;
}

.br-faq-page > .flex.flex-col.gap-3 {
    width: min(100%, 1040px);
    margin: 26px auto !important;
    text-align: right;
}

.br-faq-page > .flex.flex-col.gap-3 h1 {
    font-family: "Peyda", "Yekan Bakh", sans-serif;
    color: #0a4d56;
    font-weight: 900;
}

body.page-template-page-faq .site-main,
body.page-template-page-faq main,
body.page-id-0 .br-faq-questions {
    font-family: "Yekan Bakh", "IRANSansX", Tahoma, sans-serif;
}

.br-faq-filter,
.br-faq-questions {
    width: min(calc(100% - 32px), 1040px);
    margin-inline: auto;
}

.br-faq-filter {
    color: #173b40;
    background: #e9f2f3 !important;
    border: 1px solid #d4e4e6;
    border-radius: 24px !important;
}

.br-faq-filter .faq-filter-btn {
    min-height: 46px;
    justify-content: center;
    border: 1px solid #d7e4e5;
    box-shadow: none;
    font-size: 13px;
    font-weight: 800;
}

.br-faq-filter .faq-filter-btn[aria-pressed="true"] {
    color: #fff !important;
    background: #0a5961 !important;
    border-color: #0a5961;
}

.br-faq-questions .faq-item {
    padding: 0 !important;
    overflow: hidden;
    color: #193d42;
    background: #fff !important;
    border: 1px solid #d8e6e7;
    border-radius: 20px !important;
    box-shadow: 0 10px 28px rgba(6, 46, 51, .06);
}

.br-faq-questions .faq-toggle {
    min-height: 68px;
    padding: 14px 18px;
    color: #173b40 !important;
    line-height: 1.8;
    border: 0;
    background: transparent;
}

.br-faq-questions .faq-toggle > span:first-child {
    color: #b37a20;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.br-faq-questions .faq-answer {
    padding: 0 18px 17px;
    color: #4f6568;
    line-height: 2;
    border-top: 1px solid #e3ecee;
}

.br-faq-questions .faq-answer[hidden],
.br-faq-questions .faq-item[hidden] {
    display: none !important;
}

.br-faq-questions .faq-toggle:focus-visible,
.br-faq-filter .faq-filter-btn:focus-visible {
    outline: 3px solid rgba(212, 155, 58, .5);
    outline-offset: 3px;
}

.br-faq-empty {
    margin-top: 16px;
    padding: 22px;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    color: #173b40;
    background: #fff;
    border: 1px solid #d8e6e7;
    border-radius: 20px;
}

.br-faq-empty > span {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    color: #0a5961;
    background: #e6f1f2;
    border-radius: 15px;
}

.br-faq-empty h3,
.br-faq-empty p { margin: 0; }
.br-faq-empty h3 { font-family: "Peyda", "Yekan Bakh", sans-serif; font-size: 17px; font-weight: 900; }
.br-faq-empty p { margin-top: 5px; color: #617477; font-size: 13px; }
.br-faq-empty a {
    min-height: 44px;
    padding-inline: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: #0a5961;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 850;
    text-decoration: none;
}

html.dark .br-faq-filter {
    color: #e6f1f2;
    background: #062e33 !important;
    border-color: rgba(199, 222, 225, .15);
}

html.dark .br-faq-page > .flex.flex-col.gap-3 h1 { color: #d9ecee; }
html.dark .br-faq-page > .flex.flex-col.gap-3 p { color: #b9cbcd; }

html.dark .br-faq-filter .faq-filter-btn:not([aria-pressed="true"]),
html.dark .br-faq-questions .faq-item,
html.dark .br-faq-empty {
    color: #e6f1f2;
    background: #062e33 !important;
    border-color: rgba(199, 222, 225, .14);
}

html.dark .br-faq-questions .faq-toggle { color: #f4f8f9 !important; }
html.dark .br-faq-questions .faq-answer { color: #bfd0d2; border-color: rgba(199, 222, 225, .12); }
html.dark .br-faq-empty p { color: #aec0c2; }

/* WooCommerce classic + Blocks */
body.woocommerce-cart main,
body.woocommerce-checkout main,
body.woocommerce-account main,
body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-account .woocommerce {
    font-family: "Yekan Bakh", "IRANSansX", Tahoma, sans-serif;
}

body.woocommerce-cart .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-account .woocommerce {
    width: min(calc(100% - 32px), 1180px);
    margin: 32px auto 64px;
}

.woocommerce .woocommerce-notices-wrapper:empty { display: none; }

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
    padding: 14px 16px !important;
    color: #173b40 !important;
    background: #edf6f6 !important;
    border: 1px solid #cce1e3 !important;
    border-radius: 14px !important;
    line-height: 1.9;
}

.woocommerce-error,
.wc-block-components-notice-banner.is-error {
    color: #8f2638 !important;
    background: #fff0f2 !important;
    border-color: #f1c8cf !important;
}

.wc-block-components-sidebar-layout {
    gap: 24px !important;
    align-items: start;
}

.wc-block-components-main,
.wc-block-components-sidebar,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.checkout,
.woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-content {
    color: #173b40;
    background: #fff;
    border: 1px solid #dbe7e8;
    border-radius: 20px;
    box-shadow: 0 14px 40px rgba(6, 46, 51, .07);
}

.wc-block-components-main,
.wc-block-components-sidebar { padding: 20px !important; }

.wc-block-cart-items,
.wc-block-cart-items thead,
.wc-block-cart-items tbody,
.wc-block-cart-items tr,
.wc-block-cart-items td { border-color: #e2ebec !important; }

.wc-block-cart-items__row { min-height: 150px; }

.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img {
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: contain;
    background: #edf3f4;
    border-radius: 14px;
}

.wc-block-components-product-name {
    color: #123d43 !important;
    font-family: "Peyda", "Yekan Bakh", sans-serif;
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1.75;
    text-decoration: none !important;
}

.wc-block-components-product-price,
.wc-block-components-totals-item__value,
.wc-block-components-order-summary-item__total-price { font-weight: 900; }

.wc-block-components-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    min-height: 48px;
    padding: 0 18px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    background: #0a5961 !important;
    border: 1px solid #0a5961 !important;
    border-radius: 13px !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.5;
    text-decoration: none !important;
    box-shadow: none !important;
}

.wc-block-components-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { background: #073f46 !important; }

.wc-block-cart__submit-button { width: 100%; background: #c68a2b !important; border-color: #c68a2b !important; color: #18200e !important; }
.wc-block-cart__submit-button:hover { background: #dda947 !important; }

.woocommerce form .form-row label,
.wc-block-components-text-input label,
.wc-block-components-combobox-control label {
    color: #344e52;
    font-size: 12px;
    font-weight: 800;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.wc-block-components-text-input input,
.wc-block-components-combobox-control input,
.wc-block-components-textarea {
    min-height: 50px;
    color: #173b40 !important;
    background: #f7fafb !important;
    border: 1px solid #d5e2e3 !important;
    border-radius: 12px !important;
    outline: 0;
}

.woocommerce form .form-row input:focus,
.woocommerce form .form-row textarea:focus,
.wc-block-components-text-input input:focus {
    border-color: #4f9aa2 !important;
    box-shadow: 0 0 0 3px rgba(79, 154, 162, .15) !important;
}

.woocommerce form.login,
.woocommerce form.register { max-width: 560px; margin: 24px auto !important; padding: 24px !important; }

.woocommerce-MyAccount-navigation { padding: 12px; }
.woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; }
.woocommerce-MyAccount-navigation a { min-height: 44px; padding: 0 12px; display: flex; align-items: center; color: #294c51; border-radius: 11px; font-weight: 800; text-decoration: none; }
.woocommerce-MyAccount-navigation .is-active a,
.woocommerce-MyAccount-navigation a:hover { color: #fff; background: #0a5961; }
.woocommerce-MyAccount-content { padding: 22px; }

.wp-block-woocommerce-empty-cart-block {
    width: min(100%, 1120px);
    margin-inline: auto;
    font-family: "Yekan Bakh", "IRANSansX", Tahoma, sans-serif;
}

.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
    max-width: 620px;
    margin: 20px auto 0 !important;
    padding: 28px 24px 10px !important;
    color: #123d43;
    background: #fff;
    border: 1px solid #dbe7e8;
    border-bottom: 0;
    border-radius: 22px 22px 0 0;
    font-family: "Peyda", "Yekan Bakh", sans-serif;
    font-size: clamp(22px, 3vw, 32px) !important;
    font-weight: 900;
    line-height: 1.5;
}

.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title::before {
    display: none !important;
}

.br-empty-cart-copy {
    max-width: 620px;
    margin: 0 auto 38px;
    padding: 0 24px 28px;
    display: grid;
    justify-items: center;
    gap: 16px;
    color: #526b6f;
    background: #fff;
    border: 1px solid #dbe7e8;
    border-top: 0;
    border-radius: 0 0 22px 22px;
    box-shadow: 0 16px 42px rgba(6, 46, 51, .07);
    text-align: center;
}

.br-empty-cart-copy p { margin: 0; font-size: 14px; line-height: 1.9; }

.br-empty-cart-action {
    min-width: 190px;
    min-height: 48px;
    padding: 0 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    background: #0a5961;
    border-radius: 13px;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none !important;
}

.wp-block-woocommerce-empty-cart-block > .wp-block-separator { display: none !important; }

.wp-block-woocommerce-empty-cart-block > .wp-block-heading:not(.wc-block-cart__empty-cart__title) {
    margin: 0 0 18px !important;
    color: #123d43;
    font-family: "Peyda", "Yekan Bakh", sans-serif;
    font-size: clamp(20px, 2.5vw, 28px) !important;
    font-weight: 900;
    text-align: right !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 12px 12px 14px !important;
    color: #173b40;
    background: #fff;
    border: 1px solid #dbe7e8;
    border-radius: 18px;
    text-align: right !important;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img {
    width: 100% !important;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    border-radius: 13px;
}

.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
    margin: 12px 0 8px !important;
    color: #123d43;
    font-family: "Peyda", "Yekan Bakh", sans-serif;
    font-size: 14px !important;
    font-weight: 900;
    line-height: 1.75;
}

.wp-block-woocommerce-empty-cart-block :is(.wc-block-grid__product-rating, .wc-block-grid__product-onsale) { display: none !important; }
.wp-block-woocommerce-empty-cart-block .wp-block-button__link { width: 100%; margin-top: 8px; }

html.dark :is(.wc-block-components-main, .wc-block-components-sidebar, .woocommerce form.login, .woocommerce form.register, .woocommerce form.checkout, .woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content) {
    color: #e7f1f2;
    background: #062e33;
    border-color: rgba(199, 222, 225, .14);
    box-shadow: 0 18px 48px rgba(0, 0, 0, .24);
}

html.dark :is(.wc-block-cart-items, .wc-block-cart-items thead, .wc-block-cart-items tbody, .wc-block-cart-items tr, .wc-block-cart-items td) { border-color: rgba(199, 222, 225, .13) !important; }
html.dark .wc-block-components-product-name { color: #f1f7f8 !important; }
html.dark :is(.woocommerce form .form-row label, .wc-block-components-text-input label, .wc-block-components-combobox-control label) { color: #c3d2d4; }
html.dark :is(.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .wc-block-components-text-input input, .wc-block-components-combobox-control input, .wc-block-components-textarea) {
    color: #edf6f7 !important;
    background: #041f23 !important;
    border-color: rgba(199, 222, 225, .18) !important;
}
html.dark :is(.woocommerce-message, .woocommerce-info, .wc-block-components-notice-banner) { color: #dff3f4 !important; background: #0a3c42 !important; border-color: rgba(199, 222, 225, .2) !important; }
html.dark .woocommerce-MyAccount-navigation a { color: #d7e5e6; }
html.dark .wp-block-woocommerce-empty-cart-block :is(.wc-block-cart__empty-cart__title, .br-empty-cart-copy, .wc-block-grid__product) {
    color: #e7f1f2;
    background: #062e33;
    border-color: rgba(199, 222, 225, .14);
}
html.dark .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title,
html.dark .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title,
html.dark .wp-block-woocommerce-empty-cart-block > .wp-block-heading:not(.wc-block-cart__empty-cart__title) { color: #edf6f7; }
html.dark .br-empty-cart-copy { color: #bfd0d2; box-shadow: 0 18px 48px rgba(0, 0, 0, .24); }

/* Internal campaign forms retain their content but use a balanced desktop canvas. */
body:is(.page-id-1967, .page-id-2044, .page-id-2021, .page-id-2123) #theme-toggle {
    display: none !important;
}

body:is(.page-id-1967, .page-id-2044, .page-id-2021, .page-id-2123) main {
    width: min(calc(100% - 28px), 720px) !important;
    max-width: 720px !important;
    margin-inline: auto !important;
    font-family: "Yekan Bakh", "IRANSansX", Tahoma, sans-serif;
}

body:is(.page-id-1967, .page-id-2044, .page-id-2021, .page-id-2123) :is(input, textarea, select) {
    font-family: "Yekan Bakh", "IRANSansX", Tahoma, sans-serif;
}

body:is(.page-id-1967, .page-id-2044, .page-id-2021, .page-id-2123) :is(input, textarea, select):focus-visible {
    outline: 3px solid rgba(212, 155, 58, .38);
    outline-offset: 2px;
}

@media (max-width: 767px) {
    .br-faq-page { width: min(calc(100% - 24px), 100%); margin-top: 18px; }
    .br-faq-filter,
    .br-faq-questions,
    body.woocommerce-cart .woocommerce,
    body.woocommerce-checkout .woocommerce,
    body.woocommerce-account .woocommerce { width: min(calc(100% - 24px), 100%); }

    .br-faq-filter { padding: 14px !important; }
    .br-faq-filter .grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; }
    .br-faq-filter .faq-filter-btn { padding: 8px 10px !important; font-size: 11px; }
    .br-faq-filter .faq-filter-btn svg { width: 20px; height: 20px; }
    .br-faq-questions .faq-toggle { min-height: 62px; padding: 12px 14px; font-size: 13px; }
    .br-faq-questions .faq-answer { padding: 0 14px 14px; font-size: 12px; }
    .br-faq-empty { grid-template-columns: 42px minmax(0, 1fr); padding: 16px; }
    .br-faq-empty > a { grid-column: 1 / -1; width: 100%; }

    .wc-block-components-sidebar-layout { display: block !important; }
    .wc-block-components-main,
    .wc-block-components-sidebar { width: 100% !important; padding: 14px !important; }
    .wc-block-components-sidebar { margin-top: 14px !important; }
    .wc-block-cart-items__row { display: grid !important; grid-template-columns: 92px minmax(0, 1fr); gap: 12px; padding: 14px 0 !important; }
    .wc-block-cart-item__image { grid-column: 1; width: 92px !important; padding: 0 !important; }
    .wc-block-cart-item__product { grid-column: 2; padding: 0 !important; }
    .wc-block-cart-item__total { grid-column: 2; padding: 6px 0 0 !important; text-align: right !important; }
    .wc-block-components-product-name { font-size: 14px !important; }
    .woocommerce form.login,
    .woocommerce form.register { padding: 18px !important; }
    .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title { padding: 22px 18px 8px !important; }
    .br-empty-cart-copy { margin-bottom: 30px; padding: 0 18px 22px; }
    .br-empty-cart-action { width: 100%; }
    .wp-block-woocommerce-empty-cart-block > .wp-block-heading:not(.wc-block-cart__empty-cart__title) { font-size: 21px !important; }
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product { padding: 8px 8px 11px !important; border-radius: 14px; }
    .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title { font-size: 12px !important; }
}

@media (min-width: 768px) {
    body:is(.page-id-1967, .page-id-2044, .page-id-2021, .page-id-2123) main {
        padding-inline: 24px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .br-faq-questions *,
    .wc-block-components-button,
    .woocommerce .button { transition-duration: .01ms !important; }
}
