/* ═══════════════════════════════════════════════════════════════
 * Be Vietnam Pro — Global font override (Frontend + Admin)
 * Loaded after all other CSS to override theme defaults.
 * ═══════════════════════════════════════════════════════════════ */

@font-face {
    font-family: 'Be Vietnam Pro';
    src: url('/assets/fonts/BeVietnamPro-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Be Vietnam Pro';
    src: url('/assets/fonts/BeVietnamPro-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Be Vietnam Pro';
    src: url('/assets/fonts/BeVietnamPro-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Be Vietnam Pro';
    src: url('/assets/fonts/BeVietnamPro-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Be Vietnam Pro';
    src: url('/assets/fonts/BeVietnamPro-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* ─── Global Application ─── */
:root {
    --az-font-primary: 'Be Vietnam Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

html, body,
input, select, textarea, button,
h1, h2, h3, h4, h5, h6,
.btn, .form-control, .form-select, .form-label,
.nav, .nav-link, .navbar, .dropdown, .dropdown-item,
.sidebar-title, .sidebar-link, .sidebar-submenu,
.page-title, .breadcrumb, .breadcrumb-item,
.card, .card-header, .card-body, .card-footer,
.table, .table thead th, .table tbody td,
.modal, .modal-title, .modal-body, .modal-header, .modal-footer,
.alert, .badge, .tab-pane, .nav-tabs,
.page-header, .page-sidebar, .page-body,
.az-header, .az-footer, .az-product, .az-category, .az-checkout,
.az-btn, .az-input, .az-card {
    font-family: var(--az-font-primary) !important;
}

/* ─── Keep icon fonts intact ─── */
.fa, .fas, .far, .fab, .fal, .fa-solid, .fa-regular, .fa-brands,
[class^="fa-"], [class*=" fa-"],
i[data-feather], .feather,
.fontawesome, .ico, .icofont, .themify-icon,
.flag-icon, .flag-icons {
    font-family: inherit !important;
}

/* Font Awesome specific (via pseudo-elements use their own font) */
.fa::before, .fas::before, .far::before, .fab::before,
.fa-solid::before, .fa-regular::before, .fa-brands::before {
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", "FontAwesome" !important;
}

/* Accessibility helpers */
.visually-hidden, .sr-only {
    position: absolute !important;
    width: 1px !important; height: 1px !important;
    padding: 0 !important; margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important; border: 0 !important;
}

/* ─── Contrast fixes (WCAG AA) ─── */

/* Secondary button on light/colored backgrounds */
.btn-secondary, .btn.btn-secondary {
    background-color: #495057 !important;
    border-color: #495057 !important;
    color: #ffffff !important;
}
.btn-secondary:hover, .btn.btn-secondary:hover {
    background-color: #343a40 !important;
    border-color: #343a40 !important;
}

/* Category scroll counts */
.cat-scroll__count { color: #495057 !important; background: rgba(255,255,255,0.92) !important; }
.cat-scroll__item { color: #212529 !important; }

/* Product card stock indicator (in-stock) */
.product-card__stock--in { color: #0d6e2e !important; }
.product-card__stock--out { color: #b71c1c !important; }

/* Product card hot/new badges */
.badge-hot { background: #b71c1c !important; color: #fff !important; }
.badge-new { background: #0d6efd !important; color: #fff !important; }

/* Brand card count */
.brand-card__count { color: #495057 !important; }

/* Newsletter section */
.az-newsletter { background: #0d2a5c !important; color: #ffffff !important; }
.az-newsletter__title, .az-newsletter__text { color: #ffffff !important; }
.az-newsletter__btn { background: #ffffff !important; color: #0d2a5c !important; font-weight: 600; }
.az-newsletter__btn:hover { background: #e9ecef !important; color: #0d2a5c !important; }

/* ─── Touch targets WCAG 2.5.5 (44x44 min) ─── */
.az-lang__item, .az-header__action, .az-hero__arrow,
.az-mobile-toggle, .az-mobile-menu__close, .az-search__btn,
.az-newsletter__btn, .cat-scroll__item, .brand-card {
    min-height: 44px;
    min-width: 44px;
}
.az-lang__item { padding: 10px; }

/* Nav links */
nav a, .nav-link, .az-mobile-menu__link, .footer a {
    padding-block: 8px;
}
