/* ============================================================
   Smart Electronics — Main Stylesheet
   ============================================================ */

:root {
    --primary:    #2563EB;
    --primary-dark: #1d4ed8;
    --success:    #10B981;
    --warning:    #F59E0B;
    --danger:     #EF4444;
    --dark:       #111827;
    --bg:         #F8FAFC;
    --white:      #FFFFFF;
    --border:     #E5E7EB;
    --shadow-sm:  0 1px 3px rgba(0,0,0,.08);
    --shadow:     0 4px 15px rgba(0,0,0,.10);
    --radius:     12px;
    --radius-sm:  8px;
    --transition: .25s ease;
}

.breadcrumb-modern {
    --bs-breadcrumb-divider: '›';
    padding: .55rem .8rem;
    border: 1px solid rgba(37, 99, 235, .10);
    border-radius: 12px;
    background: rgba(255,255,255,.7);
    backdrop-filter: blur(8px);
}

.breadcrumb-modern .breadcrumb-item a {
    color: var(--primary);
    text-decoration: none;
    font-weight: 600;
}

.breadcrumb-modern .breadcrumb-item.active {
    color: #475569;
    font-weight: 600;
}

.empty-cart-card,
.cart-panel,
.summary-card {
    background: rgba(255,255,255,.94);
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 22px;
    box-shadow: 0 15px 35px rgba(15, 23, 42, .06);
}

.empty-cart-card {
    padding: 3rem 1.5rem;
}

.empty-cart-icon {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    margin: 0 auto;
    background: linear-gradient(180deg, rgba(37,99,235,.12), rgba(37,99,235,.04));
    color: var(--primary);
    font-size: 3rem;
}

.cart-panel {
    overflow: hidden;
}

.cart-panel-header {
    padding: 1.4rem 1.5rem;
    border-bottom: 1px solid var(--border);
    background: linear-gradient(135deg, rgba(37,99,235,.04), rgba(191,219,254,.08));
}

.cart-panel-header h2 {
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    font-weight: 800;
    letter-spacing: -.03em;
    color: #0f172a;
}

.eyebrow {
    color: var(--primary);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 0;
}

.cart-item-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 92px;
    padding: .5rem .8rem;
    border-radius: 999px;
    background: #eff6ff;
    color: var(--primary); 
    font-size: .78rem;
    font-weight: 700;
}

.cart-items-list {
    padding: 1rem;
}

.cart-item-row {
    display: flex;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: #fff;
    transition: box-shadow .2s ease, transform .2s ease;
    margin-bottom: 1rem;
}

.cart-item-row:hover {
    box-shadow: 0 10px 24px rgba(37, 99, 235, .08);
    transform: translateY(-1px);
}

.cart-product-thumb {
    width: 120px;
    height: 120px;
    border-radius: 18px;
    overflow: hidden;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    flex-shrink: 0;
}

.cart-product-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cart-product-info {
    flex: 1;
    min-width: 0;
}

.cart-product-name {
    display: inline-block;
    color: #0f172a;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
    margin-bottom: .2rem;
}

.cart-product-name:hover { color: var(--primary); }

.cart-product-meta {
    color: #64748b;
    font-size: .8rem;
    margin-bottom: .12rem;
}

.cart-item-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 1rem;
    flex-wrap: wrap;
}

.qty-box {
    display: inline-flex;
    align-items: center;
    border: 1px solid #dbeafe;
    border-radius: 12px;
    overflow: hidden;
    background: #f8fbff;
}

.qty-btn {
    width: 34px;
    height: 34px;
    border: 0;
    background: transparent;
    color: #1e293b;
    font-size: 1.2rem;
    font-weight: 700;
}

.qty-btn:hover {
    background: #dbeafe;
    color: var(--primary);
}

.qty-input {
    width: 54px;
    height: 34px;
    border: 0;
    border-left: 1px solid #dbeafe;
    border-right: 1px solid #dbeafe;
    text-align: center;
    background: transparent;
    color: #0f172a;
    font-weight: 700;
}

.qty-input:focus { outline: none; }

.remove-item-btn {
    border: 0;
    background: transparent;
    color: #ef4444;
    font-weight: 600;
    padding: 0;
}

