:root{
  --bg:#07111f;
  --bg-soft:#0c1a2d;
  --card:rgba(12,26,45,.78);
  --card-2:rgba(14,33,56,.96);
  --line:rgba(255,255,255,.08);
  --text:#f5f8ff;
  --muted:#9fb0cb;
  --yellow:#ffd54a;
  --blue:#4cb3ff;
  --green:#52d98a;
  --shadow:0 18px 42px rgba(0,0,0,.35);
  --radius:24px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
[hidden]{display:none !important}

body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:#07111f;
  color:var(--text);
  min-height:100vh;
}

a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}



/* LAYOUT */
.page{
  padding:0 14px 110px;
}

@media(min-width:760px){
  .page{
    max-width:900px;
    margin:0 auto;
  }
}

/* TOPBAR */
.topbar{
  position:sticky;
  top:0;
  z-index:30;
  padding:calc(env(safe-area-inset-top,0px) + 10px) 14px 8px;
  background:#07111f;
}

.topbar.compact{
  padding-bottom:6px;
}

.topbar-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

/* BRAND */
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.brand strong{
  display:block;
  font-size:1rem;
}

.brand small{
  display:block;
  font-size:.72rem;
  color:var(--muted);
}

.brand-ball{
  width:42px;
  height:42px;
  border-radius:50%;
  background:linear-gradient(180deg,#ff4a62 0 48%, #fff 48% 100%);
  position:relative;
  box-shadow:inset 0 0 0 3px #121826,0 8px 18px rgba(0,0,0,.26);
}

.brand-ball:before,
.brand-ball:after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
}

.brand-ball:before{
  top:18px;
  width:100%;
  height:4px;
  background:#121826;
}

.brand-ball:after{
  top:13px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#fff;
  box-shadow:inset 0 0 0 4px #121826;
}

/* BUTTONS */
.icon-btn,
.ghost-btn,
.primary-btn,
.secondary-btn{
  border:none;
  border-radius:18px;
  transition:.2s transform ease,.2s opacity ease,.2s background ease;
}

.icon-btn:active,
.ghost-btn:active,
.primary-btn:active,
.secondary-btn:active{
  transform:scale(.98);
}

.icon-btn{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.06);
  color:var(--text);
  border:1px solid var(--line);
  flex:0 0 auto;
}

.icon-btn svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

#menuBtn{
  gap:3px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

#menuBtn span{
  display:block;
  width:18px;
  height:2px;
  background:#fff;
  border-radius:999px;
}

.primary-btn,
.secondary-btn,
.ghost-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 16px;
  font-weight:700;
}

.primary-btn{
  background:linear-gradient(135deg,var(--yellow),#ffb400);
  color:#0a1020;
  box-shadow:0 10px 20px rgba(255,189,0,.25);
}

.secondary-btn{
  background:rgba(255,255,255,.08);
  color:var(--text);
  border:1px solid var(--line);
}

.ghost-btn{
  background:rgba(255,255,255,.05);
  color:var(--text);
  border:1px solid var(--line);
}

.full{
  width:100%;
}

/* HEADER ACTIONS */
.header-actions{
  display:flex;
  align-items:center;
  gap:8px;
}

.header-actions > *{
  position:relative;
}

.cart-fab-btn{
  position:relative;
}

.counter{
  position:absolute;
  top:-4px;
  right:-4px;
  min-width:20px;
  height:20px;
  border-radius:999px;
  background:var(--yellow);
  color:#101421;
  font-size:.72rem;
  font-weight:800;
  display:grid;
  place-items:center;
  padding:0 5px;
}

/* WHATSAPP PRO */
.whatsapp-btn.pro{
  position:relative;
  background:#25D366;
  border:none;
  box-shadow:0 0 0 rgba(37,211,102,.6);
  animation:waPulse 1.8s infinite;
}

.whatsapp-btn.pro img{
  width:22px;
  height:22px;
}

.wa-badge{
  position:absolute;
  top:-6px;
  right:-6px;
  background:#0f172a;
  color:#25D366;
  font-size:10px;
  padding:2px 6px;
  border-radius:999px;
  font-weight:700;
  border:1px solid rgba(255,255,255,.1);
}

@keyframes waPulse{
  0%{box-shadow:0 0 0 0 rgba(37,211,102,.6)}
  70%{box-shadow:0 0 0 12px rgba(37,211,102,0)}
  100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}
}

