/* ============================================================
   Yaby Bebés — main.css v2.0
   ============================================================ */

:root {
  --color-arena-suave: #e8dcd4;
  --color-tostado:     #a0866d;
  --color-marron-cacao:#49362a;
  --color-raiz-oscuro: #21120d;
  --color-blanco:      #ffffff;
  --color-gris:        #e9e8e7;
  --color-gris-claro:  #f5f4f3;
  --font-primary:      'DM Sans', system-ui, sans-serif;
  --font-secondary:    'Fraunces', Georgia, serif;
  --nav-height:        76px;
}

*,*::before,*::after { box-sizing:border-box;margin:0;padding:0; }
html { scroll-behavior:smooth; }
body {
  font-family:var(--font-primary);font-weight:300;
  color:var(--color-marron-cacao);background:var(--color-blanco);
  line-height:1.6;-webkit-font-smoothing:antialiased;
}
img,video { display:block;max-width:100%;height:auto; }
a { color:inherit;text-decoration:none; }
button { font-family:inherit;cursor:pointer;border:none;background:none; }

.container { width:100%;max-width:1280px;margin:0 auto;padding:0 24px; }
@media(min-width:768px){.container{padding:0 40px;}}

.placeholder-img {
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-secondary);font-style:italic;
  color:var(--color-tostado);font-size:13px;
  background:var(--color-arena-suave);
}
.caption {
  font-size:12px;font-weight:500;letter-spacing:0.18em;
  text-transform:uppercase;color:var(--color-tostado);
}
.reveal { opacity:0;transform:translateY(24px);transition:opacity 800ms ease,transform 800ms ease; }
.reveal.visible { opacity:1;transform:translateY(0); }

