/* =======================================================
   GYGRIA v6 — Diseño completo tipo tienda profesional
   ======================================================= */
@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;700;800&family=Fredoka:wght@400;500;600;700&display=swap');

:root{
  --azul:        #1a3a8f;
  --azul-dark:   #0d2360;
  --azul-light:  #2952c4;
  --azul-bg:     #f0f4ff;
  --azul-card:   #e8eeff;
  --dorado:      #f5c518;
  --dorado-dark: #d4a800;
  --blanco:      #ffffff;
  --gris:        #f7f9ff;
  --texto:       #0d1f4e;
  --texto-suave: #4a5a8a;
  --verde-wa:    #25D366;
  --shadow:      0 6px 24px rgba(26,58,143,.13);
  --shadow-sm:   0 2px 10px rgba(26,58,143,.09);
  --radius:      14px;
  --radius-lg:   22px;
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{ font-family:'Fredoka',sans-serif; background:var(--gris); color:var(--texto); -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4{ font-family:'Baloo 2',sans-serif; }
a{ text-decoration:none; color:inherit; }
img{ max-width:100%; display:block; }
button{ font-family:'Fredoka',sans-serif; }

/* ── NAVBAR ── */
.navbar{
  position:sticky; top:0; z-index:200;
  background:var(--azul-dark);
  box-shadow:0 2px 16px rgba(0,0,0,.25);
}
.navbar-inner{
  max-width:1280px; margin:0 auto;
  display:flex; align-items:center; gap:16px;
  padding:10px 20px;
}
.navbar-logo{ flex:0 0 auto; }
.navbar-logo img{ height:48px; width:auto; border-radius:8px; }
.navbar-links{
  display:flex; gap:4px; flex:1; justify-content:center;
}
.nav-link{
  padding:7px 13px; border-radius:999px; font-weight:600;
  font-size:.88rem; color:rgba(255,255,255,.82);
  transition:all .15s ease; white-space:nowrap;
}
.nav-link:hover, .nav-link.active{
  background:rgba(245,197,24,.18); color:var(--dorado);
}
.navbar-actions{ display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.cart-fab-nav{
  position:relative; background:rgba(255,255,255,.12); border:1.5px solid rgba(255,255,255,.2);
  color:#fff; border-radius:999px; padding:7px 12px; font-size:.88rem;
  cursor:pointer; transition:all .15s ease;
}
.cart-fab-nav:hover{ background:rgba(255,255,255,.22); }
.wa-nav-btn{
  display:flex; align-items:center; gap:7px; background:var(--verde-wa);
  color:#fff; padding:8px 16px; border-radius:999px; font-weight:700;
  font-size:.85rem; white-space:nowrap; transition:all .15s ease;
}
.wa-nav-btn:hover{ background:#1ebe5a; transform:translateY(-1px); }
.hamburger{
  display:none; background:none; border:none; color:#fff;
  font-size:1.4rem; cursor:pointer; padding:4px 8px;
}
.cart-badge{
  position:absolute; top:-4px; right:-4px;
  background:var(--dorado); color:var(--texto);
  border-radius:50%; width:18px; height:18px;
  font-size:.65rem; font-weight:800;
  display:flex; align-items:center; justify-content:center;
  border:2px solid var(--azul-dark);
}

/* ── PAGE SECTIONS ── */
.page-section{ display:block; }

/* ── HERO ── */
.hero-section{
  position:relative; min-height:520px;
  background:linear-gradient(135deg, #050d3a 0%, #0c1f6e 35%, #1a3096 60%, #2a1f6b 100%);
  overflow:hidden; display:flex; align-items:center;
}
.hero-bg-space{
  position:absolute; inset:0; z-index:0; pointer-events:none;
}
.hero-bg-space svg{ width:100%; height:100%; }
.hero-content-wrap{
  position:relative; z-index:2;
  max-width:1280px; margin:0 auto; width:100%;
  display:grid; grid-template-columns:1fr 1fr;
  align-items:center; gap:24px; padding:44px 32px 64px;
}
.hero-left{ display:flex; flex-direction:column; gap:16px; }
.hero-logo-small img{ height:64px; width:auto; border-radius:10px; }
.hero-logo-main{
  width:min(340px, 75vw);
  margin-bottom:6px;
}
.hero-logo-main img{
  width:100%; height:auto; border-radius:0;
  filter: drop-shadow(0 4px 24px rgba(0,0,0,.55)) drop-shadow(0 0 12px rgba(245,197,24,.25));
}
.hero-sub{ color:rgba(255,255,255,.85); font-size:1rem; margin-bottom:6px; }
.hero-title{
  font-size:clamp(1.8rem, 3.8vw, 2.9rem);
  color:#fff; font-weight:800; line-height:1.18;
}
.hero-accent{ color:var(--dorado); }
.hero-desc{ color:rgba(255,255,255,.78); font-size:1.05rem; line-height:1.65; max-width:480px; }
.hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; }
.cta-wa{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--verde-wa); color:#fff;
  padding:14px 26px; border-radius:999px;
  font-weight:700; font-size:1rem;
  transition:all .15s ease; border:none; cursor:pointer;
  box-shadow:0 4px 20px rgba(37,211,102,.4);
}
.cta-wa:hover{ background:#1ebe5a; transform:translateY(-2px); }
.cta-catalog{
  display:inline-flex; align-items:center; gap:8px;
  background:#2563eb; color:#fff;
  border:none;
  padding:14px 26px; border-radius:999px;
  font-weight:700; font-size:1rem;
  transition:all .15s ease; cursor:pointer;
  box-shadow:0 4px 20px rgba(37,99,235,.4);
}
.cta-catalog:hover{ background:#1d4ed8; transform:translateY(-2px); }
.hero-badges{
  display:flex; gap:14px; flex-wrap:wrap; margin-top:6px;
}
.hero-badge-item{
  display:flex; align-items:center; gap:8px;
  color:rgba(255,255,255,.82); font-size:.82rem; line-height:1.3;
}
.hero-badge-item span small{ opacity:.75; display:block; }
.hero-right{ display:flex; justify-content:center; align-items:flex-end; position:relative; }

/* Imagen real de productos */
.hero-img-scene{
  position:relative; width:100%; max-width:520px;
  display:flex; align-items:flex-end; justify-content:center;
}
.hero-img-glow{
  position:absolute; bottom:-10px; left:50%; transform:translateX(-50%);
  width:80%; height:60px;
  background:radial-gradient(ellipse, rgba(37,99,235,.55) 0%, transparent 70%);
  filter:blur(18px); pointer-events:none;
}
.hero-products-img{
  width:100%; height:auto; max-height:460px; object-fit:contain;
  filter: drop-shadow(0 30px 50px rgba(0,0,0,.6)) drop-shadow(0 0 20px rgba(37,99,235,.3));
  position:relative; z-index:2;
}
/* Elementos flotantes decorativos sobre la imagen */
.hero-float{
  position:absolute; z-index:3; font-size:1.8rem;
  animation:floatBounce 3s ease-in-out infinite;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.4));
}
.hero-float-1{ top:8%;  right:4%;  animation-delay:0s;   font-size:2rem; }
.hero-float-2{ top:25%; left:2%;   animation-delay:.8s;  font-size:1.6rem; }
.hero-float-3{ bottom:18%; right:8%; animation-delay:1.5s; font-size:1.8rem; }
@keyframes floatBounce{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-10px); }
}

/* Fallback si no se carga la imagen */
.hero-products-scene{ width:100%; max-width:520px; }
.products-svg{ width:100%; height:auto; filter:drop-shadow(0 20px 40px rgba(0,0,0,.4)); }

/* Ola inferior del hero */
.hero-section::after{
  content:""; position:absolute; bottom:-2px; left:0; right:0; height:60px; z-index:1;
  background:var(--gris);
  clip-path:polygon(0 100%,100% 100%,100% 40%,95% 60%,90% 35%,85% 60%,80% 35%,75% 60%,70% 35%,65% 60%,60% 35%,55% 60%,50% 35%,45% 60%,40% 35%,35% 60%,30% 35%,25% 60%,20% 35%,15% 60%,10% 35%,5% 60%,0 40%);
}

/* ── STATS BAR ── */
.stats-bar{
  background:var(--blanco); border-bottom:2px solid var(--azul-card);
  box-shadow:var(--shadow-sm);
}
.stats-inner{
  max-width:1280px; margin:0 auto;
  display:flex; gap:0; padding:0 20px;
  overflow-x:auto; -webkit-overflow-scrolling:touch;
}
.stat-item{
  display:flex; align-items:center; gap:10px;
  padding:18px 28px; flex:0 0 auto;
  border-right:1px solid var(--azul-card); font-size:.88rem;
}
.stat-item:last-child{ border-right:none; }
.stat-item > *:first-child{ font-size:1.5rem; }
.stat-item strong{ display:block; color:var(--azul-dark); font-weight:700; font-size:.88rem; }
.stat-item span{ color:var(--azul-dark); font-size:.88rem; font-weight:700; }

/* ── SECCIONES GENERALES ── */
.section-inner{ max-width:1280px; margin:0 auto; padding:48px 24px; }
.section-title-home{
  font-size:clamp(1.4rem,3vw,2rem); color:var(--texto);
  font-weight:800; text-align:center; margin-bottom:28px;
}
.section-header-row{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:22px; flex-wrap:wrap; gap:10px;
}
.ver-todos-btn{
  background:none; border:2px solid var(--azul); color:var(--azul);
  padding:7px 18px; border-radius:999px; font-weight:700;
  font-size:.85rem; cursor:pointer; transition:all .15s ease;
}
.ver-todos-btn:hover{ background:var(--azul); color:#fff; }

/* ── CATEGORÍAS GRID ── */
.categories-section{ background:var(--blanco); }
.categories-grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:14px;
}
.cat-home-card{
  border-radius:var(--radius-lg); overflow:hidden; cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease;
  box-shadow:var(--shadow-sm); border:2px solid transparent;
  background:var(--azul-bg);
}
.cat-home-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); border-color:var(--dorado); }
.cat-home-img{
  width:100%; height:130px;
  display:flex; align-items:center; justify-content:center;
  font-size:3.5rem; background:linear-gradient(135deg,var(--azul-card),var(--azul-bg));
  overflow:hidden;
}
.cat-home-img img{ width:100%; height:100%; object-fit:cover; }
.cat-home-name{
  padding:10px; text-align:center;
  font-weight:700; font-size:.88rem; color:var(--texto);
}