/* SEARCH */
.search-wrap{
  margin-top:12px;
  background:#07111f;
}

.search-field{
  display:flex;
  align-items:center;
  gap:10px;
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.06);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}

.search-field svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:var(--muted);
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.search-field input{
  border:none;
  background:transparent;
  outline:none;
  color:var(--text);
  width:100%;
}

.search-field input::placeholder{
  color:var(--muted);
}

/* CARDS GENERIC */
.glass-panel,
.product-card,
.order-card,
.drawer-card,
.product-tile{
  background:var(--card);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  backdrop-filter:blur(14px);
  border-radius:var(--radius);
}

.product-tile{
  position:relative;
  overflow:hidden;
}

.sale-badge{
  position:absolute;
  top:12px;
  left:12px;
  z-index:4;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-width:58px;
  height:30px;
  padding:0 12px;

  border-radius:999px;
  border:1px solid rgba(255, 214, 74, 0.38);

  background:
    linear-gradient(135deg, rgba(255,213,74,.95), rgba(255,184,0,.92));
  color:#07111f;

  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;

  box-shadow:
    0 10px 24px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.35);

  backdrop-filter:blur(8px);
}

.sale-badge::before{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,0));
  pointer-events:none;
}

.is-sale .price{
  color:#ffd54a;
  text-shadow:0 0 14px rgba(255,213,74,.18);
}

.old-price{
  font-size:.78rem;
  color:rgba(230,238,248,.58);
  text-decoration:line-through;
  text-decoration-thickness:1.5px;
}

.price-stack{
  display:flex;
  flex-direction:column;
  gap:2px;
}

/* HERO BANNER */
.hero-banner-carousel{
  position:relative;
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  margin-bottom:16px;
  border-radius:0;
  overflow:hidden;
  border:none;
  box-shadow:none;
  background:#0d1728;
}

.hero-banner-track{
  position:relative;
  width:100%;
  aspect-ratio:16/5;
  min-height:120px;
}

.hero-banner-slide{
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
  transition:opacity .35s ease;
}

.hero-banner-slide.active{
  opacity:1;
  pointer-events:auto;
}

.hero-banner-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.hero-banner-slide::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(7,17,31,.06) 0%, rgba(7,17,31,.12) 45%, rgba(7,17,31,.22) 100%);
}

.hero-banner-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  width:38px;
  height:38px;
  border:none;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(7,17,31,.62);
  color:#fff;
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.12);
  font-size:1.4rem;
  line-height:1;
}

.hero-banner-arrow.prev{left:10px}
.hero-banner-arrow.next{right:10px}

.hero-banner-dots{
  position:absolute;
  left:50%;
  bottom:12px;
  transform:translateX(-50%);
  z-index:2;
  display:flex;
  gap:8px;
  align-items:center;
}

.hero-banner-dots button{
  width:8px;
  height:8px;
  border:none;
  border-radius:999px;
  background:rgba(255,255,255,.55);
  padding:0;
  transition:.2s ease;
}

.hero-banner-dots button.active{
  width:24px;
  background:#fff;
}

/* FILTERS */
.filters-panel{
  padding:16px;
}

.panel-head,
.section-title,
.sheet-head,
.drawer-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.filters-grid{
  display:grid;
  gap:12px;
  margin-top:14px;
}

.filters-grid label,
.checkout-form label,
.coupon-field{
  display:grid;
  gap:8px;
}

.filters-grid span,
.checkout-form span,
.coupon-field span{
  font-size:.82rem;
  color:var(--muted);
}

.filters-grid input,
.filters-grid select,
.checkout-form input,
.checkout-form textarea,
.coupon-row input,
.qty-box input{
  width:100%;
  min-height:48px;
  border-radius:16px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.06);
  color:var(--text);
  padding:0 14px;
  outline:none;
}

.checkout-form textarea{
  padding:14px;
  resize:vertical;
}

/* REVIEWS SPOTLIGHT */
.reviews-spotlight{
  margin:6px 0 18px;
}

.reviews-head{
  padding:0 6px 14px;
}
.reviews-scoreline{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:8px;
}

