/**
 * Reihanly — unified typography (16px base, Vazir everywhere)
 * Loaded after style.css + reihanly-luxury.css to normalize all storefront pages.
 */

:root {
    --rh-font: 'Vazir', Tahoma, system-ui, sans-serif;
    --rh-text-xs: 0.75rem;      /* 12px */
    --rh-text-sm: 0.875rem;     /* 14px */
    --rh-text-base: 1rem;       /* 16px */
    --rh-text-md: 1.0625rem;    /* 17px */
    --rh-text-lg: 1.125rem;     /* 18px */
    --rh-text-xl: 1.25rem;      /* 20px */
    --rh-text-2xl: 1.5rem;      /* 24px */
    --rh-text-3xl: 1.75rem;     /* 28px */
    --rh-text-4xl: 2rem;        /* 32px */
    --rh-leading: 1.6;
    --rh-leading-tight: 1.35;
}

/* Override style.css 62.5% root and luxury rem hacks */
html {
    font-size: 16px !important;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    font-family: var(--rh-font) !important;
    font-size: var(--rh-text-base) !important;
    font-weight: 400;
    line-height: var(--rh-leading);
    -webkit-font-smoothing: antialiased;
}

body,
input,
button,
select,
textarea,
label,
span,
p,
a,
li,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--rh-font);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: var(--rh-leading-tight);
    font-weight: 700;
}

h1 { font-size: var(--rh-text-3xl); }
h2 { font-size: var(--rh-text-2xl); }
h3 { font-size: var(--rh-text-xl); }
h4 { font-size: var(--rh-text-lg); }
h5 { font-size: var(--rh-text-base); }
h6 { font-size: var(--rh-text-sm); }

small,
.text-small {
    font-size: var(--rh-text-sm);
}

/* Cart / checkout (Tailwind) — keep standard rem */
html:has(.rh-scope) {
    font-size: 16px !important;
}

html:has(.rh-scope) body {
    font-size: var(--rh-text-base) !important;
}

/* ── Header & navigation ── */
.lux-header .main-nav .menu > li > a {
    font-size: var(--rh-text-md);
}

.lux-header .search-input-header,
.lux-header .cart-txt,
.lux-header .btn-login,
.lux-header .mobile-search-toggle,
.lux-header .mobile-search-input {
    font-size: var(--rh-text-base);
}

/* ── Homepage / luxury sections ── */
.lux-section-title {
    font-size: clamp(1.375rem, 3.5vw, 1.75rem);
    line-height: var(--rh-leading-tight);
}

.lux-section-subtitle {
    font-size: var(--rh-text-base);
    line-height: var(--rh-leading);
}

.lux-section-link {
    font-size: var(--rh-text-sm);
}

.lux-eyebrow {
    font-size: var(--rh-text-sm);
}

.lux-usp__title {
    font-size: var(--rh-text-base);
}

.lux-usp__desc {
    font-size: var(--rh-text-sm);
}

.lux-cat-card__title {
    font-size: var(--rh-text-base);
}

.lux-cat-card__count {
    font-size: var(--rh-text-sm);
}

.lux-product-card__title {
    font-size: var(--rh-text-base);
    font-weight: 600;
}

.lux-product-card__price {
    font-size: var(--rh-text-lg);
    font-weight: 700;
}

.lux-product-card__old-price {
    font-size: var(--rh-text-sm);
}

.lux-mood__heading {
    font-size: clamp(1.25rem, 3vw, 1.5rem);
}

.lux-mood__lead {
    font-size: var(--rh-text-sm);
}

.lux-mood__title,
.lux-mood__tile--wide .lux-mood__title {
    font-size: var(--rh-text-lg);
}

.lux-mood__text {
    font-size: var(--rh-text-sm);
}

.lux-mood__cta,
.lux-mood__label {
    font-size: var(--rh-text-sm);
}

.lux-gift-cta__title {
    font-size: clamp(1.25rem, 3vw, 1.5rem);
}

.lux-gift-cta__text,
.lux-gift-cta__label {
    font-size: var(--rh-text-sm);
}

.lux-brand__title {
    font-size: clamp(1.25rem, 3vw, 1.5rem);
}

.lux-brand__text {
    font-size: var(--rh-text-base);
}

.lux-brand__stat-value {
    font-size: var(--rh-text-xl);
}

.lux-brand__stat-label {
    font-size: var(--rh-text-sm);
}

.lux-sale__title {
    font-size: var(--rh-text-xl);
}

.lux-countdown__value {
    font-size: var(--rh-text-lg);
}

.lux-countdown__label {
    font-size: var(--rh-text-xs);
}

.lux-testimonial__text {
    font-size: var(--rh-text-base);
}

