/* ====================================================
   JANABIO MOBILE-FIRST CSS ARCHITECTURE
==================================================== */
@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;600;700&display=swap');

/* Arabic: Cairo font on all text elements EXCEPT FontAwesome icons */
body[dir="rtl"] {
    font-family: 'Cairo', sans-serif;
}

body[dir="rtl"] *:not(i):not([class*="fa"]):not([class*="fab"]):not([class*="fas"]):not([class*="far"]):not(.fa):not(.fas):not(.fab):not(.far) {
    font-family: 'Cairo', sans-serif !important;
}

/* Protect FontAwesome elements explicitly */
body[dir="rtl"] i[class*="fa"],
body[dir="rtl"] .fa,
body[dir="rtl"] .fas,
body[dir="rtl"] .fab,
body[dir="rtl"] .far,
body[dir="rtl"] [class*="fa-"] {
    font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands", FontAwesome !important;
}

:root {
    --primary: #2E7D32;
    --primary-dark: #1b5e20;
    --primary-light: #4caf50;
    --secondary: #A5D6A7;
    --accent: #ffb300;
    --accent-hover: #ffa000;
    --bg-color: #f6f7f6;
    --text-main: #1B1B1B;
    --text-muted: #6c757d;
    --white: #ffffff;
    --border-color: #f0f2f0;
    --radius-sm: 8px;
    --radius: 12px;
    --radius-lg: 20px;
    --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.05);
    --shadow-card: 0 4px 12px rgba(0, 0, 0, 0.06);
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Inter', sans-serif;
    background-color: var(--bg-color);
    color: var(--text-main);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
}

a {
    text-decoration: none;
    color: inherit;
}

ul {
    list-style: none;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

.container {
    margin: 0 auto;
    padding: 0 15px;
    width: 100%;
}

/* Buttons */
.btn {
    display: inline-block;
    padding: 10px 15px;
    border-radius: var(--radius-sm);
    text-align: center;
    font-weight: 600;
    font-size: 0.9rem;
    cursor: pointer;
    border: none;
    transition: 0.2s ease;
    position: relative;
}

/* Professional Loading State */
.btn.is-loading {
    color: transparent !important;
    pointer-events: none;
    transition: none;
}
.btn.is-loading::after {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    top: calc(50% - 10px);
    left: calc(50% - 10px);
    border: 3px solid rgba(255,255,255,0.3);
    border-radius: 50%;
    border-top-color: #fff;
    animation: btn-spin 0.6s linear infinite;
}
.btn-secondary.is-loading::after, 
.btn-outline.is-loading::after,
.pdp-btn-share.is-loading::after {
    border-color: rgba(0,0,0,0.1);
    border-top-color: var(--primary);
}

@keyframes btn-spin {
    to { transform: rotate(360deg); }
}

.btn-primary {
    background: var(--primary);
    color: var(--white);
}

.btn-outline {
    border: 1px solid var(--primary);
    color: var(--primary);
    background: transparent;
}

/* =======================================
   HEADER BASE (detailed styles in header.php)
======================================= */
.main-header {
    background: var(--white);
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 12px rgba(0, 0, 0, .08);
}

/* Legacy compat — keep cart count working */
.cart-count {
    position: absolute;
    top: -4px;
    background: var(--accent);
    color: white;
    font-size: 0.6rem;
    font-weight: bold;
    min-width: 16px;
    height: 16px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 3px;
}

/* ── Live Search Dropdown ─────────────────────────────── */
.search-live-drop {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    background: var(--white);
    border-radius: var(--radius);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
    z-index: 2000;
    display: none;
    overflow: hidden;
    max-height: 420px;
    overflow-y: auto;
}

.search-live-drop.open {
    display: block;
}

.sld-loading,
.sld-empty {
    padding: 16px;
    text-align: center;
    color: var(--text-muted);
    font-size: 0.9rem;
}

.sld-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    text-decoration: none;
    color: var(--text-main);
    border-bottom: 1px solid #f5f5f5;
    transition: background 0.15s;
}

.sld-item:hover {
    background: #f8f8f8;
}

.sld-item img {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: var(--radius-sm);
    flex-shrink: 0;
}

.sld-info {
    flex: 1;
    min-width: 0;
}

.sld-name {
    font-size: 0.88rem;
    font-weight: 600;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sld-price {
    font-size: 0.82rem;
    color: var(--primary);
    font-weight: 700;
}

.sld-see-all {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    padding: 12px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--white);
    background: var(--primary);
    text-decoration: none;
    transition: background 0.2s;
}

.sld-see-all:hover {
    background: var(--primary-light);
}


/* Nav/Actions handled in header.php inline styles */

/* =======================================
   HOMEPAGE LAYOUTS (Mobile First)
======================================= */
/* 2. Hero Section */
.hero {
    background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
    padding: 30px 15px;
    border-radius: var(--radius-lg);
    margin: 15px;
    text-align: center;
}

.hero p {
    font-size: 0.8rem;
    letter-spacing: 1px;
    color: var(--primary);
    text-transform: uppercase;
    margin-bottom: 10px;
    font-weight: 600;
}

.hero h1 {
    font-size: 1.8rem;
    line-height: 1.2;
    margin-bottom: 20px;
    color: var(--text-main);
}

.hero .btn {
    width: 100%;
    border-radius: 30px;
    font-size: 1rem;
    padding: 12px;
}

