/* =============================================================
   TURBOTECH – PUBLIC WEBSITE THEME
   ---------------------------------------------------------------
   HOW TO CHANGE COLORS:
   Edit only the variables inside :root {} below.
   Everything else updates automatically.

   PRESET IDEAS (uncomment one block at a time):

   ── DARK ORANGE (default) ────────────────────────────────────
   --accent:        #FF6B00;
   --accent-light:  #FF8C2A;
   --accent-dark:   #CC5500;
   --bg-base:       #0A0A0A;
   --bg-surface:    #111214;
   --bg-surface-2:  #181A1E;
   --bg-surface-3:  #222428;
   --border:        #2A2D33;
   --text-primary:  #F5F6F8;
   --text-secondary:#B8BCC6;
   --text-muted:    #888D97;

   ── DARK BLUE ────────────────────────────────────────────────
   --accent:        #2563EB;
   --accent-light:  #3B82F6;
   --accent-dark:   #1D4ED8;
   --bg-base:       #030712;
   --bg-surface:    #0F172A;
   --bg-surface-2:  #1E293B;
   --bg-surface-3:  #293548;
   --border:        #334155;
   --text-primary:  #F1F5F9;
   --text-secondary:#CBD5E1;
   --text-muted:    #64748B;

   ── DARK GREEN ───────────────────────────────────────────────
   --accent:        #16A34A;
   --accent-light:  #22C55E;
   --accent-dark:   #15803D;
   --bg-base:       #020B04;
   --bg-surface:    #071912;
   --bg-surface-2:  #0D2418;
   --bg-surface-3:  #143020;
   --border:        #1A4731;
   --text-primary:  #F0FDF4;
   --text-secondary:#BBF7D0;
   --text-muted:    #4ADE80;

   ── DARK RED ─────────────────────────────────────────────────
   --accent:        #DC2626;
   --accent-light:  #EF4444;
   --accent-dark:   #B91C1C;
   --bg-base:       #0A0202;
   --bg-surface:    #130808;
   --bg-surface-2:  #1C0E0E;
   --bg-surface-3:  #261515;
   --border:        #3B1A1A;
   --text-primary:  #FEF2F2;
   --text-secondary:#FECACA;
   --text-muted:    #F87171;

   ── LIGHT CORPORATE ──────────────────────────────────────────
   --accent:        #FF6B00;
   --accent-light:  #FF8C2A;
   --accent-dark:   #CC5500;
   --bg-base:       #F8FAFC;
   --bg-surface:    #FFFFFF;
   --bg-surface-2:  #F1F5F9;
   --bg-surface-3:  #E2E8F0;
   --border:        #CBD5E1;
   --text-primary:  #0F172A;
   --text-secondary:#334155;
   --text-muted:    #64748B;

    --Cyber Teal-------------------------------------
    --accent:        #06B6D4;
    --accent-light:  #22D3EE;
    --accent-dark:   #0891B2;
    --bg-base:       #071216;
    --bg-surface:    #0B1B21;
    --bg-surface-2:  #102830;
    --bg-surface-3:  #173742;
    --border:        #28515E;
    --text-primary:   #F0FDFF;
    --text-secondary: #CFFAFE;
    --text-muted:     #67E8F9;

    =========== Matte Black + Electric Yellow (WOW Combo)

    --accent:        #FFD500;
    --accent-light:  #FFE44D;
    --accent-dark:   #E6C200;
    --bg-base:       #050505;
    --bg-surface:    #111111;
    --bg-surface-2:  #1B1B1B;
    --bg-surface-3:  #252525;
    --border:        #383838;
    --text-primary:   #FFFFFF;
    --text-secondary: #E5E5E5;
    --text-muted:     #A3A3A3;

    ================ Luxury Auto Parts

    --accent:        #D4AF37;
    --accent-light:  #E8C95B;
    --accent-dark:   #B8941F;
    --bg-base:       #050505;
    --bg-surface:    #0D0D0D;
    --bg-surface-2:  #171717;
    --bg-surface-3:  #212121;
    --border:        #3A3A3A;
    --text-primary:   #FFFFFF;
    --text-secondary: #E5D7A5;
    --text-muted:     #C4A747;

    ==========================Blue

   --accent: #3B82F6;
    --accent-light: #60A5FA;
    --accent-dark: #2563EB;
    --bg-base: #050B18;
    --bg-surface: #0A1224;
    --bg-surface-2: #101B32;
    --bg-surface-3: #172642;
    --border: #1E3A5F;
    --text-primary: #F8FAFC;
    --text-secondary: #BFDBFE;
    --text-muted: #7DA7D9;

    ===================================== blue purple
      --accent: #6366F1;
    --accent-light: #818CF8;
    --accent-dark: #4F46E5;
    --purple: #A855F7;
    --purple-light: #C084FC;
    --purple-dark: #9333EA;
    --bg-base: #070A18;
    --bg-surface: #0D1126;
    --bg-surface-2: #141936;
    --bg-surface-3: #1C2345;
    --border: #2A3260;
    --text-primary: #F8FAFC;
    --text-secondary: #CBD5E1;
    --text-muted: #94A3B8;
   

================================================================ */

