:root{
  --indigo:#2A2560;
  --indigo-deep:#1E1B47;
  --indigo-3:#16132C;
  --dorado:#C9A05C;
  --rojo:#B22222;
  --azul-claro:#D7E3EC;
  --hueso:#F5F3EE;
  --hueso-dim:#c7c2e0;
  --dorado-deep:#96702E;
  --tinta:#4a466f;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{
  font-family:'Yantramanav',sans-serif;
  background:var(--indigo);
  color:var(--hueso);
  line-height:1.55;
  overflow-x:hidden;
}
h1,h2,h3{font-family:'Yantramanav',sans-serif;font-weight:900;letter-spacing:-0.01em;}
a{color:inherit;}
img{max-width:100%;display:block;}

/* --- ship-wheel spoke divider: brand signature --- */
.wheel-divider{
  height:44px; width:100%;
  display:flex; align-items:center; justify-content:center;
  gap:22px;
  background:var(--indigo-deep);
}
.wheel-divider span{width:5px;height:5px;border-radius:50%;background:var(--dorado);}
.wheel-divider .line{width:60px;height:1px;background:rgba(201,160,92,0.4);}

/* --- header --- */
header{
  position:fixed; top:0; left:0; right:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 6%;
  background:rgba(30,27,71,0.94);
  border-bottom:1px solid rgba(201,160,92,0.15);
}
.logo{display:flex;align-items:center;gap:12px;font-family:'Yantramanav',sans-serif;font-weight:900;font-size:1.7rem;text-decoration:none;color:var(--hueso);}
.wheel-icon{width:64px;height:64px;object-fit:contain;flex-shrink:0;}
.logo-sub{font-size:0.95rem;color:var(--rojo);font-weight:900;letter-spacing:0.14em;display:block;}
nav{display:flex;gap:30px;font-size:0.9rem;font-weight:500;}
nav a{color:var(--hueso-dim);text-decoration:none;transition:color .2s;}
nav a:hover, nav a.active{color:var(--dorado);}
.nav-cta{
  background:var(--rojo);color:var(--hueso);
  padding:10px 20px;border-radius:4px;font-weight:600;font-size:0.86rem;
  text-decoration:none;
}
.menu-toggle{display:none;background:none;border:none;color:var(--hueso);font-size:1.6rem;cursor:pointer;}

/* --- page hero (paginas internas) --- */
.page-hero{
  padding:150px 6% 70px;
  background:
    radial-gradient(ellipse at 85% 15%, rgba(201,160,92,0.18), transparent 55%),
    radial-gradient(ellipse at 5% 95%, rgba(178,34,34,0.12), transparent 50%),
    var(--indigo);
}
.page-hero .eyebrow{color:var(--dorado); font-weight:700; font-size:0.82rem; letter-spacing:0.16em; text-transform:uppercase; margin-bottom:18px;}
.page-hero h1{font-size:clamp(2.1rem,4.6vw,3.4rem); max-width:760px; line-height:1.08; color:var(--hueso);}
.page-hero h1 span{color:var(--dorado);}
.page-hero p{max-width:560px; margin-top:20px; font-size:1.02rem; color:var(--hueso-dim);}

/* --- hero home --- */
.hero{
  min-height:96vh;
  position:relative;
  overflow:hidden;
  background:var(--indigo);
}
.hero-eyebrow{color:var(--dorado); font-weight:700; font-size:0.82rem; letter-spacing:0.16em; text-transform:uppercase; margin-bottom:20px;}
.hero h1{font-size:clamp(2.4rem, 5.4vw, 4.4rem); max-width:820px; line-height:1.05; color:var(--hueso);}
.hero h1 span{color:var(--dorado);}
.hero p{max-width:520px; margin-top:24px; font-size:1.05rem; color:var(--hueso-dim);}
.hero-actions{display:flex; gap:16px; margin-top:36px; flex-wrap:wrap;}
.hero-badge{position:absolute; right:6%; top:50%; transform:translateY(-50%); width:280px; height:280px; display:flex; align-items:center; justify-content:center; z-index:3;}