/* ── BESTSELLERS ── */
.bestsellers-grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:16px;
}
.bs-card{
  background:var(--blanco); border-radius:var(--radius);
  box-shadow:var(--shadow-sm); border:2px solid transparent;
  overflow:hidden; cursor:pointer; position:relative;
  transition:transform .18s ease, border-color .18s ease;
}
.bs-card:hover{ transform:translateY(-4px); border-color:var(--dorado); }
.bs-badge{
  position:absolute; top:8px; left:8px; z-index:2;
  background:#e74c3c; color:#fff; font-size:.7rem; font-weight:700;
  padding:3px 10px; border-radius:999px;
}
.bs-img{
  width:100%; height:160px;
  background:linear-gradient(135deg,var(--azul-card),var(--azul-bg));
  display:flex; align-items:center; justify-content:center;
  padding:12px; overflow:hidden;
}
.bs-img img{ width:100%; height:100%; object-fit:contain; }
.bs-emoji{ font-size:3rem; }
.bs-body{ padding:12px 12px 14px; }
.bs-name{ font-size:.85rem; font-weight:700; color:var(--texto); line-height:1.3; margin-bottom:6px; }
.bs-meta{ display:flex; align-items:center; justify-content:space-between; gap:6px; flex-wrap:wrap; }
.bs-price{ font-size:.95rem; font-weight:800; color:var(--azul); }
.bs-add{
  background:var(--dorado); border:none; border-radius:999px;
  padding:5px 12px; font-family:'Fredoka',sans-serif;
  font-weight:700; font-size:.78rem; cursor:pointer;
  transition:background .12s; color:var(--texto);
}
.bs-add:hover{ background:var(--dorado-dark); }

