@font-face{font-family:'Baloo 2';font-weight:800;font-display:swap;src:url(/assets/fonts/Baloo2-800.woff2) format('woff2')}
@font-face{font-family:'Baloo 2';font-weight:600;font-display:swap;src:url(/assets/fonts/Baloo2-600.woff2) format('woff2')}
@font-face{font-family:'Outfit';font-weight:400;font-display:swap;src:url(/assets/fonts/Outfit-400.woff2) format('woff2')}
@font-face{font-family:'Outfit';font-weight:600;font-display:swap;src:url(/assets/fonts/Outfit-600.woff2) format('woff2')}
@font-face{font-family:'Dancing Script';font-weight:600;font-display:swap;src:url(/assets/fonts/Dancing-600.woff2) format('woff2')}

:root{
  --navy:#000D6F;
  --ink:#131A4C;
  --ink-soft:#4A5178;
  --berry:#98084A;
  --berry-bright:#C4135F;
  --wa:#1EBE5D;
  --wa-ink:#0B5A2B;
  --ground:#F7F7FC;
  --card:#FFFFFF;
  --line:#E3E5F2;
  --shadow:0 10px 30px rgba(19,26,76,.10);
  --radius:14px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--ground);
  color:var(--ink);
  font-family:'Outfit',system-ui,sans-serif;
  line-height:1.5;
}
h1,h2,h3{font-family:'Baloo 2',system-ui,sans-serif;margin:0 0 .4em;color:var(--navy)}
a{color:var(--berry);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}
.contenedor{max-width:1180px;margin:0 auto;padding:0 20px}