:root {
  
        --accent: #DC2626;
    --accent-light: #EF4444;
    --accent-dark: #B91C1C;
    --bg-base: #0A0202;
    --bg-surface: #130808;
    --bg-surface-2: #1C0E0E;
    --bg-surface-3: #261515;
    --border: #3B1A1A;
    --text-primary: #FEF2F2;
    --text-secondary: #FECACA;
    --text-muted: #F87171;

    --font-display: 'Bebas Neue', sans-serif;
    --font-heading: 'Rajdhani', sans-serif;
    --font-body: 'Inter', sans-serif;
    /* ── STATUS COLORS (change only if needed) ────────────────── */
    --success: #22C55E;
    --danger: #DC2626;
    --warning: #F59E0B;
    --info: #0EA5E9;
}

/* =============================================================
   BASE
============================================================= */
*, *::before, *::after { box-sizing: border-box; }

body {
    background: var(--bg-base);
    color: var(--text-primary);
    font-family: var(--font-body);
    font-size: 14px;
    margin: 0;
}

/* =============================================================
   TOPBAR
============================================================= */
.topbar {
    background: var(--bg-surface-2);
    border-bottom: 1px solid var(--border);
    padding: 6px 0;
    font-size: 12px;
    color: var(--text-muted);
}
.topbar-social {
    color: var(--text-muted);
    width: 26px; height: 26px;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid var(--border); border-radius: 4px;
    text-decoration: none; transition: all 0.2s;
}
.topbar-social:hover { background: var(--accent); border-color: var(--accent); color: #fff; }

/* =============================================================
   NAVBAR
============================================================= */
.main-navbar {
    background: var(--bg-surface-2) !important;
    border-bottom: 2px solid var(--accent);
    padding: 10px 0;
    min-height: 80px;
}

.brand-logo {
    display: flex;
    align-items: center;
    gap: 10px;
}

.brand-logo img {
    max-height: 65px;
    width: auto;
    object-fit: contain;
}
/*.brand-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; }*/
.brand-icon  { font-size: 28px; color: var(--accent); }
.brand-text  { display: flex; flex-direction: column; line-height: 1; }
.brand-main  { font-family: var(--font-display); font-size: 28px; color: var(--text-primary); letter-spacing: 2px; }
.brand-sub   { font-family: var(--font-display); font-size: 28px; color: var(--accent); letter-spacing: 2px; }
.brand-tagline { font-family: var(--font-heading); font-size: 9px; color: var(--text-muted); letter-spacing: 4px; text-transform: uppercase; margin-top: 2px; }

.main-navbar .nav-link {
    color: var(--text-secondary) !important;
    font-family: var(--font-heading); font-weight: 600;
    font-size: 15px; letter-spacing: 1px; text-transform: uppercase;
    padding: 8px 14px !important; transition: color 0.2s;
    border-bottom: 2px solid transparent;
}
.main-navbar .nav-link:hover,
.main-navbar .nav-link.active { color: var(--accent) !important; border-bottom-color: var(--accent); }

.dropdown-menu {
    background: var(--bg-surface-3) !important;
    border: 1px solid var(--border) !important;
    border-top: 2px solid var(--accent) !important;
}
.dropdown-item { color: var(--text-secondary) !important; font-family: var(--font-heading); font-size: 14px; padding: 8px 16px; }
.dropdown-item:hover { background: var(--border) !important; color: var(--accent) !important; }
.dropdown-divider { border-color: var(--border) !important; }

.search-form .search-input {
    background: var(--bg-surface-3); border: 1px solid var(--border);
    color: var(--text-primary); border-radius: 4px 0 0 4px;
    padding: 8px 14px; font-size: 13px; width: 240px;
}
.search-form .search-input::placeholder { color: var(--text-muted); }
.search-form .search-input:focus { outline: none; border-color: var(--accent); box-shadow: none; background: var(--bg-surface-3); }
.btn-search { background: var(--accent); border: none; color: #fff; padding: 8px 14px; border-radius: 0 4px 4px 0; transition: background 0.2s; }
.btn-search:hover { background: var(--accent-dark); }

.cart-btn { position: relative; color: var(--text-primary); font-size: 18px; text-decoration: none; padding: 8px; transition: color 0.2s; }
.cart-btn:hover { color: var(--accent); }
.cart-badge {
    position: absolute; top: 0; right: 0;
    background: var(--accent); color: #fff; font-size: 10px;
    width: 18px; height: 18px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; font-weight: 700;
}
.navbar-toggler { border: 1px solid var(--border); color: var(--text-muted); padding: 6px 10px; }
.navbar-toggler:focus { box-shadow: none; }

/* =============================================================
   HERO
============================================================= */
.hero-section {
    background: linear-gradient(135deg, var(--bg-base) 0%, var(--bg-surface-3) 50%, var(--bg-base) 100%);
    min-height: 90vh; display: flex; align-items: center;
    position: relative; overflow: hidden;
}
.hero-section::before {
    content: '';
    position: absolute; inset: 0;
    background: radial-gradient(ellipse at 70% 50%, color-mix(in srgb, var(--accent) 15%, transparent) 0%, transparent 60%);
}
.hero-label {
    font-family: var(--font-heading); font-size: 13px; letter-spacing: 5px;
    text-transform: uppercase; color: var(--accent);
    border-left: 3px solid var(--accent); padding-left: 12px; margin-bottom: 20px;
}
.hero-title {
    font-family: var(--font-display);
    font-size: clamp(60px, 9vw, 120px); line-height: 0.9;
    color: var(--text-primary); letter-spacing: 2px; margin-bottom: 20px;
}
.hero-title span { color: var(--accent); }
.hero-sub { font-family: var(--font-heading); font-size: 18px; color: var(--text-secondary); max-width: 480px; line-height: 1.6; margin-bottom: 36px; }

.hero-stats { display: flex; gap: 40px; margin-top: 50px; border-top: 1px solid var(--border); padding-top: 30px; }
.stat-item { text-align: center; }
.stat-num  { font-family: var(--font-display); font-size: 42px; color: var(--accent); line-height: 1; }
.stat-label { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--text-muted); margin-top: 4px; }

.hero-search-bar {
    background: var(--bg-surface-2); border: 1px solid var(--border);
    border-top: 3px solid var(--accent); padding: 24px 30px; border-radius: 4px; margin-top: 30px;
}
.hero-search-bar h6 { font-family: var(--font-heading); font-size: 13px; letter-spacing: 3px; text-transform: uppercase; color: var(--accent); margin-bottom: 14px; }
.hero-search-bar .form-control,
.hero-search-bar .form-select { background: var(--bg-surface-3); border: 1px solid var(--border); color: var(--text-primary); padding: 12px 16px; }
.hero-search-bar .form-control:focus,
.hero-search-bar .form-select:focus { background: var(--bg-surface-3); border-color: var(--accent); box-shadow: none; color: var(--text-primary); }
.hero-search-bar .form-control::placeholder { color: var(--text-muted); }
.hero-search-bar .form-select option { background: var(--bg-surface-3); }

#heroCarousel,
#heroCarousel .carousel-inner,
#heroCarousel .carousel-item {
    height: clamp(360px, 70vh, 700px);
}
.hero-section { height: clamp(360px, 70vh, 700px); }
#heroCarousel .carousel-item {display: flex !important; align-items: center; justify-content: center; height: clamp(360px, 70vh, 700px); opacity: 0; visibility: hidden; position: absolute; top: 0; left: 0;width: 100%; transition: opacity 0.6s ease;}