/* ── MAYORISTA ── */
.mayorista-section{
  background:linear-gradient(135deg,var(--azul-dark),var(--azul));
  color:#fff;
}
.mayorista-inner{
  max-width:1280px; margin:0 auto; padding:56px 32px;
  display:grid; grid-template-columns:1fr auto; gap:32px; align-items:center;
}
.mayorista-badge{
  display:inline-block; background:rgba(245,197,24,.2);
  border:1.5px solid var(--dorado); color:var(--dorado);
  padding:5px 14px; border-radius:999px; font-size:.82rem; font-weight:700;
  margin-bottom:14px;
}
.mayorista-text h2{ font-size:clamp(1.5rem,3vw,2.2rem); margin-bottom:10px; }
.mayorista-text p{ opacity:.85; line-height:1.6; max-width:500px; margin-bottom:22px; }
.mayorista-graphic{
  width:160px; height:160px; border-radius:50%;
  background:rgba(255,255,255,.1); border:3px solid rgba(245,197,24,.3);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  font-size:2.5rem; text-align:center;
}
.mayorista-graphic span{ font-size:.85rem; opacity:.85; line-height:1.3; margin-top:6px; }

/* ── CONTACTO ── */
.contact-section{ background:var(--blanco); }
.contact-grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:18px;
}
.contact-card{
  background:var(--azul-bg); border-radius:var(--radius);
  padding:28px 22px; text-align:center;
  border:2px solid var(--azul-card);
  display:flex; flex-direction:column; align-items:center; gap:10px;
}
.contact-icon{ font-size:2.2rem; }
.contact-card h3{ font-size:1.1rem; color:var(--azul-dark); }
.contact-card p{ color:var(--texto-suave); line-height:1.6; font-size:.9rem; }