/* ── Botones ── */
.btn {
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 28px;font-family:var(--font-primary);font-weight:500;
  font-size:14px;letter-spacing:0.04em;transition:all 300ms ease;
  cursor:pointer;border-radius:2px;text-decoration:none;
}
.btn .arrow { transition:transform 300ms ease;display:inline-block; }
.btn:hover .arrow { transform:translateX(4px); }
.btn-primary  { background:var(--color-raiz-oscuro);color:var(--color-blanco); }
.btn-primary:hover { background:var(--color-marron-cacao);transform:translateY(-2px); }
.btn-outline  { border:1px solid var(--color-tostado);color:var(--color-tostado);background:transparent; }
.btn-outline:hover { background:var(--color-arena-suave);color:var(--color-marron-cacao); }
.btn-light { background:#A0866D;color:#E8E8E7; }
.btn-light:hover { background:var(--color-marron-cacao);color:#E8E8E7;transform:translateY(-2px); }

/* ─────────────────────────────
   HEADER / NAV
───────────────────────────── */
header {
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(255,255,255,0.9);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid transparent;
  transition:border-color 300ms ease;
}
header.scrolled { border-bottom-color:var(--color-gris); }

.nav { display:flex;align-items:center;justify-content:space-between;height:var(--nav-height); }

.nav-logo {
  font-family:var(--font-secondary);font-size:24px;font-weight:500;
  color:var(--color-raiz-oscuro);letter-spacing:-0.02em;
}
.nav-logo span { font-style:italic;color:var(--color-tostado);font-weight:400;font-size:15px;margin-left:4px; }
.nav-logo .custom-logo-link { display:inline-flex; align-items:center; line-height:0; padding: 8px 0; }
.nav-logo .custom-logo { height:90px !important; width:auto !important; max-width:none !important; display:block; }

/* Menú principal */
ul.nav-menu { display:none;gap:32px;list-style:none;padding:0;margin:0; }
@media(min-width:1024px){ ul.nav-menu { display:flex; } }
.nav-menu a {
  font-size:13px;font-weight:400;letter-spacing:0.03em;
  color:var(--color-marron-cacao);position:relative;padding:4px 0;
  transition:color 300ms ease;display:block;
}
.nav-menu a::after {
  content:'';position:absolute;left:0;bottom:0;
  width:0;height:1px;background:var(--color-tostado);transition:width 300ms ease;
}
.nav-menu a:hover { color:var(--color-raiz-oscuro); }
.nav-menu a:hover::after { width:100%; }

/* Dos CTAs del nav (del Figma) */
.nav-ctas { display:none;gap:8px;align-items:center; }
@media(min-width:1024px){ .nav-ctas { display:flex; } }

.btn-nav-outline {
  padding:10px 20px;font-size:13px;font-weight:400;letter-spacing:0.03em;
  border:none;color:var(--color-marron-cacao);
  background:#E8DCD4;border-radius:2px;display:inline-flex;align-items:center;
  transition:all 300ms ease;text-decoration:none;
}
.btn-nav-outline:hover { background:var(--color-arena-suave); }

.btn-nav-dark {
  padding:10px 20px;font-size:13px;font-weight:400;letter-spacing:0.03em;
  background:#A0866D;color:var(--color-blanco);
  border:none
  display:inline-flex;align-items:center;
  transition:all 300ms ease;text-decoration:none;
}
.btn-nav-dark:hover { background:var(--color-raiz-oscuro);border-color:var(--color-raiz-oscuro); }

/* Hamburger */
.hamburger { display:flex;flex-direction:column;gap:5px;padding:10px;background:transparent; }
.hamburger span { width:22px;height:1.5px;background:var(--color-raiz-oscuro);transition:all 300ms ease;display:block; }
.hamburger.active span:nth-child(1) { transform:rotate(45deg) translate(4.5px,4.5px); }
.hamburger.active span:nth-child(2) { opacity:0; }
.hamburger.active span:nth-child(3) { transform:rotate(-45deg) translate(4.5px,-4.5px); }
@media(min-width:1024px){ .hamburger { display:none; } }

/* Drawer mobile */
.drawer {
  position:fixed;top:0;right:-100%;bottom:0;width:80%;max-width:360px;
  background:var(--color-blanco);padding:100px 32px 40px;
  box-shadow:-10px 0 40px rgba(0,0,0,0.1);transition:right 400ms ease;z-index:99;overflow-y:auto;
}
.drawer.open { right:0; }
.drawer ul { list-style:none;display:flex;flex-direction:column;gap:24px;padding:0;margin:0; }
.drawer ul a { font-family:var(--font-secondary);font-size:22px;color:var(--color-raiz-oscuro); }
.drawer-ctas a { font-family:var(--font-primary);font-size:13px;font-style:normal; }
.drawer-ctas .btn-nav-dark { color:var(--color-blanco); }
.drawer-ctas .btn-nav-outline { color:var(--color-marron-cacao); }
.drawer-ctas { display:flex;flex-direction:column;gap:12px;margin-top:32px; }
.drawer-ctas a { justify-content:center; }

.overlay {
  position:fixed;inset:0;background:rgba(33,18,13,0.4);
  opacity:0;pointer-events:none;transition:opacity 300ms ease;z-index:98;
}
.overlay.visible { opacity:1;pointer-events:auto; }

/* ─────────────────────────────
   HERO SLIDER
───────────────────────────── */
.hero { position:relative;height:52vh;min-height:420px;overflow:hidden;margin-top:var(--nav-height); }
@media(max-width:767px){ .hero { height:70vh;min-height:480px; } }

.slide { position:absolute;inset:0;opacity:0;transition:opacity 1000ms ease;pointer-events:none; }
.slide.active { opacity:1;pointer-events:auto; }
.slide-bg { position:absolute;inset:0;background-size:cover;background-position:center; }

/* Slides fallback con imágenes de Unsplash hasta que el cliente provea las propias */
.slide-1 .slide-bg { background-image:linear-gradient(90deg,rgba(33,18,13,.55) 0%,rgba(33,18,13,.15) 60%,transparent 100%),url('https://images.unsplash.com/photo-1522771930-78848d9293e8?w=1600&q=80'); }
.slide-2 .slide-bg { background-image:linear-gradient(90deg,rgba(33,18,13,.55) 0%,rgba(33,18,13,.15) 60%,transparent 100%),url('https://images.unsplash.com/photo-1519689680058-324335c77eba?w=1600&q=80'); }

.slide-overlay { position:absolute;inset:0;background:linear-gradient(90deg,rgba(33,18,13,.4) 0%,rgba(33,18,13,.1) 60%,transparent 100%); }

/* El contenido del slide está a la DERECHA según el Figma */
.slide-content {
  position:relative;height:100%;
  display:flex;flex-direction:column;justify-content:center;align-items:flex-end;
  padding:0 120px 0 80px;color:#3B251F;text-align:right;
}
@media(max-width:767px){
  .slide-content {
    padding:0 64px;
    align-items:center;
    text-align:center;
    justify-content:center;
  }
  .slide-headline { font-size:1.8rem; }
  .slide-subtitle { font-size:0.875rem;max-width:100%; }
  .slide .btn { align-self:center !important; margin:0 auto; }
  .hero-arrow.prev { left:8px; }
  .hero-arrow.next { right:8px; }
  .hero-arrow { width:32px;height:32px; }
}

.slide-caption {
  font-size:11px;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--color-tostado);margin-bottom:16px;
  opacity:0;transform:translateY(20px);transition:all 700ms ease 200ms;
}
.slide.active .slide-caption { opacity:1;transform:translateY(0); }

.slide-headline {
  font-family:var(--font-secondary);
  font-size:clamp(2.5rem,6vw,4.5rem);font-weight:400;
  line-height:1.05;letter-spacing:-0.02em;margin-bottom:16px;
  opacity:0;transform:translateY(30px);transition:all 800ms ease 350ms;
}
.slide-headline em { font-style:italic; }
.slide.active .slide-headline { opacity:1;transform:translateY(0); }

.slide-subtitle {
  font-size:clamp(0.9rem,1.5vw,1.1rem);font-weight:300;
  max-width:380px;margin-bottom:28px;
  opacity:0;transform:translateY(20px);transition:all 700ms ease 500ms;
}
.slide.active .slide-subtitle { opacity:1;transform:translateY(0); }

.slide .btn { opacity:0;transform:translateY(20px);transition:all 700ms ease 650ms;align-self:flex-end; }
@media(max-width:767px){ .slide .btn { align-self:flex-start; } }
.slide.active .btn { opacity:1;transform:translateY(0); }

.hero-controls { position:absolute;bottom:40px;left:50%;transform:translateX(-50%);display:flex;gap:12px;z-index:5; }
.dot { width:36px;height:2px;background:rgba(255,255,255,.4);cursor:pointer;transition:background 300ms ease;border:none; }
.dot.active { background:var(--color-blanco); }
.hero-arrow {
  position:absolute;top:50%;transform:translateY(-50%);
  width:48px;height:48px;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.1);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.25);color:var(--color-blanco);
  cursor:pointer;transition:all 300ms ease;z-index:5;border-radius:50%;
}
.hero-arrow:hover { background:rgba(255,255,255,.25); }
.hero-arrow.prev { left:24px; }
.hero-arrow.next { right:24px; }

