/**
 * Direction layout for customer storefront.
 * <html dir="..."> comes from locale_dir(): fa → rtl, en/tr → ltr.
 */
html[dir="rtl"] body {
    direction: rtl;
    text-align: right;
}

html[dir="ltr"] body {
    direction: ltr;
    text-align: left;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* Search */
html[dir="ltr"] .search-box {
    flex-direction: row-reverse;
}

html[dir="ltr"] .search-box input,
html[dir="ltr"] .mob-search-input,
html[dir="ltr"] .sm-input,
html[dir="ltr"] .mob-menu-search-input {
    direction: ltr;
    text-align: left;
}

html[dir="ltr"] .sm-input-wrap {
    direction: ltr;
}

html[dir="rtl"] .search-box input,
html[dir="rtl"] .mob-search-input {
    direction: rtl;
    text-align: right;
}

/* Mega menu */
html[dir="ltr"] .mega-cat-btn {
    text-align: left;
    border-right: none;
    border-left: 3px solid transparent;
}

html[dir="ltr"] .mega-cat-btn.is-active {
    border-right-color: transparent;
    border-left-color: var(--primary);
}

html[dir="ltr"] .mcb-label {
    text-align: left;
}

html[dir="ltr"] .mci-arrow {
    transform: scaleX(-1);
}

html[dir="ltr"] .mega-cat-col {
    border-left: none;
    border-right: 1px solid var(--border);
}

html[dir="ltr"] .dsp-col-title,
html[dir="ltr"] .dsp-see-all,
html[dir="ltr"] .dsp-nested-list a {
    text-align: left;
}

/* Product cards (home + listing) */
html[dir="ltr"] .pc-price-section {
    flex-direction: row;
}

html[dir="ltr"] .pc-price-right {
    align-items: flex-start;
}

html[dir="ltr"] .pc-rating-row {
    margin-right: 0;
    margin-left: auto;
}

html[dir="ltr"] .pc-price-main span {
    margin-right: 0;
    margin-left: 2px;
}

/* Section «View all» links — align to the end (right in LTR) */
html[dir="ltr"] .see-all,
html[dir="ltr"] .pd-see-all {
    margin-right: 0;
    margin-left: auto;
}

html[dir="rtl"] .see-all {
    margin-right: auto;
    margin-left: 0;
}

html[dir="ltr"] .flash-sale-inner {
    direction: ltr;
}

html[dir="rtl"] .flash-sale-inner {
    direction: rtl;
}

html[dir="ltr"] .flash-see-all {
    margin-inline-start: auto;
}

html[dir="ltr"] .see-all .icon-arrow-left-s-line,
html[dir="ltr"] .flash-see-all .icon-arrow-left-s-line,
html[dir="ltr"] .pd-see-all .icon-arrow-left-s-line,
html[dir="ltr"] .pb-view-cart .icon-arrow-left-s-line {
    display: inline-block;
    transform: scaleX(-1);
}

/* Hero slider controls */
html[dir="ltr"] .slider-prev {
    right: auto;
    left: 14px;
}

html[dir="ltr"] .slider-next {
    left: auto;
    right: 14px;
}

html[dir="ltr"] .slider-prev svg,
html[dir="ltr"] .slider-next svg {
    transform: scaleX(-1);
}

html[dir="ltr"] .slide-content:not(.slide-content--banner) {
    flex-direction: row;
}

html[dir="ltr"] .slide-text {
    text-align: left;
}

html[dir="rtl"] .slide-text {
    text-align: right;
}

/* Filter sheets / sidebar */
html[dir="ltr"] .km-filter-sheet,
html[dir="ltr"] .km-filter-sidebar,
html[dir="ltr"] .km-multiselect,
html[dir="ltr"] .km-ms-opt,
html[dir="ltr"] .filter-group,
html[dir="ltr"] .filter-group label,
html[dir="ltr"] .km-bs-option {
    direction: ltr;
    text-align: left;
}

html[dir="ltr"] .km-price-slider-labels {
    direction: ltr;
}

html[dir="ltr"] .sort-bar,
html[dir="ltr"] .products-toolbar,
html[dir="ltr"] .breadcrumb {
    direction: ltr;
}

html[dir="ltr"] .pagination,
html[dir="ltr"] .mob-result-pagination {
    direction: ltr;
}

html[dir="ltr"] .km-fs-filter-row {
    flex-direction: row;
    direction: ltr;
}

html[dir="ltr"] .km-filter-sidebar .filter-title,
html[dir="ltr"] .km-fs-section-header {
    text-align: left;
}

html[dir="ltr"] .km-filter-search-icon {
    right: auto;
    left: 12px;
}

html[dir="ltr"] .km-filter-search {
    padding: 11px 12px 11px 40px;
    text-align: left;
    direction: ltr;
}

html[dir="ltr"] .km-filter-sidebar .filter-group .check-item {
    flex-direction: row;
}

html[dir="ltr"] .price-slider-wrap {
    direction: ltr;
}

html[dir="ltr"] .km-multiselect--filter .km-ms-opt {
    /* Markup order is [label, checkbox] (built for RTL where that puts the
       checkbox on the left). Flipping direction alone would leave the
       checkbox on the right in LTR — reverse the flex order instead so the
       checkbox renders first (left) and the label follows it. */
    flex-direction: row-reverse;
    direction: ltr;
    text-align: left;
}

html[dir="ltr"] .km-multiselect--filter .km-ms-opt-text {
    text-align: left;
}

html[dir="ltr"] .km-filter-sheet .km-bs-option,
html[dir="ltr"] .mob-active-filters,
html[dir="ltr"] .mob-filter-chips {
    direction: ltr;
    text-align: left;
}

/* Product detail */
html[dir="ltr"] .pd-title,
html[dir="ltr"] .pd-short-desc,
html[dir="ltr"] .pd-specs-table th,
html[dir="ltr"] .pd-specs-table td,
html[dir="ltr"] .pd-tab-btn,
html[dir="ltr"] .pd-review-item {
    text-align: left;
}

html[dir="ltr"] .pd-price-block {
    direction: ltr;
    text-align: left;
}

/* Cart / checkout */
html[dir="ltr"] .ck-form-group input,
html[dir="ltr"] .ck-form-group select,
html[dir="ltr"] .ck-form-group textarea,
html[dir="ltr"] .ck-summary-row,
html[dir="ltr"] .ck-cart-item {
    direction: ltr;
    text-align: left;
}

html[dir="ltr"] .ck-delivery-date-section,
html[dir="ltr"] .ck-date-list,
html[dir="ltr"] .ck-date-item {
    direction: ltr;
    text-align: center;
}

/* Profile */
html[dir="ltr"] .pf-form-input,
html[dir="ltr"] .pf-section-title,
html[dir="ltr"] .pf-order-row {
    text-align: left;
}

/* Footer / misc */
html[dir="ltr"] .footer-col h4,
html[dir="ltr"] .footer-col a,
html[dir="ltr"] .site-footer {
    text-align: left;
}

html[dir="ltr"] .mob-bottom-nav {
    direction: ltr;
}

/* Header: logo left, account/cart right */
html[dir="ltr"] .header-left {
    margin-right: 0;
    margin-left: auto;
}

html[dir="rtl"] .header-left {
    margin-left: 0;
    margin-right: auto;
}

html[dir="ltr"] .header-center {
    flex: 1;
    max-width: 420px;
}

html[dir="ltr"] .user-btn {
    flex-direction: row;
}

html[dir="ltr"] .cart-count {
    right: -6px;
    left: auto;
}

html[dir="ltr"] .mob-search-hint--inline {
    justify-content: flex-start;
}

html[dir="rtl"] .mob-search-hint--inline {
    justify-content: flex-end;
}

/* Keep numbers, phones, SKUs LTR in all locales */
[dir="ltr"] [dir="ltr"],
[dir="rtl"] [dir="ltr"] {
    direction: ltr;
    unicode-bidi: isolate;
}