.reviews-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 11px;
  border-radius:999px;
  background:linear-gradient(135deg, #52b6ff, #1e90ff);
  color:#fff;
  font-size:13px;
  font-weight:900;
  line-height:1;
  box-shadow:0 8px 18px rgba(30,144,255,.22);
}

.reviews-scoretext{
  font-size:14px;
  font-weight:700;
  color:#f4f7ff;
}

.reviews-meta{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  font-size:14px;
  color:#dce7fb;
}

.reviews-verified{
  color:#2ad36f;
  font-weight:900;
}

.reviews-verified{
  color:#2ad36f;
  font-weight:800;
}

.reviews-sep{
  opacity:.55;
}

.reviews-carousel{
  position:relative;
}

.reviews-track{
  position:relative;
  min-height:146px;
}

.review-slide{
  display:none;
}

.review-slide.active{
  display:block;
}

.review-card{
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(245,247,251,.94));
  color:#0f172a;
  border:1px solid rgba(255,255,255,.72);
  border-radius:24px;
  padding:16px 16px 14px;
  box-shadow:
    0 10px 30px rgba(0,0,0,.14),
    inset 0 1px 0 rgba(255,255,255,.7);
  position:relative;
  overflow:hidden;
}

.review-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at top right, rgba(76,179,255,.12), transparent 28%),
    radial-gradient(circle at bottom left, rgba(255,213,74,.12), transparent 24%);
}

.review-top{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:10px;
  align-items:start;
  margin-bottom:8px;
}

.review-avatar{
  width:46px;
  height:46px;
  border-radius:999px;
  background:linear-gradient(135deg, #4d8fff, #2d7be7);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:15px;
  box-shadow:0 8px 18px rgba(45,123,231,.25);
}

.review-person strong{
  display:block;
  font-size:15px;
  line-height:1.1;
  font-weight:800;
}

.review-person small{
  display:block;
  color:#64748b;
  font-size:12px;
  margin-top:3px;
}

.review-stars{
  color:#f4b400;
  font-size:16px;
  letter-spacing:1px;
  white-space:nowrap;
  margin-top:3px;
  text-shadow:0 0 8px rgba(244,180,0,.28);
}

.review-text{
  margin:12px 0 12px;
  font-size:14px;
  line-height:1.55;
  color:#111827;
}

.review-bottom{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  font-size:13px;
  padding-top:8px;
  border-top:1px solid rgba(15,23,42,.08);
}

.review-ok{
  color:#0f9f57;
  font-weight:900;
}

.review-time{
  color:#64748b;
}

.reviews-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:28px;
  height:28px;
  border:none;
  background:transparent;
  color:#2f2f2f;
  font-size:28px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
}

.reviews-arrow.prev{left:-2px}
.reviews-arrow.next{right:-2px}

/* CATALOG */
.catalog-section{
  padding:8px 0 0;
}

.product-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.product-tile{
  padding:10px;
  display:grid;
  gap:10px;
}

.product-tile img{
  aspect-ratio:1/1;
  border-radius:18px;
  object-fit:cover;
  background:#101c32;
}

.product-meta{
  display:grid;
  gap:6px;
}

.product-meta h3{
  margin:0;
  font-size:.92rem;
  line-height:1.25;
}

.product-meta p{
  margin:0;
  color:var(--muted);
  font-size:.76rem;
}

.product-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

.price{
  font-weight:800;
}

.mini-btn{
  min-width:42px;
  height:42px;
  border-radius:14px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-weight:800;
}

.empty-state{
  text-align:center;
  padding:22px;
  border:1px dashed var(--line);
  border-radius:20px;
  color:var(--muted);
  margin-top:12px;
}

.muted{
  color:var(--muted);
}

/* DRAWER */
.mobile-drawer,
.sheet-backdrop{
  position:fixed;
  inset:0;
  z-index:60;
  background:rgba(4,8,18,.62);
  backdrop-filter:blur(8px);
}

.mobile-drawer{
  padding:14px;
  display:grid;
  align-items:start;
}

.drawer-card{
  margin-top:calc(env(safe-area-inset-top,0px) + 12px);
  padding:18px;
}

.drawer-links{
  display:grid;
  gap:10px;
  margin-top:18px;
}

.drawer-links a{
  padding:14px 16px;
  border-radius:16px;
  background:rgba(255,255,255,.05);
  border:1px solid var(--line);
}