/* Cinta de promoción */
.cinta{background:var(--navy);color:#fff;text-align:center;font-size:.85rem;padding:.5em 1em}

/* Encabezado */
.encabezado{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.encabezado .contenedor{display:flex;align-items:center;gap:1.2rem;padding:.7em 20px}
.logo{display:flex;align-items:center;gap:.6em;flex:1;min-width:0}
.logo img{width:44px;height:44px;border-radius:10px;object-fit:cover;flex:none}
.logo strong{font-family:'Baloo 2';font-size:1.25rem;color:var(--navy);white-space:nowrap}
.logo small{display:block;font-size:.7rem;color:var(--ink-soft);font-family:'Dancing Script';font-size:.95rem}
nav.principal{display:flex;gap:1.4em;align-items:center}
nav.principal a{color:var(--ink);font-weight:600;font-size:.95rem}
nav.principal a:hover{color:var(--berry);text-decoration:none}
.btn-wa{
  background:var(--wa);color:#fff;font-weight:600;padding:.6em 1.1em;border-radius:999px;
  display:inline-flex;align-items:center;gap:.5em;white-space:nowrap;font-size:.9rem;
}
.btn-wa:hover{background:#17a34e;text-decoration:none;color:#fff}
.menu-toggle{display:none;background:none;border:none;font-size:1.6rem;color:var(--navy);cursor:pointer}

/* Buscador rápido en encabezado */
form.buscador-cabecera{display:none}

@media (max-width:820px){
  nav.principal{display:none;position:absolute;top:100%;left:0;right:0;background:var(--card);
    flex-direction:column;align-items:stretch;padding:1em 20px;border-bottom:1px solid var(--line);gap:.9em}
  nav.principal.abierto{display:flex}
  .menu-toggle{display:block}
}

/* Héroe */
.hero{background:linear-gradient(160deg,#000D6F 0%,#1A2496 55%,#3D2B8E 100%);color:#fff;padding:3.5em 0}
.hero .contenedor{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5em;align-items:center}
.hero h1{color:#fff;font-size:2.4rem;margin-bottom:.5em}
.hero p.slogan{font-family:'Dancing Script';font-size:1.6rem;color:#FF8FC0;margin:0 0 .6em}
.hero p.desc{color:#D9DCFA;max-width:38em;margin-bottom:1.4em}
.hero .acciones{display:flex;gap:1em;flex-wrap:wrap}
.hero .acciones a.secundaria{background:rgba(255,255,255,.12);color:#fff;padding:.6em 1.1em;border-radius:999px;font-weight:600;font-size:.9rem}
.hero .acciones a.secundaria:hover{background:rgba(255,255,255,.22);text-decoration:none}
.hero .foto{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
@media (max-width:820px){.hero .contenedor{grid-template-columns:1fr}.hero .foto{order:-1}}

/* Pilares */
.pilares{padding:3em 0}
.pilares h2{text-align:center;margin-bottom:.2em}
.pilares .sub{text-align:center;color:var(--ink-soft);margin-bottom:2em}
.grid-pilares{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4em}
.pilar{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.6em;text-align:center;box-shadow:var(--shadow)}
.pilar .icono{font-size:2.2rem;margin-bottom:.5em}
.pilar h3{margin-bottom:.3em}
.pilar p{color:var(--ink-soft);font-size:.92rem;margin:0 0 1em}
@media (max-width:820px){.grid-pilares{grid-template-columns:1fr}}

/* Sección genérica */
.seccion{padding:2.5em 0}
.seccion h2{text-align:center;margin-bottom:1.4em}

/* Grid de productos y tarjetas (usado por tarjeta_producto()) */
.grid-productos{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3em}
@media (max-width:1024px){.grid-productos{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.grid-productos{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.grid-productos{grid-template-columns:1fr}}

.prod{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow)}
.prod .ph{aspect-ratio:1/1;background:#fff;display:block;overflow:hidden}
.prod .ph img{width:100%;height:100%;object-fit:cover}
.prod .body{padding:1em;display:flex;flex-direction:column;gap:.4em;flex:1}
.prod .tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--berry);font-weight:600}
.prod h3{font-family:'Outfit';font-size:1rem;font-weight:600;color:var(--ink);margin:0}
.prod h3 a{color:inherit}
.prod .price{font-weight:700;color:var(--navy);margin-top:auto}
.prod .price small{font-weight:400;color:var(--ink-soft)}
.prod .order{
  margin-top:.4em;text-align:center;background:var(--wa);color:#fff;font-weight:600;
  padding:.55em;border-radius:999px;font-size:.85rem;
}
.prod .order:hover{background:#17a34e;text-decoration:none}

/* Ver todo */
.ver-todo{text-align:center;margin-top:2em}
.ver-todo a{display:inline-block;border:2px solid var(--navy);color:var(--navy);font-weight:600;padding:.6em 1.4em;border-radius:999px}
.ver-todo a:hover{background:var(--navy);color:#fff;text-decoration:none}

/* Franja "Inicia tu negocio" */
.reseller{background:var(--berry);color:#fff;padding:2.6em 0;text-align:center}
.reseller h2{color:#fff}
.reseller p{max-width:36em;margin:0 auto 1.3em;color:#FBE0EC}
.reseller a.btn-claro{background:#fff;color:var(--berry);font-weight:700;padding:.7em 1.5em;border-radius:999px;display:inline-block}
.reseller a.btn-claro:hover{text-decoration:none;background:#FBE0EC}

/* Barra de búsqueda / filtros del catálogo */
.filtros{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.2em;margin-bottom:1.6em;box-shadow:var(--shadow)}
.filtros form{display:flex;gap:.8em;flex-wrap:wrap;align-items:center}
.filtros input[type=text],.filtros select{
  border:1px solid var(--line);border-radius:8px;padding:.6em .8em;font-family:inherit;font-size:.95rem;color:var(--ink);
}
.filtros input[type=text]{flex:1;min-width:180px}
.filtros button{background:var(--navy);color:#fff;border:none;border-radius:8px;padding:.6em 1.2em;font-weight:600;cursor:pointer;font-family:inherit}
.filtros button:hover{background:#001099}
.resultado-info{color:var(--ink-soft);margin-bottom:1em;font-size:.9rem}

/* Categorías chips */
.chips{display:flex;gap:.5em;flex-wrap:wrap;margin-bottom:1.6em}
.chips a{background:var(--card);border:1px solid var(--line);padding:.45em 1em;border-radius:999px;font-size:.85rem;font-weight:600;color:var(--ink)}
.chips a.activo{background:var(--navy);border-color:var(--navy);color:#fff}
.chips a:hover{text-decoration:none;border-color:var(--navy)}

/* Paginación */
.paginacion{display:flex;justify-content:center;gap:.4em;margin:2.2em 0}
.paginacion a,.paginacion span{
  min-width:2.2em;height:2.2em;display:flex;align-items:center;justify-content:center;
  border-radius:8px;font-weight:600;font-size:.9rem;
}
.paginacion a{background:var(--card);border:1px solid var(--line);color:var(--ink)}
.paginacion a:hover{border-color:var(--navy);text-decoration:none}
.paginacion span.actual{background:var(--navy);color:#fff}

/* Página de producto */
.migas{font-size:.85rem;color:var(--ink-soft);margin-bottom:1.4em}
.migas a{color:var(--ink-soft)}
.detalle-producto{display:grid;grid-template-columns:.9fr 1.1fr;gap:2.4em;margin-bottom:3em}
.detalle-producto .foto{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:#fff}
.detalle-producto .tag{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--berry);font-weight:700}
.detalle-producto h1{margin:.3em 0 .5em;font-size:1.8rem}
.detalle-producto .descripcion{color:var(--ink-soft);margin-bottom:1.4em}
.precio-simple{font-size:1.6rem;font-weight:700;color:var(--navy);margin-bottom:1em}
@media (max-width:820px){.detalle-producto{grid-template-columns:1fr}}

table.precios{width:100%;border-collapse:collapse;margin-bottom:1.6em;background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
table.precios th,table.precios td{padding:.7em .9em;text-align:left;border-bottom:1px solid var(--line);font-size:.92rem}
table.precios th{background:var(--ground);color:var(--ink-soft);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}
table.precios td.precio{font-weight:700;color:var(--navy)}
table.precios td.accion a{background:var(--wa);color:#fff;font-weight:600;padding:.4em .9em;border-radius:999px;font-size:.85rem;white-space:nowrap}
table.precios td.accion a:hover{background:#17a34e;text-decoration:none}
table.precios tr:last-child td{border-bottom:none}

/* Franja de contacto/ubicación */
.contacto{background:var(--card);border-top:1px solid var(--line);padding:2.6em 0}
.grid-contacto{display:grid;grid-template-columns:1fr 1fr;gap:2em}
.grid-contacto .caja{background:var(--ground);border:1px solid var(--line);border-radius:var(--radius);padding:1.4em}
.grid-contacto h3{font-size:1.05rem;margin-bottom:.6em}
.grid-contacto p{margin:.3em 0;color:var(--ink-soft);font-size:.92rem}
@media (max-width:820px){.grid-contacto{grid-template-columns:1fr}}

/* Pie de página */
footer.pie{background:var(--navy);color:#C9CEF5;padding:2.4em 0 1.6em;font-size:.9rem}
footer.pie .contenedor{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1.4em}
footer.pie a{color:#fff}
footer.pie .redes{display:flex;gap:1em}
footer.pie .nota{width:100%;border-top:1px solid rgba(255,255,255,.15);padding-top:1.2em;margin-top:.6em;color:#8E96CF;font-size:.8rem}

/* Botón flotante de WhatsApp */
.wa-flotante{
  position:fixed;bottom:1.4em;right:1.4em;background:var(--wa);color:#fff;width:56px;height:56px;
  border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;
  box-shadow:0 8px 20px rgba(0,0,0,.25);z-index:30;
}
.wa-flotante:hover{background:#17a34e}

.vacio{text-align:center;padding:3em 1em;color:var(--ink-soft)}