/* ── CATÁLOGO (reutilizado) ── */
.catalog-page-wrap{ max-width:1280px; margin:0 auto; padding:20px 20px 40px; }
.brands-orbit-wrap{
  overflow:hidden; padding:16px 0;
  background:linear-gradient(to right,var(--gris) 0%,transparent 10%,transparent 90%,var(--gris) 100%);
  border-bottom:2px dashed var(--azul-card);
}
.brands-orbit{ display:flex; gap:22px; animation:orbit-scroll 30s linear infinite; width:max-content; }
.brands-orbit:hover{ animation-play-state:paused; }
@keyframes orbit-scroll{ 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.orbit-item{
  flex:0 0 auto; cursor:pointer;
  display:flex; flex-direction:column; align-items:center; gap:5px;
  transition:transform .2s ease;
  padding:4px 6px; border-radius:12px;
  border:2px solid transparent;
  -webkit-tap-highlight-color:transparent;
}
.orbit-item:hover, .orbit-item:active{
  transform:scale(1.12);
  border-color:var(--dorado);
  background:rgba(245,197,24,.08);
}
.orbit-logo{
  width:62px; height:62px; border-radius:50%; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  background:var(--blanco); border:3px solid var(--dorado);
  box-shadow:var(--shadow-sm); padding:5px;
  pointer-events:none;
}
.orbit-logo img{ width:100%; height:100%; object-fit:contain; pointer-events:none; }
.orbit-emoji{ font-size:1.8rem; pointer-events:none; }
.orbit-label{
  font-size:.68rem; font-weight:700; color:var(--texto-suave);
  white-space:nowrap; pointer-events:none;
  max-width:72px; overflow:hidden; text-overflow:ellipsis; text-align:center;
}

.search-bar{ max-width:500px; margin:16px auto 8px; padding:0 20px; }
.search-bar input{
  width:100%; padding:11px 20px; border-radius:999px;
  border:2px solid var(--azul-card); background:var(--blanco);
  font-family:'Fredoka',sans-serif; font-size:1rem; outline:none;
  transition:border-color .15s; color:var(--texto); box-shadow:var(--shadow-sm);
}
.search-bar input:focus{ border-color:var(--azul); }
.section-title{ text-align:center; font-size:clamp(1.2rem,3vw,1.8rem); color:var(--azul-dark); margin:24px 0 16px; font-weight:800; }
.brands-grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:12px;
  padding:0 0 32px;
}
.brand-card{
  background:var(--blanco); border-radius:var(--radius); padding:16px 12px 14px;
  text-align:center; box-shadow:var(--shadow-sm); border:2px solid transparent;
  cursor:pointer; transition:transform .18s, border-color .18s;
}
.brand-card:hover{ transform:translateY(-4px); border-color:var(--dorado); }
.brand-card-logo{
  width:64px; height:64px; border-radius:50%; overflow:hidden;
  margin:0 auto 10px; display:flex; align-items:center; justify-content:center;
  background:var(--azul-bg); border:3px solid var(--dorado);
  box-shadow:var(--shadow-sm); padding:5px;
}
.brand-card-logo img{ width:100%; height:100%; object-fit:contain; }
.brand-card-emoji{ font-size:2rem; }
.brand-card-name{ display:block; font-weight:700; font-size:.88rem; color:var(--texto); margin-bottom:2px; }
.brand-card-count{ font-size:.75rem; color:var(--azul-light); font-weight:600; }