/* CART */
.cart-sheet{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:70;
  background:var(--card-2);
  border-radius:26px 26px 0 0;
  border:1px solid var(--line);
  box-shadow:0 -20px 42px rgba(0,0,0,.4);
  padding:10px 14px calc(env(safe-area-inset-bottom,0px) + 14px);
  max-height:84vh;
  display:grid;
  grid-template-rows:auto 1fr auto;
}

.sheet-handle{
  width:54px;
  height:5px;
  border-radius:999px;
  background:rgba(255,255,255,.24);
  margin:4px auto 12px;
}

.cart-items,
.checkout-items{
  display:grid;
  gap:10px;
  overflow:auto;
  padding:8px 0;
}

.cart-item,
.checkout-item{
  display:grid;
  grid-template-columns:56px 1fr auto;
  gap:10px;
  align-items:center;
  padding:10px;
  border-radius:18px;
  background:rgba(255,255,255,.05);
  border:1px solid var(--line);
}

.cart-item img,
.checkout-item img{
  width:56px;
  height:56px;
  border-radius:14px;
  object-fit:cover;
  background:#101c32;
}

.cart-item small,
.checkout-item small{
  display:block;
  color:var(--muted);
}

.qty-controls{
  display:flex;
  align-items:center;
  gap:6px;
}

.qty-controls button{
  width:28px;
  height:28px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.06);
  color:#fff;
}

.totals{
  display:grid;
  gap:8px;
  margin-top:12px;
}

.totals > div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:var(--muted);
}

.totals .total{
  padding-top:10px;
  border-top:1px solid var(--line);
  color:#fff;
  font-size:1.05rem;
}

.coupon-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
}

.sheet-actions,
.product-actions,
.hero-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

/* PRODUCT PAGE */
.product-gallery,
.product-card,
.checkout-layout{
  padding:16px;
}

.product-gallery{
  display:grid;
  gap:12px;
}

.product-hero{
  width:100%;
  aspect-ratio:1/1;
  border-radius:22px;
  object-fit:cover;
  background:#101c32;
}

.thumb-row{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}

.thumb-row button{
  border:none;
  padding:0;
  background:none;
}

.thumb-row img{
  aspect-ratio:1/1;
  border-radius:16px;
  object-fit:cover;
  border:1px solid transparent;
}

.thumb-row button.active img{
  border-color:var(--yellow);
}

.price-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:12px 0;
}

#pPrice,
#stickyPrice{
  font-size:1.55rem;
  font-weight:900;
}

.stock-pill{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(82,217,138,.12);
  color:var(--green);
  font-weight:700;
  font-size:.8rem;
}

.feature-list{
  list-style:none;
  padding:0;
  margin:16px 0;
  display:grid;
  gap:10px;
}

.feature-list li{
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.05);
  border:1px solid var(--line);
}

.qty-box{
  display:grid;
  gap:8px;
  min-width:92px;
}

.sticky-buybar{
  position:fixed;
  left:12px;
  right:12px;
  bottom:calc(env(safe-area-inset-bottom,0px) + 10px);
  z-index:55;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border-radius:22px;
  background:rgba(7,17,31,.92);
  border:1px solid var(--line);
  backdrop-filter:blur(14px);
  box-shadow:var(--shadow);
}

.sticky-buybar small{
  display:block;
  color:var(--muted);
}

/* CHECKOUT */
.checkout-grid{
  display:grid;
  gap:18px;
}

.checkout-form{
  display:grid;
  gap:12px;
}

.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.header-spacer{
  width:44px;
}

.back-btn{
  font-size:1.2rem;
  font-weight:800;
}

/* LOADING */
.loading-screen{
  position:fixed;
  inset:0;
  z-index:120;
  display:grid;
  place-items:center;
  padding:24px;
  background:radial-gradient(circle at top, rgba(76,179,255,.16), transparent 30%),radial-gradient(circle at bottom, rgba(255,213,74,.12), transparent 25%),#07111f;
  transition:opacity .45s ease, visibility .45s ease;
}

.loading-screen.is-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

.loading-screen__bg{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(7,17,31,.28), rgba(7,17,31,.92)), url('assets/ASC_ETB_01.webp') center/cover no-repeat;
  opacity:.24;
  filter:saturate(1.1) blur(2px);
  transform:scale(1.06);
}