.lux-blog-card__title {
    font-size: var(--rh-text-base);
}

.lux-blog-card__meta {
    font-size: var(--rh-text-xs);
}

.lux-faq__qtext {
    font-size: var(--rh-text-base);
}

.lux-faq__answer-inner p {
    font-size: var(--rh-text-sm);
}

.lux-btn {
    font-size: var(--rh-text-base);
}

.lux-badge {
    font-size: var(--rh-text-xs);
}

/* ── Footer ── */
.lux-footer-about,
.lux-footer-contact,
.lux-footer-links a {
    font-size: var(--rh-text-sm);
}

.lux-footer-heading {
    font-size: var(--rh-text-base);
}

.lux-footer-copy {
    font-size: var(--rh-text-xs);
}

/* ── Bottom nav ── */
.lux-bottom-nav__link {
    font-size: 0.6875rem; /* 11px */
    font-weight: 600;
}

.lux-bottom-nav__link i {
    font-size: 1.375rem; /* 22px */
}

.lux-bottom-nav__badge {
    font-size: 0.625rem; /* 10px */
}

/* ── Product list / detail (inline rem was tuned for 10px root) ── */
.page-title,
.product-title {
    font-size: clamp(1.375rem, 4vw, 1.75rem) !important;
    line-height: var(--rh-leading-tight);
}

.page-subtitle {
    font-size: var(--rh-text-lg) !important;
}

.page-subtitle::before,
.page-subtitle::after {
    font-size: var(--rh-text-lg) !important;
}

.discounted-price {
    font-size: var(--rh-text-2xl) !important;
}

.old-price {
    font-size: var(--rh-text-base) !important;
}

.ratings-container {
    font-size: var(--rh-text-sm) !important;
}

.ratings-text {
    font-size: var(--rh-text-xs) !important;
}

.product-content,
.product-description,
.product-meta,
.filter-title,
.filter-section-title {
    font-size: var(--rh-text-base) !important;
}

.product-card .product-title,
.product-card h3,
.products-grid .product-name {
    font-size: var(--rh-text-base) !important;
}

.product-card .product-price,
.products-grid .price {
    font-size: var(--rh-text-lg) !important;
}

/* ── Mobile ── */
@media (max-width: 991px) {
    html {
        font-size: 16px !important;
    }

    body {
        font-size: var(--rh-text-base) !important;
    }

    .page-home .lux-usp {
        margin-top: 12px !important;
    }

    .lux-section-title {
        font-size: 1.375rem; /* 22px */
    }

    .lux-section-subtitle {
        font-size: var(--rh-text-sm);
    }

    .lux-usp__title {
        font-size: var(--rh-text-sm);
    }

    .lux-cat-card__title {
        font-size: var(--rh-text-sm);
    }

    .lux-product-card__title {
        font-size: var(--rh-text-sm);
    }

    .lux-product-card__price {
        font-size: var(--rh-text-base);
    }

    .lux-mood__heading {
        font-size: 1.25rem;
    }

    .lux-mood__title,
    .lux-mood__tile--wide .lux-mood__title {
        font-size: var(--rh-text-base);
    }

    .lux-gift-cta__title {
        font-size: 1.25rem;
    }

    .lux-brand__title {
        font-size: 1.25rem;
    }

    .lux-brand__text,
    .lux-testimonial__text {
        font-size: var(--rh-text-sm);
    }

    .lux-faq__qtext {
        font-size: var(--rh-text-sm);
    }

    .lux-bottom-nav__link {
        font-size: 0.6875rem;
    }

    .lux-bottom-nav__link i {
        font-size: 1.25rem; /* 20px */
    }

    .page-title,
    .product-title {
        font-size: 1.375rem !important;
    }

    .discounted-price {
        font-size: 1.375rem !important;
    }
}

@media (max-width: 480px) {
    .lux-section-title {
        font-size: 1.25rem; /* 20px */
    }

    .lux-bottom-nav__link i {
        font-size: 1.125rem; /* 18px */
    }
}

/* Cart dropdown — kill theme rem sizes designed for 62.5% root */
.cart-dropdown .product-title,
.cart-dropdown .product-title a,
.cart-dropdown .product-price,
.cart-dropdown .product-cart-details,
.dropdown-cart-total,
.dropdown-cart-action .btn,
.dropdown-cart-action a {
    font-size: 0.875rem !important;
    line-height: 1.45 !important;
    text-transform: none !important;
}

.cart-dropdown .cart-txt,
#cart-total-price,
.product-price,
.lux-product-card__price,
.discounted-price,
.new-price,
.price-value,
.ma-price {
    font-variant-numeric: tabular-nums;
}

.cart-dropdown .dropdown-menu {
    font-size: 0.875rem !important;
}