/* 3. Category Strip Scrollable */
.category-strip {
    display: flex;
    overflow-x: auto;
    gap: 15px;
    padding: 10px 15px;
    scroll-snap-type: x mandatory;
}

.category-strip::-webkit-scrollbar {
    display: none;
}

.cat-item {
    flex: 0 0 auto;
    width: 80px;
    text-align: center;
    scroll-snap-align: start;
}

.cat-icon {
    width: 60px;
    height: 60px;
    background: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 5px;
    box-shadow: var(--shadow-sm);
    font-size: 1.5rem;
    color: var(--primary);
    border: 1px solid #f1f1f1;
}

.cat-item span {
    font-size: 0.75rem;
    font-weight: 500;
}

/* ── Section Header ──────────────────────────── */
.section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 12px 14px;
}

.section-header h2 {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--text-main);
    display: flex;
    align-items: center;
    gap: 8px;
}

.section-header h2::before {
    content: '';
    display: inline-block;
    width: 4px;
    height: 18px;
    background: var(--primary);
    border-radius: 2px;
    flex-shrink: 0;
}

.section-header a {
    font-size: 0.8rem;
    color: var(--primary);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* ── Hero ────────────────────────────────────── */
.hero {
    background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
    padding: 30px 16px;
    border-radius: var(--radius-lg);
    margin: 12px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%232e7d32' fill-opacity='0.04'%3E%3Ccircle cx='30' cy='30' r='20'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none;
}

.hero p {
    font-size: 0.78rem;
    letter-spacing: 1.5px;
    color: var(--primary);
    text-transform: uppercase;
    margin-bottom: 10px;
    font-weight: 700;
}

.hero h1 {
    font-size: 1.7rem;
    line-height: 1.25;
    margin-bottom: 20px;
    color: var(--text-main);
    font-weight: 800;
}

.hero .btn {
    width: 100%;
    border-radius: 30px;
    font-size: 1rem;
    padding: 13px;
    box-shadow: 0 4px 16px rgba(46, 125, 50, .3);
}

/* ── Trust Pills (matches header/category-strip style) ─── */
.trust-pills-wrap {
    background: var(--bg-color, #f8f9fa);
    padding: 8px 0;
    border-bottom: 1px solid var(--border-color, #e9ecef);
}

.trust-pills {
    display: flex;
    overflow-x: auto;
    gap: 8px;
    padding: 4px 12px;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
}

.trust-pills::-webkit-scrollbar {
    display: none;
}

.trust-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
    scroll-snap-align: start;
    background: #fff;
    border: 1.5px solid var(--border-color, #e9ecef);
    border-radius: 30px;
    padding: 6px 14px 6px 8px;
    font-size: .74rem;
    font-weight: 700;
    color: var(--text-main, #1b1b1b);
    white-space: nowrap;
    transition: border-color .2s, box-shadow .2s;
}

.trust-pill:hover {
    border-color: var(--primary, #2e7d32);
    box-shadow: 0 2px 10px rgba(46, 125, 50, .1);
}

.trust-pill-icon {
    width: 26px;
    height: 26px;
    background: linear-gradient(135deg, #e8f5e9, #c8e6c9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .75rem;
    color: var(--primary, #2e7d32);
    flex-shrink: 0;
}

@media (min-width: 768px) {
    .trust-pills {
        justify-content: center;
        gap: 10px;
    }

    .trust-pill {
        font-size: .8rem;
        padding: 7px 16px 7px 9px;
    }

    .trust-pill-icon {
        width: 28px;
        height: 28px;
        font-size: .8rem;
    }
}

/* ── Category Chips (new horizontal pill-link style) ───── */
.cat-chips-wrap {
    background: #fff;
    border-bottom: 1px solid var(--border-color, #e9ecef);
    padding: 2px 0;
}

.cat-chips {
    display: flex;
    overflow-x: auto;
    gap: 6px;
    padding: 8px 12px;
    scrollbar-width: none;
    scroll-snap-type: x mandatory;
}

.cat-chips::-webkit-scrollbar {
    display: none;
}

.cat-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
    scroll-snap-align: start;
    padding: 7px 14px;
    border-radius: 30px;
    font-size: .78rem;
    font-weight: 700;
    white-space: nowrap;
    text-decoration: none;
    color: var(--text-main, #1b1b1b);
    background: #f4f6f4;
    border: 1.5px solid transparent;
    transition: background .18s, border-color .18s, color .18s;
}

.cat-chip i {
    font-size: .75rem;
    color: var(--primary, #2e7d32);
}

.cat-chip:hover {
    background: #e8f5e9;
    border-color: var(--primary, #2e7d32);
    color: var(--primary, #2e7d32);
}

.cat-chip:hover i {
    color: var(--primary, #2e7d32);
}

/* "Tout voir" chip — filled primary */
.cat-chip-all {
    background: var(--primary, #2e7d32);
    color: #fff;
    border-color: var(--primary, #2e7d32);
}

.cat-chip-all i {
    color: #fff;
}

.cat-chip-all:hover {
    background: #1b5e20;
    border-color: #1b5e20;
    color: #fff;
}

@media (min-width: 768px) {
    .cat-chips {
        justify-content: center;
        gap: 8px;
    }

    .cat-chip {
        font-size: .82rem;
        padding: 8px 18px;
    }
}

/* ── Category Strip (legacy — kept for other pages) ─────── */
.category-strip {
    display: flex;
    overflow-x: auto;
    gap: 12px;
    padding: 10px 12px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.category-strip::-webkit-scrollbar {
    display: none;
}

.cat-item {
    flex: 0 0 auto;
    width: 76px;
    text-align: center;
    scroll-snap-align: start;
    text-decoration: none;
    color: inherit;
    display: block;
}

.cat-icon {
    width: 58px;
    height: 58px;
    background: #fff;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 6px;
    box-shadow: 0 3px 12px rgba(0, 0, 0, .08);
    font-size: 1.5rem;
    color: var(--primary);
    border: 1.5px solid #eee;
    transition: transform .2s, box-shadow .2s;
}

.cat-item:hover .cat-icon {
    transform: translateY(-3px);
    box-shadow: 0 6px 18px rgba(46, 125, 50, .15);
    border-color: var(--primary);
}

.cat-item span {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--text-muted);
}

/* ── WhatsApp Float ──────────────────────────── */
.wa-float {
    position: fixed;
    bottom: 80px;
    inset-inline-end: 14px;
    background: #25D366;
    color: #fff;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    box-shadow: 0 4px 16px rgba(37, 211, 102, .4);
    z-index: 999;
    transition: transform .2s;
}

.wa-float:hover {
    transform: scale(1.1);
}

@media (min-width: 768px) {
    .section-header {
        padding: 24px 20px 18px;
    }

    .section-header h2 {
        font-size: 1.4rem;
    }

    .hero {
        padding: 60px 60px;
        margin: 20px 12px;
        text-align: left;
    }

    .hero h1 {
        font-size: 3.2rem;
        max-width: 560px;
    }

    .hero .btn {
        width: auto;
        padding: 15px 40px;
        font-size: 1.05rem;
    }

    .category-strip {
        justify-content: center;
        gap: 32px;
        padding: 14px 20px;
    }

    .cat-item {
        width: 90px;
    }

    .cat-icon {
        width: 72px;
        height: 72px;
        font-size: 1.9rem;
    }

    .cat-item span {
        font-size: .82rem;
    }

    .wa-float {
        bottom: 30px;
        width: 56px;
        height: 56px;
    }
}

/* =======================================
   PRODUCT CARD — Premium Design
======================================= */
.product-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 0 12px;
    align-items: start;
}

.scroll-grid {
    display: flex;
    overflow-x: auto;
    gap: 10px;
    padding: 0 12px 16px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    align-items: stretch;
}

.scroll-grid::-webkit-scrollbar {
    display: none;
}

/* ── Product card scroll widths (mobile) ── */
.scroll-grid .product-card {
    flex: 0 0 148px;
    scroll-snap-align: start;
    width: 148px;
    min-width: 0;
}

@media (min-width: 480px) {
    .scroll-grid .product-card {
        flex: 0 0 170px;
        width: 170px;
    }
}

@media (min-width: 768px) {
    .scroll-grid .product-card {
        flex: 0 0 185px;
        width: 185px;
    }
}

.product-card {
    background: var(--white);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .07);
    display: flex;
    flex-direction: column;
    position: relative;
    transition: transform .22s ease, box-shadow .22s ease;
    border: 1px solid rgba(0, 0, 0, .04);
}

.product-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 28px rgba(46, 125, 50, .13);
}

/* Image area — keep natural product photo visible */
.product-img {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #f5f5f5;
    position: relative;
}

.product-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    /* no cropping — full product visible */
    transition: transform .35s ease;
    padding: 4px;
    box-sizing: border-box;
}

.product-card:hover .product-img img {
    transform: scale(1.04);
}

/* Badges — absolute (on image) */
.product-badge {
    position: absolute;
    top: 8px;
    inset-inline-start: 8px;
    background: #e53935;
    color: #fff;
    font-size: .65rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 20px;
    letter-spacing: .4px;
}

.product-badge.badge-new {
    background: #1976d2;
}

.product-badge.badge-sale {
    background: #e53935;
}

/* Inline badge inside price row (not on image) */
.product-price-row .product-badge {
    position: static;
    margin-inline-start: 2px;
    font-size: .6rem;
    padding: 2px 6px;
}

/* Blog card image placeholder */
.blog-card-img-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #e8f5e9, #c8e6c9);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    color: var(--primary);
    opacity: .5;
}

/* Wishlist btn */
.product-wish {
    position: absolute;
    top: 8px;
    inset-inline-end: 8px;
    width: 30px;
    height: 30px;
    background: rgba(255, 255, 255, .9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .85rem;
    color: #ccc;
    border: none;
    cursor: pointer;
    transition: color .2s, background .2s;
    backdrop-filter: blur(4px);
}

.product-wish:hover,
.product-wish.wished {
    color: #e53935;
    background: #fff;
}

/* Body — compact padding */
.product-card-body {
    padding: 7px 8px 9px;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 3px;
}

/* Category label */
.product-cat-label {
    font-size: .65rem;
    font-weight: 700;
    color: var(--primary);
    text-transform: uppercase;
    letter-spacing: .5px;
}

.product-title {
    font-size: .78rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--text-main);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Stars */
.product-stars {
    display: flex;
    align-items: center;
    gap: 3px;
    font-size: .68rem;
    color: #f59e0b;
}

.product-stars span {
    color: var(--text-muted);
    font-size: .65rem;
}

/* Price row */
.product-price-row {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: auto;
    padding-top: 6px;
    flex-wrap: wrap;
}

/* ثمن عادي — بدون تخفيض */
.price {
    font-size: .88rem;
    font-weight: 800;
    color: var(--primary);
}

/* ثمن البيع بعد التخفيض — أحمر */
.price.price-sale {
    color: #e53935;
    font-size: .92rem;
}

/* الثمن الأصلي قبل التخفيض — صغير مشطوب */
.old-price,
.discount {
    font-size: .72rem;
    font-weight: 500;
    text-decoration: line-through;
    color: #bbb;
}

/* Add to cart */
.product-card .btn {
    width: 100%;
    padding: 6px 4px;
    font-size: .72rem;
    margin-top: 6px;
    border-radius: 8px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.btn-cart i {
    font-size: .8rem;
}

/* Helpers */
.product-title-link {
    text-decoration: none;
    color: inherit;
}

.no-prod {
    grid-column: 1 / -1;
    text-align: center;
    color: var(--text-muted);
    padding: 40px 0;
}

/* Desktop: more cards per row, less wasted space */
@media (min-width: 768px) {
    .product-grid {
        grid-template-columns: repeat(auto-fill, minmax(175px, 1fr));
        gap: 14px;
        padding: 0 20px;
    }

    .product-card-body {
        padding: 8px 10px 10px;
    }

    .product-title {
        font-size: .82rem;
    }

    .price {
        font-size: .95rem;
    }

    .product-img {
        aspect-ratio: 1 / 1;
    }
}

/* ── Section helpers ─────────────────────────── */
.section-block {
    margin-top: 18px;
}

.offers-section {
    background: #FFF8E1;
    padding: 20px 0;
    margin-top: 18px;
}

.blog-section {
    background: #e8f5e9;
    padding: 20px 0;
}

.no-prod {
    grid-column: 1/-1;
    text-align: center;
    color: #777;
    padding: 30px 0;
}

/* Blog label */
.blog-label {
    font-size: 0.7rem;
    color: var(--primary);
    font-weight: 700;
    text-transform: uppercase;
    display: block;
    margin-bottom: 4px;
}

/* ── Blog Strip (homepage) — Premium Cards ───── */
.blog-strip {
    padding: 0 12px 20px;
    display: flex;
    gap: 14px;
    overflow-x: auto;
    scrollbar-width: none;
}

.blog-strip::-webkit-scrollbar {
    display: none;
}

.blog-card {
    flex: 0 0 200px;
    /* ↓ 200 instead of 240 */
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .07);
    transition: transform .22s, box-shadow .22s;
    text-decoration: none;
    color: inherit;
    display: block;
    border: 1px solid rgba(0, 0, 0, .04);
}

.blog-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 22px rgba(46, 125, 50, .12);
}

/* Desktop — blog strip becomes a grid */
@media (min-width: 768px) {
    .blog-strip {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        overflow: visible;
        padding: 0 20px 20px;
        gap: 16px;
    }

    .blog-card {
        flex: none;
        width: auto;
    }
}

/* Image area */
.blog-card-img {
    position: relative;
    height: 120px;
    /* ↓ from 148 */
    overflow: hidden;
}

.blog-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s;
    display: block;
}

.blog-card:hover .blog-card-img img {
    transform: scale(1.06);
}

.blog-card-img::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, .38) 0%, transparent);
}

.blog-card-cat {
    position: absolute;
    top: 10px;
    inset-inline-start: 10px;
    background: var(--primary);
    color: #fff;
    font-size: .62rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: .4px;
    z-index: 1;
}

.blog-card-content {
    padding: 9px 11px 11px;
}

.blog-card-title {
    font-size: .80rem;
    /* ↓ from .88 */
    font-weight: 700;
    line-height: 1.35;
    color: var(--text-main);
    margin-bottom: 6px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.blog-card-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: .68rem;
    color: var(--text-muted);
}

.blog-card-meta i {
    font-size: .65rem;
    color: var(--primary);
}

/* =======================================
   DESKTOP ADAPTATION (Secondary focus)
======================================= */
@media (min-width: 768px) {
    .container {
        max-width: 1200px;
    }

    .header-container {
        flex-wrap: nowrap;
        padding: 15px;
    }

    .search-container {
        order: initial;
        margin: 0 40px;
    }

    .action-text {
        display: inline-block;
        font-size: 0.85rem;
        margin-top: 3px;
    }

    .action-btn {
        flex-direction: column;
        align-items: center;
    }

    .nav-scroll-container {
        border: none;
        overflow: visible;
        padding: 0;
    }

    .nav-links {
        padding: 0;
        display: flex;
        justify-content: center;
        width: 100%;
        gap: 40px;
    }

    .hero {
        text-align: left;
        padding: 60px;
        max-width: 1200px;
        margin: 20px auto;
        border-radius: var(--radius-lg);
    }

    .hero h1 {
        font-size: 3.5rem;
        max-width: 600px;
    }

    .hero .btn {
        width: auto;
        padding: 15px 40px;
        font-size: 1.1rem;
    }

    .category-strip {
        justify-content: center;
        gap: 40px;
    }

    .cat-item {
        width: 100px;
    }

    .cat-icon {
        width: 80px;
        height: 80px;
        font-size: 2rem;
    }

    .cat-item span {
        font-size: 1rem;
    }

    /* Medium screens to Ultra-Wide Dynamic scaling */
    .product-grid {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
        gap: 20px;
    }

    .product-card {
        padding: 15px;
    }

    .product-title {
        font-size: 1rem;
        margin-bottom: 10px;
    }

    .price {
        font-size: 1.2rem;
    }

    .section-header h2 {
        font-size: 1.6rem;
    }

    .wa-float {
        bottom: 30px;
        right: 30px;
        width: 60px;
        height: 60px;
        font-size: 2.2rem;
    }
}

/* =======================================
   CHECKOUT PAGE
======================================= */
.checkout-page {
    padding: 20px 15px 60px;
}

.checkout-title {
    font-size: 1.3rem;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--text-main);
}

.checkout-layout {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.checkout-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: 20px;
    box-shadow: var(--shadow-card);
}

.checkout-card h2 {
    font-size: 1.1rem;
    margin-bottom: 18px;
    color: var(--text-main);
}

/* COD Badge */
.cod-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #e8f5e9;
    color: var(--primary);
    border: 1px solid var(--primary);
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 16px;
}

/* Form */
.form-group {
    margin-bottom: 16px;
}

.form-group label {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 6px;
    color: var(--text-main);
}

.req-star {
    color: #e53935;
}

.form-group input,
.form-group textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1.5px solid var(--border-color);
    border-radius: var(--radius-sm);
    font-size: 0.95rem;
    outline: none;
    transition: border 0.2s;
    font-family: inherit;
    background: var(--bg-color);
    color: var(--text-main);
}

.form-group input:focus,
.form-group textarea:focus {
    border-color: var(--primary);
    background: #fff;
}

.form-group textarea {
    resize: vertical;
    min-height: 70px;
}

.btn-submit {
    width: 100%;
    padding: 15px;
    font-size: 1rem;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-top: 10px;
    transition: opacity 0.2s;
}

.btn-submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Order Summary Items */
.co-item {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.co-item-img {
    width: 55px;
    height: 55px;
    object-fit: cover;
    border-radius: var(--radius-sm);
    flex-shrink: 0;
}

.co-item-info {
    flex: 1;
}

.co-item-name {
    font-size: 0.85rem;
    font-weight: 600;
    display: block;
}

.co-item-qty {
    font-size: 0.8rem;
    color: var(--text-muted);
}

.co-item-price {
    font-weight: 700;
    font-size: 0.9rem;
    color: var(--primary);
    white-space: nowrap;
}

/* Success */
.success-icon {
    font-size: 5rem;
    color: var(--primary);
    margin-bottom: 15px;
}

.success-icon i {
    display: block;
}

@media (min-width: 768px) {
    .checkout-layout {
        flex-direction: row;
        align-items: flex-start;
    }

    .checkout-form-col {
        flex: 1.4;
    }

    .checkout-summary-col {
        flex: 1;
        position: sticky;
        top: 80px;
    }
}

/* =======================================
   SEARCH PAGE
======================================= */
.search-page {
    padding: 20px 15px 60px;
}

.search-page-header {
    margin-bottom: 20px;
}

.search-page-title {
    font-size: 1.3rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.search-query-label {
    font-size: 1rem;
    font-weight: 400;
    color: var(--text-muted);
}

.search-query-label strong {
    color: var(--primary);
}

.search-refine-form {
    display: flex;
    background: #f1f1f1;
    border-radius: var(--radius);
    overflow: hidden;
    max-width: 500px;
}

.search-refine-form input {
    flex: 1;
    border: none;
    background: transparent;
    padding: 12px 15px;
    outline: none;
    font-size: 0.95rem;
    font-family: inherit;
}

.search-refine-form button {
    background: var(--primary);
    color: white;
    border: none;
    padding: 0 20px;
    font-size: 1rem;
    cursor: pointer;
}

.search-count {
    font-size: 0.85rem;
    color: var(--text-muted);
    margin-bottom: 15px;
}

.search-empty {
    text-align: center;
    padding: 60px 20px;
    color: var(--text-muted);
}

.search-empty i {
    font-size: 3.5rem;
    opacity: 0.2;
    display: block;
    margin-bottom: 15px;
}

.search-empty p {
    font-size: 1.1rem;
    margin-bottom: 8px;
}

.search-empty small {
    font-size: 0.9rem;
}

.search-hint {
    text-align: center;
    padding: 40px 20px;
    color: var(--text-muted);
    font-size: 1rem;
}

.search-loading-msg {
    text-align: center;
    padding: 40px;
    color: var(--text-muted);
    font-size: 1rem;
}

/* =======================================
   CART PAGE
======================================= */
.cart-page {
    padding: 20px 15px 40px;
}

.cart-page-title {
    font-size: 1.4rem;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}



.cart-layout {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Cart Item Row — Mobile-first grid layout */
.cart-item {
    display: grid;
    grid-template-columns: 72px 1fr;
    grid-template-rows: auto auto;
    grid-template-areas:
        "img  details"
        "img  controls";
    gap: 6px 12px;
    background: var(--white);
    border-radius: var(--radius);
    padding: 12px;
    box-shadow: var(--shadow-sm);
    margin-bottom: 10px;
    align-items: start;
}

.cart-item-img {
    grid-area: img;
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: var(--radius-sm);
}

.cart-item-details {
    grid-area: details;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.cart-item-name {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--text-main);
    text-decoration: none;
    /* Clamp to 2 lines max */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.35;
}

.cart-item-price {
    font-size: 0.82rem;
    color: var(--primary);
    font-weight: 700;
}

/* Controls row — image / [qty − price − trash] */
.cart-item-controls {
    grid-area: controls;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
}

.qty-btn {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    border: 1.5px solid var(--border-color);
    background: var(--bg-color);
    border-radius: var(--radius-sm);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.78rem;
}

.qty-val {
    font-weight: 700;
    min-width: 22px;
    text-align: center;
    font-size: 0.95rem;
}

.cart-item-total {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--text-main);
    white-space: nowrap;
    margin-left: auto;
    /* push to end */
}

[dir="rtl"] .cart-item-total {
    margin-left: 0;
    margin-right: auto;
}

.cart-remove {
    background: none;
    border: none;
    color: #e53935;
    cursor: pointer;
    font-size: 1rem;
    padding: 4px;
    flex-shrink: 0;
}


/* Summary Card */
.summary-card {
    background: var(--white);
    border-radius: var(--radius);
    padding: 20px;
    box-shadow: var(--shadow-card);
}

.summary-card h2 {
    font-size: 1.1rem;
    margin-bottom: 15px;
}

.summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    font-size: 0.9rem;
}

.summary-total {
    font-weight: 700;
    font-size: 1.1rem;
}

.summary-divider {
    border: none;
    border-top: 1px solid var(--border-color);
    margin: 15px 0;
}

.free-badge {
    background: #e8f5e9;
    color: var(--primary);
    font-size: 0.75rem;
    padding: 3px 8px;
    border-radius: 20px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.ship-fee {
    font-weight: 700;
    color: #e53935;
}

.ship-hint {
    display: block;
    font-size: 0.72rem;
    color: var(--primary);
    margin-top: 2px;
    font-weight: 500;
}

.btn-checkout {
    width: 100%;
    padding: 14px;
    font-size: 1rem;
    margin-top: 15px;
    border-radius: 30px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.btn-continue {
    width: 100%;
    padding: 10px;
    font-size: 0.9rem;
    margin-top: 8px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

/* Empty cart */
.cart-empty {
    text-align: center;
    padding: 60px 20px;
    color: var(--text-muted);
}

.cart-empty i {
    font-size: 4rem;
    opacity: 0.3;
    display: block;
    margin-bottom: 15px;
}

.cart-empty p {
    font-size: 1.1rem;
    margin-bottom: 20px;
}

.cart-empty a {
    display: inline-block;
    background: var(--primary);
    color: white;
    padding: 12px 30px;
    border-radius: 30px;
    font-weight: 600;
}

.cart-loading {
    text-align: center;
    padding: 40px;
    color: var(--text-muted);
    font-size: 2rem;
}

/* Toast */
.jb-toast {
    position: fixed;
    bottom: 90px;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    background: #1b1b1b;
    color: #fff;
    padding: 12px 20px;
    border-radius: 30px;
    font-size: 0.9rem;
    z-index: 9999;
    opacity: 0;
    transition: all 0.3s ease;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 8px;
    pointer-events: none;
}

.jb-toast.show {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

.jb-toast i {
    color: #4caf50;
}

@media (min-width: 768px) {
    .cart-layout {
        flex-direction: row;
        align-items: flex-start;
    }

    .cart-items-col {
        flex: 2;
    }

    .cart-summary-col {
        flex: 1;
        position: sticky;
        top: 80px;
    }

    .jb-toast {
        bottom: 30px;
    }
}

/* =======================================
   FOOTER & MOBILE NAV
======================================= */
.main-footer {
    background-color: var(--text-main);
    color: #f1f1f1;
    padding-top: 50px;
    margin-top: 50px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    margin-bottom: 30px;
}

.footer-logo {
    color: var(--white);
    margin-bottom: 15px;
    display: inline-block;
}

.footer-desc {
    color: #bbb;
    margin-bottom: 20px;
    font-size: 0.9rem;
}

.social-links a {
    color: var(--white);
    background: rgba(255, 255, 255, 0.1);
    width: 35px;
    height: 35px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    margin-right: 10px;
}

.footer-col h3 {
    color: var(--white);
    font-size: 1.1rem;
    margin-bottom: 15px;
}

.footer-col ul li {
    margin-bottom: 8px;
    font-size: 0.9rem;
}

.footer-col ul a {
    color: #bbb;
}

.footer-col ul a:hover {
    color: var(--accent);
}

.newsletter-form {
    display: flex;
    margin-top: 15px;
}

.newsletter-form input {
    flex: 1;
    padding: 12px;
    border: none;
    border-radius: var(--radius-sm) 0 0 var(--radius-sm);
    outline: none;
}

.newsletter-form button {
    background: var(--accent);
    color: var(--white);
    border: none;
    padding: 0 15px;
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    cursor: pointer;
    font-weight: 600;
}

.payment-methods i {
    font-size: 1.8rem;
    margin-right: 10px;
    color: #aaa;
}

/* Keep space on bottom for the sticky mobile nav */
.footer-bottom {
    background: #111;
    padding: 20px 0;
    text-align: center;
    font-size: 0.85rem;
    color: #777;
    padding-bottom: 80px;
}

/* ══════════════════════════════════════════════════
   MOBILE BOTTOM NAV — matches header brand style
   bg: #fff | accent: var(--primary) | same shadow
══════════════════════════════════════════════════ */
.mobile-bottom-nav {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #fff;
    border-top: 1.5px solid var(--border-color, #e9ecef);
    box-shadow: 0 -4px 16px rgba(0, 0, 0, .07);
    z-index: 1100;
    justify-content: space-around;
    align-items: stretch;
    padding: 0;
    min-height: 58px;
}

.mobile-nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    color: var(--text-muted, #6c757d);
    font-size: .68rem;
    font-weight: 600;
    text-decoration: none;
    flex: 1;
    padding: 8px 4px 6px;
    position: relative;
    transition: color .18s;
    letter-spacing: .2px;
}

/* Active indicator — green line on top */
.mobile-nav-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 20%;
    width: 60%;
    height: 2.5px;
    background: var(--primary, #2e7d32);
    border-radius: 0 0 3px 3px;
    transform: scaleX(0);
    transition: transform .2s cubic-bezier(.34, 1.56, .64, 1);
}

.mobile-nav-item.active::before,
.mobile-nav-item:hover::before {
    transform: scaleX(1);
}

.mobile-nav-item i {
    font-size: 1.22rem;
    transition: transform .18s, color .18s;
    line-height: 1;
}

.mobile-nav-item:hover i {
    transform: translateY(-1px);
}

.mobile-nav-item span {
    font-size: .65rem;
    font-weight: 600;
    white-space: nowrap;
}

/* Active state */
.mobile-nav-item.active {
    color: var(--primary, #2e7d32);
}

.mobile-nav-item:hover {
    color: var(--primary, #2e7d32);
}

/* Cart icon wrapper */
.cart-icon-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mobile-cart-badge {
    position: absolute;
    top: -6px;
    left: 50%;
    min-width: 17px;
    height: 17px;
    background: #e53935;
    color: #fff;
    font-size: .6rem;
    font-weight: 700;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    border: 2px solid #fff;
    box-sizing: border-box;
}

.mobile-cart-badge:empty,
.mobile-cart-badge[data-count="0"] {
    display: none;
}

/* Body padding to avoid content hidden behind nav */
body {
    padding-bottom: 64px;
}

@media (min-width: 768px) {
    .mobile-bottom-nav {
        display: none;
    }

    body {
        padding-bottom: 0;
    }
}
/* Wishlist Button on Product Cards */
.btn-wishlist {
    position: absolute;
    top: 10px;
    right: 10px; /* If RTL, this might need adjusting or left:10px */
    background: rgba(255, 255, 255, 0.9);
    border: none;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ccc;
    font-size: 1.1rem;
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
    z-index: 10;
}
[dir="rtl"] .btn-wishlist {
    right: auto;
    left: 10px;
}
.btn-wishlist:hover {
    color: #ff4757;
    transform: scale(1.1);
}
.btn-wishlist.active {
    color: #ff4757;
}
.btn-wishlist i {
    pointer-events: none;
}


 / *   = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 
       R E B U I L D :   P R E M I U M   C O M P O N E N T S 
 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =   * / 
 . h o m e p a g e - w r a p p e r   {   b a c k g r o u n d :   v a r ( - - b g - c o l o r ) ;   } 
 
 . s e c t i o n - h e a d e r   { 
         d i s p l a y :   f l e x ; 
         j u s t i f y - c o n t e n t :   s p a c e - b e t w e e n ; 
         a l i g n - i t e m s :   c e n t e r ; 
         m a r g i n - b o t t o m :   2 0 p x ; 
 } 
 . s e c t i o n - h e a d e r   h 2   { 
         f o n t - s i z e :   1 . 2 5 r e m ; 
         f o n t - w e i g h t :   8 0 0 ; 
         c o l o r :   # 1 1 1 ; 
         d i s p l a y :   f l e x ; 
         a l i g n - i t e m s :   c e n t e r ; 
         g a p :   1 0 p x ; 
 } 
 . s e c t i o n - h e a d e r   h 2   i   {   c o l o r :   v a r ( - - p r i m a r y ) ;   f o n t - s i z e :   1 . 1 r e m ;   } 
 . s e c t i o n - h e a d e r   a   { 
         f o n t - s i z e :   0 . 8 5 r e m ; 
         f o n t - w e i g h t :   7 0 0 ; 
         c o l o r :   v a r ( - - p r i m a r y ) ; 
         d i s p l a y :   f l e x ; 
         a l i g n - i t e m s :   c e n t e r ; 
         g a p :   5 p x ; 
 } 
 
 / *   P r e m i u m   P r o d u c t   C a r d   * / 
 . p r o d u c t - c a r d   { 
         b a c k g r o u n d :   # f f f ; 
         b o r d e r - r a d i u s :   v a r ( - - r a d i u s ) ; 
         p a d d i n g :   1 2 p x ; 
         d i s p l a y :   f l e x ; 
         f l e x - d i r e c t i o n :   c o l u m n ; 
         t r a n s i t i o n :   0 . 3 s ; 
         b o r d e r :   1 p x   s o l i d   v a r ( - - b o r d e r - c o l o r ) ; 
         p o s i t i o n :   r e l a t i v e ; 
         w i d t h :   1 7 0 p x ; 
         b o x - s h a d o w :   v a r ( - - s h a d o w - s m ) ; 
 } 
 @ m e d i a   ( m i n - w i d t h :   7 6 8 p x )   { 
         . p r o d u c t - c a r d   {   w i d t h :   2 2 0 p x ;   p a d d i n g :   1 6 p x ;   } 
         . p r o d u c t - c a r d : h o v e r   {   t r a n s f o r m :   t r a n s l a t e Y ( - 5 p x ) ;   b o x - s h a d o w :   v a r ( - - s h a d o w - l g ) ;   b o r d e r - c o l o r :   t r a n s p a r e n t ;   } 
 } 
 
 . p r o d u c t - i m g   { 
         a s p e c t - r a t i o :   1 / 1 ; 
         o v e r f l o w :   h i d d e n ; 
         m a r g i n - b o t t o m :   1 2 p x ; 
         b o r d e r - r a d i u s :   v a r ( - - r a d i u s - s m ) ; 
         b a c k g r o u n d :   # f 9 f 9 f 9 ; 
 } 
 . p r o d u c t - i m g   i m g   {   w i d t h :   1 0 0 % ;   h e i g h t :   1 0 0 % ;   o b j e c t - f i t :   c o n t a i n ;   } 
 
 . b t n - w i s h l i s t   { 
         p o s i t i o n :   a b s o l u t e ; 
         t o p :   1 0 p x ; 
         i n s e t - i n l i n e - e n d :   1 0 p x ; 
         w i d t h :   3 2 p x ;   h e i g h t :   3 2 p x ; 
         b o r d e r - r a d i u s :   5 0 % ; 
         b a c k g r o u n d :   r g b a ( 2 5 5 , 2 5 5 , 2 5 5 , 0 . 9 ) ; 
         b o r d e r :   n o n e ; 
         d i s p l a y :   f l e x ;   a l i g n - i t e m s :   c e n t e r ;   j u s t i f y - c o n t e n t :   c e n t e r ; 
         c o l o r :   # c c c ; 
         z - i n d e x :   5 ; 
         b o x - s h a d o w :   v a r ( - - s h a d o w - s m ) ; 
 } 
 . b t n - w i s h l i s t . a c t i v e   {   c o l o r :   # f f 5 2 5 2 ;   } 
 
 . p r o d u c t - b a d g e   { 
         p o s i t i o n :   a b s o l u t e ; 
         b o t t o m :   5 p x ; 
         i n s e t - i n l i n e - s t a r t :   5 p x ; 
         b a c k g r o u n d :   # f f 5 2 5 2 ; 
         c o l o r :   # f f f ; 
         f o n t - s i z e :   0 . 7 r e m ; 
         f o n t - w e i g h t :   8 0 0 ; 
         p a d d i n g :   3 p x   8 p x ; 
         b o r d e r - r a d i u s :   4 p x ; 
 } 
 
 . p r o d u c t - t i t l e   { 
         f o n t - s i z e :   0 . 8 5 r e m ; 
         f o n t - w e i g h t :   6 0 0 ; 
         c o l o r :   # 3 3 3 ; 
         m a r g i n - b o t t o m :   8 p x ; 
         d i s p l a y :   - w e b k i t - b o x ; 
         - w e b k i t - l i n e - c l a m p :   2 ; 
         - w e b k i t - b o x - o r i e n t :   v e r t i c a l ; 
         o v e r f l o w :   h i d d e n ; 
         m i n - h e i g h t :   2 . 6 e m ; 
 } 
 
 . p r o d u c t - p r i c e - r o w   { 
         m a r g i n - t o p :   a u t o ; 
         m a r g i n - b o t t o m :   1 2 p x ; 
         d i s p l a y :   f l e x ; 
         a l i g n - i t e m s :   b a s e l i n e ; 
         g a p :   8 p x ; 
 } 
 . p r i c e   {   f o n t - s i z e :   1 . 1 r e m ;   f o n t - w e i g h t :   8 0 0 ;   c o l o r :   # 1 1 1 ;   } 
 . p r i c e - s a l e   {   c o l o r :   # f f 5 2 5 2 ;   } 
 . o l d - p r i c e   {   f o n t - s i z e :   0 . 8 r e m ;   t e x t - d e c o r a t i o n :   l i n e - t h r o u g h ;   c o l o r :   # 9 9 9 ;   } 
 
 . b t n - c a r t   { 
         w i d t h :   1 0 0 % ; 
         b a c k g r o u n d :   # f 0 f 7 f 0 ; 
         c o l o r :   v a r ( - - p r i m a r y ) ; 
         b o r d e r :   n o n e ; 
         p a d d i n g :   1 0 p x ; 
         b o r d e r - r a d i u s :   v a r ( - - r a d i u s - p i l l ) ; 
         f o n t - w e i g h t :   7 0 0 ; 
         f o n t - s i z e :   0 . 8 r e m ; 
         t r a n s i t i o n :   0 . 2 s ; 
 } 
 . b t n - c a r t : h o v e r   {   b a c k g r o u n d :   v a r ( - - p r i m a r y ) ;   c o l o r :   # f f f ;   } 
 
 . s c r o l l - g r i d   { 
         d i s p l a y :   f l e x ; 
         o v e r f l o w - x :   a u t o ; 
         g a p :   1 6 p x ; 
         p a d d i n g :   1 0 p x   2 p x   2 0 p x ; 
         s c r o l l b a r - w i d t h :   n o n e ; 
 } 
 . s c r o l l - g r i d : : - w e b k i t - s c r o l l b a r   {   d i s p l a y :   n o n e ;   } 
 
 
 