/* ─────────────────────────────
   INSTITUCIONAL
───────────────────────────── */
.institutional { background:var(--color-arena-suave);padding:72px 0;text-align:center; }
.institutional-line { width:48px;height:1px;background:var(--color-tostado);margin:0 auto 24px; }
.institutional h2 {
  font-family:var(--font-secondary);font-size:clamp(1.5rem,2.5vw,2.125rem);
  font-weight:400;color:var(--color-raiz-oscuro);max-width:600px;margin:0 auto 16px;
}
.institutional h2 em { font-style:italic;color:var(--color-marron-cacao); }
.institutional p { font-size:15px;font-weight:300;max-width:500px;margin:0 auto;color:var(--color-marron-cacao); }
.institutional p strong { font-weight:500; }

/* ─────────────────────────────
   COLECCIÓN HOME (5 productos)
───────────────────────────── */
.collection { padding:72px 0;background:var(--color-blanco); }
.section-header { text-align:center;margin-bottom:40px; }
.section-header h2 {
  font-family:var(--font-secondary);font-size:clamp(1.5rem,2.5vw,2.125rem);
  font-weight:400;color:var(--color-raiz-oscuro);margin-bottom:6px;
}
.section-header h2 em { font-style:italic; }
.section-header p { font-size:14px;color:var(--color-tostado);font-style:italic;font-family:var(--font-secondary); }

.product-grid { display:grid;grid-template-columns:repeat(5,1fr);gap:16px; }
@media(max-width:1023px){
  .product-grid { display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding-bottom:16px;scrollbar-width:thin; }
  .product-grid .product-card { flex:0 0 65%;scroll-snap-align:start; }
}
@media(max-width:480px){ .product-grid .product-card { flex:0 0 76%; } }