/* --- hero carousel --- */
.hero-carousel .hero-slide{
  position:absolute; inset:0;
  display:flex; flex-direction:column; justify-content:center;
  padding:120px 6% 70px;
  opacity:0; visibility:hidden; z-index:1;
  transition:opacity 1s ease;
  background:
    radial-gradient(ellipse at 85% 15%, rgba(201,160,92,0.18), transparent 55%),
    radial-gradient(ellipse at 5% 95%, rgba(178,34,34,0.12), transparent 50%),
    linear-gradient(180deg, rgba(30,27,71,0.88), rgba(30,27,71,0.94)),
    var(--slide-img) center/cover no-repeat;
}
.hero-carousel .hero-slide.active{opacity:1; visibility:visible; z-index:2;}
.hero-dots{position:absolute; bottom:30px; left:50%; transform:translateX(-50%); display:flex; gap:10px; z-index:5;}
.hero-dots button{width:9px; height:9px; border-radius:50%; background:rgba(245,243,238,0.35); border:none; cursor:pointer; padding:0; transition:background .2s, transform .2s;}
.hero-dots button.active{background:var(--dorado); transform:scale(1.35);}

/* --- categorías (pills) --- */
.categorias-grid{display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-bottom:56px;}
.categoria-pill{
  display:flex; align-items:center; gap:9px;
  background:rgba(245,243,238,0.04); border:1px solid rgba(201,160,92,0.28);
  border-radius:40px; padding:11px 20px;
  text-decoration:none; color:var(--hueso); font-size:0.86rem; font-weight:600;
  transition:border-color .2s, transform .2s, background .2s;
}
.categoria-pill:hover{border-color:var(--dorado); background:rgba(201,160,92,0.08); transform:translateY(-2px);}
.categoria-pill svg{width:20px; height:20px; flex-shrink:0; stroke:var(--dorado);}