.loading-screen__content{
  position:relative;
  z-index:1;
  width:min(100%, 380px);
  padding:28px 24px;
  border-radius:28px;
  background:rgba(10,20,36,.72);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 20px 50px rgba(0,0,0,.45);
  backdrop-filter:blur(14px);
  text-align:center;
}

.loading-screen__ball{
  width:84px;
  height:84px;
  margin:0 auto 18px;
  border-radius:50%;
  padding:4px;
  background:linear-gradient(180deg,#ff4a62 0 48%,#fff 48% 100%);
  box-shadow:0 0 0 4px rgba(255,255,255,.04), 0 12px 30px rgba(0,0,0,.32);
  position:relative;
  animation:loadingFloat 1.6s ease-in-out infinite;
}

.loading-screen__ball::before{
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:5px;
  background:#121826;
  transform:translateY(-50%);
}

.loading-screen__ball::after{
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  width:22px;
  height:22px;
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:#fff;
  box-shadow:inset 0 0 0 6px #121826, 0 0 0 6px rgba(255,255,255,.04);
}

.loading-screen__ball span{
  position:absolute;
  inset:-6px;
  border-radius:50%;
  border:2px solid rgba(255,213,74,.42);
  animation:loadingPulse 1.8s ease-out infinite;
}

.loading-screen__eyebrow{
  margin:0 0 8px;
  color:var(--yellow);
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  font-size:.76rem;
}

.loading-screen h1{
  margin:0 0 10px;
  font-size:clamp(1.9rem, 7vw, 2.5rem);
  line-height:1.02;
}

.loading-screen__text{
  margin:0;
  color:var(--muted);
  font-size:.98rem;
}

.loading-screen__bar{
  margin:18px 0 12px;
  height:10px;
  padding:2px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
}

.loading-screen__bar span{
  display:block;
  height:100%;
  width:40%;
  border-radius:999px;
  background:linear-gradient(90deg, var(--yellow), #ffb400);
  box-shadow:0 0 16px rgba(255,189,0,.34);
  animation:loadingBar 1.15s ease-in-out infinite;
}

.loading-screen__hint{
  display:block;
  color:#d9e6fb;
  opacity:.72;
  letter-spacing:.05em;
  text-transform:uppercase;
}

@keyframes loadingBar{
  0%{transform:translateX(-110%)}
  100%{transform:translateX(260%)}
}

@keyframes loadingFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}

@keyframes loadingPulse{
  0%{transform:scale(.9);opacity:.7}
  100%{transform:scale(1.28);opacity:0}
}

/* RESPONSIVE */
@media (min-width:760px){
  .product-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .hero-banner-track{
    min-height:200px;
  }
}

@media (max-width:640px){
  .review-card{
    padding:14px 14px 12px;
  }

  .review-top{
    grid-template-columns:auto 1fr auto;
    gap:10px;
  }

  .review-stars{
    font-size:14px;
  }
}

.filters {
  display: none;
}

.product-price-box{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.product-old-price,
.sticky-old-price{
  color:var(--muted);
  text-decoration:line-through;
  opacity:.9;
}

.product-old-price{
  font-size:.95rem;
  font-weight:700;
}

.sticky-old-price{
  font-size:.78rem;
}

.product-price-box.has-sale #pPrice,
.sticky-price-box #stickyPrice{
  color:var(--yellow);
}

.product-sale-badge{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,213,74,.16);
  border:1px solid rgba(255,213,74,.35);
  color:var(--yellow);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.06em;
}

.sticky-price-box{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.whatsapp-float:hover{
  transform:scale(1.08);
}

.product-page #pPriceBox{
  display:none;
}

.cart-flyer{
  position:fixed;
  z-index:9999;
  width:96px;
  height:96px;
  object-fit:cover;
  border-radius:18px;
  pointer-events:none;
  box-shadow:
    0 18px 40px rgba(0,0,0,.35),
    0 0 24px rgba(255,213,74,.18);
  border:1px solid rgba(255,255,255,.18);
  transform:translate3d(0,0,0) scale(1);
  opacity:1;
  will-change:transform, opacity, filter;
}