.product-card { cursor:pointer; }
.product-card a { text-decoration:none;color:inherit; }
.product-image { aspect-ratio:3/4;background:var(--color-gris);overflow:hidden;position:relative;margin-bottom:14px; }
.product-image img { width:100%;height:100%;object-fit:cover;transition:transform 600ms ease; }
.product-card:hover .product-image img { transform:scale(1.04); }
.product-overlay {
  position:absolute;inset:0;background:rgba(33,18,13,.3);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity 300ms ease;
}
.product-card:hover .product-overlay { opacity:1; }
.product-overlay span { color:var(--color-blanco);font-size:12px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;border-bottom:1px solid var(--color-blanco);padding-bottom:3px; }
.yaby-watermark { position:absolute;top:10px;right:10px;font-family:var(--font-secondary);font-size:10px;font-weight:500;color:#fff;letter-spacing:0.05em;opacity:.85;text-shadow:0 1px 2px rgba(0,0,0,.2);z-index:1; }
.product-name { font-size:13px;font-weight:500;color:var(--color-raiz-oscuro);margin-bottom:4px; }
.product-desc { font-family:var(--font-secondary);font-style:italic;font-size:12px;color:var(--color-tostado); }

/* ─────────────────────────────
   CLIENTES HOME
───────────────────────────── */
.clients { padding:80px 0;background:var(--color-gris); }
.clients-carousel {
  display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;
  padding-bottom:20px;scrollbar-width:thin;scrollbar-color:var(--color-tostado) transparent;
}
.clients-carousel::-webkit-scrollbar { height:3px; }
.clients-carousel::-webkit-scrollbar-thumb { background:var(--color-tostado); }
.client-card { flex:0 0 calc((100% - 60px)/4);scroll-snap-align:start; }
@media(max-width:1023px){ .client-card { flex:0 0 60%; } }
@media(max-width:480px){ .client-card { flex:0 0 78%; } }
.client-image { aspect-ratio:4/5;background:var(--color-arena-suave);overflow:hidden;margin-bottom:14px;border-radius:3px; }
.client-image img { width:100%;height:100%;object-fit:cover; }
.client-name { font-size:14px;font-weight:500;color:var(--color-raiz-oscuro);margin-bottom:4px; }
.client-city { font-family:var(--font-secondary);font-style:italic;font-size:12px;color:var(--color-tostado); }
.clients-cta { text-align:center;margin-top:40px; }

/* ─────────────────────────────
   INSTAGRAM / SOCIAL
───────────────────────────── */
.social { padding:80px 0;background:var(--color-blanco); }
.social-header { text-align:center;margin-bottom:36px; }
.social-header h2 {
  font-family:var(--font-secondary);font-size:clamp(1.5rem,2.5vw,2rem);
  font-weight:400;color:var(--color-raiz-oscuro);
  display:inline-flex;align-items:center;gap:10px;
}
.social-header h2 em { font-style:italic; }
.social-header p { color:var(--color-tostado);font-style:italic;font-family:var(--font-secondary);font-size:14px;margin-top:4px; }
.social-grid { display:block;width:100%; }

.social-item { aspect-ratio:1;background:var(--color-arena-suave);position:relative;overflow:hidden;cursor:pointer;display:block; }
.social-item img { width:100%;height:100%;object-fit:cover;transition:transform 600ms ease; }
.social-item:hover img { transform:scale(1.05); }
.social-overlay { position:absolute;inset:0;background:rgba(33,18,13,.45);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 300ms ease; }
.social-item:hover .social-overlay { opacity:1; }
.social-overlay svg { color:#fff; }

/* ─────────────────────────────
   DISTRIBUIDOR / FORMULARIO
───────────────────────────── */
.distributor { background:var(--color-marron-cacao);color:var(--color-arena-suave);padding:120px 0; }
@media(max-width:767px){ .distributor { padding:80px 0; } }
.distributor-grid { display:grid;grid-template-columns:1fr;gap:56px; }
@media(min-width:1024px){ .distributor-grid { grid-template-columns:1fr 1fr;gap:80px; } }
.distributor-copy h2 { font-family:var(--font-secondary);font-size:clamp(2rem,3.5vw,3rem);font-weight:400;color:#fff;margin:16px 0 24px;line-height:1.1; }
.distributor-copy h2 em { font-style:italic; }
.distributor-copy > p { font-size:15px;font-weight:300;max-width:440px;margin-bottom:40px; }
.benefits { display:flex;flex-direction:column;gap:24px; }
.benefit { display:flex;gap:16px;align-items:flex-start;padding-bottom:24px;border-bottom:1px solid rgba(160,134,109,.25); }
.benefit:last-child { border-bottom:none; }
.benefit-icon { flex-shrink:0;width:34px;height:34px;color:var(--color-tostado); }
.benefit-text strong { font-size:14px;font-weight:500;color:#fff;display:block;margin-bottom:3px; }
.benefit-text span { font-size:13px;font-weight:300;opacity:.85; }
.form-card { background:var(--color-arena-suave);padding:40px;border-radius:6px;color:var(--color-marron-cacao); }
@media(max-width:480px){ .form-card { padding:28px; } }
.form-card h3 { font-family:var(--font-secondary);font-size:22px;font-weight:500;color:var(--color-raiz-oscuro);margin-bottom:24px; }
.form-group { margin-bottom:16px; }
.form-group label { display:block;font-size:11px;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:var(--color-marron-cacao);margin-bottom:5px; }
.form-group input,.form-group select,.form-group textarea {
  width:100%;padding:11px 14px;font-family:var(--font-primary);font-size:14px;
  color:var(--color-raiz-oscuro);background:#fff;border:1px solid transparent;border-radius:3px;
  transition:border-color 300ms ease;-webkit-appearance:none;appearance:none;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { outline:none;border-color:var(--color-tostado); }
.form-card .btn { width:100%;justify-content:center;margin-top:8px; }
.form-microcopy { font-size:12px;font-style:italic;color:var(--color-tostado);text-align:center;margin-top:12px;font-family:var(--font-secondary); }

/* ─────────────────────────────
   CATÁLOGO (archive-producto)
───────────────────────────── */
.catalog-page { padding:56px 0 80px; }
.catalog-layout { display:grid;grid-template-columns:180px 1fr;gap:48px;align-items:start; }
@media(max-width:900px){ .catalog-layout { grid-template-columns:1fr;gap:32px; } }

.catalog-filter-title { font-size:13px;font-weight:500;letter-spacing:0.05em;color:var(--color-marron-cacao);margin-bottom:16px; }
.catalog-filters { list-style:none;display:flex;flex-direction:column;gap:0; }
.catalog-filters li + li { border-top:1px solid var(--color-gris); }
.filter-item {
  display:flex;align-items:center;gap:10px;
  padding:10px 0;font-size:14px;color:var(--color-marron-cacao);
  cursor:pointer;transition:color 300ms ease;text-decoration:none;
  font-family:var(--font-secondary);font-style:italic;
}
.filter-item:hover { color:var(--color-raiz-oscuro); }
.filter-item.active { color:var(--color-raiz-oscuro);font-weight:400; }
.filter-check {
  width:16px;height:16px;border:1.5px solid var(--color-tostado);border-radius:3px;flex-shrink:0;
  transition:background 200ms ease;
}
.filter-item.active .filter-check { background:var(--color-tostado); }
@media(max-width:900px){
  .catalog-filters { flex-direction:row;flex-wrap:wrap;gap:8px; }
  .catalog-filters li + li { border-top:none; }
  .filter-item { border:1px solid var(--color-gris);border-radius:20px;padding:6px 16px;font-size:13px; }
  .filter-item.active { border-color:var(--color-tostado);background:var(--color-arena-suave); }
  .filter-check { display:none; }
}

.catalog-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:24px 20px; }
@media(max-width:1023px){ .catalog-grid { grid-template-columns:repeat(3,1fr); } }
@media(max-width:640px){ .catalog-grid { grid-template-columns:repeat(2,1fr);gap:16px; } }

.catalog-card { display:flex;flex-direction:column; }
.catalog-card-image {
  display:block;aspect-ratio:3/4;background:var(--color-gris);
  overflow:hidden;margin-bottom:14px;position:relative;
}
.catalog-card-image img { width:100%;height:100%;object-fit:cover;transition:transform 600ms ease; }
.catalog-card:hover .catalog-card-image img { transform:scale(1.03); }
.catalog-card-info { display:flex;flex-direction:column;gap:6px; }
.catalog-card-name { font-size:14px;font-weight:500;color:var(--color-raiz-oscuro);line-height:1.3; }
.catalog-card-desc { font-family:var(--font-secondary);font-style:italic;font-size:12px;color:var(--color-tostado);line-height:1.4; }
.btn-ver-mas {
  display:inline-flex;align-items:center;gap:6px;
  font-size:12px;font-weight:500;letter-spacing:0.05em;
  color:var(--color-marron-cacao);text-decoration:none;
  border:1px solid var(--color-gris);border-radius:2px;
  padding:6px 14px;margin-top:4px;width:fit-content;
  transition:all 300ms ease;
}
.btn-ver-mas:hover { border-color:var(--color-tostado);color:var(--color-raiz-oscuro); }
.btn-ver-mas span { transition:transform 300ms ease; }
.btn-ver-mas:hover span { transform:translateX(3px); }

/* ─────────────────────────────
   PRODUCTO INDIVIDUAL (single-producto)
───────────────────────────── */
.producto-single {
  display:grid;grid-template-columns:1fr 1fr;gap:48px;
  padding-top:56px;padding-bottom:80px;align-items:start;
}
@media(max-width:900px){ .producto-single { grid-template-columns:1fr;gap:32px; } }

/* Galería 2×2 */
.producto-galeria { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.galeria-item { aspect-ratio:3/4;background:var(--color-gris);overflow:hidden; }
.galeria-item img { width:100%;height:100%;object-fit:cover; }

/* Info derecha */
.producto-titulo {
  font-family:var(--font-secondary);font-size:clamp(2rem,4vw,3rem);
  font-weight:400;color:var(--color-raiz-oscuro);line-height:1.05;margin-bottom:16px;
}
.producto-titulo em { font-style:italic; }
.producto-subtitulo {
  font-size:14px;font-weight:500;color:var(--color-marron-cacao);
  margin-bottom:16px;line-height:1.3;
}
.producto-descripcion { font-size:14px;line-height:1.7;color:var(--color-marron-cacao);margin-bottom:28px; }
.producto-descripcion strong { font-weight:500; }

.producto-atributo { margin-bottom:24px; }
.atributo-label { font-size:13px;font-weight:500;color:var(--color-raiz-oscuro);margin-bottom:10px; }
.chips-list { display:flex;flex-wrap:wrap;gap:8px; }
.chip {
  padding:6px 14px;border:1.5px solid var(--color-gris);border-radius:2px;
  font-size:13px;font-weight:400;color:var(--color-marron-cacao);
  cursor:default;transition:border-color 200ms ease;
}
.chip:hover { border-color:var(--color-tostado); }
.chip-color { font-style:italic; }

/* Acordeones */
.acordeones { margin-bottom:32px;border:1px solid var(--color-gris);border-radius:4px;overflow:hidden; }
.acordeon + .acordeon { border-top:1px solid var(--color-gris); }
.acordeon-header {
  width:100%;display:flex;align-items:center;gap:12px;
  padding:16px;background:var(--color-gris-claro);
  font-size:14px;font-weight:500;color:var(--color-marron-cacao);
  cursor:pointer;text-align:left;transition:background 200ms ease;border:none;
}
.acordeon-header:hover { background:var(--color-gris); }
.acordeon-arrow {
  font-size:20px;color:var(--color-tostado);transition:transform 300ms ease;
  line-height:1;display:inline-block;
}
.acordeon.open .acordeon-arrow { transform:rotate(90deg); }
.acordeon-body { display:none;padding:16px;background:#fff; }
.acordeon.open .acordeon-body { display:block; }
.acordeon-body p { font-size:14px;line-height:1.65;color:var(--color-marron-cacao); }

/* CTAs del producto */
.producto-ctas { display:flex;flex-wrap:wrap;gap:12px; }
.producto-ctas .btn-nav-dark,.producto-ctas .btn-nav-outline { flex:1;justify-content:center;padding:14px 20px;font-size:14px; }

/* Productos relacionados */
.relacionados { background:var(--color-gris-claro);padding:56px 0; }
.relacionados-header { display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:32px; }
.relacionados-titulo { font-family:var(--font-secondary);font-size:clamp(1.5rem,3vw,2.25rem);font-weight:400;color:var(--color-raiz-oscuro);line-height:1.1; }
.relacionados-arrow { font-size:32px;color:var(--color-tostado);text-decoration:none;line-height:1;transition:color 200ms ease;padding-top:4px; }
.relacionados-arrow:hover { color:var(--color-marron-cacao); }
.relacionados-grid { display:grid;grid-template-columns:repeat(5,1fr);gap:16px; }
@media(max-width:1023px){
  .relacionados-grid { display:flex;overflow-x:auto;gap:16px;padding-bottom:16px;scroll-snap-type:x mandatory;scrollbar-width:thin; }
  .relacionados-grid .catalog-card { flex:0 0 55%;scroll-snap-align:start; }
}

/* ─────────────────────────────
   NOSOTROS
───────────────────────────── */
.nosotros-section {
  display:grid;grid-template-columns:1fr 1fr;gap:56px;
  padding-top:56px;padding-bottom:64px;align-items:start;
}
@media(max-width:900px){ .nosotros-section { grid-template-columns:1fr;gap:32px; } }

.nosotros-imagen { overflow:hidden;border-radius:4px;min-height:400px;background:var(--color-gris); }
.nosotros-imagen img { width:100%;height:100%;object-fit:cover; }

.nosotros-titulo {
  font-family:var(--font-secondary);
  font-size:clamp(2rem,4vw,3rem);
  font-weight:400;color:var(--color-raiz-oscuro);
  margin-bottom:12px;line-height:1.1;
}
.nosotros-titulo em { font-style:italic; }
.nosotros-bajada { font-weight:500;font-size:15px;color:var(--color-marron-cacao);margin-bottom:24px;line-height:1.4; }
.nosotros-contenido { font-size:15px;line-height:1.75;color:var(--color-marron-cacao); }
.nosotros-contenido strong { font-weight:500; }

/* Video en Nosotros */
.nosotros-video { background:var(--color-blanco); }
.video-wrapper { position:relative;width:100%;aspect-ratio:16/9;background:var(--color-arena-suave);overflow:hidden;cursor:pointer; }
.video-poster {
  width:100%;height:100%;
  background-image:linear-gradient(180deg,rgba(33,18,13,.1),rgba(33,18,13,.3)),url('https://images.unsplash.com/photo-1555252333-9f8e92e65df9?w=1600&q=80');
  background-size:cover;background-position:center;
  display:flex;align-items:center;justify-content:center;
}
.play-btn {
  width:88px;height:88px;background:var(--color-arena-suave);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  transition:transform 400ms ease,background 400ms ease;border:none;cursor:pointer;
}
.video-wrapper:hover .play-btn { transform:scale(1.08);background:#fff; }
.play-btn svg { color:var(--color-marron-cacao);margin-left:4px; }

/* ─────────────────────────────
   DÓNDE ENCONTRARNOS
───────────────────────────── */
.donde-page { padding:56px 0 80px; }
.donde-titulo {
  font-family:var(--font-secondary);
  font-size:clamp(2rem,4vw,3rem);
  font-weight:300;color:var(--color-raiz-oscuro);
  font-style:italic;margin-bottom:40px;
}

.donde-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:48px; }
@media(max-width:1023px){ .donde-grid { grid-template-columns:repeat(2,1fr);gap:16px; } }
@media(max-width:520px){ .donde-grid { grid-template-columns:repeat(2,1fr);gap:12px; } }

.donde-card { background:var(--color-blanco);border:1px solid var(--color-gris);border-radius:6px;overflow:hidden; }
.donde-card-image { aspect-ratio:4/3;background:var(--color-gris-claro);overflow:hidden;display:flex;align-items:center;justify-content:center; }
.donde-card-image img { width:100%;height:100%;object-fit:cover; }
.donde-card-info { padding:16px; }
.donde-card-nombre { font-weight:500;font-size:14px;color:var(--color-raiz-oscuro);margin-bottom:8px; }
.donde-card-dato { font-size:12px;color:var(--color-marron-cacao);line-height:1.5;margin-bottom:2px; }
.donde-card-dato a { color:inherit;text-decoration:none;transition:color 200ms ease; }
.donde-card-dato a:hover { color:var(--color-tostado); }
.donde-card-insta {
  display:inline-flex;align-items:center;gap:6px;
  margin-top:10px;font-size:12px;color:var(--color-tostado);
  text-decoration:none;transition:color 200ms ease;
}
.donde-card-insta:hover { color:var(--color-marron-cacao); }

.donde-mapa { border-radius:6px;overflow:hidden;border:1px solid var(--color-gris); }
.donde-mapa iframe { display:block; }

/* ─────────────────────────────
   FOOTER
───────────────────────────── */
footer { background:var(--color-raiz-oscuro);color:var(--color-arena-suave);padding:80px 0 32px; }
.footer-grid { display:grid;grid-template-columns:1fr;gap:48px;margin-bottom:56px; }
@media(min-width:768px){ .footer-grid { grid-template-columns:2fr 1fr 1fr;gap:64px; } }

.footer-logo { font-family:var(--font-secondary);font-size:26px;font-weight:500;color:#fff;margin-bottom:16px;letter-spacing:-0.02em;display:block; }
.footer-logo span { font-style:italic;font-size:15px;color:var(--color-tostado);margin-left:4px;font-weight:400; }
.footer-logo .custom-logo { height:56px;width:auto;filter:brightness(0) invert(1); }
.footer-desc { font-size:14px;font-weight:300;max-width:360px;margin-bottom:24px;opacity:.85;line-height:1.6; }
.footer-socials { display:flex;gap:10px; }
.footer-socials a {
  width:34px;height:34px;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(232,220,212,.2);border-radius:50%;color:var(--color-arena-suave);
  transition:all 300ms ease;
}
.footer-socials a:hover { background:var(--color-tostado);border-color:var(--color-tostado);color:#fff; }
.footer-col h4 { font-size:10px;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;color:var(--color-tostado);margin-bottom:18px; }
.footer-col ul { list-style:none;display:flex;flex-direction:column;gap:12px;padding:0;margin:0; }
.footer-col a { font-size:14px;color:var(--color-arena-suave);opacity:.85;transition:opacity 200ms ease;text-decoration:none; }
.footer-col a:hover { opacity:1;color:#fff; }
.footer-bottom {
  padding-top:28px;border-top:1px solid rgba(160,134,109,.2);
  display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;
  font-size:12px;opacity:.7;
}
.footer-legal { display:flex;gap:24px;flex-wrap:wrap; }
.footer-legal a { color:var(--color-arena-suave);text-decoration:none; }
.footer-legal a:hover { opacity:1;color:#fff; }

/* ─────────────────────────────
   ELEMENTOR / ADMIN BAR
───────────────────────────── */
.elementor-section-boxed > .elementor-container { max-width:1280px; }
.admin-bar header { top:32px; }
@media(max-width:782px){ .admin-bar header { top:46px; } }
:focus-visible { outline:2px solid var(--color-tostado);outline-offset:3px; }



/* ── Contact Form 7 — estilos Yaby ── */
.wpcf7-form label {
  display:block;font-size:11px;font-weight:500;
  letter-spacing:0.06em;text-transform:uppercase;
  color:var(--color-marron-cacao);margin-bottom:5px;margin-top:16px;
}
.wpcf7-form .wpcf7-form-control-wrap { display:block; }
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form select,
.wpcf7-form textarea {
  width:100%;padding:11px 14px;
  font-family:var(--font-primary);font-size:14px;
  color:var(--color-raiz-oscuro);background:#fff;
  border:1px solid transparent;border-radius:3px;
  transition:border-color 300ms ease;
  -webkit-appearance:none;appearance:none;
}
.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
  outline:none;border-color:var(--color-tostado);
}
.wpcf7-form .wpcf7-submit {
  width:100%;margin-top:16px;
  background:var(--color-raiz-oscuro);color:#fff;
  padding:14px 28px;font-family:var(--font-primary);
  font-weight:500;font-size:14px;letter-spacing:0.04em;
  border:none;border-radius:2px;cursor:pointer;
  transition:background 300ms ease;
}
.wpcf7-form .wpcf7-submit:hover { background:var(--color-marron-cacao); }
.wpcf7-response-output {
  margin-top:16px;padding:10px 14px;
  font-size:13px;font-style:italic;
  font-family:var(--font-secondary);border-radius:3px;
}

@media(max-width:767px){
  .nav-logo .custom-logo { height:70px !important; }
  .footer-logo .custom-logo { height:44px; }
}




/* ── Smash Balloon dentro de social-grid ── */
#yaby-instagram #sb_instagram { width:100% !important; padding:0 !important; }
#yaby-instagram #sb_instagram .sbi_inner { width:100% !important; display:flex !important; }
#yaby-instagram #sb_instagram .sbi_item { flex:1 !important; min-width:0 !important; }
#yaby-instagram #sb_instagram .sbi_photo { width:100% !important; aspect-ratio:1 !important; }
#yaby-instagram #sb_instagram .sbi_photo img { width:100% !important; height:100% !important; object-fit:cover !important; }
#yaby-instagram #sb_instagram .sbi_header { display:none !important; }
#yaby-instagram #sb_instagram .sbi_load_btn_wrapper { display:none !important; }
#yaby-instagram #sb_instagram .sbi_follow_btn { display:none !important; }