#brand-detail-view, #product-detail-view{ padding:0 0 40px; }
.back-btn{
  display:inline-flex; align-items:center; gap:6px;
  background:var(--azul-bg); border:2px solid var(--azul); border-radius:999px;
  padding:8px 18px; font-family:'Fredoka',sans-serif; font-weight:700;
  font-size:.9rem; color:var(--azul); cursor:pointer; margin:16px 0;
  transition:all .15s;
}
.back-btn:hover{ background:var(--azul); color:#fff; }
.brand-detail-header{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:8px; }
.cat-icon-wrap{
  width:54px; height:54px; border-radius:50%; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  background:var(--blanco); border:3px solid var(--dorado);
  box-shadow:var(--shadow-sm); padding:5px; flex:0 0 auto;
}
.cat-icon-wrap img{ width:100%; height:100%; object-fit:contain; }
.cat-icon-emoji{ font-size:1.9rem; }
.cat-title{ font-size:clamp(1.2rem,3vw,1.8rem); color:var(--azul-dark); font-weight:800; }
.cat-count{
  margin-left:auto; font-size:.78rem; font-weight:600; color:var(--texto-suave);
  background:var(--azul-card); padding:4px 12px; border-radius:999px;
}
.bunting{ display:flex; gap:2px; margin:10px 0 18px; height:22px; overflow:hidden; }
.bunting .flag{
  flex:1; height:20px; clip-path:polygon(0 0,100% 0,50% 100%);
  animation:sway 3.2s ease-in-out infinite;
}
.flag-1{ background:var(--azul); } .flag-2{ background:var(--dorado); }
.flag-3{ background:#ff6b6b; } .flag-4{ background:#4ecdc4; } .flag-5{ background:#da77f2; }
.bunting .flag:nth-child(odd){ animation-delay:.3s; }
@keyframes sway{ 0%,100%{transform:rotate(-4deg)} 50%{transform:rotate(4deg)} }

.product-grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:16px;
}

/* ── CATÁLOGO: vista de todos los productos ── */
.brand-jump-chips{
  display:flex; gap:8px; flex-wrap:wrap;
  margin:4px 0 28px; padding-bottom:4px;
}
.brand-chip{
  display:flex; align-items:center; gap:6px;
  background:var(--blanco); border:2px solid var(--azul-card);
  border-radius:999px; padding:5px 12px 5px 5px;
  font-size:.8rem; font-weight:700; color:var(--azul-dark);
  text-decoration:none; transition:border-color .15s, transform .15s;
}
.brand-chip:hover{ border-color:var(--dorado); transform:translateY(-1px); }
.brand-chip img,.brand-chip .chip-emoji{
  width:26px; height:26px; border-radius:50%; object-fit:contain;
  background:var(--gris); flex:0 0 auto;
}
.brand-chip .chip-emoji{ display:flex; align-items:center; justify-content:center; font-size:1rem; }
.brand-section{
  margin-bottom:48px; padding-top:8px;
  scroll-margin-top:90px;
}
.brand-section:not(:last-child){
  border-bottom:1px solid var(--azul-card); padding-bottom:40px;
}
.brand-section-header{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:8px; }

.product-card{
  background:var(--blanco); border-radius:var(--radius);
  box-shadow:var(--shadow-sm); border:2px solid transparent;
  transition:transform .18s, border-color .18s; overflow:hidden;
  display:flex; flex-direction:column; cursor:pointer;
}
.product-card:hover{ transform:translateY(-4px); border-color:var(--dorado); }
.product-img-wrap{
  width:100%; height:165px;
  background:linear-gradient(135deg,var(--azul-card),var(--azul-bg));
  display:flex; align-items:center; justify-content:center; padding:10px; overflow:hidden;
}
.product-img-wrap img{ width:100%; height:100%; object-fit:contain; }
.product-emoji{ font-size:3rem; }
.product-body{ padding:11px 12px 13px; display:flex; flex-direction:column; flex:1; gap:6px; }
.product-name{ font-size:.84rem; font-weight:700; color:var(--texto); line-height:1.3; }
.product-meta{ display:flex; flex-wrap:wrap; gap:4px; }
.meta-tag{
  font-size:.7rem; background:var(--azul-card); color:var(--azul-dark);
  padding:2px 7px; border-radius:999px; font-weight:600;
}
.product-footer{ display:flex; align-items:center; justify-content:space-between; gap:5px; margin-top:auto; flex-wrap:wrap; }
.price{ display:inline-block; background:var(--azul); color:#fff; font-weight:700; font-size:.84rem; padding:3px 11px; border-radius:999px; }
.price-tbd{ color:var(--texto-suave); font-size:.75rem; font-style:italic; }
.add-to-cart-btn{
  display:flex; align-items:center; gap:4px;
  background:var(--dorado); color:var(--texto); border:none; border-radius:999px;
  padding:6px 11px; font-family:'Fredoka',sans-serif; font-weight:700;
  font-size:.78rem; cursor:pointer; transition:all .15s; white-space:nowrap;
}
.add-to-cart-btn:hover{ background:var(--dorado-dark); }
.card-qty-wrap{
  display:flex; align-items:center; gap:4px;
  background:var(--azul-card); border-radius:999px; padding:3px 7px;
}
.qty-btn{
  background:var(--azul); color:#fff; border:none; border-radius:50%;
  width:22px; height:22px; font-size:.95rem; font-weight:700; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:background .12s; line-height:1;
}
.qty-btn:hover{ background:var(--azul-dark); }
.card-qty-num{ font-weight:700; font-size:.88rem; min-width:16px; text-align:center; color:var(--texto); }
.search-info{ text-align:center; color:var(--texto-suave); margin:10px 0 18px; font-size:.9rem; }
.no-results{ text-align:center; padding:48px 20px; color:var(--texto-suave); font-size:1rem; }
#search-results-content{ padding:0 0 40px; }

/* ── DETALLE PRODUCTO ── */
#product-detail-content .product-detail-inner{
  display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start;
  background:var(--blanco); border-radius:var(--radius-lg); padding:28px;
  box-shadow:var(--shadow);
}
.product-detail-img-wrap{
  width:100%; aspect-ratio:1; border-radius:var(--radius); overflow:hidden;
  background:linear-gradient(135deg,var(--azul-card),var(--azul-bg));
  display:flex; align-items:center; justify-content:center; padding:18px;
}
.product-detail-img-wrap img{ width:100%; height:100%; object-fit:contain; }
.product-detail-emoji{ font-size:5.5rem; }
.product-detail-info{ display:flex; flex-direction:column; gap:14px; }
.product-detail-brand{
  display:inline-flex; align-items:center; gap:8px;
  background:var(--azul-card); color:var(--azul-dark);
  padding:4px 14px; border-radius:999px; font-weight:700; font-size:.82rem; width:fit-content;
}
.product-detail-brand img{ width:20px; height:20px; border-radius:50%; object-fit:contain; }
.product-detail-name{ font-size:clamp(1.1rem,2.5vw,1.6rem); color:var(--azul-dark); font-weight:800; line-height:1.3; }
.product-detail-price{ font-size:1.7rem; font-weight:800; color:var(--azul); }
.product-detail-price.tbd{ font-size:1rem; color:var(--texto-suave); font-style:italic; }
.product-detail-specs{ background:var(--azul-bg); border-radius:var(--radius); padding:16px; display:flex; flex-direction:column; gap:8px; }
.product-detail-specs h4{ font-size:.95rem; color:var(--azul-dark); margin-bottom:4px; }
.spec-row{
  display:flex; align-items:center; gap:8px;
  padding:7px 9px; background:var(--blanco); border-radius:9px;
  box-shadow:0 1px 4px rgba(26,58,143,.05);
}
.spec-icon{ font-size:1.1rem; }
.spec-label{ font-size:.78rem; color:var(--texto-suave); }
.spec-value{ font-size:.86rem; color:var(--texto); font-weight:700; margin-left:auto; }
.product-detail-add{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.product-detail-add .add-to-cart-btn{ padding:10px 20px; font-size:.92rem; }
.product-detail-add .card-qty-wrap{ padding:5px 10px; }
.product-detail-add .qty-btn{ width:28px; height:28px; font-size:1.1rem; }
.product-detail-add .card-qty-num{ font-size:1rem; min-width:20px; }

/* ── PÁGINAS ESPECIALES ── */
.special-page{ max-width:960px; margin:0 auto; padding:28px 20px 60px; }
.special-hero{
  text-align:center; padding:36px 20px; border-radius:var(--radius-lg);
  margin-bottom:26px; color:#fff;
}
.promo-hero{ background:linear-gradient(135deg,var(--azul-dark),var(--azul-light)); }
.pack-hero{ background:linear-gradient(135deg,#6a0dad,var(--azul-light)); }
.special-icon{ font-size:3rem; display:block; margin-bottom:10px; }
.special-hero h2{ font-size:clamp(1.5rem,4vw,2.4rem); margin-bottom:8px; }
.special-hero p{ opacity:.9; font-size:.98rem; max-width:460px; margin:0 auto; }
.coming-soon-card{
  background:var(--blanco); border-radius:var(--radius-lg); padding:36px 28px;
  text-align:center; box-shadow:var(--shadow-sm);
}
.cs-icon{ font-size:2.6rem; margin-bottom:12px; }
.coming-soon-card h3{ font-size:1.4rem; color:var(--azul-dark); margin-bottom:10px; }
.coming-soon-card p{ color:var(--texto-suave); max-width:380px; margin:0 auto 22px; line-height:1.6; }
.cs-social{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.social-btn{
  display:inline-flex; align-items:center; gap:6px; padding:8px 16px;
  border-radius:999px; font-weight:700; font-size:.88rem; transition:all .15s;
}
.social-btn.tiktok{ background:#000; color:#fff; }
.social-btn.instagram{ background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); color:#fff; }
.social-btn:hover{ transform:translateY(-2px); opacity:.9; }
.pack-placeholder-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:16px; }
.pack-card{
  background:var(--blanco); border-radius:var(--radius); overflow:hidden;
  box-shadow:var(--shadow-sm); border:2px solid transparent; transition:all .18s;
}
.pack-card:hover{ transform:translateY(-4px); border-color:var(--dorado); }
.pack-card-img{
  width:100%; height:140px;
  background:linear-gradient(135deg,var(--azul-card),var(--azul-bg));
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.pack-card-img img{ width:100%; height:100%; object-fit:cover; }
.pack-card-emoji{ font-size:2.6rem; }
.pack-card-body{ padding:14px 14px 16px; text-align:center; }
.pack-icon{ font-size:1.5rem; display:block; margin-bottom:6px; }
.pack-card-body h3{ font-size:1rem; color:var(--texto); margin-bottom:5px; font-weight:700; }
.pack-card-body p{ font-size:.82rem; color:var(--texto-suave); line-height:1.5; margin-bottom:10px; }

/* ── FOOTER ── */
footer{ background:var(--azul-dark); color:rgba(255,255,255,.85); margin-top:0; }
.footer-inner{
  max-width:1280px; margin:0 auto; padding:48px 24px 32px;
  display:grid; grid-template-columns:2fr 1fr 1fr; gap:32px;
}
.footer-logo{ height:56px; width:auto; border-radius:10px; margin-bottom:10px; }
.footer-brand p{ opacity:.75; font-size:.88rem; line-height:1.6; margin-bottom:14px; }
.footer-social{ display:flex; gap:10px; flex-wrap:wrap; }
.footer-social a{
  color:var(--dorado); font-weight:700; font-size:.82rem;
  border:1.5px solid rgba(245,197,24,.4); padding:5px 14px; border-radius:999px; transition:all .15s;
}
.footer-social a:hover{ background:var(--dorado); color:var(--texto); }
.footer-links, .footer-contact{ display:flex; flex-direction:column; gap:8px; }
.footer-links h4, .footer-contact h4{ color:var(--dorado); font-size:1rem; margin-bottom:4px; }
.footer-links a{ opacity:.78; font-size:.88rem; transition:opacity .12s; }
.footer-links a:hover{ opacity:1; color:var(--dorado); }
.footer-contact p{ opacity:.75; font-size:.85rem; }
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);
  text-align:center; padding:16px 24px;
  font-size:.78rem; opacity:.6;
}

/* ── CARRITO ── */
.cart-fab{
  position:fixed; bottom:24px; right:24px; z-index:100;
  width:54px; height:54px; border-radius:50%;
  background:var(--azul); color:#fff; border:3px solid var(--dorado);
  font-size:1.4rem; cursor:pointer; box-shadow:0 6px 20px rgba(26,58,143,.4);
  display:flex; align-items:center; justify-content:center; transition:transform .15s;
}
.cart-fab:hover{ transform:scale(1.1); }
.cart-fab.bounce{ animation:cartBounce .4s ease; }
@keyframes cartBounce{ 0%,100%{transform:scale(1)} 30%{transform:scale(1.2)} 60%{transform:scale(.96)} }
.back-top{
  position:fixed; bottom:88px; right:28px; z-index:99;
  background:var(--blanco); color:var(--azul); width:38px; height:38px;
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:1rem; font-weight:700; box-shadow:var(--shadow-sm);
  border:2px solid var(--azul-card); transition:all .15s;
}
.back-top:hover{ background:var(--azul); color:#fff; }
.cart-overlay{ display:none; position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:290; backdrop-filter:blur(2px); }
.cart-overlay.visible{ display:block; }
.cart-panel{
  position:fixed; top:0; right:-420px; width:min(420px,100vw);
  height:100dvh; background:var(--blanco); z-index:300;
  display:flex; flex-direction:column;
  box-shadow:-8px 0 32px rgba(26,58,143,.18);
  transition:right .3s cubic-bezier(.4,0,.2,1);
}
.cart-panel.open{ right:0; }
.cart-panel-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 18px; border-bottom:2px solid var(--azul-card);
  background:var(--azul); color:#fff;
}
.cart-panel-header h3{ font-size:1.1rem; color:#fff; }
.cart-close{
  background:rgba(255,255,255,.25); border:2px solid rgba(255,255,255,.5);
  font-size:1.4rem; cursor:pointer; color:#fff;
  padding:6px 12px; border-radius:10px; transition:background .12s;
  font-weight:700; line-height:1; min-width:40px; min-height:40px;
  display:flex; align-items:center; justify-content:center;
}
.cart-close:hover{ background:rgba(255,255,255,.45); }
.cart-panel-body{ flex:1; overflow-y:auto; padding:14px; }
.cart-empty{ text-align:center; padding:40px 20px; color:var(--texto-suave); }
.cart-empty span{ font-size:2.6rem; display:block; margin-bottom:10px; }
.cart-empty p{ font-size:1rem; font-weight:600; margin-bottom:3px; }
.cart-item{
  display:flex; align-items:center; gap:10px;
  padding:10px 0; border-bottom:1px solid var(--azul-card);
}
.cart-item-img{
  width:50px; height:50px; border-radius:9px; overflow:hidden; flex:0 0 auto;
  background:var(--azul-bg); display:flex; align-items:center; justify-content:center;
}
.cart-item-img img{ width:100%; height:100%; object-fit:contain; }
.cart-item-emoji{ font-size:1.4rem; }
.cart-item-info{ flex:1; min-width:0; }
.cart-item-name{ font-size:.82rem; font-weight:600; color:var(--texto); display:block; line-height:1.3; margin-bottom:2px; }
.cart-item-price{ font-size:.78rem; color:var(--azul-light); font-weight:700; }
.cart-item-controls{ display:flex; align-items:center; gap:4px; flex:0 0 auto; }
.cart-item-controls .qty-num{ min-width:18px; text-align:center; font-weight:700; font-size:.88rem; }
.cart-panel-footer{
  padding:14px 18px; border-top:2px solid var(--azul-card);
  background:var(--azul-bg); display:flex; flex-direction:column; gap:9px;
}
.cart-total-row{ display:flex; justify-content:space-between; align-items:center; font-size:.92rem; color:var(--texto); }
.cart-total-row strong{ font-size:1.2rem; color:var(--azul-dark); }
.wa-input{
  width:100%; padding:8px 14px; border-radius:999px;
  border:2px solid var(--azul-card); background:var(--blanco);
  font-family:'Fredoka',sans-serif; font-size:.85rem; outline:none;
  text-align:center; color:var(--texto); transition:border-color .15s;
}
.wa-input:focus{ border-color:var(--verde-wa); }
.wa-btn{
  display:flex; align-items:center; justify-content:center; gap:7px;
  width:100%; padding:11px; border-radius:999px; border:none;
  background:var(--verde-wa); color:#fff; font-family:'Fredoka',sans-serif;
  font-weight:700; font-size:.92rem; cursor:pointer;
  transition:all .15s; box-shadow:0 4px 12px rgba(37,211,102,.3);
}
.wa-btn:hover{ background:#1ebe5a; transform:translateY(-1px); }
.clear-cart-btn{
  background:none; border:2px solid var(--azul-card); border-radius:999px;
  color:var(--texto-suave); font-family:'Fredoka',sans-serif;
  font-size:.83rem; font-weight:600; padding:7px; cursor:pointer; transition:all .15s;
}
.clear-cart-btn:hover{ border-color:#e74c3c; color:#e74c3c; }

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .hero-content-wrap{ grid-template-columns:1fr; padding:28px 20px 60px; }
  .hero-right{ display:none; }
  .footer-inner{ grid-template-columns:1fr 1fr; }
  .mayorista-inner{ grid-template-columns:1fr; }
  .mayorista-graphic{ display:none; }
  .navbar-links{ display:none; position:fixed; top:68px; left:0; right:0;
    background:var(--azul-dark); flex-direction:column; gap:4px; padding:12px 16px;
    z-index:190; box-shadow:0 8px 24px rgba(0,0,0,.3); }
  .navbar-links.open{ display:flex; }
  .hamburger{ display:block; }
  /* Ocultar texto "Pedir por WhatsApp" en pantallas medianas, solo mostrar icono */
  .wa-nav-btn span{ display:none; }
}

@media(max-width:640px){
  /* Navbar: logo más pequeño, más compacto */
  .navbar-logo img{ height:40px; }
  .navbar-inner{ padding:8px 14px; gap:10px; }
  .wa-nav-btn{ padding:7px 12px; font-size:.82rem; }
  .wa-nav-btn span{ display:none; }

  /* Hero más compacto */
  .hero-section{ min-height:auto; }
  .hero-content-wrap{ padding:24px 16px 40px; }
  .hero-logo-main img{ max-width:280px; }
  .hero-title{ font-size:clamp(1.5rem,5.5vw,2rem); }
  .hero-right{ display:flex; margin-top:16px; }
  .hero-products-img{ max-height:280px; }
  .hero-img-scene{ max-width:100%; }

  /* Stats bar: 2 columnas en móvil */
  .stats-inner{ display:grid; grid-template-columns:1fr 1fr; gap:0; }
  .stat-item{ padding:12px 14px; border-right:1px solid var(--azul-card); border-bottom:1px solid var(--azul-card); }
  .stat-item:nth-child(2n){ border-right:none; }
  .stat-item:nth-last-child(-n+2){ border-bottom:none; }

  /* Grillas */
  .brands-grid{ grid-template-columns:repeat(2,1fr); gap:10px; }
  .product-grid{ grid-template-columns:repeat(2,1fr); gap:10px; }
  .categories-grid{ grid-template-columns:repeat(2,1fr); gap:10px; }
  .bestsellers-grid{ grid-template-columns:repeat(2,1fr); gap:10px; }
  .footer-inner{ grid-template-columns:1fr; }

  /* Brand chips: scroll horizontal en móvil */
  .brand-jump-chips{ flex-wrap:nowrap; overflow-x:auto; padding-bottom:8px;
    scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .brand-jump-chips::-webkit-scrollbar{ display:none; }
  .brand-chip{ flex:0 0 auto; }

  /* Detalle de producto */
  #product-detail-content .product-detail-inner{ grid-template-columns:1fr; gap:18px; }

  /* Carrito */
  .cart-panel{ width:100vw; }
  .cart-panel-header{ padding:14px 16px; }
  .cart-fab{ bottom:20px; right:20px; width:50px; height:50px; font-size:1.3rem; }
  .back-top{ bottom:82px; right:22px; }

  /* Secciones generales */
  .section-inner{ padding:0 14px; }
  .section-title-home{ font-size:clamp(1.1rem,5vw,1.4rem); }
}

/* ── HERO: REDES SOCIALES ── */
.hero-socials{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:4px;
}
.hero-socials-label{
  color:#fff; font-size:.82rem; font-weight:700;
  text-shadow:0 1px 4px rgba(0,0,0,.4);
}
.hero-social-btn{
  display:inline-flex; align-items:center; gap:6px;
  padding:7px 14px; border-radius:999px;
  font-weight:700; font-size:.82rem; transition:all .15s ease;
  text-decoration:none;
}
.hero-social-btn.tiktok{
  background:#000; color:#fff;
  box-shadow:0 2px 10px rgba(0,0,0,.35);
}
.hero-social-btn.tiktok:hover{ background:#1a1a1a; transform:translateY(-2px); }
.hero-social-btn.instagram{
  background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);
  color:#fff; box-shadow:0 2px 10px rgba(220,39,67,.35);
}
.hero-social-btn.instagram:hover{ opacity:.9; transform:translateY(-2px); }
@media(max-width:640px){
  .hero-socials-label{ color:#fff !important; text-shadow:0 1px 4px rgba(0,0,0,.5); }
}

/* ── PACK DIVERSIÓN: tarjetas WIP ── */
.pack-wip-grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:20px; margin-bottom:32px;
}
.pack-wip-card{
  background:#fff; border-radius:16px; padding:28px 20px 22px;
  text-align:center; box-shadow:0 2px 12px rgba(26,58,143,.09);
  border:2px solid transparent; cursor:pointer; transition:all .18s ease;
}
.pack-wip-card:hover{ transform:translateY(-4px); border-color:#f5c518; box-shadow:0 8px 24px rgba(26,58,143,.15); }
.pack-wip-icon{ font-size:3rem; margin-bottom:12px; display:block; }
.pack-wip-card h3{ font-size:1.1rem; color:#0d2360; font-weight:800; margin-bottom:6px; }
.pack-wip-card p{ color:#888; font-size:.88rem; line-height:1.5; margin-bottom:14px; }
.pack-wip-badge{
  display:inline-block; background:#fff8e1; color:#b45309;
  border:1.5px solid #f5c518; border-radius:999px;
  font-size:.75rem; font-weight:700; padding:4px 12px;
}
.pack-wip-cta{
  text-align:center; padding:24px; background:#f0f4ff;
  border-radius:16px; margin-top:8px;
}
.pack-wip-cta p{ color:#666; margin-bottom:14px; font-size:.95rem; }