.cart-flyer.is-flying{
  animation:fly-to-cart .9s cubic-bezier(.22,.8,.22,1) forwards;
}

@keyframes fly-to-cart{
  0%{
    transform:translate3d(0,0,0) scale(1);
    opacity:1;
    filter:blur(0);
  }
  55%{
    transform:translate3d(calc(var(--fly-x) * .55), calc(var(--fly-y) * .55 - 30px), 0) scale(.92);
    opacity:1;
    filter:blur(0);
  }
  100%{
    transform:translate3d(var(--fly-x), var(--fly-y), 0) scale(.55);
    opacity:0;
    filter:blur(1px);
  }
}

.cart-bump{
  animation:cart-bump .35s ease;
}

@keyframes cart-bump{
  0%{ transform:scale(1); }
  50%{ transform:scale(1.14); }
  100%{ transform:scale(1); }
}

.drawer-links a.active{
  border:1px solid rgba(255,213,74,.4);
  background:rgba(255,213,74,.08);
  color:var(--yellow);
}

.about-topbar .topbar-row{
  position:relative;
  min-height:44px;
}

.about-topbar .about-brand{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:1;
}

.about-topbar .back-btn{
  position:relative;
  z-index:2;
}

.about-topbar .header-actions{
  position:relative;
  z-index:2;
  margin-left:auto;
}

@media (max-width: 560px){
  .about-topbar .about-brand small{
    display:none;
  }
}

.review-hot{
  background:rgba(255,80,80,.12);
  color:#ff6b6b;
  font-size:11px;
  padding:4px 8px;
  border-radius:999px;
  font-weight:800;
}

.review-stars{
  color:#f4b400;
  font-size:16px;
  text-shadow:0 0 6px rgba(244,180,0,.5);
}

.drawer-links .drawer-link-about{
  background:linear-gradient(135deg, rgba(255,213,74,.16), rgba(255,184,0,.10));
  border:1px solid rgba(255,213,74,.35);
  color:var(--yellow);
  font-weight:800;
  box-shadow:0 10px 24px rgba(255,189,0,.12);
}

.stock-ribbon{
  position:absolute;
  top:48px;
  left:12px;
  z-index:4;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  min-width:92px;
  height:28px;
  padding:0 10px;

  border-radius:999px;
  border:1px solid rgba(255,107,107,.35);

  background:linear-gradient(135deg, rgba(255,107,107,.95), rgba(255,80,80,.90));
  color:#fff;

  font-size:.64rem;
  font-weight:900;
  letter-spacing:.08em;

  box-shadow:
    0 10px 24px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.25);
}

.new-ribbon{
  position:absolute;
  top:12px;
  right:12px;
  z-index:5;

  padding:6px 12px;
  border-radius:999px;

  background:linear-gradient(135deg, #4cb3ff, #1e90ff);
  color:#fff;

  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;

  border:1px solid rgba(76,179,255,.4);

  box-shadow:
    0 10px 24px rgba(0,0,0,.25),
    0 0 12px rgba(76,179,255,.4);

  animation:newPulse 1.6s infinite;
}

@keyframes newPulse{
  0%{box-shadow:0 0 0 0 rgba(76,179,255,.5);}
  70%{box-shadow:0 0 0 10px rgba(76,179,255,0);}
  100%{box-shadow:0 0 0 0 rgba(76,179,255,0);}
}

.new-ribbon{
  position:absolute;
  top:12px;
  right:12px;
  z-index:5;
  padding:6px 12px;
  border-radius:999px;
  background:linear-gradient(135deg, #4cb3ff, #1e90ff);
  color:#fff;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
  border:1px solid rgba(76,179,255,.4);
  box-shadow:
    0 10px 24px rgba(0,0,0,.25),
    0 0 12px rgba(76,179,255,.35);
}

.footer {
  background: #111;
  color: #fff;
  padding: 40px 20px;
  margin-top: 60px;
}

.footer-content {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  flex-wrap: wrap;
}

.footer-section h4 {
  margin-bottom: 10px;
}

.footer-section p,
.footer-section li {
  font-size: 14px;
  opacity: 0.8;
}

.footer-section ul {
  list-style: none;
  padding: 0;
}

.footer-bottom {
  text-align: center;
  margin-top: 30px;
  font-size: 13px;
  opacity: 0.6;
}
