/* ================================================================
   FIRSTSTEPLEARNERS — Educational Toy Store
   Colors: Blue #2563EB | Orange #F59E0B | Green #84CC16
   ================================================================ */

:root {
  --blue:         #2563EB;
  --blue-dark:    #1d4ed8;
  --blue-light:   #eff6ff;
  --orange:       #F59E0B;
  --orange-dark:  #d97706;
  --orange-light: #fffbeb;
  --green:        #84CC16;
  --green-dark:   #65a30d;
  --green-light:  #f7fee7;
  --primary:      #2563EB;
  --primary-dark: #1d4ed8;
  --secondary:    #F59E0B;
  --accent:       #84CC16;
  --success:      #10b981;
  --danger:       #ef4444;
  --dark:         #1e1e3f;
  --text:         #1e293b;
  --text-muted:   #64748b;
  --border:       #e2e8f0;
  --light-bg:     #f8faff;
  --white:        #ffffff;
  --radius:       14px;
  --radius-sm:    8px;
  --shadow:       0 4px 20px rgba(0,0,0,.07);
  --shadow-lg:    0 12px 40px rgba(0,0,0,.12);
  --transition:   .25s ease;
  --font:         'Nunito', sans-serif;
}

/* ── Base ─────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: var(--font); color: var(--text); background: #fff; overflow-x: hidden; }
a { text-decoration: none; color: inherit; }
img { max-width: 100%; }

/* ── Announcement Ticker ──────────────────────────────────────── */
.announcement-bar {
  position: relative; overflow: hidden;
  font-size: .82rem; font-weight: 700;
  min-height: 38px; display: flex; align-items: center;
  /* Playful multicolor gradient — not corporate blue */
  background: linear-gradient(90deg,
    #2563EB 0%,
    #4f86f7 18%,
    #F59E0B 36%,
    #FACC15 52%,
    #84CC16 68%,
    #F59E0B 82%,
    #2563EB 100%
  ) !important;
  background-size: 300% 100% !important;
  animation: gradientShift 8s ease infinite, none !important;
  color: #fff !important;
}
@keyframes gradientShift {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
.announcement-bar a { color: #fff !important; }
.ticker-wrapper { flex: 1; overflow: hidden; }
.ticker-track {
  display: inline-flex; align-items: center;
  white-space: nowrap;
  animation: tickerScroll 35s linear infinite;
}
.ticker-track:hover { animation-play-state: paused; }
.ticker-item { padding: 0 28px; letter-spacing: .2px; }
.ticker-sep  { opacity: .55; font-size: 1rem; }
@keyframes tickerScroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.ticker-close {
  position: absolute; right: 10px; top: 50%; transform: translateY(-50%);
  background: rgba(255,255,255,.2); border: none; cursor: pointer;
  color: #fff; font-size: .78rem; padding: 3px 8px; border-radius: 99px;
  transition: background .2s;
}
.ticker-close:hover { background: rgba(255,255,255,.35); }

/* ════════════════════════════════════════════
   NAVBAR — Fixed, single-line, clean
   ════════════════════════════════════════════ */
.fsl-nav {
  background: #fff;
  border-bottom: 2px solid #f1f5f9;
  padding: 0;
  min-height: 64px;
  z-index: 1000;
  transition: box-shadow var(--transition);
}
.fsl-nav.scrolled { box-shadow: 0 4px 24px rgba(37,99,235,.1); }
.fsl-nav .container-fluid { display: flex; align-items: center; height: 64px; gap: 0; }

/* ── Logo ── */
.fsl-brand {
  flex-shrink: 0;
  display: flex; align-items: center;
  margin-right: 8px;
  text-decoration: none;
}
.fsl-logo-img {
  height: 44px; width: auto;
  display: block; object-fit: contain;
}

/* Text-based logo (when no image) */
.fsl-logo-text-brand {
  display: flex; flex-direction: column; line-height: 1;
  gap: 1px;
}
.fsl-logo-mark {
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  font-size: 1.15rem;
  letter-spacing: -.3px;
  white-space: nowrap;
  line-height: 1;
}
.fsl-mark-step       { color: var(--blue); }
.fsl-mark-step.orange{ color: var(--orange); }
.fsl-mark-step.green { color: var(--green-dark); }
.fsl-tagline {
  font-size: .62rem; font-weight: 700;
  color: var(--text-muted); letter-spacing: .6px;
  text-transform: uppercase;
}

/* ── Toggler ── */
.fsl-toggler {
  background: none; border: 1.5px solid var(--border);
  border-radius: var(--radius-sm); padding: 6px 10px;
  color: var(--text); font-size: 1rem; cursor: pointer;
  margin-left: auto;
}

/* ── Nav Links ── */
.fsl-nav-links {
  display: flex; flex-direction: row;
  align-items: center;
  list-style: none; padding: 0; margin: 0;
  gap: 0;
  flex-wrap: nowrap; /* Never wrap */
  white-space: nowrap;
}

.fsl-nav-links .nav-item { display: flex; align-items: center; }

.fsl-nav-links .nav-link {
  font-family: var(--font);
  font-weight: 700;
  font-size: .83rem;
  color: var(--text);
  padding: 6px 9px !important;
  border-radius: var(--radius-sm);
  transition: color var(--transition), background var(--transition);
  white-space: nowrap;
  line-height: 1;
  display: flex; align-items: center; gap: 3px;
}
.fsl-nav-links .nav-link:hover { color: var(--blue); background: var(--blue-light); }
.fsl-nav-links .nav-link.active { color: var(--blue); font-weight: 800; }

/* New badge on "New Arrivals" */
.nav-badge-new {
  display: inline-block;
  background: var(--orange);
  color: #fff;
  font-size: .58rem; font-weight: 800;
  padding: 1px 5px; border-radius: 4px;
  line-height: 1.4;
  text-transform: uppercase; letter-spacing: .3px;
}

/* ── Dropdown ── */
.fsl-dropdown {
  border: none; border-radius: var(--radius);
  box-shadow: 0 12px 40px rgba(0,0,0,.13);
  padding: 8px; min-width: 200px;
  animation: dropIn .2s ease;
}
@keyframes dropIn {
  from { opacity:0; transform:translateY(-6px); }
  to   { opacity:1; transform:translateY(0); }
}
.fsl-dropdown .dropdown-item {
  font-weight: 600; font-size: .88rem;
  padding: 9px 14px; border-radius: var(--radius-sm);
  color: var(--text); transition: all var(--transition);
}
.fsl-dropdown .dropdown-item:hover {
  background: var(--blue-light); color: var(--blue);
}

/* ── Right Actions ── */
.fsl-nav-actions {
  display: flex; align-items: center;
  gap: 4px; flex-shrink: 0; margin-left: 8px;
}

.fsl-icon-btn {
  position: relative;
  background: none; border: none; cursor: pointer;
  width: 38px; height: 38px;
  border-radius: var(--radius-sm);
  display: flex; align-items: center; justify-content: center;
  color: var(--text); font-size: 1rem;
  transition: all var(--transition);
  text-decoration: none;
}
.fsl-icon-btn:hover {
  background: var(--blue-light); color: var(--blue);
}

/* Cart button — orange accent */
.fsl-cart-btn { color: var(--text); }
.fsl-cart-btn:hover { background: var(--orange-light); color: var(--orange-dark); }

/* Badge on icons */
.fsl-badge {
  position: absolute; top: 2px; right: 2px;
  background: var(--orange); color: #fff;
  font-size: .6rem; font-weight: 900;
  min-width: 16px; height: 16px; border-radius: 99px;
  display: flex; align-items: center; justify-content: center;
  line-height: 1;
}

/* Account avatar button */
.fsl-account-btn {
  display: flex; align-items: center; gap: 6px;
  background: none; border: 1.5px solid var(--border);
  border-radius: 99px; padding: 4px 10px 4px 4px;
  cursor: pointer; transition: all var(--transition);
}
.fsl-account-btn:hover { border-color: var(--blue); background: var(--blue-light); }
.fsl-avatar {
  width: 28px; height: 28px; border-radius: 50%;
  background: linear-gradient(135deg, var(--blue), var(--blue-dark));
  color: #fff; font-weight: 900; font-size: .78rem;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.fsl-account-name { font-weight: 700; font-size: .82rem; color: var(--text); }

/* Auth buttons */
.fsl-btn-ghost {
  font-weight: 700; font-size: .83rem;
  color: var(--blue); border: 1.5px solid var(--blue);
  border-radius: 99px; padding: 6px 16px;
  transition: all var(--transition);
  white-space: nowrap;
}
.fsl-btn-ghost:hover { background: var(--blue); color: #fff; }
.fsl-btn-solid {
  font-weight: 700; font-size: .83rem;
  background: var(--orange); color: #fff;
  border: none; border-radius: 99px; padding: 6px 16px;
  transition: all var(--transition);
  white-space: nowrap;
}
.fsl-btn-solid:hover {
  background: var(--orange-dark); color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(245,158,11,.4);
}

/* Navbar collapse for mobile */
@media (max-width: 1199px) {
  .navbar-collapse {
    background: #fff;
    border-top: 1px solid var(--border);
    padding: 16px;
    border-radius: 0 0 var(--radius) var(--radius);
    box-shadow: 0 12px 32px rgba(0,0,0,.1);
    position: absolute;
    top: 64px; left: 0; right: 0;
    z-index: 999;
  }
  .fsl-nav-links { flex-direction: column; align-items: flex-start; gap: 4px; width: 100%; }
  .fsl-nav-links .nav-item { width: 100%; }
  .fsl-nav-links .nav-link { width: 100%; padding: 10px 14px !important; font-size: .92rem; }
  .fsl-nav-actions {
    padding-top: 12px; border-top: 1px solid var(--border);
    margin-top: 8px; margin-left: 0; width: 100%;
    justify-content: flex-start; flex-wrap: wrap; gap: 8px;
  }
  .fsl-account-name { display: inline !important; }
}

/* Search Overlay */
.search-overlay {
  position: fixed; inset: 0; background: rgba(15,15,40,.75);
  backdrop-filter: blur(8px); z-index: 9999;
  display: none; align-items: flex-start; justify-content: center; padding-top: 100px;
}
.search-overlay.active { display: flex; animation: fadeIn .2s ease; }
@keyframes fadeIn { from{opacity:0;}to{opacity:1;} }
.search-container { width: min(680px, 92vw); position: relative; }
.search-input-group .form-control {
  height: 58px; font-size: 1.1rem; font-weight: 600;
  border-radius: 99px 0 0 99px; border: none;
  padding: 0 22px;
}
.btn-search {
  background: var(--blue); color: #fff;
  border-radius: 0 99px 99px 0; padding: 0 26px; font-size: 1.1rem;
  border: none;
}
.search-close {
  position: absolute; top: -48px; right: 0;
  background: none; border: none; color: #fff; font-size: 1.4rem;
  cursor: pointer; opacity: .8;
}
.search-close:hover { opacity: 1; }

/* Flash Alert */
.alert-toast {
  position: fixed; top: 80px; right: 20px; z-index: 9999;
  min-width: 300px; border-radius: var(--radius);
  box-shadow: var(--shadow-lg); border: none;
  animation: slideIn .3s ease;
}
@keyframes slideIn { from{opacity:0;transform:translateX(100%);}to{opacity:1;transform:translateX(0);} }

/* ════════════════════════════════════════════
   HERO SECTION
   ════════════════════════════════════════════ */
.hero-section {
  position: relative; min-height: 90vh;
  background: linear-gradient(145deg, #eff6ff 0%, #fefce8 45%, #f7fee7 100%);
  overflow: hidden; display: flex; align-items: center;
}
.hero-bg-shapes { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.shape { position: absolute; border-radius: 50%; opacity: .07; animation: shapePulse 9s infinite alternate ease-in-out; }
.shape-1 { width:600px;height:600px;background:var(--blue); top:-200px;left:-200px; }
.shape-2 { width:400px;height:400px;background:var(--orange);bottom:-100px;right:-100px;animation-delay:3s; }
.shape-3 { width:300px;height:300px;background:var(--green);top:50%;left:40%;animation-delay:5s; }
@keyframes shapePulse { from{transform:scale(1);}to{transform:scale(1.15);} }

.bubbles-container { position:absolute;inset:0;pointer-events:none;overflow:hidden; }
.bubble { position:absolute;border-radius:50%;animation:bubbleFloat linear infinite; }
.bubble-1{width:18px;height:18px;left:5%;background:rgba(37,99,235,.15);animation-duration:12s;}
.bubble-2{width:30px;height:30px;left:15%;background:rgba(245,158,11,.15);animation-duration:14s;animation-delay:1s;}
.bubble-3{width:14px;height:14px;left:25%;background:rgba(132,204,22,.15);animation-duration:10s;animation-delay:2s;}
.bubble-4{width:40px;height:40px;left:35%;background:rgba(37,99,235,.1);animation-duration:16s;animation-delay:.5s;}
.bubble-5{width:22px;height:22px;left:45%;background:rgba(245,158,11,.12);animation-duration:11s;animation-delay:3s;}
.bubble-6{width:26px;height:26px;left:55%;background:rgba(132,204,22,.12);animation-duration:13s;animation-delay:1.5s;}
.bubble-7{width:16px;height:16px;left:65%;background:rgba(37,99,235,.15);animation-duration:15s;animation-delay:4s;}
.bubble-8{width:36px;height:36px;left:75%;background:rgba(245,158,11,.1);animation-duration:12s;animation-delay:2.5s;}
.bubble-9{width:20px;height:20px;left:85%;background:rgba(132,204,22,.15);animation-duration:14s;animation-delay:.8s;}
.bubble-10{width:24px;height:24px;left:90%;background:rgba(37,99,235,.1);animation-duration:10s;animation-delay:3.5s;}
.bubble-11{width:14px;height:14px;left:10%;background:rgba(245,158,11,.12);animation-duration:17s;animation-delay:1.2s;}
.bubble-12{width:34px;height:34px;left:30%;background:rgba(132,204,22,.1);animation-duration:9s;animation-delay:5s;}
.bubble-13{width:20px;height:20px;left:50%;background:rgba(37,99,235,.12);animation-duration:18s;animation-delay:2.8s;}
.bubble-14{width:28px;height:28px;left:70%;background:rgba(245,158,11,.1);animation-duration:11s;animation-delay:6s;}
.bubble-15{width:18px;height:18px;left:80%;background:rgba(132,204,22,.12);animation-duration:13s;animation-delay:4.5s;}
@keyframes bubbleFloat{0%{transform:translateY(110vh) scale(0);opacity:0;}10%{opacity:.6;}90%{opacity:.6;}100%{transform:translateY(-10vh) scale(1);opacity:0;}}

.stars-container{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.star{position:absolute;font-size:.85rem;animation:starTwinkle 3s infinite alternate;opacity:.5;}
@keyframes starTwinkle{from{opacity:.2;transform:scale(.8);}to{opacity:.9;transform:scale(1.2);}}
.star-1{top:10%;left:8%;animation-delay:0s}.star-2{top:20%;left:18%;animation-delay:.3s}.star-3{top:15%;left:35%;animation-delay:.6s}.star-4{top:25%;left:55%;animation-delay:.9s}.star-5{top:12%;left:70%;animation-delay:1.2s}.star-6{top:30%;left:85%;animation-delay:1.5s}.star-7{top:45%;left:5%;animation-delay:1.8s}.star-8{top:60%;left:25%;animation-delay:2.1s}.star-9{top:70%;left:42%;animation-delay:2.4s}.star-10{top:80%;left:60%;animation-delay:2.7s}.star-11{top:50%;left:78%;animation-delay:3s}.star-12{top:85%;left:88%;animation-delay:.15s}.star-13{top:5%;left:50%;animation-delay:.45s}.star-14{top:40%;left:12%;animation-delay:.75s}.star-15{top:65%;left:90%;animation-delay:1.05s}

.min-vh-100-hero { min-height: 85vh; padding: 70px 0 50px; }

.hero-badge {
  display: inline-flex; align-items: center;
  background: var(--orange-light); color: var(--orange-dark);
  border: 1.5px solid rgba(245,158,11,.3); border-radius: 99px;
  padding: 5px 16px; font-size: .82rem; font-weight: 800; margin-bottom: 18px;
}
.hero-title {
  font-size: clamp(2.3rem,5vw,3.8rem); font-weight: 900;
  line-height: 1.15; color: var(--dark); margin-bottom: 18px;
}
.hero-title-accent {
  background: linear-gradient(135deg, var(--blue), var(--orange));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}
.hero-subtitle { font-size: 1.05rem; color: var(--text-muted); margin-bottom: 32px; line-height: 1.7; max-width: 490px; }
.hero-buttons  { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 44px; }

.btn-hero-primary {
  background: linear-gradient(135deg, var(--orange), var(--orange-dark));
  color: #fff; padding: 13px 30px; border-radius: 99px; font-weight: 800;
  font-size: .95rem; border: none;
  box-shadow: 0 6px 20px rgba(245,158,11,.4); transition: all var(--transition);
}
.btn-hero-primary:hover { transform: translateY(-3px); box-shadow: 0 10px 28px rgba(245,158,11,.5); color: #fff; }

.btn-hero-secondary {
  background: #fff; color: var(--blue); padding: 13px 26px;
  border-radius: 99px; border: 2px solid var(--blue);
  font-weight: 700; transition: all var(--transition);
}
.btn-hero-secondary:hover { background: var(--blue); color: #fff; transform: translateY(-2px); }

.hero-stats { display: flex; gap: 28px; align-items: center; }
.hero-stat-divider { width: 1px; height: 36px; background: var(--border); }
.stat-number { font-size: 1.8rem; font-weight: 900; color: var(--blue); }
.stat-label  { font-size: .78rem; color: var(--text-muted); font-weight: 600; }

/* Toy Stage */
.hero-toys-col { justify-content: center; align-items: center; }
.hero-toys-stage { position: relative; width: 460px; height: 460px; }
.floating-toy { position: absolute; display: flex; flex-direction: column; align-items: center; filter: drop-shadow(0 8px 16px rgba(0,0,0,.12)); }
.toy-emoji { font-size: 3.2rem; }
.toy-shadow { width: 36px; height: 7px; background: rgba(0,0,0,.1); border-radius: 50%; margin-top: 4px; filter: blur(2px); }
.teddy-bear    { top:8%;left:50%;transform:translateX(-50%);animation:bounceTeddy 2.5s ease-in-out infinite; }
.robot         { top:35%;right:4%;animation:rotateRobot 8s linear infinite; }
.toy-car       { bottom:18%;left:4%;animation:driveCar 3s ease-in-out infinite; }
.action-figure { top:28%;left:4%;animation:floatToy 2.8s ease-in-out infinite .5s; }
.blocks        { bottom:8%;right:14%;animation:floatToy 3.2s ease-in-out infinite 1s; }
@keyframes bounceTeddy{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(-20px);}}
@keyframes rotateRobot{0%{transform:rotate(0);}25%{transform:rotate(10deg);}75%{transform:rotate(-10deg);}100%{transform:rotate(0);}}
@keyframes driveCar{0%,100%{transform:translateX(0);}50%{transform:translateX(18px);}}
@keyframes floatToy{0%,100%{transform:translateY(0) rotate(-4deg);}50%{transform:translateY(-15px) rotate(4deg);}}

.play-circle {
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:130px;height:130px;border-radius:50%;
  background:linear-gradient(135deg, var(--blue), #60a5fa);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 0 18px rgba(37,99,235,.08),0 0 0 36px rgba(37,99,235,.04);
  animation:pulseCircle 3s ease-in-out infinite;
}
@keyframes pulseCircle{0%,100%{box-shadow:0 0 0 18px rgba(37,99,235,.08),0 0 0 36px rgba(37,99,235,.04);}50%{box-shadow:0 0 0 26px rgba(37,99,235,.06),0 0 0 48px rgba(37,99,235,.02);}}
.play-circle-inner{text-align:center;}
.play-text{display:block;font-family:'Poppins',sans-serif;font-size:1.3rem;font-weight:900;color:#fff;line-height:1;}
.play-text-sub{display:block;font-size:.58rem;color:rgba(255,255,255,.8);font-weight:700;letter-spacing:2px;}
.orbit-ring{position:absolute;top:50%;left:50%;border-radius:50%;border-style:dashed;transform:translate(-50%,-50%);animation:orbitSpin 20s linear infinite;}
.orbit-1{width:250px;height:250px;border:1.5px dashed rgba(37,99,235,.18);}
.orbit-2{width:370px;height:370px;border:1.5px dashed rgba(245,158,11,.15);animation-direction:reverse;animation-duration:28s;}
@keyframes orbitSpin{from{transform:translate(-50%,-50%) rotate(0);}to{transform:translate(-50%,-50%) rotate(360deg);}}
.hero-wave{position:absolute;bottom:-1px;left:0;right:0;}

/* ════════════════════════════════════════════
   SHOP BY AGE
   ════════════════════════════════════════════ */
.section-age-groups { background: linear-gradient(135deg, #f0f9ff, #fefce8, #f7fee7); }

.age-card { display: block; text-decoration: none; }
.age-card-inner {
  background: var(--age-bg, #eff6ff);
  border: 2px solid transparent;
  border-radius: var(--radius); padding: 26px 14px 20px;
  text-align: center; transition: all var(--transition);
  position: relative; overflow: hidden; cursor: pointer;
}
.age-card:hover .age-card-inner {
  transform: translateY(-8px);
  box-shadow: var(--shadow-lg);
  border-color: var(--age-color, var(--blue));
}
.age-emoji { font-size: 2.6rem; display: block; margin-bottom: 10px; transition: transform var(--transition); }
.age-card:hover .age-emoji { transform: scale(1.2) rotate(8deg); }
.age-label { font-weight: 800; font-size: .88rem; color: var(--dark); margin-bottom: 3px; }
.age-count { font-size: .74rem; color: var(--text-muted); font-weight: 600; }
.age-hover-arrow {
  position: absolute; bottom: 10px; right: 10px;
  width: 26px; height: 26px; border-radius: 50%;
  background: var(--age-color, var(--blue));
  color: #fff; display: flex; align-items: center; justify-content: center;
  font-size: .65rem; opacity: 0; transform: scale(0);
  transition: all var(--transition);
}
.age-card:hover .age-hover-arrow { opacity: 1; transform: scale(1); }

/* ════════════════════════════════════════════
   SECTION HEADERS
   ════════════════════════════════════════════ */
.section-badge {
  display: inline-block;
  background: var(--orange-light); color: var(--orange-dark);
  border-radius: 99px; padding: 3px 14px;
  font-size: .75rem; font-weight: 800; letter-spacing: .8px;
  text-transform: uppercase; margin-bottom: 8px;
}
.section-title    { font-size: clamp(1.5rem,3vw,2.1rem); font-weight: 900; color: var(--dark); margin-bottom: 8px; }
.section-subtitle { color: var(--text-muted); font-size: .95rem; }
.bg-light-custom  { background: #fafbff !important; }

/* Features strip */
.features-strip { padding: 20px 0; background: #fff; border-bottom: 1px solid var(--border); }
.feature-item { display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: var(--radius); transition: background var(--transition); }
.feature-item:hover { background: var(--light-bg); }
.feature-icon { font-size: 1.6rem; color: var(--blue); flex-shrink: 0; }
.feature-title { font-weight: 800; font-size: .88rem; }
.feature-sub   { font-size: .76rem; color: var(--text-muted); }

/* ════════════════════════════════════════════
   CATEGORY CARDS
   ════════════════════════════════════════════ */
.category-card { display: block; }
.category-card-inner {
  border-radius: var(--radius); overflow: hidden;
  padding: 28px 18px 22px; text-align: center;
  background: #fff; border: 2px solid #f0f0f0;
  box-shadow: var(--shadow); transition: all var(--transition); cursor: pointer;
  position: relative;
}
.category-card-inner:hover { transform: translateY(-7px); box-shadow: 0 16px 40px rgba(37,99,235,.1); border-color: rgba(37,99,235,.2); }
.category-icon { font-size: 2.8rem; display: block; margin-bottom: 12px; transition: transform var(--transition); }
.category-card-inner:hover .category-icon { transform: scale(1.18) rotate(8deg); }
.category-name  { font-weight: 800; font-size: .9rem; color: var(--dark); margin-bottom: 3px; }
.category-count { font-size: .75rem; color: var(--text-muted); font-weight: 600; }
.category-hover-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, var(--blue), var(--blue-dark));
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-weight: 800; font-size: .9rem;
  border-radius: inherit; opacity: 0; transition: opacity var(--transition);
}
.category-card-inner:hover .category-hover-overlay { opacity: 1; }

/* ════════════════════════════════════════════
   PRODUCT CARDS
   ════════════════════════════════════════════ */
.product-card {
  background: #fff; border-radius: var(--radius); overflow: hidden;
  border: 1.5px solid var(--border); position: relative;
  transition: all var(--transition); height: 100%;
}
.product-card:hover { transform: translateY(-5px); box-shadow: 0 14px 36px rgba(0,0,0,.1); border-color: #cbd5e1; }

.product-badges { position: absolute; top: 10px; left: 10px; z-index: 2; display: flex; flex-direction: column; gap: 4px; }
.badge-new  { background: var(--green);  color: #fff; font-size: .68rem; font-weight: 800; padding: 3px 9px; border-radius: 99px; }
.badge-sale { background: var(--orange); color: #fff; font-size: .68rem; font-weight: 800; padding: 3px 9px; border-radius: 99px; }
.badge-oos  { background: #94a3b8;       color: #fff; font-size: .68rem; font-weight: 800; padding: 3px 9px; border-radius: 99px; }

.wishlist-btn {
  position: absolute; top: 10px; right: 10px; z-index: 2;
  background: rgba(255,255,255,.92); border: none; border-radius: 50%;
  width: 34px; height: 34px; display: flex; align-items: center; justify-content: center;
  color: #cbd5e1; cursor: pointer; transition: all var(--transition);
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.wishlist-btn:hover, .wishlist-btn.active { color: var(--orange); transform: scale(1.12); }

.product-image-link { display: block; }
.product-image-wrap { height: 195px; overflow: hidden; background: #f8faff; display: flex; align-items: center; justify-content: center; }
.product-img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.product-card:hover .product-img { transform: scale(1.06); }
.product-img-placeholder { font-size: 4.5rem; opacity: .35; }

.product-info { padding: 14px; }
.product-category { font-size: .7rem; text-transform: uppercase; font-weight: 800; color: var(--blue); letter-spacing: .8px; margin-bottom: 3px; }
.product-name { font-size: .9rem; font-weight: 800; margin-bottom: 7px; line-height: 1.3; }
.product-name a { color: var(--dark); }
.product-name a:hover { color: var(--blue); }
.product-rating { display: flex; align-items: center; gap: 3px; margin-bottom: 9px; }
.product-rating .fa-star { font-size: .7rem; }
.rating-count { font-size: .7rem; color: var(--text-muted); }
.product-price { margin-bottom: 12px; }
.price-current  { font-size: 1.1rem; font-weight: 900; color: var(--blue); }
.price-original { font-size: .82rem; color: var(--text-muted); text-decoration: line-through; margin-left: 5px; }

.btn-add-cart {
  background: linear-gradient(135deg, var(--blue), var(--blue-dark));
  color: #fff; border: none; border-radius: var(--radius-sm);
  padding: 9px; font-weight: 800; font-size: .83rem; transition: all var(--transition);
}
.btn-add-cart:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(37,99,235,.35); color: #fff; }
.btn-add-cart.adding { background: var(--success); }

/* ════════════════════════════════════════════
   PROMO BANNER
   ════════════════════════════════════════════ */
.promo-card {
  background: linear-gradient(135deg, var(--blue), var(--blue-dark));
  border-radius: 20px; padding: 44px;
  display: flex; justify-content: space-between; align-items: center; overflow: hidden;
}
.promo-badge { background: rgba(255,255,255,.2); color: #fff; border-radius: 99px; padding: 3px 12px; font-size: .78rem; font-weight: 800; display: inline-block; margin-bottom: 12px; }
.promo-title { font-size: clamp(1.3rem,2.5vw,1.9rem); font-weight: 900; color: #fff; margin-bottom: 10px; }
.promo-text  { color: rgba(255,255,255,.9); margin-bottom: 22px; }
.promo-code  { background: rgba(255,255,255,.2); border-radius: 6px; padding: 2px 9px; font-family: monospace; }
.btn-promo {
  background: var(--orange); color: #fff; font-weight: 800;
  border-radius: 99px; padding: 11px 26px; border: none; transition: all var(--transition);
}
.btn-promo:hover { background: var(--orange-dark); color: #fff; transform: translateY(-2px); box-shadow: 0 8px 22px rgba(245,158,11,.4); }
.promo-toys { display: flex; flex-direction: column; gap: 4px; font-size: 2.4rem; filter: drop-shadow(0 4px 8px rgba(0,0,0,.15)); }
.promo-toy { animation: floatToy 2.5s ease-in-out infinite; }
.promo-toy.pt-1{animation-delay:0s}.promo-toy.pt-2{animation-delay:.2s}.promo-toy.pt-3{animation-delay:.4s}.promo-toy.pt-4{animation-delay:.6s}.promo-toy.pt-5{animation-delay:.8s}

/* Why Cards */
.why-card { background: #fff; border-radius: var(--radius); padding: 28px 22px; text-align: center; border: 2px solid #f1f5f9; transition: all var(--transition); height: 100%; }
.why-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); border-color: rgba(132,204,22,.3); }
.why-icon { font-size: 2.6rem; display: block; margin-bottom: 14px; }
.why-card h5 { font-weight: 800; color: var(--dark); margin-bottom: 8px; }
.why-card p  { color: var(--text-muted); font-size: .88rem; line-height: 1.6; margin: 0; }

/* Newsletter */
.newsletter-card { background: linear-gradient(135deg, #eff6ff, #fffbeb); border-radius: 20px; padding: 44px; border: 2px solid rgba(245,158,11,.15); }
.newsletter-title { font-weight: 900; font-size: 1.45rem; color: var(--dark); margin-bottom: 6px; }
.newsletter-text  { color: var(--text-muted); margin: 0; }
.newsletter-form .form-control { height: 50px; border-radius: 99px 0 0 99px; border: 2px solid var(--border); font-weight: 600; padding: 0 18px; }
.btn-newsletter { background: var(--orange); color: #fff; border-radius: 0 99px 99px 0; padding: 0 24px; font-weight: 800; height: 50px; border: none; transition: all var(--transition); }
.btn-newsletter:hover { background: var(--orange-dark); color: #fff; }
.newsletter-note { font-size: .76rem; color: var(--text-muted); }

/* ════════════════════════════════════════════
   PAGE BANNERS
   ════════════════════════════════════════════ */
.page-banner {
  background: linear-gradient(135deg, var(--blue) 0%, var(--blue-dark) 100%);
  padding: 54px 0; text-align: center;
}
.page-banner-title { font-size: clamp(1.7rem,4vw,2.8rem); font-weight: 900; color: #fff; margin-bottom: 14px; }
.page-banner .breadcrumb-item a,
.page-banner .breadcrumb-item.active { color: rgba(255,255,255,.8); }
.page-banner .breadcrumb-item+.breadcrumb-item::before { color: rgba(255,255,255,.5); }
.page-banner-mini { background: #f8faff; border-bottom: 1px solid var(--border); padding: 12px 0; }

/* ════════════════════════════════════════════
   SHOP & FILTERS
   ════════════════════════════════════════════ */
.filter-sidebar { background: #fff; border-radius: var(--radius); border: 1.5px solid var(--border); padding: 22px; position: sticky; top: 80px; }
.filter-header { margin-bottom: 18px; }
.filter-group { margin-bottom: 20px; padding-bottom: 18px; border-bottom: 1px solid var(--border); }
.filter-group:last-child { border-bottom: none; margin-bottom: 0; }
.filter-group-title { font-weight: 800; font-size: .8rem; text-transform: uppercase; letter-spacing: 1px; color: var(--text-muted); margin-bottom: 10px; }
.filter-check { margin-bottom: 7px; }
.filter-check .form-check-input:checked { background-color: var(--blue); border-color: var(--blue); }
.shop-toolbar { background: #f8faff; border-radius: var(--radius-sm); padding: 12px 18px; }
.empty-state .empty-icon { font-size: 4.5rem; display: block; margin-bottom: 18px; }

/* ════════════════════════════════════════════
   PRODUCT DETAIL
   ════════════════════════════════════════════ */
.gallery-main { border-radius: var(--radius); overflow: hidden; background: #f8faff; position: relative; }
.gallery-main-img { width: 100%; height: 420px; object-fit: cover; transition: transform var(--transition); }
.gallery-main:hover .gallery-main-img { transform: scale(1.03); }
.gallery-badge { position: absolute; top:14px;left:14px; background:var(--orange); color:#fff; font-weight:800; padding:5px 12px; border-radius:99px; font-size:.8rem; }
.gallery-thumbs { display:flex; gap:8px; }
.gallery-thumb { width:72px;height:72px;object-fit:cover;border-radius:8px;cursor:pointer;border:2px solid transparent;transition:all var(--transition); }
.gallery-thumb.active,.gallery-thumb:hover { border-color:var(--blue); }
.gallery-placeholder { height:420px;display:flex;align-items:center;justify-content:center;font-size:7rem; }
.detail-category { font-size:.72rem;text-transform:uppercase;font-weight:800;color:var(--blue);letter-spacing:.8px; }
.detail-title { font-size:clamp(1.3rem,3vw,1.9rem);font-weight:900;color:var(--dark);margin:7px 0; }
.detail-rating { display:flex;align-items:center;gap:7px;margin-bottom:18px; }
.detail-price { margin-bottom:18px; }
.detail-price-current  { font-size:1.9rem;font-weight:900;color:var(--blue); }
.detail-price-original { font-size:1rem;color:var(--text-muted);text-decoration:line-through;margin-left:8px; }
.detail-price-save     { background:var(--orange-light);color:var(--orange-dark);border-radius:99px;padding:2px 10px;font-weight:800;font-size:.82rem;margin-left:7px; }
.detail-short-desc { color:var(--text-muted);line-height:1.7;margin-bottom:18px; }
.detail-meta { display:flex;flex-wrap:wrap;gap:14px;margin-bottom:22px;font-size:.88rem;font-weight:600;color:var(--text-muted); }
.detail-cart-section { display:flex;gap:10px;align-items:center;margin-bottom:22px;flex-wrap:wrap; }
.quantity-selector { display:flex;align-items:center;background:#f8faff;border-radius:var(--radius-sm);border:1.5px solid var(--border);overflow:hidden; }
.qty-btn { background:none;border:none;padding:9px 14px;font-size:1.1rem;font-weight:800;cursor:pointer;transition:background var(--transition); }
.qty-btn:hover { background:var(--blue-light);color:var(--blue); }
.qty-input { width:46px;text-align:center;border:none;background:transparent;font-weight:800; }
.btn-detail-cart { flex:1;background:linear-gradient(135deg,var(--blue),var(--blue-dark));color:#fff;border:none;border-radius:var(--radius-sm);padding:11px 26px;font-weight:800;transition:all var(--transition); }
.btn-detail-cart:hover { transform:translateY(-2px);box-shadow:0 7px 22px rgba(37,99,235,.4);color:#fff; }
.btn-detail-wishlist { background:none;border:2px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);padding:11px 14px;cursor:pointer;transition:all var(--transition); }
.btn-detail-wishlist:hover,.btn-detail-wishlist.active { border-color:var(--orange);color:var(--orange); }
.detail-features { display:flex;gap:20px;flex-wrap:wrap; }
.detail-feature { display:flex;align-items:center;gap:6px;font-size:.83rem;font-weight:700;color:var(--text-muted); }
.detail-feature i { color:var(--green-dark); }
.product-tab-nav { border-bottom:2px solid var(--border); }
.product-tab-nav .nav-link { font-weight:700;color:var(--text-muted);border:none;padding:11px 18px;border-radius:var(--radius-sm) var(--radius-sm) 0 0; }
.product-tab-nav .nav-link.active { color:var(--blue);background:var(--blue-light);border-bottom:2px solid var(--blue); }
.product-tab-content { padding:28px;background:#fff;border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius) var(--radius); }
.review-item { padding:18px 0;border-bottom:1px solid var(--border); }
.review-header { display:flex;align-items:center;gap:10px;margin-bottom:9px; }
.review-avatar { width:38px;height:38px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;flex-shrink:0; }
.star-rating-input .star-select { font-size:1.4rem;cursor:pointer; }
.write-review { background:#f8faff;border-radius:var(--radius);padding:22px; }

/* ════════════════════════════════════════════
   CART
   ════════════════════════════════════════════ */
.empty-cart { padding:70px 0; }
.empty-cart .empty-cart-icon { font-size:5.5rem;display:block;margin-bottom:18px; }
.cart-items-card { background:#fff;border-radius:var(--radius);border:1.5px solid var(--border);overflow:hidden; }
.cart-items-header { padding:18px 22px;border-bottom:1px solid var(--border);background:#f8faff; }
.cart-item { display:flex;align-items:center;gap:14px;padding:14px 22px;border-bottom:1px solid var(--border);transition:background var(--transition); }
.cart-item:hover { background:#fafbff; }
.cart-item:last-child { border-bottom:none; }
.cart-item-image img { width:68px;height:68px;object-fit:cover;border-radius:var(--radius-sm); }
.cart-img-placeholder { width:68px;height:68px;background:#f8faff;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.8rem; }
.cart-item-info { flex:1; }
.cart-item-name { font-weight:700;color:var(--dark);display:block;margin-bottom:3px; }
.cart-item-price { font-size:.88rem;color:var(--text-muted);font-weight:600; }
.qty-control { display:flex;align-items:center;border:1.5px solid var(--border);border-radius:var(--radius-sm);overflow:hidden; }
.qty-ctrl-btn { background:none;border:none;padding:5px 12px;font-size:1rem;cursor:pointer;font-weight:800;transition:background var(--transition); }
.qty-ctrl-btn:hover { background:#f8faff; }
.qty-display { padding:0 10px;font-weight:800; }
.cart-item-total { font-weight:900;min-width:72px;text-align:right; }
.cart-item-remove { background:none;border:none;color:#e2e8f0;cursor:pointer;padding:5px;border-radius:var(--radius-sm);transition:all var(--transition); }
.cart-item-remove:hover { color:var(--danger);background:rgba(239,68,68,.07); }
.order-summary-card { background:#fff;border-radius:var(--radius);border:1.5px solid var(--border);padding:22px;position:sticky;top:80px; }
.summary-title { font-size:1.1rem;font-weight:900;margin-bottom:18px; }
.coupon-applied { background:rgba(132,204,22,.1);border:1px solid rgba(132,204,22,.3);border-radius:var(--radius-sm);padding:9px 13px;margin-bottom:14px;font-size:.88rem; }
.btn-coupon { background:var(--blue);color:#fff;border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:0 16px;font-weight:700;height:40px;border:none;transition:all var(--transition); }
.btn-coupon:hover { background:var(--blue-dark);color:#fff; }
.summary-rows { margin-bottom:18px; }
.summary-row { display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px dashed var(--border);font-size:.9rem; }
.summary-row:last-child { border-bottom:none; }
.summary-total { font-size:1.05rem;font-weight:900;color:var(--dark);padding:12px 0 0; }
.btn-checkout { background:linear-gradient(135deg,var(--green),var(--green-dark));color:#fff;border:none;border-radius:var(--radius-sm);padding:13px;font-weight:900;font-size:.95rem;transition:all var(--transition); }
.btn-checkout:hover { transform:translateY(-2px);box-shadow:0 7px 22px rgba(132,204,22,.4);color:#fff; }

/* ════════════════════════════════════════════
   CHECKOUT
   ════════════════════════════════════════════ */
.checkout-steps { display:flex;align-items:center;justify-content:center; }
.step { display:flex;flex-direction:column;align-items:center;gap:5px; }
.step-num { width:42px;height:42px;border-radius:50%;background:var(--border);color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-weight:900;transition:all var(--transition); }
.step.active .step-num    { background:var(--blue);color:#fff;box-shadow:0 4px 14px rgba(37,99,235,.4); }
.step.completed .step-num { background:var(--green);color:#fff; }
.step-label { font-size:.78rem;font-weight:700;color:var(--text-muted); }
.step.active .step-label { color:var(--blue); }
.step-line { flex:1;height:2px;background:var(--border);min-width:50px;margin:0 4px;margin-top:-20px;transition:background var(--transition); }
.step-line.active { background:var(--blue); }
.checkout-form-card { background:#fff;border-radius:var(--radius);border:1.5px solid var(--border);padding:28px; }
.btn-checkout-next { background:linear-gradient(135deg,var(--blue),var(--blue-dark));color:#fff;border:none;border-radius:var(--radius-sm);padding:13px;font-weight:900;font-size:.95rem;transition:all var(--transition); }
.btn-checkout-next:hover { transform:translateY(-2px);box-shadow:0 7px 22px rgba(37,99,235,.4);color:#fff; }
.payment-method { border:2px solid var(--border);border-radius:var(--radius-sm);padding:13px 18px;display:flex;align-items:center;font-weight:700;cursor:pointer;transition:border-color var(--transition); }
.payment-method.active { border-color:var(--blue);background:var(--blue-light); }
.checkout-summary-card { background:#fff;border-radius:var(--radius);border:1.5px solid var(--border);padding:22px;position:sticky;top:80px; }
.checkout-items { margin-bottom:18px;max-height:300px;overflow-y:auto; }
.checkout-item { display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--border); }
.checkout-item-img { position:relative;flex-shrink:0; }
.checkout-item-img img { width:48px;height:48px;object-fit:cover;border-radius:var(--radius-sm); }
.checkout-item-qty { position:absolute;top:-7px;right:-7px;background:var(--blue);color:#fff;font-size:.6rem;font-weight:900;min-width:16px;height:16px;border-radius:99px;display:flex;align-items:center;justify-content:center; }
.checkout-item-name { flex:1;font-weight:700;font-size:.86rem; }
.checkout-item-price { font-weight:800;font-size:.88rem; }
.checkout-summary-totals .summary-row { display:flex;justify-content:space-between;padding:7px 0;font-size:.9rem;border-bottom:1px dashed var(--border); }
.checkout-summary-totals .summary-total { font-weight:900;font-size:1.05rem;border-bottom:none; }

/* ════════════════════════════════════════════
   ORDER SUCCESS
   ════════════════════════════════════════════ */
.order-success-page { max-width:660px;margin:0 auto;padding:56px 20px; }
.success-animation { margin-bottom:28px;display:inline-block; }
.success-circle { width:92px;height:92px;border-radius:50%;background:linear-gradient(135deg,var(--green),var(--green-dark));display:flex;align-items:center;justify-content:center;margin:0 auto 14px;animation:scaleIn .5s ease;box-shadow:0 0 0 18px rgba(132,204,22,.1); }
@keyframes scaleIn { from{transform:scale(0);}to{transform:scale(1);} }
.success-check { font-size:2.3rem;color:#fff; }
.success-confetti { font-size:1.8rem;display:block;animation:floatToy 2s ease-in-out infinite; }
.success-title    { font-size:1.9rem;font-weight:900;color:var(--dark);margin-bottom:10px; }
.success-subtitle { color:var(--text-muted);font-size:1rem;margin-bottom:28px; }
.order-success-card { background:#f8faff;border-radius:var(--radius);padding:24px;border:1.5px solid var(--border);text-align:left; }
.success-order-num { font-size:1.05rem;font-weight:800;color:var(--blue); }
.success-info-box { background:#fff;border-radius:var(--radius-sm);padding:14px;border:1px solid var(--border);height:100%; }
.success-info-label { font-size:.72rem;text-transform:uppercase;font-weight:800;color:var(--text-muted);letter-spacing:.8px;margin-bottom:6px; }
.success-info-value { font-size:.88rem;font-weight:600;line-height:1.7; }
.guest-account-cta { max-width:540px;margin:0 auto; }
.guest-cta-inner { background:linear-gradient(135deg,var(--orange-light),var(--green-light));border:1.5px solid rgba(245,158,11,.2);border-radius:var(--radius);padding:26px 28px;display:flex;align-items:flex-start;gap:18px;text-align:left; }
.guest-cta-icon { font-size:2.2rem;flex-shrink:0; }

/* ════════════════════════════════════════════
   ORDER TRACKING
   ════════════════════════════════════════════ */
.tracking-form-card { background:#fff;border-radius:var(--radius);border:1.5px solid var(--border);padding:30px;box-shadow:var(--shadow); }
.tracking-header-card { background:#fff;border-radius:var(--radius);border:1.5px solid var(--border);padding:22px; }
.tracking-card { background:#fff;border-radius:var(--radius);border:1.5px solid var(--border);padding:22px; }
.order-tracking-steps { display:flex;align-items:flex-start;justify-content:space-between; }
.tracking-step { display:flex;flex-direction:column;align-items:center;gap:5px;flex:1;text-align:center; }
.tracking-icon { width:46px;height:46px;border-radius:50%;background:var(--border);color:var(--text-muted);display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all var(--transition);position:relative;z-index:1; }
.tracking-step.completed .tracking-icon { background:var(--green);color:#fff; }
.tracking-step.active    .tracking-icon { background:var(--blue);color:#fff;box-shadow:0 0 0 8px rgba(37,99,235,.12); }
.tracking-label { font-size:.8rem;font-weight:800;color:var(--text-muted); }
.tracking-desc  { font-size:.7rem;color:var(--text-muted); }
.tracking-step.active .tracking-label { color:var(--blue); }
.tracking-line { flex:1;height:2px;background:var(--border);margin-top:22px; }
.tracking-line.completed { background:var(--green); }

/* ════════════════════════════════════════════
   CUSTOMER DASHBOARD
   ════════════════════════════════════════════ */
.customer-sidebar { background:#fff;border-radius:var(--radius);border:1.5px solid var(--border);overflow:hidden; }
.customer-profile-mini { padding:18px;background:linear-gradient(135deg,var(--blue),var(--blue-dark));display:flex;align-items:center;gap:12px; }
.profile-avatar { width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.25);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.1rem;flex-shrink:0; }
.profile-name  { font-weight:800;color:#fff; }
.profile-email { font-size:.73rem;color:rgba(255,255,255,.8); }
.customer-nav { padding:10px 6px; }
.customer-nav-link { display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);font-weight:700;font-size:.88rem;color:var(--text);transition:all var(--transition); }
.customer-nav-link:hover,.customer-nav-link.active { background:var(--blue-light);color:var(--blue); }
.customer-nav-link i { width:17px;text-align:center; }
.customer-welcome-card { background:linear-gradient(135deg,#eff6ff,#fffbeb);border-radius:var(--radius);padding:22px;border:1.5px solid rgba(37,99,235,.12); }
.customer-stat-card { background:#fff;border-radius:var(--radius);padding:22px;text-align:center;border:1.5px solid var(--border);transition:all var(--transition); }
.customer-stat-card:hover { transform:translateY(-3px);box-shadow:var(--shadow); }
.customer-stat-card i { font-size:1.6rem;color:var(--blue);display:block;margin-bottom:8px; }
.stat-num { font-size:1.7rem;font-weight:900;color:var(--dark); }
.stat-lbl { font-size:.78rem;color:var(--text-muted);font-weight:600; }
.customer-card { background:#fff;border-radius:var(--radius);border:1.5px solid var(--border);overflow:hidden; }
.customer-card-header { padding:16px 22px;background:#f8faff;border-bottom:1px solid var(--border); }
.customer-card-body { padding:22px; }
.address-card { background:#f8faff;border-radius:var(--radius-sm);padding:14px 18px;margin-bottom:14px;border:1.5px solid var(--border); }
.address-default { border-color:var(--blue);background:var(--blue-light); }

/* ════════════════════════════════════════════
   CONTACT & STATIC PAGES
   ════════════════════════════════════════════ */
.contact-form-card { background:#fff;border-radius:var(--radius);border:1.5px solid var(--border);padding:32px; }
.contact-info-item { display:flex;gap:14px;align-items:flex-start;margin-bottom:22px; }
.contact-info-item i { width:38px;height:38px;background:var(--blue-light);color:var(--blue);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.static-page-content h4 { font-weight:800;margin:26px 0 10px;color:var(--dark); }
.static-page-content p,.static-page-content ol,.static-page-content ul { color:var(--text-muted);line-height:1.8;margin-bottom:14px; }
.about-emoji-display { font-size:3.8rem;letter-spacing:8px;animation:floatToy 3s ease-in-out infinite; }

/* ════════════════════════════════════════════
   FOOTER
   ════════════════════════════════════════════ */
.footer { background:#1e1e3f; color:rgba(255,255,255,.75); }
.footer-top { padding:56px 0; }
.footer-brand-wrap { display:flex;flex-direction:column;gap:2px;margin-bottom:14px; }
.footer-desc { font-size:.88rem;line-height:1.7;margin-bottom:18px;opacity:.78; }
.footer-social { display:flex;gap:9px; }
.social-link { width:36px;height:36px;background:rgba(255,255,255,.09);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;transition:all var(--transition);font-size:.88rem; }
.social-link:hover { background:var(--orange);transform:translateY(-2px); }
.footer-title { font-weight:800;font-size:.95rem;margin-bottom:16px;color:#fff; }
.footer-links { list-style:none;padding:0; }
.footer-links li { margin-bottom:9px; }
.footer-links a { color:rgba(255,255,255,.65);font-size:.88rem;transition:color var(--transition); }
.footer-links a:hover { color:var(--orange); }
.footer-contact { list-style:none;padding:0; }
.footer-contact li { display:flex;gap:9px;margin-bottom:11px;font-size:.88rem;opacity:.75; }
.footer-contact i { color:var(--green);flex-shrink:0;margin-top:2px; }
.footer-bottom { padding:16px 0;border-top:1px solid rgba(255,255,255,.09);font-size:.82rem;opacity:.65; }
.payment-icons { display:flex;gap:10px;font-size:1.5rem;color:rgba(255,255,255,.55); }

/* Back to top */
.back-to-top { position:fixed;bottom:28px;right:28px;z-index:999;background:var(--orange);color:#fff;border:none;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:.95rem;cursor:pointer;opacity:0;pointer-events:none;box-shadow:0 4px 14px rgba(245,158,11,.4);transition:all var(--transition); }
.back-to-top.visible { opacity:1;pointer-events:auto; }
.back-to-top:hover { transform:translateY(-3px); }

/* FAQ */
.faq-item { border-radius:var(--radius-sm) !important;border:1.5px solid var(--border) !important; }
.faq-item .accordion-button { font-weight:700; }
.faq-item .accordion-button:not(.collapsed) { color:var(--blue);background:var(--blue-light);box-shadow:none; }

/* ════════════════════════════════════════════
   BOOTSTRAP OVERRIDES (color-balanced)
   ════════════════════════════════════════════ */
.btn-primary { background:var(--blue);border-color:var(--blue);font-weight:700; }
.btn-primary:hover { background:var(--blue-dark);border-color:var(--blue-dark); }
.btn-outline-primary { border-color:var(--blue);color:var(--blue);font-weight:700; }
.btn-outline-primary:hover { background:var(--blue);border-color:var(--blue); }
.btn-warning, .btn-orange { background:var(--orange);border-color:var(--orange);color:#fff;font-weight:700; }
.btn-warning:hover { background:var(--orange-dark);border-color:var(--orange-dark);color:#fff; }
.form-control:focus,.form-select:focus { border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.1); }
.form-check-input:checked { background-color:var(--blue);border-color:var(--blue); }
.pagination .page-item.active .page-link { background:var(--blue);border-color:var(--blue); }
.text-primary { color:var(--blue) !important; }
.badge.bg-primary { background:var(--blue) !important; }
.badge.bg-warning { background:var(--orange) !important;color:#fff !important; }
.badge.bg-success { background:var(--green) !important; }

/* ── Responsive final ─────────────────────────────────────────── */
@media (max-width: 767px) {
  .hero-title { font-size:2rem; }
  .hero-stats { gap:14px; }
  .stat-number { font-size:1.5rem; }
  .promo-card { flex-direction:column;padding:24px;text-align:center; }
  .promo-toys { flex-direction:row;justify-content:center; }
  .newsletter-card { padding:24px 16px; }
  .hero-toys-stage { width:300px;height:300px; }
  .toy-emoji { font-size:2.2rem; }
  .guest-cta-inner { flex-direction:column;text-align:center; }
  .order-tracking-steps { gap:12px; }
  .tracking-line { display:none; }
  .tracking-desc { display:none; }
  .checkout-steps { gap:0; }
  .step-line { min-width:28px; }
}
@media (max-width: 480px) {
  .announcement-bar { font-size:.75rem; }
  .fsl-btn-ghost,.fsl-btn-solid { padding:5px 12px;font-size:.8rem; }
  .page-banner { padding:36px 0; }
}

/* ================================================================
   FIRSTSTEPLEARNERS — VISUAL REFINEMENT OVERRIDES
   Announcement | Navbar hover | Category | Why-Cards | Promo | Newsletter
   ================================================================ */

/* ── 1. Announcement Bar — Playful gradient override ─────────── */
.announcement-bar {
  background: linear-gradient(90deg,
    #2563EB 0%, #4f86f7 18%, #F59E0B 36%,
    #FACC15 52%, #84CC16 68%, #F59E0B 84%, #2563EB 100%
  ) !important;
  background-size: 300% 100% !important;
  animation: gradShift 8s ease infinite !important;
  color: #fff !important;
  font-weight: 700;
  min-height: 38px;
  font-size: .82rem;
}
@keyframes gradShift {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
.announcement-bar .ticker-close {
  background: rgba(255,255,255,.2) !important;
  border-radius: 99px; color: #fff !important;
  border: none;
}
.announcement-bar .ticker-close:hover { background: rgba(255,255,255,.35) !important; }
.announcement-bar a { color: #fff !important; text-decoration: underline; }

/* ── 2. Brand name beside logo ────────────────────────────────── */
.fsl-brand {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  text-decoration: none !important;
}
/* Text brand shown beside logo image */
.fsl-brand-name {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}
.fsl-brand-name .brand-title {
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  font-size: 1.1rem;
  white-space: nowrap;
  line-height: 1;
  color: var(--dark);
}
.fsl-brand-name .brand-title .c-blue   { color: var(--blue); }
.fsl-brand-name .brand-title .c-orange { color: var(--orange); }
.fsl-brand-name .brand-title .c-green  { color: var(--green-dark); }
.fsl-brand-name .brand-sub {
  font-size: .6rem; font-weight: 700; color: var(--text-muted);
  letter-spacing: .6px; text-transform: uppercase;
}

/* ── 3. Navbar hover — animated underline ─────────────────────── */
.fsl-nav-links .nav-link {
  position: relative !important;
  overflow: visible !important;
  transition: color .2s ease, background .2s ease !important;
}
.fsl-nav-links .nav-link::after {
  content: '' !important;
  position: absolute !important;
  bottom: -1px !important;
  left: 9px !important; right: 9px !important;
  height: 2.5px !important;
  border-radius: 99px !important;
  background: linear-gradient(90deg, var(--blue), var(--orange)) !important;
  transform: scaleX(0) !important;
  transform-origin: left !important;
  transition: transform .22s ease !important;
}
.fsl-nav-links .nav-link:hover::after,
.fsl-nav-links .nav-link.active::after {
  transform: scaleX(1) !important;
}
.fsl-nav-links .nav-link:hover {
  color: var(--blue) !important;
  background: rgba(37,99,235,.06) !important;
  transform: translateY(-1px) !important;
}
/* Dropdown top accent line */
.fsl-dropdown {
  border-top: 3px solid var(--orange) !important;
  box-shadow: 0 16px 50px rgba(0,0,0,.13) !important;
}
.fsl-dropdown .dropdown-item:hover {
  background: linear-gradient(135deg, #eff6ff, #fffbeb) !important;
  color: var(--blue) !important;
  padding-left: 20px !important;
}
/* "New" badge pulse */
.nav-badge-new {
  background: linear-gradient(135deg, var(--orange), #ef4444) !important;
  animation: badgePulse 2s ease infinite !important;
}
@keyframes badgePulse { 0%,100%{transform:scale(1);} 50%{transform:scale(1.1);} }

/* ── 4. Features strip — icon colors ──────────────────────────── */
.features-strip { background: linear-gradient(135deg, #fafbff, #fffbeb); border-bottom: none !important; }
.feature-item { border-radius: 12px; border: 1.5px solid transparent; transition: all .25s ease; }
.feature-item:hover { border-color: var(--orange-light); background: #fff; box-shadow: 0 4px 16px rgba(245,158,11,.1); transform: translateY(-2px); }
.feature-item:nth-child(1) .feature-icon { color: var(--blue); }
.feature-item:nth-child(2) .feature-icon { color: var(--green-dark); }
.feature-item:nth-child(3) .feature-icon { color: var(--orange); }
.feature-item:nth-child(4) .feature-icon { color: #9333ea; }
.feature-title { font-size: .9rem; }
.feature-sub   { font-size: .76rem; }

/* ── 5. Category cards — rich per-card color ─────────────────── */
.category-card-inner {
  background: var(--cat-bg, #eff6ff) !important;
  border: 2px solid transparent !important;
  border-radius: 16px !important;
  padding: 28px 16px 22px !important;
  text-align: center !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.06) !important;
  transition: all .3s cubic-bezier(.34,1.56,.64,1) !important;
  position: relative; overflow: hidden;
}
.category-card-inner::before {
  content: '';
  position: absolute; inset: 0;
  border-radius: inherit;
  border: 2.5px solid var(--cat-accent, var(--blue));
  opacity: 0;
  transition: opacity .3s ease;
}
.category-card:hover .category-card-inner {
  transform: translateY(-10px) scale(1.02) !important;
  box-shadow: 0 20px 48px rgba(0,0,0,.13) !important;
}
.category-card:hover .category-card-inner::before { opacity: 1; }

/* Icon circle background */
.category-icon-wrap {
  width: 72px; height: 72px; border-radius: 50%;
  background: var(--cat-light, #dbeafe);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 14px;
  transition: transform .3s cubic-bezier(.34,1.56,.64,1);
  box-shadow: 0 4px 14px rgba(0,0,0,.07);
}
.category-card:hover .category-icon-wrap { transform: scale(1.18) rotate(10deg); }
.category-icon { font-size: 2.2rem !important; display: block; margin: 0 !important; }
.category-name { font-weight: 800; font-size: .92rem; color: var(--dark); margin-bottom: 4px; }
.category-count {
  display: inline-block;
  background: var(--cat-light, #dbeafe);
  color: var(--cat-accent, var(--blue));
  font-size: .72rem; font-weight: 800;
  padding: 2px 10px; border-radius: 99px;
  margin-top: 2px;
}
.category-hover-overlay {
  background: linear-gradient(135deg,
    var(--cat-accent, var(--blue)),
    color-mix(in srgb, var(--cat-accent, var(--blue)) 70%, #000)
  ) !important;
}

/* ── 6. Product cards — premium upgrade ───────────────────────── */
.product-card {
  border-radius: 16px !important;
  border: 1.5px solid #f1f5f9 !important;
  box-shadow: 0 2px 12px rgba(0,0,0,.05) !important;
  transition: transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease !important;
}
.product-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 20px 48px rgba(37,99,235,.12) !important;
  border-color: rgba(37,99,235,.15) !important;
}
.product-image-wrap { height: 210px !important; border-radius: 0; overflow: hidden; position: relative; }
/* Subtle overlay on hover */
.product-image-wrap::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(30,30,63,.06), transparent);
  opacity: 0; transition: opacity .3s ease;
}
.product-card:hover .product-image-wrap::after { opacity: 1; }
.product-img { transition: transform .5s cubic-bezier(.34,1.56,.64,1) !important; }
.product-card:hover .product-img { transform: scale(1.1) !important; }

/* Badges */
.badge-new  { background: linear-gradient(135deg, #10b981, #059669) !important; }
.badge-sale { background: linear-gradient(135deg, var(--orange), #ef4444) !important; }

/* Wishlist */
.wishlist-btn { border-radius: 50% !important; border: none !important; box-shadow: 0 2px 8px rgba(0,0,0,.1) !important; }
.wishlist-btn:hover { background: rgba(245,158,11,.12) !important; color: var(--orange) !important; transform: scale(1.15) !important; }

/* Price */
.price-current { color: var(--blue) !important; }
.price-original { color: var(--text-muted) !important; font-size: .82rem !important; }

/* Add to cart */
.btn-add-cart {
  background: linear-gradient(135deg, var(--blue), var(--blue-dark)) !important;
  border-radius: 10px !important;
  font-size: .82rem !important;
  letter-spacing: .2px !important;
  transition: all .25s ease !important;
}
.btn-add-cart:hover {
  background: linear-gradient(135deg, var(--orange), var(--orange-dark)) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(245,158,11,.4) !important;
  color: #fff !important;
}

/* Section badge — orange by default */
.section-badge {
  background: linear-gradient(135deg, var(--orange-light), #fff7ed) !important;
  color: var(--orange-dark) !important;
  border: 1px solid rgba(245,158,11,.25) !important;
}

/* ── 7. Promo Banner — multicolor gradient ────────────────────── */
.promo-card {
  background: linear-gradient(135deg,
    #2563EB 0%,
    #1d4ed8 20%,
    #F59E0B 55%,
    #FACC15 75%,
    #84CC16 100%
  ) !important;
  border-radius: 22px !important;
  padding: 52px 48px !important;
  position: relative; overflow: hidden;
}
.promo-card::before {
  content: '';
  position: absolute; top: -60px; right: -60px;
  width: 220px; height: 220px;
  background: rgba(255,255,255,.08);
  border-radius: 50%;
}
.promo-card::after {
  content: '';
  position: absolute; bottom: -80px; left: -40px;
  width: 280px; height: 280px;
  background: rgba(255,255,255,.05);
  border-radius: 50%;
}
.promo-title { font-size: clamp(1.5rem,2.8vw,2.1rem) !important; text-shadow: 0 2px 8px rgba(0,0,0,.12); }
.promo-badge { background: rgba(255,255,255,.25) !important; backdrop-filter: blur(4px); }
.promo-code  { background: rgba(255,255,255,.25) !important; backdrop-filter: blur(4px); font-weight: 900; font-family: monospace; }
.btn-promo {
  background: #fff !important; color: var(--blue) !important;
  font-weight: 800 !important; border: none !important;
  box-shadow: 0 6px 20px rgba(0,0,0,.2) !important;
  transition: all .25s ease !important;
}
.btn-promo:hover {
  background: var(--orange) !important; color: #fff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 28px rgba(245,158,11,.45) !important;
}

/* ── 8. Why Cards — color-coded ───────────────────────────────── */
.why-card {
  border-radius: 18px !important;
  border: 2px solid transparent !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.05) !important;
  transition: all .3s cubic-bezier(.34,1.56,.64,1) !important;
  position: relative; overflow: hidden;
}
.why-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0;
  height: 4px; border-radius: 18px 18px 0 0;
}
.why-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.1) !important;
}
.why-card--blue::before  { background: linear-gradient(90deg, var(--blue), #60a5fa); }
.why-card--blue:hover    { border-color: rgba(37,99,235,.2) !important; }
.why-card--orange::before{ background: linear-gradient(90deg, var(--orange), #fbbf24); }
.why-card--orange:hover  { border-color: rgba(245,158,11,.25) !important; }
.why-card--green::before { background: linear-gradient(90deg, var(--green), #a3e635); }
.why-card--green:hover   { border-color: rgba(132,204,22,.25) !important; }
.why-card--yellow::before{ background: linear-gradient(90deg, #FACC15, var(--orange)); }
.why-card--yellow:hover  { border-color: rgba(250,204,21,.3) !important; }
.why-card h5 { font-size: 1rem !important; font-weight: 800 !important; }
.why-icon { font-size: 3rem !important; filter: drop-shadow(0 4px 8px rgba(0,0,0,.1)); }

/* ── 9. Newsletter — warm gradient ───────────────────────────── */
.newsletter-card {
  background: linear-gradient(135deg, #eff6ff 0%, #fffbeb 50%, #f7fee7 100%) !important;
  border: 2px solid rgba(245,158,11,.15) !important;
  border-radius: 22px !important;
  padding: 48px !important;
  box-shadow: 0 8px 32px rgba(245,158,11,.08) !important;
  position: relative; overflow: hidden;
}
.newsletter-card::before {
  content: '🎯'; position: absolute; right: -20px; top: -20px;
  font-size: 8rem; opacity: .06; transform: rotate(15deg);
  pointer-events: none;
}
.newsletter-title { font-size: 1.55rem !important; font-weight: 900 !important; }
.newsletter-form .form-control {
  border: 2px solid rgba(245,158,11,.2) !important;
  border-right: none !important;
  background: #fff !important;
}
.newsletter-form .form-control:focus { border-color: var(--orange) !important; }
.btn-newsletter {
  background: linear-gradient(135deg, var(--orange), var(--orange-dark)) !important;
  border: none !important;
  box-shadow: 0 4px 14px rgba(245,158,11,.4) !important;
  transition: all .25s ease !important;
}
.btn-newsletter:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 22px rgba(245,158,11,.5) !important;
  color: #fff !important;
}

/* ── 10. Section headers — gradient title ─────────────────────── */
.section-title {
  background: linear-gradient(135deg, var(--dark) 40%, var(--blue) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
/* Override for sections where we want plain white */
.page-banner .section-title { background: none; -webkit-text-fill-color: #fff; }

/* ── 11. View-All buttons — orange outline ────────────────────── */
.section-products .btn-outline-primary,
.section-products a.btn-outline-primary {
  border-color: var(--orange) !important;
  color: var(--orange-dark) !important;
  font-weight: 700 !important;
}
.section-products .btn-outline-primary:hover {
  background: var(--orange) !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(245,158,11,.35) !important;
}

/* ── 12. Footer social hover — multicolor ─────────────────────── */
.footer .social-link:nth-child(1):hover { background: #1877f2; }
.footer .social-link:nth-child(2):hover { background: linear-gradient(135deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888); }
.footer .social-link:nth-child(3):hover { background: #1da1f2; }
.footer .social-link:nth-child(4):hover { background: #ff0000; }
.footer .social-link:nth-child(5):hover { background: #000; }
.footer .social-link { transition: all .25s ease !important; }

/* ── 13. Age cards — already good, just polish ────────────────── */
.age-card-inner { transition: all .3s cubic-bezier(.34,1.56,.64,1) !important; }
.age-card:hover .age-card-inner { transform: translateY(-10px) scale(1.03) !important; }

/* ── 14. Back to top — gradient ───────────────────────────────── */
.back-to-top {
  background: linear-gradient(135deg, var(--orange), var(--blue)) !important;
  box-shadow: 0 4px 16px rgba(37,99,235,.3) !important;
}

/* ── 15. Scroll animations helper ────────────────────────────── */
[data-aos] { transition-timing-function: cubic-bezier(.34,1.56,.64,1) !important; }

/* ── Responsive overrides ─────────────────────────────────────── */
@media (max-width: 767px) {
  .promo-card { padding: 28px 22px !important; }
  .newsletter-card { padding: 28px 20px !important; }
  .category-icon-wrap { width: 58px; height: 58px; }
  .category-icon { font-size: 1.8rem !important; }
  .fsl-brand-name { display: none; }  /* hide text brand on very small screens — logo alone */
}
@media (min-width: 768px) {
  .fsl-brand-name { display: flex !important; }
}

/* ================================================================
   ADDITIONAL STYLES — COD, Review Button, Price Format
   ================================================================ */

/* COD Badge on checkout review page */
.cod-badge {
  display: flex; align-items: center; gap: 16px;
  background: linear-gradient(135deg, #f0fdf4, #fefce8);
  border: 2px solid #bbf7d0; border-radius: var(--radius);
  padding: 18px 20px;
}
.cod-icon {
  width: 52px; height: 52px; border-radius: 50%;
  background: linear-gradient(135deg, #10b981, #059669);
  color: #fff; font-size: 1.4rem;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.cod-title { font-weight: 800; font-size: 1rem; color: #064e3b; }
.cod-desc  { font-size: .85rem; color: #065f46; margin-top: 2px; }
.cod-check { font-size: 1.6rem; margin-left: auto; }

/* Place Order button */
.btn-place-order {
  background: linear-gradient(135deg, #10b981, #059669);
  color: #fff; border: none; border-radius: var(--radius-sm);
  padding: 15px; font-weight: 900; font-size: 1.05rem;
  transition: all .25s ease;
  box-shadow: 0 6px 20px rgba(16,185,129,.35);
}
.btn-place-order:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(16,185,129,.5);
  color: #fff;
}

/* COD notice on success page */
.cod-notice {
  background: #f0fdf4; border: 1px solid #bbf7d0;
  border-radius: var(--radius-sm); padding: 12px 16px;
  font-size: .9rem; color: #065f46;
  display: flex; align-items: center; gap: 8px;
}

/* Leave a Review button (small, in order items) */
.btn-xs-review {
  display: inline-flex; align-items: center;
  background: linear-gradient(135deg, #fffbeb, #fef3c7);
  color: #92400e; border: 1px solid #fde68a;
  border-radius: 99px; padding: 3px 10px;
  font-size: .72rem; font-weight: 800;
  transition: all .2s ease; text-decoration: none;
}
.btn-xs-review:hover {
  background: var(--orange); color: #fff;
  border-color: var(--orange);
  transform: translateY(-1px);
  box-shadow: 0 3px 10px rgba(245,158,11,.3);
}

/* Review prompt badge in orders list */
.review-prompt-badge {
  display: inline-flex; align-items: center; gap: 4px;
  background: var(--orange-light); color: var(--orange-dark);
  border: 1px solid rgba(245,158,11,.3);
  border-radius: 99px; padding: 2px 8px;
  font-size: .7rem; font-weight: 800;
  text-decoration: none; transition: all .2s ease;
}
.review-prompt-badge:hover {
  background: var(--orange); color: #fff;
  border-color: var(--orange);
}

/* Shipping free label */
.shipping-free {
  color: #059669; font-weight: 800;
}

/* Admin compact table styles */
.table td { font-size: .87rem; }
.table th { font-size: .8rem; }

/* ================================================================
   FOOTER BRANDING — logo + brand name layout fix
   ================================================================ */

/* Wrapper: logo image + text side-by-side */
.footer-brand-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

/* Logo image — constrained height, aspect ratio preserved, never stretched */
.footer-logo-img {
  height: 36px;        /* compact, not oversized */
  width: auto;         /* auto-width keeps aspect ratio */
  max-width: 80px;     /* hard cap so wide logos don't overflow */
  object-fit: contain; /* never distort */
  flex-shrink: 0;
  filter: brightness(0) invert(1); /* white on dark footer */
  display: block;
}

/* Brand name + tagline stacked vertically */
.footer-brand-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1;
}

.footer-brand-name {
  font-family: 'Poppins', sans-serif;
  font-size: 1.1rem;
  font-weight: 800;
  color: #fff;
  white-space: nowrap;
  line-height: 1.15;
}

.footer-brand-tagline {
  font-size: .68rem;
  font-weight: 600;
  color: rgba(255, 255, 255, .5);
  letter-spacing: .5px;
  text-transform: uppercase;
  white-space: nowrap;
}

/* When no logo image is present the brand-wrap still looks right */
.footer-brand-wrap:not(:has(.footer-logo-img)) {
  align-items: flex-start;
}

/* Tighten spacing below description */
.footer-desc {
  margin-bottom: 16px;
}

/* Social icons row — consistent spacing */
.footer-social {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

@media (max-width: 480px) {
  .footer-brand-name    { font-size: .95rem; }
  .footer-logo-img      { height: 30px; max-width: 66px; }
}