.remove-item-btn:hover { color: #dc2626; }

.cart-price-box {
    min-width: 120px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.line-total {
    color: var(--primary);
    font-size: 1rem;
    font-weight: 800;
}

.unit-price {
    color: #64748b;
    font-size: .8rem;
    margin-top: .25rem;
}

.summary-card {
    padding: 1.4rem;
    top: 90px;
}

.cart-checkout-btn {
    font-size: 16px;
    background-color: #1a3da6 !important;
    border-color: #1a3da6 !important;
}

.cart-benefits {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    margin-top: 1.5rem;
    overflow: hidden;
    border-radius: 14px;
    background: rgba(255, 255, 255, .25);
}

.cart-benefit-item {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-width: 0;
    padding: 1rem;
    background: #1a3da6;
    color: #fff;
}

.cart-benefit-item > i {
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 8px;
    color: #fff;
    font-size: 1rem;
}

.cart-benefit-item strong,
.cart-benefit-item span {
    display: block;
}

.cart-benefit-item strong {
    font-size: .78rem;
    line-height: 1.25;
}

.cart-benefit-item span {
    margin-top: .2rem;
    color: #dbeafe;
    font-size: .68rem;
    line-height: 1.3;
}

.cart-brands {
    margin-top: 1.75rem;
    padding: 1.25rem 1.4rem;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #fff;
}

.cart-brands-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .75rem;
}

.cart-brands-kicker {
    display: block;
    margin-bottom: .2rem;
    color: #1a3da6;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.cart-brands h2 {
    margin: 0;
    color: #0f172a;
    font-size: 1.2rem;
    font-weight: 800;
}

.cart-brands-note {
    color: #64748b;
    font-size: .75rem;
}

.cart-brands-swiper {
    padding: .2rem 2.25rem;
}

.cart-brands .brand-logo-link {
    min-height: 58px;
    padding: .5rem .75rem;
}

.cart-brands .swiper-button-prev,
.cart-brands .swiper-button-next {
    color: #1a3da6;
}

.checkout-modal-open { overflow: hidden; }
.checkout-auth-modal { display: none; position: fixed; inset: 0; z-index: 1060; align-items: center; justify-content: center; padding: 1rem; }
.checkout-auth-modal.is-open { display: flex; }
.checkout-auth-backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, .72); backdrop-filter: blur(5px); }
.checkout-auth-dialog { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(240px, .85fr) minmax(340px, 1.15fr); width: min(860px, 100%); max-height: min(720px, calc(100vh - 2rem)); overflow: auto; border-radius: 16px; background: #fff; box-shadow: 0 24px 80px rgba(15, 23, 42, .3); }
.checkout-auth-close { position: absolute; z-index: 2; top: .7rem; right: .9rem; width: 32px; height: 32px; border: 0; border-radius: 50%; background: rgba(255,255,255,.16); color: #dc2626; font-size: 1.45rem; line-height: 1; }
.checkout-auth-brand { padding: 3rem 2.2rem; background: #1a3da6; color: #fff; }
.checkout-auth-brand-mark { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 2.5rem; border: 1px solid rgba(255,255,255,.55); border-radius: 10px; font-size: 1.35rem; font-weight: 800; }
.checkout-auth-kicker { margin: 0 0 .55rem; color: #dbeafe; font-size: .68rem; font-weight: 800; letter-spacing: .12em; }
.checkout-auth-brand h2, .checkout-auth-form h2 { margin: 0; font-size: 1.65rem; font-weight: 800; }
.checkout-auth-brand > p:not(.checkout-auth-kicker) { margin: 1rem 0 2rem; color: #dbeafe; font-size: .9rem; line-height: 1.65; }
.checkout-auth-brand-list { display: grid; gap: .85rem; color: #fff; font-size: .82rem; font-weight: 600; }
.checkout-auth-brand-list i { width: 20px; margin-right: .35rem; color: #bfdbfe; }
.checkout-auth-form { padding: 2.5rem 2.4rem; }
.checkout-auth-subtitle { margin: .35rem 0 1.4rem; color: #64748b; font-size: .82rem; }
.checkout-auth-label { display: block; margin: .8rem 0 .3rem; color: #334155; font-size: .76rem; font-weight: 700; }
.checkout-auth-form .form-control { min-height: 40px; font-size: .85rem; }
.checkout-auth-options { display: flex; justify-content: space-between; gap: .5rem; margin: .7rem 0 1rem; color: #64748b; font-size: .72rem; }
.checkout-auth-options a, .checkout-auth-consent a { color: #1a3da6; text-decoration: none; }
.checkout-auth-submit { width: 100%; min-height: 42px; margin-top: .65rem; background: #1a3da6 !important; border-color: #1a3da6 !important; font-size: .8rem; font-weight: 800; }
.checkout-auth-divider { display: flex; align-items: center; gap: .7rem; margin: 1.15rem 0 .8rem; color: #94a3b8; font-size: .7rem; }
.checkout-auth-divider::before, .checkout-auth-divider::after { content: ''; height: 1px; flex: 1; background: #e2e8f0; }
.checkout-auth-socials { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.checkout-auth-socials button, .checkout-auth-guest { min-height: 38px; border: 1px solid #dbe3ef; border-radius: 6px; background: #fff; color: #334155; font-size: .72rem; font-weight: 700; }
.checkout-auth-socials button:hover, .checkout-auth-guest:hover { border-color: #1a3da6; color: #1a3da6; }
.checkout-auth-guest { width: 100%; margin-top: .7rem; color: #1a3da6; }
.checkout-auth-switch { margin: 1.25rem 0 0; color: #64748b; text-align: center; font-size: .75rem; }
.checkout-auth-switch button { padding: 0; border: 0; background: none; color: #1a3da6; font-weight: 800; }
.checkout-auth-register-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.checkout-auth-consent { display: block; margin: .9rem 0; color: #64748b; font-size: .7rem; }

.summary-header {
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border);
    margin-bottom: 1rem;
}

.summary-header h3 {
    font-weight: 800;
    color: #0f172a;
    font-size: 1.35rem;
}

.delivery-toggle-wrap {
    display: grid;
    gap: .75rem;
}

.delivery-option {
    position: relative;
    display: block;
    cursor: pointer;
}

.delivery-option input {
    position: absolute;
    opacity: 0;
    inset: 0;
}

.option-box {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: .9rem 1rem;
    border: 1px solid #dbeafe;
    border-radius: 14px;
    background: #f8fbff;
    transition: all .2s ease;
}

.option-box i {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: rgba(37,99,235,.1);
    color: var(--primary);
    font-size: 1.2rem;
}

.option-box strong,
.option-box small {
    display: block;
}

.option-box strong {
    color: #0f172a;
    font-size: .95rem;
}

.option-box small {
    color: #64748b;
}

.delivery-option.active .option-box {
    border-color: var(--primary);
    background: rgba(37,99,235,.06);
    box-shadow: 0 0 0 3px rgba(37,99,235,.08);
}

.coupon-box {
    margin-top: 1.25rem;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: #f8fafc;
}

.coupon-box .form-label {
    margin-bottom: .5rem;
}

.coupon-box .input-group .btn {
    border-radius: 0 10px 10px 0;
}

.coupon-message {
    min-height: 20px;
    margin-top: .55rem;
    font-size: .8rem;
    font-weight: 600;
}

.summary-totals {
    margin-top: 1.2rem;
}

.summary-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .55rem 0;
    color: #475569;
    font-size: .96rem;
}

.summary-row strong {
    color: #0f172a;
}

.discount-row strong {
    color: #16a34a;
}

.shipping-row strong {
    color: #1d4ed8;
}

.summary-divider {
    height: 1px;
    background: var(--border);
    margin: .6rem 0;
}

.total-row {
    font-size: 1.12rem;
    font-weight: 800;
    color: #0f172a;
}

.total-row strong {
    color: var(--primary);
    font-size: 1.3rem;
}

@media (max-width: 991.98px) {
    .summary-card {
        position: static !important;
    }
}

@media (max-width: 767.98px) {
    .cart-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .checkout-auth-dialog { grid-template-columns: 1fr; max-height: calc(100vh - 1rem); }
    .checkout-auth-brand { padding: 1.5rem; }
    .checkout-auth-brand-mark { margin-bottom: 1.25rem; }
    .checkout-auth-brand > p:not(.checkout-auth-kicker) { margin-bottom: 1.25rem; }
    .checkout-auth-brand-list { grid-template-columns: 1fr 1fr; gap: .55rem; font-size: .7rem; }
    .checkout-auth-form { padding: 1.5rem; }
    .checkout-auth-register-grid { grid-template-columns: 1fr; gap: 0; }

    .cart-item-row {
        flex-direction: column;
        align-items: stretch;
    }

    .cart-product-thumb {
        width: 100%;
        height: 220px;
    }

    .cart-item-actions {
        justify-content: space-between;
    }
}

@media (max-width: 575.98px) {
    .cart-benefits { grid-template-columns: 1fr; }
}

/* ─── Base ────────────────────────────────────────────────── */
body { background: var(--bg); font-family: 'Segoe UI', system-ui, sans-serif; }
[data-bs-theme="dark"] body { background: #0f172a; }
[data-bs-theme="dark"] .card { --bs-card-bg: #1e293b; border-color:#334155!important; }
[data-bs-theme="dark"] .product-card { background:#1e293b; }
[data-bs-theme="dark"] .site-footer { background:#0f172a!important; }

img { max-width:100%; }
.object-fit-cover { object-fit:cover; }
.cursor-pointer { cursor:pointer; }
.min-w-0 { min-width:0; }

/* ─── Shop ───────────────────────────────────────────────── */
.shop-page-header { display:flex; align-items:end; justify-content:space-between; gap:1rem; padding:1.25rem 1.5rem; border:1px solid #dbeafe; border-radius:10px; background:linear-gradient(115deg,#eff6ff,#ffffff 58%,#ecfdf5); }
.shop-eyebrow { color:#1a3da6; font-size:.68rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.shop-page-title { margin:.3rem 0 .25rem; color:#0f172a; font-size:clamp(1.5rem,3vw,2.15rem); font-weight:800; }
.shop-page-subtitle { color:#64748b; font-size:.88rem; }
.shop-clear-link { display:inline-flex; align-items:center; gap:.4rem; color:#1a3da6; font-size:.78rem; font-weight:700; text-decoration:none; white-space:nowrap; }
.shop-clear-link:hover { color:#159447; }
.shop-active-filters { display:flex; flex-wrap:wrap; gap:.4rem; }
.shop-filter-chip { display:inline-flex; align-items:center; gap:.35rem; padding:.3rem .65rem; border:1px solid #bfdbfe; border-radius:999px; background:#eff6ff; color:#1a3da6; font-size:.75rem; font-weight:600; text-decoration:none; }
.shop-filter-chip:hover { background:#dbeafe; color:#1a3da6; }
.shop-filter-chip i { font-size:.85rem; }

.category-banner { position:relative; height:180px; border-radius:10px; background-size:cover; background-position:center; overflow:hidden; }
.category-banner-fallback { background:linear-gradient(120deg, #1a3da6, #2563eb 60%, #06b6d4); }
.category-banner-overlay { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; padding:1.5rem 2rem; background:linear-gradient(90deg, rgba(17,24,39,.75) 0%, rgba(17,24,39,.15) 100%); color:#fff; }
.category-banner-eyebrow { font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#93c5fd; }
.category-banner-title { margin:.25rem 0; font-size:1.6rem; font-weight:800; }
.category-banner-desc { max-width:32rem; font-size:.85rem; color:rgba(255,255,255,.85); }
@media(max-width:576px) { .category-banner { height:130px; } .category-banner-title { font-size:1.2rem; } .category-banner-overlay { padding:1rem; } }

.breadcrumb { --bs-breadcrumb-divider: '>'; }
.breadcrumb-item, .breadcrumb-item a { color:#1a3da6; font-weight:700; }
.breadcrumb-item a { text-decoration:none; }
.breadcrumb-item a:hover { color:#159447; }
.breadcrumb-item + .breadcrumb-item::before { color:#1a3da6; font-weight:700; }
.breadcrumb-item.active { color:#1a3da6; }

.shop-filter-card { border:1px solid var(--border)!important; border-radius:10px!important; box-shadow:0 5px 18px rgba(15,23,42,.06); overflow:hidden; }
.shop-filter-card .card-header { padding:1rem 1.1rem; border-bottom:1px solid var(--border)!important; }
.shop-filter-card .card-body { background:#fff; }
.shop-filter-card h6 { color:#334155; letter-spacing:.02em; }
.shop-filter-card .form-check-input:checked { background-color:#1a3da6; border-color:#1a3da6; }
.shop-filter-card a.text-primary { color:#1a3da6!important; }
.shop-toolbar { padding:.7rem .9rem; border:1px solid var(--border); border-radius:8px; background:#fff; }
.shop-result-count { color:#1a3da6; font-size:1rem; }
.shop-sort-label { align-self:center; color:#64748b; font-size:.75rem; }
.shop-sort { width:auto; min-width:170px; }
.shop-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.shop-product-grid > div { min-width:0; }
@media(max-width:1199px) { .shop-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:991.98px) { .shop-filter-card { position:static!important; margin-bottom:1rem; } .shop-filter-card .card-body { max-height:360px; overflow:auto; } }
@media(max-width:576px) { .shop-page-header { align-items:start; flex-direction:column; padding:1rem; } .shop-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; } .shop-toolbar { align-items:stretch!important; flex-direction:column; } .shop-sort { width:100%; } .shop-sort-label { display:none; } }

/* ─── Navbar ──────────────────────────────────────────────── */
.top-info-bar {
    background: #1a3da6;
    color: white;
    font-size: .75rem;
    letter-spacing: .01em;
    padding: .45rem 0;
}
.top-info-bar a { color: white; text-decoration: none;  }
.top-info-bar a:hover { color: white; }
.top-info-divider { margin: 0 .75rem; color: white; }
.navbar-shop {
    background: var(--white);
    box-shadow: 0 2px 8px rgba(0,0,0,.07);
    z-index: 1030;
    padding: 0;
}
[data-bs-theme="dark"] .navbar-shop { background:#1e293b; }
.navbar-main-row { min-height: 76px; }
.brand-mark {
    width: 34px; height: 34px;
    display: inline-flex; align-items: center; justify-content: center;
    background: #1a3da6; color: white;
    border-radius: 9px;
    transform: rotate(-6deg);
}
.brand-mark i { transform: rotate(6deg); }
.brand-name { color: #1a3da6; font-size: 1.15rem; font-weight: 800; white-space: nowrap; }
[data-bs-theme="dark"] .brand-name { color: #1a3da6; }

.navbar-search { max-width: 520px; }
.search-control { height: 44px; }
.search-category { max-width: 135px; background-color: #f8fafc; border-color: var(--border); font-size: .82rem; }
.search-input { border-right:0; border-left: 0; }
.search-control .form-control:focus, .search-control .form-select:focus { box-shadow: none; border-color: var(--primary); }
.btn-voice, .btn-search { border: 1px solid var(--border); }
.btn-voice { background: white; color: #64748b; border-left: 0; }
.btn-voice:hover { color: var(--primary); }
.btn-search { width: 48px; background: #1a3da6; color: white; border-color: #1a3da6; border-radius: 0 8px 8px 0; }
.btn-search:hover { background: #1a3da6; color: white; border-color: #1a3da6; }
[data-bs-theme="dark"] .search-category, [data-bs-theme="dark"] .btn-voice { background: #0f172a; color: #cbd5e1; }

.search-suggestions {
    position: absolute;
    top: 100%; left: 0; right: 0;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 0 0 var(--radius-sm) var(--radius-sm);
    max-height: 380px;
    overflow-y: auto;
    z-index: 2000;
}
[data-bs-theme="dark"] .search-suggestions { background:#1e293b; border-color:#334155; }
.suggestion-item:hover { background: #f1f5f9; }
[data-bs-theme="dark"] .suggestion-item:hover { background:#0f172a; }
.suggestion-item { color: var(--dark); }

.btn-icon {
    width: 38px; height: 38px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    border: 1px solid var(--border);
    background: transparent;
    transition: var(--transition);
    padding: 0;
    color: #374151;
}
.btn-icon:hover { background: #1a3da6; color: var(--white); border-color: #1a3da6; }
.navbar-auth-link { color: #1a3da6; text-decoration: none; font-size: .84rem; font-weight: 600; }
.navbar-auth-link:hover { color: #1a3da6; text-decoration: none; }
.navbar-auth-signup { border: 0; padding: 0; }
.navbar-auth-signup:hover { background: transparent; color: #1a3da6; text-decoration: none; }

.bottom-header { border-top: 1px solid var(--border); }
.bottom-header > .container { min-height: 44px; }
.bottom-header-link { color: white; text-decoration: none; font-size: .84rem; font-weight: 600; white-space: nowrap; }
.bottom-header-link:hover { color: white }

/* Mega categories dropdown */
.mega-categories { position: relative; }
.mega-trigger { display: inline-flex; align-items: center; cursor: pointer; }
.mega-caret { font-size: .65rem; transition: transform .15s ease; }
.mega-categories:hover .mega-caret { transform: rotate(180deg); }
.mega-panel {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1050;
    min-width: 260px;
    background: var(--white);
    border-top: 3px solid var(--primary);
    border-radius: 0 0 8px 8px;
    padding: .4rem 0;
}
.mega-categories:hover .mega-panel { display: block; }
.mega-cat-item { position: relative; }
.mega-cat-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .6rem 1.1rem;
    color: #334155;
    font-size: .84rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}
.mega-cat-link:hover { color: var(--primary); background: #eff6ff; text-decoration: none; }
.mega-arrow { font-size: .68rem; color: #94a3b8; }
.mega-subpanel {
    display: none;
    position: absolute;
    top: 0;
    left: 100%;
    z-index: 1060;
    min-width: 420px;
    max-width: 560px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 0 8px 8px 0;
    box-shadow: 0 8px 24px rgba(0,0,0,.1);
    padding: 1rem 1.25rem;
}
.mega-cat-item:hover .mega-subpanel { display: block; }
.mega-subpanel-title { font-size: .82rem; font-weight: 700; color: var(--primary); margin-bottom: .6rem; text-transform: uppercase; letter-spacing: .04em; }
.mega-subpanel-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem .75rem; }
.mega-subcat-link { color: #475569; font-size: .82rem; text-decoration: none; padding: .3rem 0; }
.mega-subcat-link:hover { color: var(--primary); text-decoration: none; }

[data-bs-theme="dark"] .mega-panel { background: #1e293b; }
[data-bs-theme="dark"] .mega-cat-link { color: #e2e8f0; }
[data-bs-theme="dark"] .mega-cat-link:hover { background: #0f172a; }
[data-bs-theme="dark"] .mega-subpanel { background: #1e293b; border-color: #334155; }
[data-bs-theme="dark"] .mega-subcat-link { color: #cbd5e1; }

.auth-page { width: 100%; min-height: 620px; padding-inline: clamp(1rem, 5vw, 5rem); background: linear-gradient(135deg, #f7f9fc 0%, #eef3fb 100%); }
.auth-layout { display: grid; grid-template-columns: minmax(280px, .85fr) minmax(380px, 1.15fr); max-width: 980px; margin: 0 auto; align-items: stretch; box-shadow: 0 20px 55px rgba(15, 23, 42, .1); border-radius: 16px; overflow: hidden; }
.auth-brand-panel { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 4rem); background: #1a3da6; color: #fff; }
.auth-brand-mark { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 2.5rem; border: 1px solid rgba(255,255,255,.55); border-radius: 10px; font-size: 1.4rem; font-weight: 800; }
.auth-brand-kicker, .auth-form-kicker { margin: 0 0 .6rem; color: #bfdbfe; font-size: .68rem; font-weight: 800; letter-spacing: .13em; }
.auth-brand-panel h1 { max-width: 300px; margin: 0; font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.12; font-weight: 800; }
.auth-brand-copy { max-width: 330px; margin: 1.2rem 0 2.2rem; color: #dbeafe; font-size: .9rem; line-height: 1.7; }
.auth-brand-points { display: grid; gap: .85rem; color: #fff; font-size: .8rem; font-weight: 600; }
.auth-brand-points i { width: 21px; color: #bfdbfe; }
.auth-form-kicker { color: #1a3da6; }
.auth-form-panel { position: relative; padding: clamp(1.75rem, 4vw, 3rem); background: var(--white); border: 1px solid #e8dff0; border-radius: 14px; box-shadow: 0 12px 30px rgba(56, 24, 72, .08); }
.auth-form-panel::before { content: ''; position: absolute; top: 0; left: 1.5rem; right: 1.5rem; height: 3px; background: #1a3da6; border-radius: 0 0 4px 4px; }
.auth-form-panel h3 { color: #24152b; letter-spacing: -.01em; }
.auth-register-form { border-radius: 0; box-shadow: none; }
.auth-register-form .auth-input-row { gap: 1rem; }
.auth-form-panel .form-control { min-height: 44px; border-color: #ddd3e4; background: #fcfbfd; }
.auth-form-panel .form-control:focus { border-color: #1a3da6; box-shadow: 0 0 0 3px rgba(26, 61, 166, .12); background: white; }
.auth-form-panel .btn-primary { background: #1a3da6; border-color: #1a3da6; min-height: 44px; font-weight: 700; }
.auth-form-panel .btn-primary:hover { background: #4d0375; border-color: #4d0375; }
.auth-register-panel { border-left: 0; }
.auth-forgot-link { display: inline-block; margin-top: .4rem; color: #1a3da6; text-decoration: none; }
.auth-forgot-link:hover { color: #1a3da6; text-decoration: none; }
.auth-divider { display: flex; align-items: center; gap: .75rem; margin: 1.5rem 0 1rem; color: #94a3b8; font-size: .72rem; }
.auth-divider::before, .auth-divider::after { content: ''; height: 1px; flex: 1; background: var(--border); }
.auth-social-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.auth-social-button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .55rem .75rem; border: 1px solid var(--border); border-radius: 6px; background: transparent; color: var(--dark); font-size: .8rem; font-weight: 600; }
.auth-social-button:hover { border-color: #1a3da6; color: #1a3da6; }
.auth-create-account { margin: 1.5rem 0 0; color: #64748b; text-align: center; font-size: .78rem; }
.auth-create-account a { color: #1a3da6; font-weight: 800; text-decoration: none; }
.auth-consent .form-check { margin-bottom: .45rem; }
.auth-consent .form-check-input:checked { background-color: #1a3da6; border-color: #1a3da6; }
.auth-consent a { color: #1a3da6; font-weight: 600; text-decoration: none; }
.auth-consent a:hover { color: #1a3da6; text-decoration: none; }
.auth-input-row { display: grid; gap: 1rem; margin-bottom: 1rem; }
.auth-input-row-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.auth-input-row-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.auth-info-panel { display: flex; flex-direction: column; justify-content: center; padding: 3rem clamp(1.5rem, 5vw, 3rem); background: #1a3da6; color: white; }
.auth-info-icon { width: 46px; height: 46px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 1.5rem; background: rgba(255,255,255,.16); border-radius: 10px; font-size: 1.25rem; }
.auth-eyebrow { margin-bottom: .65rem; color: rgba(255,255,255,.72); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.auth-info-panel h2 { margin-bottom: .8rem; font-size: clamp(1.7rem, 3vw, 2.35rem); font-weight: 800; line-height: 1.1; }
.auth-info-panel > p:not(.auth-eyebrow) { max-width: 28rem; margin-bottom: 2rem; color: rgba(255,255,255,.82); line-height: 1.65; }
.auth-info-link { color: white; font-size: .86rem; font-weight: 700; text-decoration: none; }
.auth-info-link:hover { color: white; text-decoration: none; }

[data-bs-theme="dark"] .auth-form-panel { background: #1e293b; border-color: #334155; }
[data-bs-theme="dark"] .auth-page { background: #111827; }
[data-bs-theme="dark"] .auth-form-panel h3 { color: #f8fafc; }
[data-bs-theme="dark"] .auth-form-panel .form-control { border-color: #475569; background: #172033; }
[data-bs-theme="dark"] .auth-social-button { color: #f1f5f9; border-color: #475569; }

.nav-links-bar { border-top: 1px solid var(--border); }
.nav-links-bar > .container { min-height: 47px; }
.all-categories-link, .nav-quick-link { color: #334155; text-decoration: none; font-size: .86rem; font-weight: 600; }
.all-categories-link { display: inline-flex; align-items: center; min-height: 47px; color: var(--primary); }
.all-categories-link:hover, .nav-quick-link:hover { color: var(--primary); }
.nav-quick-link { font-weight: 500; }
.categories-dropdown { min-width: 245px; border-top: 3px solid var(--primary); border-radius: 0 0 8px 8px; padding: .45rem 0; }
.categories-dropdown .dropdown-item { padding: .55rem 1rem; font-size: .83rem; }
.categories-dropdown .dropdown-item:hover { color: var(--primary); background: #eff6ff; }
[data-bs-theme="dark"] .nav-links-bar { border-color: #334155; }
[data-bs-theme="dark"] .all-categories-link, [data-bs-theme="dark"] .nav-quick-link { color: #e2e8f0; }
[data-bs-theme="dark"] .bottom-header { border-color: #334155; }
[data-bs-theme="dark"] .bottom-header-link { color: #e2e8f0; }
[data-bs-theme="dark"] .categories-dropdown .dropdown-item:hover { background: #0f172a; }

.mobile-menu { width: min(88vw, 360px); }
.mobile-menu-heading { color: #64748b; font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; margin-bottom: .45rem; }
.mobile-menu-link { display: flex; align-items: center; gap: .8rem; color: var(--dark); text-decoration: none; padding: .65rem .25rem; border-bottom: 1px solid var(--border); }
.mobile-menu-link i { width: 1.1rem; color: var(--primary); text-align: center; }
.mobile-menu-link:hover { color: var(--primary); }
[data-bs-theme="dark"] .mobile-menu-link { color: #f1f5f9; border-color: #334155; }

/* Mega menu */
.mega-menu { min-width: 700px; left: 0!important; border-top: 3px solid var(--primary); }
.mega-cat-title { display:block; font-weight:600; font-size:.85rem; color:var(--dark); text-decoration:none; margin-bottom:.3rem; }
.mega-cat-title:hover { color:var(--primary); }
.mega-sub-link { display:block; color:#6b7280; font-size:.8rem; text-decoration:none; padding:.1rem 0; }
.mega-sub-link:hover { color:var(--primary); }

/* ─── Hero ────────────────────────────────────────────────── */
.hero-section { position:relative; }
.hero-swiper { height: 520px; }
@media(max-width:768px) { .hero-swiper { height: 280px; } }
.hero-slide {
    background-size: cover;
    background-position: center;
    position: relative;
}
.hero-overlay {
    position:absolute; inset:0;
    z-index:1;
    background: linear-gradient(135deg, rgba(17,24,39,.7) 0%, rgba(17,24,39,.1) 100%);
}
.hero-mobile-image { position:absolute; inset:0; z-index:0; }
.hero-mobile-image img { width:100%; height:100%; object-fit:cover; }
.hero-content { position:relative; z-index:2; max-width: 560px; }
.hero-title { font-size: clamp(1.6rem, 4vw, 3rem); font-weight:800; color:white; line-height:1.2; margin-bottom:.8rem; }
.hero-subtitle { font-size:1.1rem; color:rgba(255,255,255,.85); margin-bottom:1.5rem; }
.hero-mobile-image { display:none; }

/* ─── Campaign Tiles ─────────────────────────────────────── */
.campaign-strip { background:#f1f5f9; }
.campaign-grid { display:grid; grid-template-columns:repeat(6, minmax(0, 1fr)); gap:.75rem; }
.campaign-tile { min-height:210px; padding:1rem; display:flex; flex-direction:column; position:relative; overflow:hidden; color:#fff; text-decoration:none; border-radius:8px; background:linear-gradient(145deg, #2563eb, #06b6d4); transition:transform .25s ease, box-shadow .25s ease; }
.campaign-tile:nth-child(2) { background:linear-gradient(145deg, #059669, #84cc16); }
.campaign-tile:nth-child(3) { background:linear-gradient(145deg, #c026d3, #f43f5e); }
.campaign-tile:nth-child(4) { background:linear-gradient(145deg, #4338ca, #0ea5e9); }
.campaign-tile:nth-child(5) { background:linear-gradient(145deg, #db2777, #fb7185); }
.campaign-tile:nth-child(6) { background:linear-gradient(145deg, #ea580c, #f59e0b); }
.campaign-tile::after { content:''; position:absolute; width:110px; height:110px; right:-32px; bottom:-34px; border:18px solid rgba(255,255,255,.18); border-radius:50%; }
.campaign-tile:hover { color:#fff; transform:translateY(-4px); box-shadow:0 10px 22px rgba(15,23,42,.18); }
.campaign-tile-icon { font-size:1.65rem; margin-bottom:1.1rem; }
.campaign-tile-title { max-width:9rem; font-size:1rem; font-weight:800; line-height:1.1; }
.campaign-tile-subtitle { max-width:9rem; margin-top:.45rem; color:rgba(255,255,255,.84); font-size:.72rem; line-height:1.3; }
.campaign-tile-arrow { position:absolute; right:1rem; bottom:1rem; font-size:1rem; }

@media(max-width:992px) { .campaign-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); } }
@media(max-width:576px) { .campaign-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:.55rem; } .campaign-tile { min-height:175px; padding:.8rem; } .campaign-tile-title { font-size:.9rem; } }

/* Swiper overrides */
.swiper-button-prev, .swiper-button-next {
    background: rgba(255,255,255,.9);
    width: 40px; height: 40px;
    border-radius: 50%;
    color: var(--dark)!important;
}
.swiper-button-prev::after, .swiper-button-next::after { font-size: 14px!important; font-weight:900; }
.swiper-btn-sm { width: 32px!important; height: 32px!important; }
.swiper-btn-sm::after { font-size: 11px!important; }

/* ─── Section Titles ──────────────────────────────────────── */
.section-title { font-size: 1.4rem; font-weight:700; color:#1a3da6; position:relative; display:inline-block; }
.section-title::after {
    display:none;
}
[data-bs-theme="dark"] .section-title { color:#1a3da6; }

/* ─── Category Cards ──────────────────────────────────────── */
.category-card {
    background: var(--white);
    border-radius: var(--radius);
    padding: 1rem .5rem;
    border: 1px solid var(--border);
    transition: var(--transition);
    display:block;
}
.category-card:hover { border-color:var(--primary); box-shadow:0 4px 12px rgba(37,99,235,.15); transform:translateY(-2px); }
.cat-img-wrap { width:64px; height:64px; border-radius:50%; overflow:hidden; border:2px solid #e0e7ff; background:#f0f4ff; }
.cat-img-wrap img { width:100%; height:100%; object-fit:cover; }
.cat-icon-wrap { width:64px; height:64px; border-radius:50%; background:#f0f4ff; display:flex; align-items:center; justify-content:center; }
.cat-name { color:var(--dark); }
[data-bs-theme="dark"] .category-card { background:#1e293b; border-color:#334155; }
[data-bs-theme="dark"] .cat-name { color:#f1f5f9; }

/* ─── Product Card ────────────────────────────────────────── */
.product-card {
    display:flex; flex-direction:column;
    background: var(--white);
    border-radius: 10px;
    border: 1px solid var(--border);
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    position: relative;
}
.product-card:hover { box-shadow: 0 12px 28px rgba(15,23,42,.13); transform: translateY(-4px); border-color: #86efac; }
.product-card-image { aspect-ratio: 4 / 3; overflow:hidden; background:linear-gradient(145deg,#f8fafc,#eef2f7); }
.product-img { width:100%; height:100%; object-fit:contain; padding:1rem; transition: transform .4s ease; }
.product-card:hover .product-img { transform: scale(1.06); }

.product-overlay {
    position:absolute; inset:0;
    background: rgba(0,0,0,.0);
    opacity:0;
    transition: var(--transition);
}
.product-card:hover .product-overlay { opacity:1; background:rgba(0,0,0,.05); }

.product-actions { opacity:0; transform:translateX(5px); transition:var(--transition); }
.product-card:hover .product-actions { opacity:1; transform:translateX(0); }

.btn-white { background:white; border:1px solid var(--border); color:var(--dark); transition:var(--transition); }
.btn-white:hover, .btn-white.active { background:var(--primary); color:white; border-color:var(--primary); }

.product-card-body { flex:1; }
.product-title { display:block; min-height:2.8rem; font-weight:700; font-size:.88rem; color:var(--dark); text-decoration:none; line-height:1.4; }
.product-title:hover { color:var(--primary); }
[data-bs-theme="dark"] .product-title { color:#f1f5f9; }

.price-current { font-size:1.05rem; font-weight:800; color:#059669; }
.price-original { font-size:.8rem; }
.product-add-btn { width:100%; min-height:40px; border:0; border-radius:7px; background:#1a3da6; color:#fff; font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.02em; transition:background .2s ease, transform .2s ease, box-shadow .2s ease; }
.product-add-btn:hover { background:#159447; border-color:#159447; color:#fff; transform:translateY(-1px); box-shadow:0 5px 12px rgba(21,148,71,.25); }
.product-add-btn:disabled { background:#94a3b8; color:#fff; box-shadow:none; }
.btn-shop-apply { background:#1a3da6; border-color:#1a3da6; color:#fff; font-weight:700; }
.btn-shop-apply:hover { background:#159447; border-color:#159447; color:#fff; }
.btn-section-view-all { background:#1a3da6; border-color:#1a3da6; color:#fff; }
.btn-section-view-all:hover { background:#142f83; border-color:#142f83; color:#fff; }
[data-bs-theme="dark"] .product-card { background:#1e293b; border-color:#334155; }
[data-bs-theme="dark"] .product-card-image { background:linear-gradient(145deg,#172033,#243247); }
[data-bs-theme="dark"] .product-card:hover { border-color:#22c55e; }
[data-bs-theme="dark"] .price-original { color:#94a3b8 !important; }
.featured-products-swiper, .new-arrivals-swiper, .best-sellers-swiper, .recommended-swiper { padding: 4px 2px 12px; }
.featured-products-swiper .swiper-slide, .new-arrivals-swiper .swiper-slide, .best-sellers-swiper .swiper-slide, .recommended-swiper .swiper-slide { height:auto; }
.featured-products-swiper .product-card, .new-arrivals-swiper .product-card, .best-sellers-swiper .product-card, .recommended-swiper .product-card { height:100%; }
.featured-products-title { color:#1a3da6; }

/* ─── Flash Deals ─────────────────────────────────────────── */
.flash-deals-section { background-color:#f8fafc; color:var(--dark); }
.flash-deals-section .section-title::after { background:#f59e0b; }
.flash-sale-meta { letter-spacing:.02em; }
.flash-product-card { overflow:hidden; background:#8123a8 url('../img/flash.png') center/cover; border:1px solid #e5e7eb; border-radius:8px; box-shadow:none; }
.flash-product-visual { position:relative; min-height:255px; padding:.75rem .65rem .55rem; background-color:#8123a8; background-image:linear-gradient(135deg,rgba(111,20,148,.18),rgba(170,51,221,.05)),url('../img/flash.png'); background-position:center; background-size:cover; }
.flash-product-image { width:82%; height:190px; margin:0 auto; overflow:hidden; background:transparent; }
.flash-product-image img { width:100%; height:100%; object-fit:contain; transition:transform .35s ease; }
.flash-product-card:hover .flash-product-image img { transform:scale(1.04); }
.flash-discount-badge { position:absolute; z-index:1; top:.6rem; right:.65rem; display:flex; flex-direction:column; align-items:center; justify-content:center; width:58px; height:58px; border-radius:50%; background:#f21d4b; color:#fff; font-weight:800; font-size:1.15rem; line-height:1; }
.flash-discount-badge small { margin-top:.2rem; font-size:.55rem; }
.flash-card-countdown { position:absolute; bottom:.55rem; left:.8rem; right:.8rem; display:flex; align-items:center; justify-content:center; gap:.65rem; color:#fff; font-size:.58rem; font-weight:800; }
.flash-card-countdown strong { padding:.28rem .45rem; background:#fff; border-radius:5px; color:#374151; font-size:.72rem; letter-spacing:.03em; }
.flash-product-details { margin:0 .4rem .4rem; padding:.7rem .8rem .8rem; border-radius:6px; background:#fff; }
.flash-product-title { min-height:2.45rem; margin:0; color:#111827; font-size:.86rem; line-height:1.4; }
.flash-price-row { display:flex; justify-content:space-between; gap:.5rem; margin-top:.6rem; }
.flash-price-row > div:first-child { display:flex; flex-direction:column; }
.flash-sale-price { color:#111827; font-size:1.05rem; }
.flash-original-price { color:#6b7280; font-size:.76rem; text-decoration:line-through; }
.flash-price-row small { color:#6b7280; font-size:.68rem; }
.flash-saving { min-width:5.5rem; padding-left:.6rem; border-left:1px solid #9ca3af; color:#159447; font-size:.74rem; font-weight:800; }
.flash-saving strong { display:block; font-size:.86rem; }
.flash-buy-btn { margin-top:.7rem; border:0; border-radius:4px; font-size:.78rem; font-weight:800; }
[data-bs-theme="dark"] .flash-deals-section { background:rgba(239,68,68,.05); }

/* ─── Product Detail Page ───────────────────────────────────── */
.product-show-page { color: var(--dark); }
.product-details-shell { padding: 1.25rem; background: rgba(255,255,255,.75); border: 1px solid rgba(148,163,184,.24); border-radius: 24px; box-shadow: 0 18px 40px rgba(15,23,42,.06); }
.product-gallery-card, .info-panel-card, .product-info-card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 20px;
    box-shadow: 0 10px 25px rgba(15,23,42,.04);
}
.product-gallery-card { padding: 1rem; }
.product-main-image-wrap {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    background: linear-gradient(135deg, #f8fafc, #eef2ff 60%, #ecfeff);
    min-height: 520px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.product-main-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 1rem;
    display: block;
}
.product-badge { position: absolute; top: 1rem; left: 1rem; }
.badge-discount {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .5rem .8rem;
    font-size: .78rem;
    font-weight: 800;
    border-radius: 999px;
    background: linear-gradient(135deg, #ef4444, #f97316);
    color: #fff;
    box-shadow: 0 10px 18px rgba(239,68,68,.25);
}
.product-thumbs {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .7rem;
    margin-top: 1rem;
}
.product-thumb {
    border: 1px solid var(--border);
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    padding: 0;
    transition: var(--transition);
}
.product-thumb.active { border-color: var(--primary); box-shadow: 0 0 0 2px rgba(37,99,235,.12); }
.product-thumb img {
    width: 100%;
    height: 88px;
    object-fit: contain;
    padding: .5rem;
    display: block;
}
.product-info-card {
    padding: 1.4rem;
}
.product-brand-pill {
    display: inline-flex;
    align-items: center;
    padding: .45rem .8rem;
    border-radius: 999px;
    background: #eff6ff;
    color: var(--primary);
    text-decoration: none;
    font-size: .76rem;
    font-weight: 700;
}
.stock-pill {
    display: inline-flex;
    align-items: center;
    padding: .45rem .75rem;
    border-radius: 999px;
    font-size: .76rem;
    font-weight: 700;
}
.stock-pill.in-stock {
    background: #ecfdf5;
    color: #166534;
}
.stock-pill.out-of-stock {
    background: #fef2f2;
    color: #991b1b;
}
.product-page-title {
    margin: 0 0 .8rem;
    font-size: clamp(1.8rem, 2.5vw, 2.8rem);
    line-height: 1.2;
    color: var(--dark);
    font-weight: 800;
}
.product-rating-row { color: #64748b; }
.reviews-stars { color: #fbbf24; letter-spacing: .08em; }
.product-rating-score { font-weight: 700; color: var(--dark); }
.product-review-link { color: var(--primary); text-decoration: none; font-weight: 700; }
.product-review-link:hover { color: var(--primary); }
.price-panel { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.product-current-price {
    font-size: clamp(2rem, 3vw, 2.8rem);
    font-weight: 900;
    color: #0f766e;
    line-height: 1;
}
.product-regular-price {
    font-size: 1rem;
    color: #64748b;
    text-decoration: line-through;
}
.product-save-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .45rem .7rem;
    border-radius: 999px;
    background: #ecfdf5;
    color: #047857;
    font-size: .76rem;
    font-weight: 800;
}
.product-short-description {
    margin-bottom: 1.25rem;
    color: #475569;
    line-height: 1.7;
    font-size: .96rem;
}
.quantity-input-group {
    width: 154px;
    height: 44px;
    display: flex;
    align-items: center;
    gap: .35rem;
    padding: .3rem;
    border: 1px solid #dbe3ee;
    border-radius: 999px;
    background: #f8fafc;
    box-shadow: inset 0 1px 2px rgba(15,23,42,.04);
}
.quantity-input-group .quantity-btn,
.quantity-input-group .quantity-input {
    min-width: 0;
    height: 100%;
    border: 0;
}
.quantity-input-group .quantity-btn {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 50%;
    background: #fff;
    color: var(--primary);
    box-shadow: 0 1px 4px rgba(15,23,42,.1);
}
.quantity-input-group .quantity-input {
    flex: 1 1 auto;
    padding: 0 .35rem;
    background: transparent;
    color: var(--dark);
    font-size: .95rem;
    font-weight: 400;
    box-shadow: none;
    outline: 0;
    appearance: textfield;
    -moz-appearance: textfield;
}
.quantity-input-group .quantity-input::-webkit-outer-spin-button,
.quantity-input-group .quantity-input::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none;
}
.benefit-list { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .75rem; }
.benefit-item {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .7rem .8rem;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: #f8fafc;
    color: #334155;
    font-size: .8rem;
    font-weight: 600;
}
.benefit-item i { color: var(--primary); }
.product-action-row { display: flex; flex-wrap: wrap; }
.product-page-btn {
    min-height: 48px;
    font-weight: 800;
    letter-spacing: .01em;
    border-radius: 12px;
    padding-inline: 1.2rem;
}
.product-page-btn.quick-add-btn {
    background: #1a3da6;
    border-color: #1a3da6;
    color: #fff;
}
.product-page-btn.quick-add-btn:hover,
.product-page-btn.quick-add-btn:focus {
    background: #142f83;
    border-color: #142f83;
    color: #fff;
}
.buy-now-btn {
    min-height: 46px;
    font-weight: 800;
    border-radius: 12px;
    background: #159447;
    border-color: #159447;
    color: #fff;
    box-shadow: 0 10px 20px rgba(21,148,71,.2);
}
.buy-now-btn:hover,
.buy-now-btn:focus {
    background: #117536;
    border-color: #117536;
    color: #fff;
}
.product-extra-card .wishlist-btn,
.product-extra-card .wishlist-btn.active {
    background:#59077e;
    border-color:#59077e;
    color: #fff;
}
.product-extra-card .wishlist-btn:hover,
.product-extra-card .wishlist-btn:focus {
    background:#59077e;
    border-color:#59077e;
    color: #fff;
}

.product-extra-card .panel-body {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.product-extra-list {
    display: grid;
    gap: .8rem;
}
.extra-item {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    padding: .7rem .8rem;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #f8fafc;
}
.extra-label {
    display: flex;
    align-items: center;
    gap: .45rem;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #64748b;
    font-weight: 700;
}
.extra-label i {
    color: var(--primary);
}
.extra-item strong {
    color: var(--dark);
    font-size: .95rem;
    line-height: 1.5;
}
.product-extra-actions {
    margin-top: auto;
}
.product-share-icons {
    display: flex;
    align-items: center;
    gap: .6rem;
    flex-wrap: wrap;
}
.product-share-icons a {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff;
    border: 1px solid var(--border);
    color: var(--dark);
    transition: all .2s ease;
}
.product-share-icons a:hover {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}
.feature-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: .75rem;
}
.feature-summary-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    padding: .8rem .6rem;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: linear-gradient(135deg, #f8fafc, #f1f5f9);
    color: #334155;
    font-size: .76rem;
    font-weight: 700;
    text-align: center;
}
.feature-summary-item i { color: var(--primary); font-size: 1rem; }
.info-panel-card {
    overflow: hidden;
}
.panel-header {
    padding: 1rem 1.2rem;
    border-bottom: 1px solid var(--border);
    background: linear-gradient(135deg, #f8fafc, #f1f5f9);
}
.panel-header h2 {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--dark);
}
.panel-body { padding: 1.1rem 1.2rem; }
.product-description {
    color: #475569;
    line-height: 1.8;
    font-size: .96rem;
}
.spec-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: .7rem;
}
.spec-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding-bottom: .7rem;
    border-bottom: 1px solid var(--border);
    color: #475569;
    font-size: .9rem;
}
.spec-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.spec-list li strong { color: var(--dark); font-weight: 700; }
.review-summary {
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--border);
    margin-bottom: 1rem;
}
.review-average {
    font-size: 2.2rem;
    font-weight: 800;
    color: var(--dark);
    line-height: 1;
}
.review-bar-row {
    display: grid;
    grid-template-columns: 60px 1fr 30px;
    align-items: center;
    gap: .75rem;
    margin-bottom: .5rem;
    font-size: .8rem;
    color: #475569;
}
.review-bar-track {
    height: 8px;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
}
.review-bar-fill {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #fbbf24, #f59e0b);
}
.review-list { display: grid; gap: 1rem; }
.customer-review-item {
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #f8fafc;
}
.customer-review-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .5rem;
}
.customer-review-header h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--dark);
}
.customer-review-header span {
    color: #64748b;
    font-size: .75rem;
}
.customer-review-item h4 {
    margin: .4rem 0 .5rem;
    font-size: .95rem;
    color: var(--dark);
}
.customer-review-item p {
    margin: 0;
    color: #475569;
    line-height: 1.7;
}
.empty-review-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    min-height: 180px;
    text-align: center;
    color: #64748b;
    border: 1px dashed var(--border);
    background: #f8fafc;
    border-radius: 12px;
}
.empty-review-box i {
    font-size: 2rem;
    color: var(--primary);
}
.section-kicker {
    display: block;
    margin-bottom: .25rem;
    font-size: .72rem;
    color: var(--primary);
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.product-related-swiper, .product-brand-swiper { padding: 4px 2px 12px; }
.product-brand-swiper .swiper-slide { height: auto; }
.product-brand-swiper .brand-logo { max-height: 52px; max-width: 130px; }
.product-brand-prev, .product-brand-next { top: 50%; }

@media (max-width: 991.98px) {
    .product-main-image-wrap { min-height: 420px; }
    .benefit-list { grid-template-columns: 1fr; }
    .feature-summary-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 767.98px) {
    .product-details-shell { padding: .8rem; }
    .product-main-image-wrap { min-height: 320px; }
    .product-thumbs { grid-template-columns: repeat(4, minmax(0,1fr)); }
    .feature-summary-grid { grid-template-columns: 1fr; }
    .product-page-btn { width: 100%; }
    .product-action-row { display: grid; grid-template-columns: 1fr; }
}

@media (max-width: 575.98px) {
    .customer-review-header { flex-direction: column; }
    .review-bar-row { grid-template-columns: 48px 1fr 24px; }
    .product-page-title { font-size: 1.75rem; }
}

/* ─── Brand Logo ──────────────────────────────────────────── */
.brand-logo-link { display:flex; align-items:center; justify-content:center; padding:.5rem; }
.brand-logo { max-height:50px; max-width:120px; filter:grayscale(1); opacity:.7; transition:var(--transition); }
.brand-logo:hover { filter:none; opacity:1; }

/* ─── Promo Banners ───────────────────────────────────────── */
.promo-banner { cursor:pointer; transition:var(--transition); background-size:cover; background-position:center; }
.promo-banner:hover { transform:scale(1.01); box-shadow:var(--shadow); }
.promo-overlay { background:none; }
.flash-banners-section { background:#fff; }
.flash-deals-banner { background-position:center; background-size:cover; transition:var(--transition); }
.flash-deals-banner:hover { transform:translateY(-2px); box-shadow:var(--shadow); }
.flash-deals-banner-image { display:block; width:100%; height:auto; min-height:190px; object-fit:cover; }

/* ─── Blog Card ───────────────────────────────────────────── */
.blog-card { transition:var(--transition); background:var(--white); border:1px solid var(--border); }
.blog-card:hover { box-shadow:var(--shadow); transform:translateY(-2px); }
.blog-thumb { height:180px; object-fit:cover; }

/* ─── Footer ──────────────────────────────────────────────── */
.site-footer { background:#111827; color:#9ca3af; }
.footer-links li { margin-bottom:.4rem; }
.footer-links a { color:#9ca3af; text-decoration:none; font-size:.85rem; transition:var(--transition); }
.footer-links a:hover { color:white; }
.footer-heading { font-size:.85rem; text-transform:uppercase; letter-spacing:.5px; color:#d1d5db; }
.btn-social {
    width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.1);
    color:#9ca3af; display:inline-flex; align-items:center; justify-content:center;
    text-decoration:none; transition:var(--transition); font-size:.9rem;
}
.btn-social:hover { background:var(--primary); color:white; }

/* ─── Mobile Bottom Nav ───────────────────────────────────── */
.mobile-bottom-nav {
    position: fixed; bottom:0; left:0; right:0; z-index:1040;
    background: var(--white);
    border-top: 1px solid var(--border);
    display: flex;
    justify-content: space-around;
    padding: .4rem 0;
    padding-bottom: calc(.4rem + env(safe-area-inset-bottom));
    box-shadow: 0 -2px 10px rgba(0,0,0,.07);
}
[data-bs-theme="dark"] .mobile-bottom-nav { background:#1e293b; border-color:#334155; }
.mobile-nav-item {
    display: flex; flex-direction: column; align-items: center;
    color: #9ca3af; text-decoration:none; font-size:.6rem;
    transition: var(--transition);
    padding: .2rem .6rem;
}
.mobile-nav-item i { font-size:1.2rem; margin-bottom:.1rem; }
.mobile-nav-item.active, .mobile-nav-item:hover { color: var(--primary); }

#main-content { padding-bottom: 70px; }

@media (max-width: 991.98px) {
    .navbar-main-row { min-height: 64px; }
    .brand-name { font-size: 1rem; }
    .navbar-toggler { color: var(--dark); font-size: 1.15rem; }
    [data-bs-theme="dark"] .navbar-toggler { color: #f8fafc; }
}
@media (max-width: 767.98px) {
    .auth-layout { grid-template-columns: 1fr; gap: 1rem; }
    .auth-register-panel { border-top: 0; }
    .auth-info-panel { min-height: 280px; }
}
@media (max-width: 575.98px) {
    .auth-input-row-three, .auth-input-row-two { grid-template-columns: 1fr; }
}
@media(min-width:992px) { #main-content { padding-bottom: 0; } .mobile-bottom-nav { display:none!important; } }

/* ─── Order Tracking Timeline ─────────────────────────────── */
.order-timeline { gap: 0; overflow-x:auto; padding-bottom:8px; }
.timeline-line {
    position:absolute; top:20px; left:5%; right:5%; height:3px;
    background: var(--border); z-index:0;
}
.timeline-step { flex:1; min-width:70px; z-index:1; }
.step-icon {
    width:42px; height:42px; border-radius:50%; border:3px solid var(--border);
    background:white; display:flex; align-items:center; justify-content:center;
    font-size:1rem; color:#9ca3af; transition:var(--transition);
}
.timeline-step.done .step-icon { background:var(--success); border-color:var(--success); color:white; }
.timeline-step.current .step-icon { background:var(--primary); border-color:var(--primary); color:white; box-shadow:0 0 0 4px rgba(37,99,235,.2); }
.step-label { font-size:.65rem; margin-top:.3rem; color:#6b7280; }
.timeline-step.done .step-label, .timeline-step.current .step-label { color:var(--dark); font-weight:600; }

/* ─── Cart / Checkout ─────────────────────────────────────── */
.cart-item { transition:var(--transition); }
.cart-item:hover { background:#f8fafc; }
.payment-option:hover { border-color:var(--primary)!important; background:#f0f4ff; }
.address-option { cursor:pointer; transition:var(--transition); }
.address-option:hover { border-color:var(--primary)!important; }

/* ─── Utilities ───────────────────────────────────────────── */
.badge-sm { font-size:.6rem; min-width:16px; padding:2px 5px; }
.btn-xs { padding:.15rem .4rem; font-size:.75rem; }

/* ─── Benefits Bar ────────────────────────────────────────── */
.benefit-item { padding:.5rem; }

/* ─── AOS minimal ─────────────────────────────────────────── */
[data-aos] { transition-property: transform, opacity; }
.bottom-header{
    background-color: #1a3da6;
}


.benefits-bar{
    background-color: #1a3da6 !important;
    color: white !important;
}
.benefits-bar i{
   
    color: white !important;
}

.footer-benefits .benefit-item i {
    color: #fff !important;
}