/* Only show the active slide */
#heroCarousel .carousel-item.active { opacity: 1; visibility: visible;position: relative;}

#heroCarousel,
#heroCarousel .carousel-inner { height: clamp(360px, 70vh, 700px); overflow: hidden; position: relative;}

/* =============================================================
   SECTION UTILITIES
============================================================= */
.section-label { font-family: var(--font-heading); font-size: 12px; letter-spacing: 5px; text-transform: uppercase; color: var(--accent); margin-bottom: 8px; }
.section-title { font-family: var(--font-display); font-size: clamp(32px, 5vw, 52px); color: var(--text-primary); letter-spacing: 2px; margin-bottom: 8px; }
.section-desc  { color: var(--text-muted); font-size: 14px; max-width: 500px; }

.section-dark   { background: var(--bg-surface);   padding: 80px 0; }
.section-darker { background: var(--bg-base);       padding: 80px 0; }
.section-stripe { background: var(--bg-surface-2);  padding: 80px 0; }

/* =============================================================
   BUTTONS
============================================================= */
.btn-primary-tt {
    background: var(--accent); color: #fff !important;
    font-family: var(--font-heading); font-weight: 700; font-size: 15px;
    letter-spacing: 2px; text-transform: uppercase;
    padding: 14px 32px; border: 2px solid var(--accent); border-radius: 3px;
    text-decoration: none; display: inline-block; transition: all 0.3s; cursor: pointer;
}
.btn-primary-tt:hover { background: transparent; color: var(--accent) !important; }

