/* Valverde Store — store.css */
/* Paleta: El Vuelo de la Excelencia — Rosewood & Rose Gold luxury jewelry */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=Montserrat:wght@300;400;500&display=swap');

/* ── Variables ────────────────────────────────────────────── */
:root {
  --c-brand:    #5D2A3F;
  --c-brand-l:  #8A3A5A;
  --c-brand-d:  #3D1A2A;
  --c-brand-f:  rgba(93,42,63,.09);
  --c-gold:     #E6C2BF;
  --c-gold-l:   #F0D4D1;
  --c-champagne:#F7E7C4;
  --c-bg:       #FFFFFF;
  --c-bg2:      #F9F7F0;
  --c-bg3:      #F0EAE4;
  --c-surf:     #FFFFFF;
  --c-text:     #1A0D13;
  --c-text2:    #5D2A3F;
  --c-muted:    #9B7A83;
  --c-border:   #E8D9D6;
  --c-green:    #10B981;
  --c-red:      #EF4444;
  --r:          10px;
  --r-sm:       6px;
  --r-lg:       16px;
  --r-full:     9999px;
  --sh:         0 2px 12px rgba(93,42,63,.08);
  --sh-lg:      0 8px 32px rgba(93,42,63,.12);
  --sh-xl:      0 20px 60px rgba(93,42,63,.18);
  --hh:         64px;
  --ph:         36px;
  --cnh:        48px;
  --sw:         240px;
  --cw:         380px;
  --t:          .2s ease;
  --ts:         .35s cubic-bezier(.4,0,.2,1);
  --grad:       linear-gradient(135deg,#5D2A3F,#8A3A5A);
  --grad-hero:  linear-gradient(135deg,#F9F7F0 0%,#F0EAE4 50%,#F7E7C4 100%);
}

[data-theme="dark"] {
  --c-bg:     #180D12;
  --c-bg2:    #231219;
  --c-bg3:    #2E1520;
  --c-surf:   #231219;
  --c-text:   #F5EEF0;
  --c-text2:  #E6C2BF;
  --c-muted:  #9B7A83;
  --c-border: #3D1A2A;
  --sh:       0 2px 12px rgba(0,0,0,.5);
  --sh-lg:    0 8px 32px rgba(0,0,0,.6);
  --sh-xl:    0 20px 60px rgba(0,0,0,.8);
  --c-brand-f: rgba(93,42,63,.18);
  --grad-hero: linear-gradient(135deg,#180D12 0%,#231219 50%,#2E1520 100%);
}

/* ── Reset ────────────────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0 }
html { scroll-behavior:smooth; -webkit-tap-highlight-color:transparent }
body {
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  background: var(--c-bg2);
  color: var(--c-text);
  line-height: 1.5;
  font-size: 15px;
  overflow-x: hidden;
}
a { color:inherit; text-decoration:none }
button { font-family:inherit; cursor:pointer; border:none; background:none }
img { max-width:100%; display:block }
ul,ol { list-style:none }
::-webkit-scrollbar { width:5px; height:5px }
::-webkit-scrollbar-track { background:var(--c-bg2) }
::-webkit-scrollbar-thumb { background:var(--c-brand); border-radius:var(--r-full) }

/* ── Promo bar ────────────────────────────────────────────── */
.promo-bar {
  background: var(--c-brand-d);
  color: var(--c-champagne);
  height: var(--ph);
  display: flex;
  align-items: center;
  overflow: hidden;
  position: relative;
  z-index: 200;
}
.promo-scroll {
  display: flex;
  align-items: center;
  white-space: nowrap;
  animation: promoScroll 36s linear infinite;
  will-change: transform;
  flex-shrink: 0;
  width: max-content;
}
.promo-scroll span { font-size: 12px; font-weight: 500; flex-shrink: 0; padding-right: 48px; letter-spacing: .04em; font-family: 'Montserrat', sans-serif }
.promo-bar:hover .promo-scroll { animation-play-state:paused }
@keyframes promoScroll { from { transform:translateX(0) } to { transform:translateX(-50%) } }

/* ── Header ───────────────────────────────────────────────── */
.store-header {
  position: sticky;
  top: 0; z-index: 100;
  background: var(--c-bg);
  border-bottom: 1px solid var(--c-border);
  transition: box-shadow var(--t), background var(--ts);
}
.store-header.scrolled { box-shadow: var(--sh-lg) }
.header-inner {
  max-width: 1440px; width: 100%;
  margin: 0 auto; padding: 0 20px;
  height: var(--hh);
  display: flex; align-items: center; gap: 16px;
}
.btn-hamburger {
  display: none; width: 40px; height: 40px;
  align-items: center; justify-content: center;
  border-radius: var(--r-sm); color: var(--c-text2);
  transition: background var(--t); flex-shrink: 0;
}
.btn-hamburger:hover { background:var(--c-bg2) }

/* Logo */
.logo-mark { display:flex; align-items:center; gap:10px; flex-shrink:0 }
.logo-circle-img { width:46px; height:46px; object-fit:contain; flex-shrink:0 }
.logo-text  { display:flex; flex-direction:column; justify-content:center; line-height:1.2 }
.logo-name  { font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif; font-size:1.15rem; letter-spacing:.08em; color: #5D2A3F; font-weight: 600 }
.logo-tagline { font-family: 'Montserrat', sans-serif; font-size: .58rem; letter-spacing: .24em; text-transform: uppercase; color: #9B7A83; font-weight: 400; margin-top:2px }

/* Search */
.search-wrap { flex:1; max-width:560px }
.search-inner { position:relative; display:flex; align-items:center }
.search-input {
  width:100%; height:44px;
  background:var(--c-bg2); border:1.5px solid var(--c-border);
  border-radius:var(--r-full); padding:0 52px 0 18px;
  font-size:14px; font-family:'Montserrat',sans-serif; font-weight:400; color:var(--c-text); outline:none;
  transition:border-color var(--t), box-shadow var(--t);
}
.search-input::placeholder { color:var(--c-muted) }
.search-input:focus { border-color:var(--c-brand); box-shadow:0 0 0 3px var(--c-brand-f) }
.search-btn {
  position:absolute; right:6px; width:34px; height:34px;
  background:var(--grad); border-radius:var(--r-full);
  display:flex; align-items:center; justify-content:center;
  transition:transform var(--t), box-shadow var(--t);
}
.search-btn:hover { transform:scale(1.06); box-shadow:0 2px 8px rgba(93,42,63,.4) }
.search-btn svg { color:#fff }
.search-wrap-mobile {
  display:none; padding:8px 14px 10px;
  background:var(--c-surf); border-bottom:1px solid var(--c-border);
}

/* Header icons */
.header-icons { display:flex; align-items:center; gap:2px; margin-left:auto; flex-shrink:0 }
.icon-btn {
  width:44px; height:44px; border-radius:var(--r-sm);
  display:flex; align-items:center; justify-content:center;
  color:var(--c-text2); position:relative; transition:background var(--t), color var(--t);
}
.icon-btn:hover { background:var(--c-bg2); color:var(--c-brand) }
[data-theme="light"] .icon-moon { display:none !important }
[data-theme="dark"]  .icon-sun  { display:none !important }
[data-theme="dark"]  .icon-moon { display:block !important }
.cart-badge {
  position:absolute; top:5px; right:5px;
  min-width:18px; height:18px;
  background:var(--c-brand); color:var(--c-gold); border-radius:var(--r-full);
  font-size:10px; font-weight:700;
  display:flex; align-items:center; justify-content:center; padding:0 4px;
  pointer-events:none; line-height:1;
}
.cart-badge.pulse { animation:badgePulse .4s ease }
@keyframes badgePulse { 0%{transform:scale(1)} 40%{transform:scale(1.5)} 70%{transform:scale(.9)} 100%{transform:scale(1)} }

/* ── Category nav ─────────────────────────────────────────── */
.cat-nav {
  position:sticky; top:var(--hh); z-index:90;
  background:var(--c-surf); border-bottom:1px solid var(--c-border); height:var(--cnh);
}
.cat-nav-inner {
  max-width:1440px; margin:0 auto; padding:0 20px; height:100%;
  display:flex; align-items:center; gap:6px;
  overflow-x:auto; scrollbar-width:none;
}
.cat-nav-inner::-webkit-scrollbar { display:none }
#cat-pills { display:contents }
.cat-pill {
  flex-shrink:0; height:32px; padding:0 14px;
  border-radius:var(--r-full); border:1.5px solid var(--c-border);
  background:transparent; color:var(--c-text2);
  font-family:'Montserrat',sans-serif; font-size:12px; font-weight:500; letter-spacing:.04em;
  display:inline-flex; align-items:center; gap:6px;
  transition:border-color var(--t), background var(--t), color var(--t);
}
.cat-pill:hover { border-color:var(--c-brand); color:var(--c-brand) }
.cat-pill.active { border-color:var(--c-brand); background:var(--c-brand); color:var(--c-gold) }

/* ── Hero ─────────────────────────────────────────────────── */
.hero { position:relative; overflow:hidden; background:var(--grad-hero) }
.hero-bg {
  position:absolute; inset:0;
  background:radial-gradient(ellipse at 70% 50%, rgba(230,194,191,.3) 0%, transparent 70%);
  pointer-events:none;
}
.hero-content {
  position:relative; z-index:1;
  max-width:1440px; margin:0 auto; padding:64px 20px 72px;
  display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center;
}
.hero-eyebrow {
  display:inline-block; font-size:12px; font-weight:500; letter-spacing:.12em;
  font-family:'Montserrat',sans-serif; text-transform:uppercase;
  background:rgba(93,42,63,.07); border:1px solid rgba(93,42,63,.25); color:var(--c-brand);
  padding:5px 14px; border-radius:var(--r-full); margin-bottom:18px;
}
.hero-title {
  font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
  font-size: clamp(2.8rem, 5.5vw, 4.5rem);
  letter-spacing: -.01em;
  line-height: 1.05;
  font-weight: 600;
  color: var(--c-brand-d);
  margin-bottom: 16px;
}
[data-theme="dark"] .hero-title { color: var(--c-gold-l) }
.hero-accent { color: #5D2A3F; font-style: italic }
[data-theme="dark"] .hero-accent { color: var(--c-gold) }
.hero-sub { font-size:16px; font-weight:400; color:var(--c-text2); opacity:.85; margin-bottom:28px; max-width:480px; line-height:1.65 }
[data-theme="dark"] .hero-sub { color:var(--c-muted) }
.hero-cta-row { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:24px }
.btn-hero-primary {
  height:50px; padding:0 30px;
  background:var(--grad); color:var(--c-gold); border-radius:var(--r-full);
  font-family:'Montserrat',sans-serif; font-size:14px; font-weight:500; letter-spacing:.06em;
  display:flex; align-items:center; gap:8px;
  box-shadow:0 4px 20px rgba(93,42,63,.35);
  transition:transform var(--t), box-shadow var(--t);
}
.btn-hero-primary:hover { transform:translateY(-2px); box-shadow:0 8px 28px rgba(93,42,63,.5) }
.btn-hero-secondary {
  height:50px; padding:0 24px;
  border:1.5px solid var(--c-border); border-radius:var(--r-full);
  color:var(--c-brand); font-family:'Montserrat',sans-serif; font-size:14px; font-weight:500;
  background:rgba(255,255,255,.6);
  transition:border-color var(--t), background var(--t), color var(--t);
}
.btn-hero-secondary:hover { border-color:var(--c-brand); background:var(--c-brand-f); color:var(--c-brand) }
.hero-trust { display:flex; gap:16px; flex-wrap:wrap; font-size:12px; font-weight:400; color:var(--c-muted); letter-spacing:.03em }
.hero-visual { flex-shrink:0 }
.hero-product-card {
  width:190px; background:rgba(255,255,255,.85); border:1px solid var(--c-border);
  border-radius:var(--r-lg); padding:22px; position:relative;
  backdrop-filter:blur(12px);
  box-shadow: 0 8px 32px rgba(93,42,63,.12);
}
[data-theme="dark"] .hero-product-card {
  background:rgba(35,18,25,.85);
  border-color:rgba(93,42,63,.4);
}
.hero-product-icon { display:flex; justify-content:center; align-items:center; margin-bottom:14px }
.hero-logo-img { width:160px; height:auto; object-fit:contain; filter:drop-shadow(0 4px 16px rgba(93,42,63,.18)) }
.hero-prod-name { display:block; font-family:'Playfair Display',serif; font-size:13px; font-weight:600; color:var(--c-text); margin-bottom:4px }
.hero-prod-price { display:block; font-family:'Playfair Display',serif; font-size:16px; font-weight:700; color:var(--c-brand) }
.hero-badge-float {
  position:absolute; top:-10px; right:-10px;
  background:var(--c-brand); color:var(--c-gold);
  font-size:11px; font-weight:700; font-family:'Montserrat',sans-serif;
  padding:4px 10px; border-radius:var(--r-full);
  letter-spacing:.04em;
}

/* ── Categories visual ────────────────────────────────────── */
.cat-visual-section { padding:52px 20px 0; max-width:1440px; margin:0 auto }
.section-header { display:flex; align-items:center; gap:16px; margin-bottom:24px }
.section-header h2 { font-family:'Playfair Display',Georgia,serif; font-size:22px; font-weight:700; white-space:nowrap; color:var(--c-brand) }
.section-line { flex:1; height:1px; background:var(--c-border) }
.cat-visual-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:12px }
.cat-visual-card {
  display:flex; flex-direction:column; align-items:center; gap:10px;
  padding:18px 8px; border-radius:var(--r-lg);
  background:var(--c-bg); border:1px solid var(--c-border);
  cursor:pointer; transition:transform var(--t), box-shadow var(--t), border-color var(--t);
}
.cat-visual-card:hover { transform:translateY(-3px); box-shadow:var(--sh-lg); border-color:var(--c-brand) }
.cat-visual-icon {
  width:54px; height:54px; border-radius:var(--r);
  display:flex; align-items:center; justify-content:center; font-size:26px;
}
.cat-visual-card span { font-family:'Montserrat',sans-serif; font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; font-weight:500; color:var(--c-text2) }

/* ── Flash / Destacados ───────────────────────────────────── */
.flash-deals { padding:44px 20px 0; max-width:1440px; margin:0 auto }
.flash-header {
  display:flex; align-items:center; gap:12px;
  margin-bottom:18px; flex-wrap:wrap;
}
.flash-title-row { display:flex; align-items:center; gap:10px; flex:1 }
.flash-icon { font-size:22px }
.flash-title { font-family:'Playfair Display',Georgia,serif; font-size:20px; font-weight:700; color:var(--c-brand) }
.flash-ver-todo {
  height:34px; padding:0 16px; border-radius:var(--r-full);
  border:1.5px solid var(--c-border); font-family:'Montserrat',sans-serif; font-size:12px; font-weight:500; color:var(--c-brand);
  transition:border-color var(--t), background var(--t);
}
.flash-ver-todo:hover { border-color:var(--c-brand); background:var(--c-brand-f) }
.flash-scroll {
  display:flex; gap:14px; overflow-x:auto; padding-bottom:8px;
  scrollbar-width:none;
}
.flash-scroll::-webkit-scrollbar { display:none }
.flash-scroll .product-card { min-width:200px; max-width:220px; flex-shrink:0 }

/* ── Store section ────────────────────────────────────────── */
.store-section { max-width:1440px; margin:0 auto; padding:44px 20px 64px }
.store-layout { display:grid; grid-template-columns:var(--sw) 1fr; gap:24px; align-items:start }

/* Filters sidebar */
.filters-sidebar { position:sticky; top:calc(var(--hh)+var(--cnh)+16px) }
.filter-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px }
.filter-title { font-family:'Playfair Display',serif; font-size:15px; font-weight:700; color:var(--c-brand) }
.filter-clear { font-size:12px; font-family:'Montserrat',sans-serif; color:var(--c-brand); font-weight:500 }
.filter-clear:hover { text-decoration:underline }
.filter-group { margin-bottom:20px }
.filter-group-title { font-size:11px; font-family:'Montserrat',sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--c-muted); margin-bottom:10px }
.filter-option { display:flex; align-items:center; gap:8px; font-size:13px; color:var(--c-text2); padding:4px 0; cursor:pointer }
.filter-option input { accent-color:var(--c-brand) }
.price-range-wrap { padding:4px 0 }
.price-labels { display:flex; justify-content:space-between; font-size:12px; color:var(--c-muted); margin-bottom:8px }
.price-slider { width:100%; accent-color:var(--c-brand) }

/* Products area */
.products-toolbar { display:flex; align-items:center; gap:12px; margin-bottom:18px; flex-wrap:wrap }
.products-count { font-size:13px; font-family:'Montserrat',sans-serif; font-weight:400; color:var(--c-muted); flex:1 }
.sort-label { font-size:12px; color:var(--c-muted); font-family:'Montserrat',sans-serif }
.sort-select { height:34px; padding:0 10px; border-radius:var(--r-sm); border:1px solid var(--c-border); background:var(--c-surf); font-size:13px; font-family:'Montserrat',sans-serif; color:var(--c-text) }

/* ── Product grid ─────────────────────────────────────────── */
.products-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:16px;
}
.product-card {
  background:var(--c-bg); border:1px solid var(--c-border); border-radius:var(--r-lg);
  overflow:hidden; position:relative;
  transition:transform var(--t), box-shadow var(--t), border-color var(--t);
  cursor:pointer;
}
.product-card:hover { transform:translateY(-4px); box-shadow:0 12px 36px rgba(93,42,63,.15); border-color:var(--c-brand) }
.product-card.skeleton { height:320px; animation:skeletonPulse 1.6s ease-in-out infinite }
@keyframes skeletonPulse {
  0%,100% { background:var(--c-bg2) }
  50%      { background:var(--c-bg3) }
}

.product-card__img-wrap { position:relative; background:var(--c-bg2); aspect-ratio:1 }
.product-card__img { width:100%; height:100%; object-fit:contain; display:block; padding:8px }
.product-card__img-placeholder {
  width:100%; height:100%; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:8px;
  font-size:32px; color:rgba(255,255,255,.9);
  background: linear-gradient(135deg,#5D2A3F,#8A3A5A);
}
.product-card__img-placeholder span:last-child { font-size:12px }
.product-card__wishlist {
  position:absolute; top:8px; right:8px;
  width:32px; height:32px; border-radius:var(--r-full);
  background:var(--c-bg); display:flex; align-items:center; justify-content:center;
  box-shadow:var(--sh); color:var(--c-muted);
  transition:color var(--t), background var(--t);
}
.product-card__wishlist:hover, .product-card__wishlist.active { color:#ef4444 }
.badge {
  position:absolute; top:8px; left:8px; z-index:1;
  font-size:10px; font-weight:700; padding:3px 8px; border-radius:var(--r-full);
  font-family:'Montserrat',sans-serif; letter-spacing:.04em;
}
.badge-sale { background:#ef4444; color:#fff }
.badge-dest { background:var(--c-brand); color:var(--c-gold) }

.product-card__body { padding:10px 12px 14px }
.product-card__brand { font-size:10px; font-family:'Montserrat',sans-serif; color:var(--c-muted); font-weight:600; margin-bottom:4px; text-transform:uppercase; letter-spacing:.08em }
.product-card__name { font-family:'Playfair Display',Georgia,serif; font-size:14px; font-weight:600; color:var(--c-text); line-height:1.35; margin-bottom:6px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden }
.product-card__stars { display:flex; align-items:center; gap:2px; font-size:12px; margin-bottom:6px }
.star { color:#E6C2BF } .star.empty { color:var(--c-border) }
.count { font-size:11px; color:var(--c-muted); margin-left:2px }
.price-wrap { display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; margin-bottom:8px }
.price-current { font-family:'Playfair Display',Georgia,serif; font-size:17px; font-weight:700; color:#5D2A3F }
[data-theme="dark"] .price-current { color:var(--c-gold) }
.price-original { font-size:13px; color:var(--c-muted); text-decoration:line-through }
.price-discount { font-size:11px; font-weight:700; color:#10B981; background:rgba(16,185,129,.1); padding:2px 6px; border-radius:var(--r-full); font-family:'Montserrat',sans-serif }

.product-card__btns { display:flex; gap:6px; margin-top:8px }
.product-card__add {
  flex:1; height:40px; border-radius:var(--r-sm);
  background:var(--grad); color:var(--c-gold);
  font-family:'Montserrat',sans-serif; font-size:12px; font-weight:500; letter-spacing:.04em;
  display:flex; align-items:center; justify-content:center; gap:6px;
  transition:transform var(--t), box-shadow var(--t);
}
.product-card__add:hover { transform:translateY(-1px); box-shadow:0 4px 12px rgba(93,42,63,.35) }
.product-card__detail {
  height:40px; padding:0 14px; border-radius:var(--r-full);
  border:1.5px solid var(--c-brand); background:#5D2A3F;
  font-family:'Montserrat',sans-serif; font-size:12px; font-weight:500; color:var(--c-gold);
  transition:background var(--t), color var(--t), transform var(--t), box-shadow var(--t);
  white-space:nowrap; flex-shrink:0;
}
.product-card__detail:hover { background:var(--c-brand-d); transform:translateY(-1px); box-shadow:0 4px 12px rgba(93,42,63,.3) }

.empty-state { grid-column:1/-1; text-align:center; padding:60px 20px; color:var(--c-muted) }
.empty-state .icon { font-size:56px; margin-bottom:16px }
.empty-state h3 { font-family:'Playfair Display',serif; font-size:18px; font-weight:700; color:var(--c-text); margin-bottom:8px }
.load-more-wrap { text-align:center; margin-top:32px }
.btn-load-more {
  height:44px; padding:0 32px; border-radius:var(--r-full);
  border:1.5px solid var(--c-brand); color:var(--c-brand);
  font-family:'Montserrat',sans-serif; font-size:13px; font-weight:500; letter-spacing:.05em;
  transition:border-color var(--t), background var(--t), color var(--t);
}
.btn-load-more:hover { background:var(--c-brand); color:var(--c-gold) }

/* ── Cart drawer ──────────────────────────────────────────── */
.cart-overlay {
  display:none; position:fixed; inset:0;
  background:rgba(29,9,18,.45); z-index:500; backdrop-filter:blur(2px);
}
.cart-overlay.open { display:block }
.cart-drawer {
  position:fixed; top:0; right:0; bottom:0; width:var(--cw);
  background:var(--c-bg2); z-index:600;
  display:flex; flex-direction:column;
  transform:translateX(100%); transition:transform var(--ts);
  box-shadow:-4px 0 32px rgba(93,42,63,.18);
}
.cart-drawer.open { transform:translateX(0) }
.cart-header {
  display:flex; align-items:center; justify-content:space-between;
  padding:20px; border-bottom:1px solid var(--c-border);
}
.cart-header h3 { font-family:'Playfair Display',serif; font-size:18px; font-weight:700; color:var(--c-brand) }
.cart-close { width:32px; height:32px; border-radius:var(--r-sm); display:flex; align-items:center; justify-content:center; color:var(--c-muted); transition:background var(--t) }
.cart-close:hover { background:var(--c-bg3) }
.cart-items { flex:1; overflow-y:auto; padding:16px }
.cart-empty { display:flex; flex-direction:column; align-items:center; gap:12px; padding:40px 0; color:var(--c-muted) }
.cart-empty p { font-size:15px }
.btn-ver-productos { height:36px; padding:0 20px; border-radius:var(--r-full); background:var(--c-brand); color:var(--c-gold); font-family:'Montserrat',sans-serif; font-size:12px; font-weight:500; letter-spacing:.04em }
.cart-item { display:flex; gap:12px; align-items:flex-start; padding:12px 0; border-bottom:1px solid var(--c-border) }
.cart-item__img { width:56px; height:56px; object-fit:contain; border-radius:var(--r-sm); background:var(--c-bg3); border:1px solid var(--c-border); flex-shrink:0 }
.cart-item__info { flex:1; min-width:0 }
.cart-item__name { font-family:'Playfair Display',serif; font-size:13px; font-weight:600; color:var(--c-text); margin-bottom:4px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.cart-item__price { font-family:'Playfair Display',serif; font-size:13px; color:var(--c-brand); font-weight:700; margin-bottom:6px }
.cart-item__qty { display:flex; align-items:center; gap:8px }
.qty-btn { width:24px; height:24px; border-radius:var(--r-sm); background:var(--c-bg3); font-size:14px; font-weight:700; display:flex; align-items:center; justify-content:center; transition:background var(--t) }
.qty-btn:hover { background:var(--c-border) }
.qty-num { font-size:14px; font-weight:600; min-width:20px; text-align:center; font-family:'Montserrat',sans-serif }
.cart-item__remove { width:28px; height:28px; border-radius:var(--r-sm); display:flex; align-items:center; justify-content:center; color:var(--c-muted); flex-shrink:0; transition:background var(--t), color var(--t) }
.cart-item__remove:hover { background:rgba(239,68,68,.1); color:#ef4444 }
.cart-footer { padding:16px 20px; border-top:1px solid var(--c-border) }
.cart-subtotal { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px }
.cart-total-price { font-family:'Playfair Display',serif; font-size:18px; font-weight:700; color:var(--c-brand) }
.cart-shipping-note { font-family:'Montserrat',sans-serif; font-size:12px; color:var(--c-muted); margin-bottom:14px }
.btn-checkout {
  width:100%; height:48px; border-radius:var(--r);
  background:var(--grad); color:var(--c-gold);
  font-family:'Montserrat',sans-serif; font-size:14px; font-weight:500; letter-spacing:.06em;
  display:flex; align-items:center; justify-content:center; gap:8px;
  transition:box-shadow var(--t), transform var(--t);
}
.btn-checkout:hover { box-shadow:0 6px 20px rgba(93,42,63,.4); transform:translateY(-1px) }
.btn-checkout-pago {
  width:100%; height:48px; margin-top:8px; border-radius:var(--r);
  background:var(--c-green); color:#fff;
  font-family:'Montserrat',sans-serif; font-size:14px; font-weight:500;
}

/* ── Footer ───────────────────────────────────────────────── */
.store-footer { background:var(--c-bg3); border-top:1px solid var(--c-border); margin-top:64px }
.footer-top {
  max-width:1440px; margin:0 auto; padding:52px 20px 36px;
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:32px;
}
.footer-logo { display:flex; align-items:center; gap:12px; margin-bottom:12px }
.footer-logo-img { width:44px; height:44px; object-fit:contain }
.footer-logo span { font-family:'Cormorant Garamond','Playfair Display',serif; font-size:1.1rem; font-weight:600; color:var(--c-gold); letter-spacing:.06em }
.footer-desc { font-family:'Montserrat',sans-serif; font-size:13px; font-weight:400; color:var(--c-muted); line-height:1.65; margin-bottom:16px; max-width:280px }
.footer-social { display:flex; gap:8px }
.social-btn {
  width:34px; height:34px; border-radius:var(--r-sm);
  background:var(--c-bg2); color:var(--c-text2); display:flex; align-items:center; justify-content:center;
  transition:background var(--t), color var(--t);
}
.social-btn:hover { background:var(--c-brand); color:var(--c-gold) }
.footer-links { display:flex; flex-direction:column; gap:10px }
.footer-links h4 { font-family:'Playfair Display',serif; font-size:14px; font-weight:700; margin-bottom:4px; color:var(--c-brand) }
.footer-links a { font-family:'Montserrat',sans-serif; font-size:13px; font-weight:400; color:var(--c-muted); transition:color var(--t) }
.footer-links a:hover { color:var(--c-brand) }
.footer-bottom {
  background: var(--c-brand-d);
  max-width: 100%;
  padding: 20px 40px;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px;
}
.payment-methods { display:flex; align-items:center; gap:8px; flex-wrap:wrap }
.pm-label { font-family:'Montserrat',sans-serif; font-size:12px; color:var(--c-gold-l) }
.pm-badge { font-family:'Montserrat',sans-serif; font-size:11px; font-weight:700; padding:3px 8px; border-radius:4px; background:rgba(255,255,255,.1); color:var(--c-gold-l); border:1px solid rgba(230,194,191,.25) }
.pm-nequi { background:#6A0DAD; color:#fff; border-color:#6A0DAD }
.pm-daviplata { background:#E30613; color:#fff; border-color:#E30613 }
.pm-amex { background:#016FD0; color:#fff; border-color:#016FD0 }
.footer-copy { font-family:'Montserrat',sans-serif; font-size:12px; color:var(--c-gold-l); opacity:.85 }
.footer-copy a { color:var(--c-champagne); font-weight:500 }

/* ── Toast ────────────────────────────────────────────────── */
.toast {
  position:fixed; bottom:20px; right:20px; z-index:900;
  background:var(--c-brand-d); color:var(--c-gold-l); border-radius:var(--r);
  padding:12px 18px; font-family:'Montserrat',sans-serif; font-size:14px; font-weight:400;
  box-shadow:var(--sh-xl); max-width:340px;
  transform:translateY(120%); transition:transform var(--ts); pointer-events:none;
  border:1px solid rgba(230,194,191,.2);
}
.toast.show { transform:translateY(0) }

/* ── Back to top ──────────────────────────────────────────── */
.btn-backtop {
  position:fixed; bottom:24px; right:20px; z-index:400;
  width:44px; height:44px; border-radius:var(--r-full);
  background:var(--c-brand); color:var(--c-gold); box-shadow:var(--sh-lg);
  display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none;
  transition:opacity var(--t), transform var(--t);
}
.btn-backtop.visible { opacity:1; pointer-events:auto }
.btn-backtop:hover { transform:translateY(-2px) }

/* ── Product Detail Drawer ───────────────────────────────── */
.pd-overlay { display:none; position:fixed; inset:0; background:rgba(29,9,18,.5); z-index:700; backdrop-filter:blur(2px) }
.pd-overlay.open { display:block }
.pd-drawer {
  position:fixed; top:0; right:0; bottom:0; width:min(520px,100vw);
  background:var(--c-bg2); z-index:800;
  display:flex; flex-direction:column;
  transform:translateX(100%); transition:transform var(--ts);
  box-shadow:-8px 0 40px rgba(93,42,63,.2);
}
.pd-drawer.open { transform:translateX(0) }
.pd-close-bar {
  flex-shrink:0; display:flex; align-items:center; justify-content:flex-end;
  padding:12px 14px 8px; border-bottom:1px solid var(--c-border);
  background:var(--c-bg);
}
.pd-close-btn {
  width:36px; height:36px; border-radius:var(--r-sm);
  display:flex; align-items:center; justify-content:center;
  color:#fff; background:var(--c-brand);
  transition:background var(--t), transform var(--t);
}
.pd-close-btn:hover { background:var(--c-brand-d); transform:scale(1.05) }
.pd-content { flex:1; overflow-y:auto; padding:16px 20px; min-height:0 }
.pd-gallery { display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; margin-bottom:18px }
.pd-gallery::-webkit-scrollbar { display:none }
.pd-gallery img { width:280px; height:280px; object-fit:contain; border-radius:var(--r); background:var(--c-bg); flex-shrink:0; border:1px solid var(--c-border) }
.pd-gallery img:only-child { width:100%; height:320px }
.pd-name { font-family:'Playfair Display',serif; font-size:20px; font-weight:700; color:var(--c-text); margin-bottom:8px; line-height:1.35 }
.pd-price { font-family:'Playfair Display',serif; font-size:26px; font-weight:700; color:var(--c-brand); margin-bottom:10px }
.pd-stars { display:flex; align-items:center; gap:4px; margin-bottom:12px; font-size:15px }
.pd-desc { font-family:'Montserrat',sans-serif; font-size:14px; font-weight:400; color:var(--c-text2); line-height:1.7; margin-bottom:14px }
.pd-variants { margin-bottom:14px }
.pd-variants-label { font-family:'Montserrat',sans-serif; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.08em; color:var(--c-muted); margin-bottom:8px }
.pd-variants-pills { display:flex; flex-wrap:wrap; gap:6px }
.pd-variant-pill { height:32px; padding:0 14px; border-radius:var(--r-full); border:1.5px solid var(--c-border); background:transparent; font-family:'Montserrat',sans-serif; font-size:13px; color:var(--c-text2); cursor:pointer; transition:border-color var(--t), background var(--t), color var(--t) }
.pd-variant-pill:hover,.pd-variant-pill.active { border-color:var(--c-brand); background:var(--c-brand-f); color:var(--c-brand) }
.pd-tags { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:6px }
.pd-tag { font-family:'Montserrat',sans-serif; font-size:11px; padding:3px 9px; border-radius:var(--r-full); background:var(--c-bg3); color:var(--c-muted); border:1px solid var(--c-border) }
.pd-actions { flex-shrink:0; padding:14px 20px; border-top:1px solid var(--c-border); display:flex; gap:10px; background:var(--c-bg) }
.pd-btn-add { flex:1; height:48px; background:var(--grad); color:var(--c-gold); border-radius:var(--r); font-family:'Montserrat',sans-serif; font-size:14px; font-weight:500; letter-spacing:.05em; display:flex; align-items:center; justify-content:center; gap:8px; transition:transform var(--t), box-shadow var(--t) }
.pd-btn-add:hover { transform:translateY(-1px); box-shadow:0 4px 16px rgba(93,42,63,.35) }
.pd-btn-wa { height:48px; width:52px; border-radius:var(--r); background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:transform var(--t) }
.pd-btn-wa:hover { transform:translateY(-1px) }
.pd-skeleton .pd-sk-img { width:100%; height:280px; background:var(--c-bg3); border-radius:var(--r); margin-bottom:14px; animation:skeletonPulse 1.6s ease-in-out infinite }
.pd-skeleton .pd-sk-line { height:16px; background:var(--c-bg3); border-radius:var(--r-full); margin-bottom:10px; animation:skeletonPulse 1.6s ease-in-out infinite }

/* ── Luxury refinements ───────────────────────────────────── */
.hero-title { font-size: clamp(2.4rem, 5vw, 4rem); letter-spacing: -.02em; line-height: 1.1 }
.hero-accent { color: #5D2A3F; font-style: italic }
.logo-name { font-family: 'Cormorant Garamond', 'Playfair Display', serif; font-size:1.15rem; letter-spacing:.08em; color: #5D2A3F; font-weight: 600 }
.logo-tagline { font-family: 'Montserrat', sans-serif; font-size: .58rem; letter-spacing: .24em; text-transform: uppercase; color: #9B7A83; font-weight: 400 }
[data-theme="dark"] .logo-name { color: var(--c-gold) }
.product-card__name { font-family: 'Playfair Display', serif }
.flash-title { font-family: 'Playfair Display', serif }
.section-header h2 { font-family: 'Playfair Display', serif; color: #5D2A3F }
.cat-visual-card span { font-family: 'Montserrat', sans-serif; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 500 }

/* ── Dark mode deep overrides ─────────────────────────────── */
[data-theme="dark"] .store-header { background:var(--c-bg2) }
[data-theme="dark"] .cat-nav { background:var(--c-bg2) }
[data-theme="dark"] .product-card { background:var(--c-bg3) }
[data-theme="dark"] .cat-visual-card { background:var(--c-bg3) }
[data-theme="dark"] .hero-eyebrow { background:rgba(93,42,63,.2); border-color:rgba(93,42,63,.4); color:var(--c-gold) }
[data-theme="dark"] .section-header h2 { color:var(--c-gold) }
[data-theme="dark"] .flash-title { color:var(--c-gold) }
[data-theme="dark"] .filter-title { color:var(--c-gold) }
[data-theme="dark"] .footer-links h4 { color:var(--c-gold) }
[data-theme="dark"] .logo-name { color:var(--c-gold) }
[data-theme="dark"] .hero-accent { color:var(--c-gold) }

/* ── Hero Carousel ────────────────────────────────────────── */
.hero-carousel {
  position: relative;
  min-height: 10rem;
  margin-bottom: 16px;
}
.hero-phrase {
  position: absolute;
  top: 0; left: 0;
  font-family: 'Cormorant Garamond', 'Playfair Display', Georgia, serif;
  font-size: clamp(2.4rem, 5vw, 4rem);
  letter-spacing: -.02em;
  line-height: 1.1;
  font-weight: 600;
  color: var(--c-brand-d);
  opacity: 0;
  animation: phraseCarousel 12s ease-in-out infinite;
  will-change: opacity, transform;
}
[data-theme="dark"] .hero-phrase { color: var(--c-gold-l) }
.hero-phrase--1 { animation-delay: 0s }
.hero-phrase--2 { animation-delay: 4s }
.hero-phrase--3 { animation-delay: 8s }
@keyframes phraseCarousel {
  0%          { opacity: 0; transform: translateY(8px) }
  5%, 28%     { opacity: 1; transform: translateY(0) }
  33%         { opacity: 0; transform: translateY(-8px) }
  100%        { opacity: 0; transform: translateY(-8px) }
}

/* ── Hero Logo Showcase ───────────────────────────────────── */
.hero-logo-showcase {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 20px;
}
.hero-logo-glow {
  position: absolute;
  width: 320px; height: 320px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(230,194,191,.45) 0%, rgba(93,42,63,.12) 50%, transparent 70%);
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  animation: logoGlow 4s ease-in-out infinite;
  pointer-events: none;
}
[data-theme="dark"] .hero-logo-glow {
  background: radial-gradient(circle, rgba(93,42,63,.55) 0%, rgba(61,26,42,.25) 55%, transparent 75%);
}
@keyframes logoGlow {
  0%, 100% { transform: translate(-50%,-50%) scale(1);    opacity: .8 }
  50%       { transform: translate(-50%,-50%) scale(1.12); opacity: 1 }
}
.hero-logo-large {
  position: relative;
  width: 260px; height: 260px;
  object-fit: contain;
  z-index: 1;
  filter: drop-shadow(0 8px 32px rgba(93,42,63,.22));
  animation: logoPulse 4s ease-in-out infinite;
}
[data-theme="dark"] .hero-logo-large {
  filter: drop-shadow(0 8px 40px rgba(230,194,191,.3)) brightness(1.05);
}
@keyframes logoPulse {
  0%, 100% { transform: scale(1) }
  50%       { transform: scale(1.03) }
}
.hero-logo-tagline {
  position: relative; z-index: 1;
  font-family: 'Cormorant Garamond', 'Playfair Display', serif;
  font-size: 1.05rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--c-brand);
  font-weight: 400;
  font-style: italic;
  opacity: .85;
}
[data-theme="dark"] .hero-logo-tagline { color: var(--c-gold) }

/* ── Explorar Colecciones ─────────────────────────────────── */
.colecciones-section { padding: 52px 20px 0; max-width: 1440px; margin: 0 auto }
.colecciones-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.coleccion-card {
  position: relative;
  height: 340px;
  border-radius: var(--r-lg);
  overflow: hidden;
  cursor: pointer;
  transition: transform var(--ts), box-shadow var(--ts);
}
.coleccion-card:hover { transform: translateY(-5px); box-shadow: var(--sh-xl) }
.coleccion--aurora { background: linear-gradient(145deg, #F7E7C4 0%, #E6C2BF 35%, #C4847A 70%, #8A3A5A 100%) }
.coleccion--zafiro { background: linear-gradient(145deg, #1A2456 0%, #243584 35%, #1A5096 70%, #0D2B5E 100%) }
.coleccion--aghata { background: linear-gradient(145deg, #3D1A2A 0%, #5D2A3F 35%, #8A2B50 70%, #2A0D1A 100%) }
.coleccion-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.55) 0%, rgba(0,0,0,.08) 55%, transparent 100%);
}
.coleccion-body {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; justify-content: flex-end;
  padding: 28px 24px;
  z-index: 1;
}
.coleccion-eyebrow {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase;
  color: rgba(255,255,255,.75);
  margin-bottom: 6px;
}
.coleccion-name {
  font-family: 'Cormorant Garamond', 'Playfair Display', serif;
  font-size: clamp(1.8rem, 2.5vw, 2.4rem);
  font-weight: 700;
  color: #fff;
  line-height: 1;
  margin-bottom: 8px;
  letter-spacing: .02em;
}
.coleccion-desc {
  font-family: 'Montserrat', sans-serif;
  font-size: 13px; font-weight: 300;
  color: rgba(255,255,255,.85);
  line-height: 1.5;
  margin-bottom: 16px;
}
.coleccion-cta {
  display: inline-block;
  font-family: 'Montserrat', sans-serif;
  font-size: 11px; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase;
  color: rgba(255,255,255,.9);
  border-bottom: 1px solid rgba(255,255,255,.35);
  padding-bottom: 3px;
  transition: border-color var(--t), letter-spacing var(--t);
}
.coleccion-card:hover .coleccion-cta {
  border-color: rgba(255,255,255,.9);
  letter-spacing: .2em;
}

/* ── Mobile Nav Drawer ────────────────────────────────────── */
.mobile-nav-overlay {
  display:none; position:fixed; inset:0;
  background:rgba(29,9,18,.5); z-index:700; backdrop-filter:blur(2px);
}
.mobile-nav-overlay.open { display:block }
.mobile-nav {
  position:fixed; top:0; left:0; bottom:0; width:min(290px, 88vw);
  background:var(--c-bg); z-index:750;
  display:flex; flex-direction:column;
  transform:translateX(-100%); transition:transform var(--ts);
  box-shadow:6px 0 48px rgba(93,42,63,.22);
}
.mobile-nav.open { transform:translateX(0) }
.mobile-nav-header {
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 16px; border-bottom:1px solid var(--c-border); flex-shrink:0;
}
.mobile-nav-logo {
  display:flex; align-items:center; gap:9px;
  font-family:'Cormorant Garamond','Playfair Display',serif;
  font-size:.98rem; font-weight:600; color:var(--c-brand); letter-spacing:.05em;
}
[data-theme="dark"] .mobile-nav-logo { color:var(--c-gold) }
.mobile-nav-close {
  width:34px; height:34px; border-radius:var(--r-sm);
  display:flex; align-items:center; justify-content:center;
  color:var(--c-muted); transition:background var(--t);
}
.mobile-nav-close:hover { background:var(--c-bg2) }
.mobile-nav-body { flex:1; overflow-y:auto; padding:4px 0 20px }
.mobile-nav-label {
  font-family:'Montserrat',sans-serif; font-size:9px; font-weight:700;
  text-transform:uppercase; letter-spacing:.18em; color:var(--c-muted);
  padding:14px 16px 5px;
}
.mobile-nav-item {
  display:flex; align-items:center; gap:10px; width:100%;
  padding:12px 16px; text-align:left;
  font-family:'Montserrat',sans-serif; font-size:13.5px; font-weight:400; color:var(--c-text);
  border-bottom:1px solid rgba(0,0,0,.04);
  transition:background var(--t), color var(--t);
}
.mobile-nav-item:active, .mobile-nav-item:hover { background:var(--c-bg2); color:var(--c-brand) }
.mobile-nav-item--aurora { color:#9B4060; font-weight:500 }
.mobile-nav-item--zafiro { color:#1A4F8A; font-weight:500 }
.mobile-nav-item--aghata { color:var(--c-brand); font-weight:500 }
.mobile-nav-item--wa { color:#1e8a41; font-weight:500; gap:10px }
.mobile-nav-sep { height:8px; background:var(--c-bg2); border-top:1px solid var(--c-border); border-bottom:1px solid var(--c-border) }

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 1100px) {
  .store-layout { grid-template-columns:1fr }
  .filters-sidebar { display:none }
  .cat-visual-grid { grid-template-columns:repeat(3,1fr) }
  .footer-top { grid-template-columns:1fr 1fr }
  .colecciones-grid { grid-template-columns:repeat(3,1fr) }
}

@media (max-width: 768px) {
  /* Header */
  .search-wrap { display:none }
  .search-wrap-mobile { display:block }
  .btn-hamburger { display:flex }
  .header-inner { padding:0 14px; gap:10px }

  /* Hero */
  .hero-content { grid-template-columns:1fr; padding:36px 16px 44px; gap:24px }
  .hero-visual { display:none }
  .hero-carousel { min-height:8rem }
  .hero-sub { font-size:14px; margin-bottom:20px; max-width:100% }
  .hero-cta-row { gap:10px; margin-bottom:18px }
  .btn-hero-primary { height:46px; font-size:13px; padding:0 22px }
  .btn-hero-secondary { height:46px; font-size:13px; padding:0 18px }
  .hero-trust { gap:10px; font-size:11px }
  .hero-eyebrow { font-size:11px; padding:4px 12px; margin-bottom:14px }

  /* Sections padding */
  .cat-visual-section { padding:28px 14px 0 }
  .flash-deals { padding:28px 14px 0 }
  .colecciones-section { padding:28px 14px 0 }
  .store-section { padding:24px 14px 48px }
  .section-header { margin-bottom:16px }
  .section-header h2 { font-size:18px }

  /* Category visual */
  .cat-visual-grid { grid-template-columns:repeat(3,1fr); gap:8px }
  .cat-visual-card { padding:14px 6px; gap:8px }
  .cat-visual-icon { width:46px; height:46px; font-size:22px }
  .cat-visual-card span { font-size:.72rem }

  /* Flash deals */
  .flash-scroll .product-card { min-width:162px; max-width:178px }
  .flash-header { margin-bottom:14px }

  /* Colecciones */
  .colecciones-grid { grid-template-columns:1fr; gap:12px }
  .coleccion-card { height:200px }
  .coleccion-body { padding:22px 18px }
  .coleccion-name { font-size:2rem }

  /* Products */
  .products-toolbar { gap:8px; margin-bottom:14px }
  .sort-label { display:none }
  .sort-select { font-size:12px; height:32px }
  .products-count { font-size:12px }

  /* Cart drawer */
  .cart-drawer { width:min(380px, 100vw) }

  /* Footer */
  .footer-top { grid-template-columns:1fr; padding:32px 16px 20px; gap:24px }
  .footer-bottom { padding:16px; flex-direction:column; align-items:flex-start; gap:10px }
  .footer-desc { max-width:100% }
  .pm-badge { font-size:10px; padding:2px 6px }

  /* Toast */
  .toast { bottom:70px; right:10px; left:10px; max-width:none }
}

@media (max-width: 480px) {
  /* PD drawer */
  .pd-drawer { width:100vw }

  /* Hero — más compacto */
  .hero-content { padding:28px 14px 36px }
  .hero-phrase { font-size:clamp(1.85rem, 8.5vw, 2.4rem) }
  .hero-carousel { min-height:6.5rem }
  .hero-trust { display:none }
  .hero-eyebrow { display:none }

  /* Products grid */
  .products-grid { grid-template-columns:repeat(2,1fr); gap:10px }

  /* Category visual */
  .cat-visual-grid { grid-template-columns:repeat(2,1fr); gap:8px }

  /* Collections */
  .coleccion-card { height:170px }
  .coleccion-name { font-size:1.7rem }
  .coleccion-desc { display:none }

  /* Flash */
  .flash-scroll .product-card { min-width:148px; max-width:160px }

  /* Cat nav */
  .cat-nav-inner { padding:0 10px; gap:4px }
  .cat-pill { height:30px; padding:0 11px; font-size:11.5px }

  /* Section headers */
  .section-header h2 { font-size:16px }
  .colecciones-section { padding:22px 12px 0 }
  .cat-visual-section { padding:22px 12px 0 }
  .flash-deals { padding:22px 12px 0 }
  .store-section { padding:18px 12px 40px }

  /* Product card body */
  .product-card__body { padding:8px 10px 12px }
  .product-card__name { font-size:13px }
  .price-current { font-size:15px }
  .product-card__add { height:36px; font-size:11px }
  .product-card__detail { height:36px; padding:0 10px; font-size:11px }
}

@media (max-width: 360px) {
  .cat-visual-grid { grid-template-columns:repeat(2,1fr) }
  .hero-phrase { font-size:1.7rem }
  .hero-carousel { min-height:6rem }
  .btn-hero-primary, .btn-hero-secondary { height:42px; font-size:12px }
}