/* --- stats (banda clara híbrida) --- */
.stats{background:var(--hueso); padding:64px 6%;}
.stats-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:30px; max-width:860px; margin:0 auto;}
.stat{text-align:center;}
.stat .num{font-family:'Yantramanav',sans-serif; font-weight:900; font-size:clamp(2rem,3.6vw,2.8rem); color:var(--indigo);}
.stat .label{margin-top:8px; font-size:0.88rem; color:#4a466f; font-weight:600;}

.btn-primary{
  background:var(--rojo); color:var(--hueso); padding:16px 30px;
  border-radius:4px; text-decoration:none; font-weight:600; font-size:0.96rem;
  display:inline-flex; align-items:center; gap:10px;
  box-shadow:0 8px 24px rgba(178,34,34,0.35);
  transition:transform .2s; border:none; cursor:pointer;
}
.btn-primary:hover{transform:translateY(-2px);}
.btn-ghost{
  border:1px solid rgba(201,160,92,0.5); color:var(--dorado);
  padding:16px 30px; border-radius:4px; text-decoration:none; font-weight:600; font-size:0.96rem;
  display:inline-flex; align-items:center; gap:10px;
}

/* --- section base --- */
section{padding:96px 6%;}
.section-head{max-width:640px; margin-bottom:52px;}
.section-head .eyebrow{color:var(--dorado); font-weight:700; font-size:0.8rem; letter-spacing:0.16em; text-transform:uppercase; margin-bottom:14px;}
.section-head h2{font-size:clamp(1.8rem,3.2vw,2.6rem); color:var(--hueso);}
.section-head p{margin-top:16px; color:var(--hueso-dim); font-size:1rem;}
.light .section-head h2{color:var(--indigo);}
.light .section-head p{color:#4a466f;}
.light .section-head .eyebrow{color:var(--rojo);}

/* --- productos --- */
.productos{
  position:relative;
  background:
    url("images/wave-pattern.svg"),
    radial-gradient(ellipse at 88% 0%, rgba(42,37,96,0.07), transparent 55%),
    radial-gradient(ellipse at 5% 100%, rgba(201,160,92,0.1), transparent 50%),
    var(--azul-claro);
  background-repeat: repeat, no-repeat, no-repeat, no-repeat;
  background-size: 120px 100px, auto, auto, auto;
}
.productos.light .card{background:#fff; border-color:rgba(42,37,96,0.1); box-shadow:0 4px 16px rgba(42,37,96,0.06);}
.productos.light .card h3{color:var(--indigo-deep);}
.productos.light .card p{color:var(--tinta);}
.productos.light .card summary{color:var(--dorado-deep);}
.productos.light .card-desc, .productos.light .card-presentaciones{color:var(--tinta); border-top-color:rgba(42,37,96,0.1);}
.productos.light .card-placeholder{background:linear-gradient(135deg, rgba(42,37,96,0.08), rgba(201,160,92,0.14));}
.productos.light .card-placeholder svg{stroke:var(--dorado-deep);}
.productos.light .categoria-pill{background:#fff; border-color:rgba(42,37,96,0.12); color:var(--indigo-deep); box-shadow:0 2px 10px rgba(42,37,96,0.05);}
.productos.light .categoria-pill:hover{border-color:var(--dorado); background:#fdf8ef;}
.productos.light .categoria-pill svg{stroke:var(--dorado-deep);}

.cards{display:grid; grid-template-columns:repeat(auto-fill, minmax(200px,1fr)); gap:20px;}
.card{
  background:rgba(245,243,238,0.04);
  border:1px solid rgba(201,160,92,0.18);
  border-radius:8px; padding:26px 20px;
  transition:border-color .2s, transform .2s;
  color:inherit; display:block;
}
.card:hover{border-color:var(--dorado); transform:translateY(-4px);}
.card-swatch{width:100%; height:150px; border-radius:6px; margin-bottom:18px; object-fit:cover; display:block; filter:saturate(1.05);}
.card-placeholder{
  width:100%; height:150px; border-radius:6px; margin-bottom:18px;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, rgba(245,243,238,0.08), rgba(201,160,92,0.16));
}
.card-placeholder svg{width:44px; height:44px; stroke:var(--dorado);}
.card h3{font-size:1rem; color:var(--hueso); margin-bottom:8px; font-family:'Yantramanav',sans-serif; font-weight:700;}
.card p{color:var(--hueso-dim); font-size:0.9rem; margin-bottom:14px;}
.card summary{
  list-style:none; cursor:pointer; display:flex; align-items:center; gap:6px;
  font-size:0.82rem; color:var(--dorado); font-weight:600;
}
.card summary::-webkit-details-marker{display:none;}
.card summary::after{content:'→'; transition:transform .2s;}
.card details[open] summary::after{transform:rotate(90deg);}
.card-desc{margin-top:12px; padding-top:12px; border-top:1px solid rgba(201,160,92,0.18); font-size:0.85rem; color:var(--hueso-dim); line-height:1.5;}
.card-presentaciones{margin-top:10px; padding-left:18px; font-size:0.85rem; color:var(--hueso-dim); display:flex; flex-direction:column; gap:4px;}
.card-presentaciones li{list-style:disc;}

/* fichas de producto grandes (pagina Productos) */
.producto-detalle{
  display:grid; grid-template-columns:220px 1fr; gap:26px; align-items:center;
  background:rgba(245,243,238,0.04); border:1px solid rgba(201,160,92,0.18);
  border-radius:10px; padding:24px; margin-bottom:22px;
}
.producto-detalle img{width:100%; height:180px; object-fit:cover; border-radius:6px;}
.producto-detalle h3{font-size:1.25rem; color:var(--hueso); margin-bottom:10px;}
.producto-detalle p{color:var(--hueso-dim); font-size:0.95rem; margin-bottom:14px;}
.producto-detalle .placeholder-swatch{
  width:100%; height:180px; border-radius:6px;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, rgba(245,243,238,0.08), rgba(201,160,92,0.16));
}
.producto-detalle .placeholder-swatch svg{width:56px; height:56px; stroke:var(--dorado);}
.producto-detalle .card-presentaciones{margin-bottom:14px;}
.mini-gallery{display:flex; gap:10px; margin-bottom:14px;}
.mini-gallery img{width:90px; height:90px; object-fit:cover; border-radius:6px; border:1px solid rgba(201,160,92,0.3);}
.producto-detalle .btn-whatsapp-mini{
  background:#25D366; color:#1E1B47; font-weight:700; font-size:0.85rem;
  padding:10px 18px; border-radius:4px; text-decoration:none; display:inline-flex; gap:8px; align-items:center;
}

/* --- galería --- */
.galeria{background:var(--indigo-3);}
.galeria-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:14px;}
.galeria-grid a{display:block; border-radius:8px; overflow:hidden; aspect-ratio:1/1; border:1px solid rgba(201,160,92,0.18);}
.galeria-grid img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s;}
.galeria-grid a:hover img{transform:scale(1.07);}

/* --- mayoreo / secciones claras --- */
.mayoreo{background:var(--azul-claro); color:var(--indigo);}
.mayoreo-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
.mayoreo-visual{height:320px; border-radius:8px; position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; background-size:cover; background-position:center;}
.mayoreo-visual .tag{background:var(--dorado); color:var(--indigo-deep); font-weight:700; padding:10px 22px; border-radius:20px; font-size:0.85rem;}
.mayoreo-list{display:flex; flex-direction:column; gap:20px;}
.mayoreo-item{display:flex; gap:16px; align-items:flex-start;}
.mayoreo-mark{flex-shrink:0; width:34px; height:34px; border-radius:50%; background:var(--rojo); color:var(--hueso); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:0.9rem;}
.mayoreo-item h4{font-size:1.02rem; margin-bottom:4px;}
.mayoreo-item p{font-size:0.92rem; color:#4a466f;}

/* --- pasos numerados (como funciona) --- */
.pasos{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.paso{background:rgba(245,243,238,0.04); border:1px solid rgba(201,160,92,0.18); border-radius:8px; padding:28px 24px;}
.paso .num{width:36px; height:36px; border-radius:50%; border:1px solid var(--dorado); color:var(--dorado); display:flex; align-items:center; justify-content:center; font-family:'Yantramanav',sans-serif; font-weight:700; margin-bottom:16px;}
.paso h4{color:var(--hueso); font-size:1.02rem; margin-bottom:8px;}
.paso p{color:var(--hueso-dim); font-size:0.9rem;}

/* --- cobertura / mapa --- */
.cobertura{
  text-align:center;
  background:
    radial-gradient(ellipse at 50% 35%, rgba(201,160,92,0.16), transparent 60%),
    radial-gradient(ellipse at 15% 90%, rgba(178,34,34,0.1), transparent 55%),
    var(--indigo);
}
.cobertura .section-head{margin:0 auto 20px; text-align:center;}
.mapa-box{max-width:640px; margin:0 auto;}

/* --- nosotros: valores --- */
.valores{display:grid; grid-template-columns:repeat(auto-fit, minmax(200px,1fr)); gap:24px;}
.mision-vision{display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-bottom:60px;}
.valor{background:rgba(245,243,238,0.04); border:1px solid rgba(201,160,92,0.18); border-radius:8px; padding:28px 24px;}
.valor h4{color:var(--dorado); font-size:1.02rem; margin-bottom:10px;}
.valor p{color:var(--hueso-dim); font-size:0.92rem;}
.nosotros-body{max-width:760px; color:var(--hueso-dim); font-size:1.02rem;}
.nosotros-body p{margin-bottom:18px;}
.nosotros-foto{max-width:760px; margin-top:30px;}
.nosotros-foto img{width:100%; max-height:420px; object-fit:cover; border-radius:10px; border:1px solid rgba(201,160,92,0.18);}
.nosotros-foto-caption{display:block; margin-top:10px; font-size:0.85rem; color:var(--hueso-dim);}
body.page-light .nosotros-foto-caption{color:var(--tinta);}

.video-embed{max-width:900px; margin:0 auto; aspect-ratio:16/9; border-radius:10px; overflow:hidden; border:1px solid rgba(201,160,92,0.25); box-shadow:0 10px 30px rgba(0,0,0,0.2);}
.video-embed iframe{width:100%; height:100%; border:0; display:block;}

/* --- contacto --- */
.contacto{background:var(--indigo-deep); text-align:center;}
.contacto-box{
  max-width:640px; margin:0 auto; padding:56px 40px; border-radius:12px;
  background:radial-gradient(circle at 50% 0%, rgba(201,160,92,0.15), transparent 70%), rgba(245,243,238,0.03);
  border:1px solid rgba(201,160,92,0.18);
}
.contacto-box h2{font-size:clamp(1.7rem,2.8vw,2.2rem); color:var(--hueso);}
.contacto-box p{color:var(--hueso-dim); margin:16px 0 30px;}
.btn-whatsapp{
  background:#25D366; color:#1E1B47; font-weight:700; padding:16px 34px; border-radius:4px;
  text-decoration:none; display:inline-flex; align-items:center; gap:10px; font-size:1rem;
}
.contacto-meta{margin-top:28px; font-size:0.85rem; color:var(--hueso-dim); line-height:1.8;}
.mapa-embed{margin-top:40px; border-radius:10px; overflow:hidden; border:1px solid rgba(201,160,92,0.18);}
.mapa-embed iframe{width:100%; height:320px; border:0; display:block;}

footer{padding:34px 6% 100px; text-align:center; color:var(--hueso-dim); font-size:0.82rem; border-top:1px solid rgba(201,160,92,0.15);}

/* --- páginas internas en tono claro (crema) --- */
body.page-light{background:var(--hueso); color:var(--tinta);}

body.page-light .page-hero{
  background:
    radial-gradient(ellipse at 85% 15%, rgba(201,160,92,0.14), transparent 55%),
    radial-gradient(ellipse at 5% 95%, rgba(178,34,34,0.07), transparent 50%),
    var(--hueso);
}
body.page-light .page-hero .eyebrow{color:var(--rojo);}
body.page-light .page-hero h1{color:var(--indigo-deep);}
body.page-light .page-hero h1 span{color:var(--dorado-deep);}
body.page-light .page-hero p{color:var(--tinta);}

body.page-light .section-head h2{color:var(--indigo-deep);}
body.page-light .section-head p{color:var(--tinta);}
body.page-light .section-head .eyebrow{color:var(--rojo);}

body.page-light .productos{background:var(--hueso);}

body.page-light .categoria-pill{background:#fff; border-color:rgba(42,37,96,0.12); color:var(--indigo-deep); box-shadow:0 2px 10px rgba(42,37,96,0.05);}
body.page-light .categoria-pill:hover{border-color:var(--dorado); background:#fdf8ef;}
body.page-light .categoria-pill svg{stroke:var(--dorado-deep);}

body.page-light .producto-detalle{background:#fff; border-color:rgba(42,37,96,0.08); box-shadow:0 4px 18px rgba(42,37,96,0.06);}
body.page-light .producto-detalle h3{color:var(--indigo-deep);}
body.page-light .producto-detalle p{color:var(--tinta);}
body.page-light .card-presentaciones{color:var(--tinta);}
body.page-light .producto-detalle .placeholder-swatch{background:linear-gradient(135deg, rgba(42,37,96,0.08), rgba(201,160,92,0.16));}
body.page-light .producto-detalle .placeholder-swatch svg{stroke:var(--dorado-deep);}

body.page-light .mayoreo-item h4{color:var(--indigo-deep);}
body.page-light .mayoreo-item p{color:var(--tinta);}

body.page-light .paso{background:#fff; border-color:rgba(42,37,96,0.08); box-shadow:0 4px 18px rgba(42,37,96,0.06);}
body.page-light .paso .num{border-color:var(--dorado-deep); color:var(--dorado-deep);}
body.page-light .paso h4{color:var(--indigo-deep);}
body.page-light .paso p{color:var(--tinta);}

body.page-light .valor{background:#fff; border-color:rgba(42,37,96,0.08); box-shadow:0 4px 18px rgba(42,37,96,0.06);}
body.page-light .valor h4{color:var(--dorado-deep);}
body.page-light .valor p{color:var(--tinta);}
body.page-light .nosotros-body{color:var(--tinta);}

body.page-light .contacto{
  background:
    radial-gradient(ellipse at 50% 100%, rgba(201,160,92,0.12), transparent 60%),
    var(--hueso);
}
body.page-light .contacto-box{background:#fff; border-color:rgba(42,37,96,0.08); box-shadow:0 10px 30px rgba(42,37,96,0.08);}
body.page-light .contacto-box h2{color:var(--indigo-deep);}
body.page-light .contacto-box p{color:var(--tinta);}
body.page-light .contacto-meta{color:var(--tinta);}

body.page-light footer{color:var(--tinta); border-top-color:rgba(42,37,96,0.12);}

/* --- floating WhatsApp --- */
.wa-float{
  position:fixed; bottom:26px; right:26px; z-index:60;
  width:60px; height:60px; border-radius:50%;
  background:#25D366; display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 20px rgba(0,0,0,0.35); text-decoration:none;
  animation:pulse 2.4s infinite;
}
@keyframes pulse{
  0%{box-shadow:0 6px 20px rgba(0,0,0,0.35), 0 0 0 0 rgba(37,211,102,0.5);}
  70%{box-shadow:0 6px 20px rgba(0,0,0,0.35), 0 0 0 14px rgba(37,211,102,0);}
  100%{box-shadow:0 6px 20px rgba(0,0,0,0.35), 0 0 0 0 rgba(37,211,102,0);}
}

@media (max-width:900px){
  nav{
    position:fixed; top:0; left:0; right:0; bottom:0;
    background:var(--indigo-deep); flex-direction:column; gap:0;
    padding:110px 6% 20px; transform:translateX(100%); transition:transform .25s; z-index:49;
  }
  nav.open{transform:translateX(0);}
  nav a{padding:16px 0; border-bottom:1px solid rgba(201,160,92,0.12); font-size:1.05rem;}
  .menu-toggle{display:block;}
  .nav-cta{display:none;}
  .mayoreo-grid{grid-template-columns:1fr;}
  .pasos{grid-template-columns:1fr;}
  .valores{grid-template-columns:1fr;}
  .mision-vision{grid-template-columns:1fr;}
  .galeria-grid{grid-template-columns:repeat(2, 1fr);}
  .producto-detalle{grid-template-columns:1fr;}
  .hero-badge{display:none;}
  .stats-grid{grid-template-columns:1fr; gap:36px 20px;}
}
@media (prefers-reduced-motion: reduce){
  .wa-float{animation:none;}
  *{transition:none !important;}
  .hero-carousel .hero-slide.active{opacity:1;}
}