.btn-outline-tt {
    background: transparent; color: var(--text-primary) !important;
    font-family: var(--font-heading); font-weight: 700; font-size: 15px;
    letter-spacing: 2px; text-transform: uppercase;
    padding: 14px 32px; border: 2px solid var(--border); border-radius: 3px;
    text-decoration: none; display: inline-block; transition: all 0.3s; cursor: pointer;
}
.btn-outline-tt:hover { border-color: var(--accent); color: var(--accent) !important; }

/* =============================================================
   INFO STRIP
============================================================= */
.info-strip { background: var(--accent); padding: 20px 0; }
.info-strip-item { display: flex; align-items: center; gap: 12px; color: #fff; }
.info-strip-item i { font-size: 22px; }
.info-strip-item-label { font-family: var(--font-heading); font-size: 13px; opacity: 0.85; }
.info-strip-item-title { font-family: var(--font-heading); font-size: 16px; font-weight: 700; letter-spacing: 1px; }

/* =============================================================
   CATEGORY CARDS
============================================================= */
.category-card {
    position: relative; overflow: hidden; border-radius: 4px;
    background: var(--bg-surface-2); border: 1px solid var(--border);
    text-decoration: none; display: block; transition: transform 0.3s, border-color 0.3s; height: 200px;
}
.category-card:hover { transform: translateY(-4px); border-color: var(--accent); }
.category-card-inner {
    position: relative; z-index: 2; height: 100%;
    display: flex; flex-direction: column; justify-content: flex-end; padding: 24px;
    background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, transparent 60%);
}
.category-card-icon {
    position: absolute; top: 20px; right: 20px;
    font-size: 36px; color: rgba(255,255,255,0.15); z-index: 1; transition: all 0.3s;
}
.category-card:hover .category-card-icon { color: color-mix(in srgb, var(--accent) 80%, transparent); transform: scale(1.1); }
.category-card-name  { font-family: var(--font-heading); font-size: 20px; font-weight: 700; color: #fff; letter-spacing: 1px; }
.category-card-count { font-size: 12px; color: var(--accent); }

/* =============================================================
   PRODUCT CARD
============================================================= */
.product-card {
    background: var(--bg-surface-2); border: 1px solid var(--border);
    border-radius: 4px; overflow: hidden; transition: all 0.3s; position: relative;
}
.product-card:hover { border-color: var(--accent); transform: translateY(-4px); box-shadow: 0 8px 30px color-mix(in srgb, var(--accent) 15%, transparent); }

.product-card-img { background: var(--bg-surface-3); height: 200px; display: flex; align-items: center; justify-content: center; overflow: hidden; position: relative; }
.product-card-img img { width: 100%; height: 100%; object-fit: contain; padding: 0px; }
.product-card-img .no-img { color: var(--border); font-size: 64px; }

.product-badge { position: absolute; top: 10px; left: 10px; background: var(--accent); color: #fff; font-family: var(--font-heading); font-size: 11px; letter-spacing: 1px; padding: 3px 8px; border-radius: 2px; text-transform: uppercase; }
.product-badge.sale { background: var(--danger); }

.product-card-body  { padding: 16px; }
.product-cat-tag    { font-family: var(--font-heading); font-size: 11px; color: var(--accent); letter-spacing: 2px; text-transform: uppercase; margin-bottom: 6px; }
.product-name       { font-family: var(--font-heading); font-size: 15px; font-weight: 600; color: var(--text-primary); line-height: 1.4; margin-bottom: 8px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.product-sku        { font-size: 11px; color: var(--text-muted); margin-bottom: 4px; }
.product-unique-code { font-size: 11px; color: var(--info); font-family: monospace; margin-bottom: 10px; }
.product-price      { display: flex; align-items: center; gap: 10px; }
.price-current      { font-family: var(--font-heading); font-size: 20px; font-weight: 700; color: var(--accent); }
.price-original     { font-size: 13px; color: var(--text-muted); text-decoration: line-through; }
.price-enquiry      { font-family: var(--font-heading); font-size: 14px; color: var(--text-muted); font-style: italic; }

.product-card-actions { padding: 12px 16px; border-top: 1px solid var(--border); display: flex; gap: 8px; }
.btn-detail {
    flex: 1; background: transparent; border: 1px solid var(--border);
    color: var(--text-secondary); font-family: var(--font-heading); font-size: 13px;
    font-weight: 600; letter-spacing: 1px; text-transform: uppercase;
    padding: 8px; border-radius: 3px; text-decoration: none; text-align: center; transition: all 0.2s;
}
.btn-detail:hover { border-color: var(--accent); color: var(--accent); }
.btn-enquire {
    flex: 1; background: var(--accent); border: 1px solid var(--accent); color: #fff;
    font-family: var(--font-heading); font-size: 13px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase;
    padding: 8px; border-radius: 3px; cursor: pointer; transition: all 0.2s;
}
.btn-enquire:hover { background: var(--accent-dark); }

/* =============================================================
   CART
============================================================= */
.cart-table { background: var(--bg-surface-2); border: 1px solid var(--border); border-radius: 4px; }
.cart-table th  { background: var(--bg-surface-3); border-color: var(--border) !important; color: var(--accent); font-family: var(--font-heading); letter-spacing: 2px; font-size: 13px; }
.cart-table td  { border-color: var(--border) !important;  vertical-align: middle; }
.cart-summary-box { background: var(--bg-surface-2); border: 1px solid var(--border); border-top: 3px solid var(--accent); padding: 24px; border-radius: 4px; }
.form-control-dark  { /*background: var(--bg-surface-3) !important;*/ border: 1px solid var(--border) !important; /*color: var(--text-primary) !important;*/ }
.form-control-dark:focus  { border-color: var(--accent) !important; box-shadow: none !important; }
.form-select-dark   { background: var(--bg-surface-3) !important; border: 1px solid var(--border) !important; color: var(--text-primary) !important; }

/* =============================================================
   BADGES / STATUS
============================================================= */
.badge-status        { font-family: var(--font-heading); font-size: 11px; letter-spacing: 1px; padding: 4px 10px; border-radius: 20px; text-transform: uppercase; font-weight: 600; display: inline-block; }
.badge-pending       { background: color-mix(in srgb, var(--warning)  15%, transparent); color: var(--warning);  border: 1px solid color-mix(in srgb, var(--warning)  30%, transparent); }
.badge-confirmed     { background: color-mix(in srgb, var(--info)     15%, transparent); color: var(--info);     border: 1px solid color-mix(in srgb, var(--info)     30%, transparent); }
.badge-processing    { background: color-mix(in srgb, var(--accent)   15%, transparent); color: var(--accent);   border: 1px solid color-mix(in srgb, var(--accent)   30%, transparent); }
.badge-shipped       { background: rgba(139,92,246,0.15);              color: #A78BFA;    border: 1px solid rgba(139,92,246,0.3); }
.badge-delivered     { background: color-mix(in srgb, var(--success)  15%, transparent); color: var(--success);  border: 1px solid color-mix(in srgb, var(--success)  30%, transparent); }
.badge-cancelled     { background: color-mix(in srgb, var(--danger)   15%, transparent); color: var(--danger);   border: 1px solid color-mix(in srgb, var(--danger)   30%, transparent); }

.unique-code-badge { background: color-mix(in srgb, var(--info) 10%, transparent); border: 1px solid color-mix(in srgb, var(--info) 30%, transparent); color: #60A5FA; font-family: monospace; font-size: 12px; padding: 2px 8px; border-radius: 4px; letter-spacing: 1px; }

/* =============================================================
   PRODUCT DETAIL
============================================================= */
.product-detail-wrap   { background: var(--bg-surface-2); border: 1px solid var(--border); border-radius: 4px; overflow: hidden; }
.product-detail-img    { background: var(--bg-surface-3); min-height: 350px; display: flex; align-items: center; justify-content: center; }
.product-detail-img img { max-height: 350px; object-fit: contain; }
.product-detail-info   { padding: 30px; }
.product-detail-title  { font-family: var(--font-heading); font-size: 26px; font-weight: 700; color: var(--text-primary); margin-bottom: 10px; }
.product-detail-sku    { color: var(--text-muted); font-size: 13px; margin-bottom: 4px; }
.product-detail-code   { color: var(--info); font-family: monospace; font-size: 13px; margin-bottom: 16px; }
.product-detail-price  { font-family: var(--font-display); font-size: 44px; color: var(--accent); }
.product-detail-table  { width: 100%; }
.product-detail-table td { padding: 8px 0; border-bottom: 1px solid var(--border); color: var(--text-secondary); }
.product-detail-table td:first-child { color: var(--text-muted); width: 130px; font-size: 13px; }

/* =============================================================
   CONTACT
============================================================= */
.contact-card      { background: var(--bg-surface-2); border: 1px solid var(--border); padding: 30px; border-radius: 4px; }
.contact-info-item { display: flex; gap: 16px; margin-bottom: 20px; }
.contact-info-icon { width: 44px; height: 44px; background: color-mix(in srgb, var(--accent) 10%, transparent); border: 1px solid var(--accent); border-radius: 4px; display: flex; align-items: center; justify-content: center; color: var(--accent); flex-shrink: 0; }

/* =============================================================
   BRAND LOGOS
============================================================= */
.brand-logo-item {
    background: var(--bg-surface-2); border: 1px solid var(--border);
    padding: 20px; border-radius: 4px;
    display: flex; align-items: center; justify-content: center;
    height: 80px; font-family: var(--font-heading); font-size: 18px;
    font-weight: 700; color: var(--text-muted); letter-spacing: 2px; transition: all 0.3s;
}
.brand-logo-item:hover { border-color: var(--accent); color: var(--accent); }

/* =============================================================
   PAGINATION
============================================================= */
.page-link { background: var(--bg-surface-2) !important; border: 1px solid var(--border) !important; color: var(--text-secondary) !important; font-family: var(--font-heading); }
.page-link:hover,
.page-item.active .page-link { background: var(--accent) !important; border-color: var(--accent) !important; color: #fff !important; }

/* =============================================================
   ALERT TOAST
============================================================= */
.alert-toast {
    position: fixed; top: 80px; right: 20px; z-index: 9999;
    max-width: 380px; border-radius: 4px;
    background: color-mix(in srgb, var(--success) 15%, var(--bg-surface-3));
    border: 1px solid color-mix(in srgb, var(--success) 40%, transparent);
    color: var(--success); animation: slideIn 0.3s ease;
}
@keyframes slideIn { from { transform: translateX(100px); opacity: 0; } to { transform: translateX(0); opacity: 1; } }

/* =============================================================
   FOOTER
============================================================= */
.site-footer    { background: var(--bg-surface-2); border-top: 2px solid var(--accent); }
.footer-top     { padding: 60px 0 40px; }
.footer-bottom  { padding: 16px 0; border-top: 1px solid var(--border); font-size: 13px; color: var(--text-muted); }
.footer-bottom a { color: var(--text-muted); text-decoration: none; }
.footer-bottom a:hover { color: var(--accent); }
.footer-brand   { display: flex; align-items: center; gap: 10px; }
.footer-desc    { color: var(--text-muted); font-size: 13px; line-height: 1.7; max-width: 300px; }
.footer-social  { display: flex; gap: 8px; margin-top: 16px; }
.footer-social a { width: 34px; height: 34px; background: var(--bg-surface-3); border-radius: 4px; display: flex; align-items: center; justify-content: center; color: var(--text-muted); text-decoration: none; transition: all 0.2s; }
.footer-social a:hover { background: var(--accent); color: #fff; }
.footer-title   { font-family: var(--font-heading); font-size: 13px; letter-spacing: 3px; text-transform: uppercase; color: var(--accent); margin-bottom: 16px; }
.footer-links   { list-style: none; padding: 0; margin: 0; }
.footer-links li  { margin-bottom: 8px; }
.footer-links a   { color: var(--text-muted); text-decoration: none; font-size: 13px; transition: color 0.2s; }
.footer-links a:hover { color: var(--accent); padding-left: 6px; }
.footer-contact p { color: var(--text-muted); font-size: 13px; margin-bottom: 8px; }
.footer-contact i { color: var(--accent); width: 16px; }

/* =============================================================
   RESPONSIVE
============================================================= */

/* ── Container padding scales down on small screens ── */
@media (max-width: 768px) {
    .container-fluid.px-5 { padding-left: 20px !important; padding-right: 20px !important; }
    .container-fluid.px-4 { padding-left: 16px !important; padding-right: 16px !important; }
}
@media (max-width: 576px) {
    .container-fluid.px-5 { padding-left: 14px !important; padding-right: 14px !important; }
}

/* ── NAVBAR ── */
@media (max-width: 992px) {
    .main-navbar { min-height: auto; padding: 8px 0; }
    .brand-logo img { max-height: 48px; }
    .main-navbar .nav-link { padding: 10px 14px !important; font-size: 14px; }
    .mega-dropdown { width: 100%; }
    .search-form { width: 100%; margin: 10px 0; }
    .search-form .search-input { width: 100%; }
    .main-navbar .d-flex.align-items-center.gap-3 { flex-wrap: wrap; width: 100%; gap: 10px !important; }
}
@media (max-width: 768px) {
    .brand-logo img { max-height: 42px; }
    .navbar-collapse { background: var(--bg-surface-2); border-top: 1px solid var(--border); margin-top: 10px; padding: 16px 4px; }
    .main-navbar .navbar-nav { margin-bottom: 12px; }
    .main-navbar .nav-link { border-bottom: 1px solid var(--border); }
    .main-navbar .nav-link:last-child { border-bottom: none; }
    .btn-outline-tt, .btn-primary-tt { flex: 1; text-align: center; justify-content: center; }
    .main-navbar .d-flex.align-items-center.gap-3 > * { flex: 1 1 auto; }
    .cart-btn { padding: 8px 12px; }
}
@media (max-width: 576px) {
    .brand-logo img { max-height: 36px; }
    .navbar-brand { max-width: 65%; }
    .btn-outline-tt, .btn-primary-tt { font-size: 11px !important; padding: 8px 10px !important; }
    .search-form .search-input { font-size: 12px; padding: 8px 10px; }
}

/* ── HERO ── */
@media (max-width: 992px) {
    .hero-section, #heroCarousel, #heroCarousel .carousel-inner, #heroCarousel .carousel-item {
        height: clamp(320px, 60vh, 600px);
    }
    .hero-search-bar { padding: 18px 20px; }
    .hero-stats { gap: 24px; }
    .search-form .search-input { width: 180px; }
}
@media (max-width: 768px) {
    .hero-section, #heroCarousel, #heroCarousel .carousel-inner, #heroCarousel .carousel-item {
        height: auto; min-height: 420px;
    }
    .hero-slide-caption { display: none; }
    .hero-title { font-size: 42px; }
    .hero-stats { flex-wrap: wrap; gap: 20px; }
    .stat-num { font-size: 32px; }
    .topbar .d-md-flex { display: none !important; }
    /* hero overlay text block padding tightened */
    section.hero-section [style*="padding: 30px 40px 30px"] { padding: 20px 16px !important; }
    section.hero-section h1 { font-size: 34px !important; }
    section.hero-section h2.section-title { font-size: 30px !important; }
    section.hero-section [style*="text-align: right"] { text-align: left !important; margin-top: 16px; }
}
@media (max-width: 576px) {
    .hero-title { font-size: 34px; }
    .section-dark, .section-darker, .section-stripe { padding: 50px 0; }
    section.hero-section h1 { font-size: 26px !important; }
}

/* ── PRODUCT DETAIL ── stack image above info on small screens, tidy price/table spacing */
@media (max-width: 768px) {
    .product-detail-img { min-height: 260px; }
    .product-detail-img img { max-height: 260px; }
    .product-detail-info { padding: 20px; }
    .product-detail-title { font-size: 22px; }
    .product-detail-price { font-size: 32px; }
}

/* ── PRODUCT GRID / SIDEBAR ── sidebar filters sit above grid, not sticky, on tablets and below */
@media (max-width: 991px) {
    .col-lg-3 [style*="position:sticky"] { position: static !important; top: auto !important; }
}

/* ── ABOUT / BRAND STRIP ── keep brand tiles from getting cramped on very small screens */
@media (max-width: 576px) {
    .brand-logo-item { height: 64px; font-size: 14px; padding: 12px; }
    .about-img-wrap::before { display: none; }
}

/* ── ABOUT IMAGE BOX ── the fixed 380px-tall logo box is oversized on phones and leaves a big empty gap */
@media (max-width: 768px) {
    .about-img-wrap > div { height: 220px !important; padding: 16px !important; }
    .about-img-wrap img { max-height: 160px !important; }
    section.about-section { padding: 40px 0 !important; }
}

/* ── PRODUCT PAGE SEARCH BOX ── goes full width and wraps onto its own row on mobile instead of a cramped fixed 220px box */
@media (max-width: 576px) {
    .product-search-form { width: 100%; }
    .product-search-form .search-input { width: 100% !important; }
}

/* ── FOOTER ── */
@media (max-width: 768px) {
    .footer-top { padding: 40px 0 24px; }
    .footer-desc { max-width: 100%; }
}

/* Spin anim */
.fa-spin-slow { animation: spin 8s linear infinite; }
@keyframes spin { from { transform: rotate(0); } to { transform: rotate(360deg); } }
