/* FUROR - paleta, esquinas redondeadas y portada.
   Se carga DESPUÉS de styles.css: aquí se cambian los colores de toda la tienda.
   Para ajustar un color de la marca, edita solo el bloque :root de abajo. */
:root{
  --fondo:#323868;        /* fondo de la página */
  --barra:#242956;        /* barra superior y pie de página */
  --panel:#5A4670;        /* tarjetas, paneles y rellenos */
  --foto:#2B1F3A;         /* fondo detrás de las fotos de los productos */
  --etiqueta:#5A4670;     /* etiquetas como "Nuevo" */
  --texto:#F3E9D6;        /* texto y títulos (crema) */
  --texto-suave:#D9CDBD;  /* texto secundario */
  --boton:#E60177;        /* botones y detalles (fucsia) */
  --boton-2:#C4006A;      /* botón al pasar el mouse */
  --radio:1.5rem;           /* esquinas de tarjetas */
  --radio-g:2rem;         /* esquinas de los paneles grandes */

  --acento:var(--boton); --realce:var(--boton); --realce-2:var(--boton-2);
  --noche:var(--barra); --suave:var(--panel); --suave-2:#6B5385;
  --gris:var(--texto-suave); --negro:var(--texto); --ink:var(--texto);
  --bg:var(--fondo); --card-bg:var(--panel); --placeholder:var(--foto);
  --gray-block:var(--foto); --gray-icon:#8F82A3; --line:rgba(243,233,214,.14);
  --sombra:none;
  --nav-h:4.75rem; --nav-h-mobile:4rem;
}
html{color-scheme:dark;font-size:115%;}
body{background:var(--fondo);color:var(--texto);}
::selection{background:var(--boton);color:#fff;}

/* ---------- barra superior ---------- */
.navbar{background:var(--barra);box-shadow:0 1px 0 rgba(243,233,214,.08);gap:1.75rem;justify-content:flex-start;padding:0 clamp(1rem,3vw,2.5rem);height:var(--nav-h);}
.navbar .logo img{height:2.75rem;width:auto;}
.nav-buscar{display:flex;align-items:center;justify-content:space-between;gap:0.625rem;width:min(18.75rem,26vw);min-width:11.25rem;height:2.75rem;padding:0 1rem;border-radius:62.4375rem;background:rgba(243,233,214,.1);color:var(--texto-suave);font-size:0.9375rem;text-align:left;transition:background .2s;}
.nav-buscar:hover{background:rgba(243,233,214,.16);}
.nav-buscar .ico{width:1.25rem;height:1.25rem;color:var(--texto);flex:none;}
.navbar{display:flex;grid-template-columns:none;}
.nav-links{margin-left:auto;gap:1.75rem;align-items:center;flex-wrap:nowrap;white-space:nowrap;}
.nav-links a:hover,.nav-links button:hover{color:var(--texto);transform:none;text-shadow:none;}
.nav-links a,.nav-links button{color:var(--texto);font-size:0.9375rem;font-weight:600;padding:0.5rem 0.125rem;border-bottom:0.1875rem solid transparent;}
.nav-links a:hover,.nav-links button:hover{border-color:rgba(230,1,119,.6);}
.nav-links a.active,.nav-links a[aria-current]{border-color:var(--boton);}
.nav-icons{gap:0.375rem;margin-left:0.5rem;}
.icon-btn{width:2.75rem;height:2.75rem;color:var(--texto);}
.icon-btn:hover{background:rgba(243,233,214,.12);}
.icon-btn .ico{width:1.5rem;height:1.5rem;color:var(--texto);}
.cart-count,.fav-count{background:var(--boton);color:#fff;}
.navbar :focus-visible{outline-color:var(--texto);}
.nav-fav-li{display:none;}
.menu-btn{display:none;}
.saltar:focus{background:var(--boton);color:#fff;}

/* ---------- títulos ---------- */
.section-title,.titulo-centro,.titulo-izq,.category-header h1{color:var(--titulo,var(--texto));}
.titulo-centro{text-align:center;font-weight:600;font-size:clamp(1.25rem,2.2vw,1.5rem);margin:0 0 1.625rem;}
.titulo-izq{position:relative;font-weight:700;font-size:clamp(1.75rem,3.4vw,2.25rem);letter-spacing:-.02em;margin:0 0 1.375rem;padding-bottom:0.875rem;}
.titulo-izq::after{content:'';position:absolute;left:0;bottom:0;width:3.5rem;height:0.25rem;border-radius:0.25rem;background:var(--boton);}
.section-title::after,.category-header h1::after{background:var(--boton);}

/* ---------- contenedor de las secciones de la portada ---------- */
.col-sec,.portada,.productos-wrap,.como-pedir{max-width:90rem;margin:0 auto;padding-left:clamp(1rem,3vw,2.5rem);padding-right:clamp(1rem,3vw,2.5rem);}
.productos-wrap .grid-row{max-width:none;padding:0;grid-template-columns:repeat(4,1fr);gap:1rem;}
.productos-wrap{margin-top:2.75rem;}

/* ---------- círculos (pestaña Colecciones) ---------- */
.col-sec{padding-top:2.125rem;padding-bottom:0.375rem;}
.col-wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem 2.75rem;}
.col-item{display:flex;flex-direction:column;align-items:center;gap:0.75rem;width:7rem;color:var(--texto);}
.col-circulo{width:5rem;height:5rem;border-radius:50%;background:var(--barra);border:0.125rem solid var(--panel);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:transform .2s ease,border-color .2s ease,background .2s;}
.col-circulo .ico{width:2.125rem;height:2.125rem;color:var(--texto);}
.col-circulo img{width:100%;height:100%;object-fit:cover;}
a.col-item:hover .col-circulo{transform:translateY(-0.1875rem);border-color:var(--boton);}
.col-nombre{font-size:0.875rem;font-weight:600;text-align:center;line-height:1.25;overflow-wrap:anywhere;}
.col-esqueleto .col-circulo{background:var(--panel);border-color:transparent;animation:pulso 1.4s ease-in-out infinite;}
.col-esqueleto .col-nombre{visibility:hidden;}
@keyframes pulso{50%{opacity:.55;}}
.col-sec[hidden]{display:none;}

/* ---------- portada: tarjeta grande + 2 productos estrella ---------- */
.portada{padding-top:2.125rem;}
.portada-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;align-items:stretch;}
.portada-estrellas{display:contents;}
.hero-card{grid-column:span 2;background:var(--panel);border-radius:var(--radio-g);padding:clamp(1.5rem,3.4vw,3rem);display:flex;align-items:center;justify-content:space-between;gap:clamp(1rem,2vw,2rem);min-width:0;}
.estrellas-1 .hero-card{grid-column:span 3;}
.estrellas-0 .hero-card{grid-column:span 4;}
.hero-card-texto{min-width:0;flex:1 1 auto;}
.hero-card h1{margin:0 0 0.875rem;font-size:clamp(2.125rem,4.2vw,3.25rem);line-height:1.05;letter-spacing:-.03em;font-weight:700;color:var(--titulo,var(--texto));}
.hero-card p{margin:0 0 1.625rem;font-size:clamp(0.9375rem,1.25vw,1.125rem);line-height:1.55;color:var(--texto-suave);max-width:34ch;}
.hero-card .hero-btn{display:inline-flex;align-items:center;gap:0.5rem;background:var(--boton);color:#fff;font-weight:700;font-size:1rem;padding:0.9375rem 1.75rem;border-radius:1.125rem;border:0;box-shadow:none;transition:background .2s,transform .2s;animation:none;opacity:1;transform:none;}
.hero-card .hero-btn::after{content:'›';font-size:1.375rem;line-height:1;margin-top:-0.125rem;}
.hero-card .hero-btn:hover{background:var(--boton-2);transform:translateY(-0.125rem);}
.hero-card-img{flex:0 0 auto;width:clamp(9.375rem,19vw,18.125rem);height:auto;aspect-ratio:1;border-radius:50%;object-fit:cover;}

/* productos estrella: marco y cinta que los distinguen */
.product-card.es-estrella{box-shadow:0 0 0 0.1875rem var(--boton),0 1.125rem 2.5rem -0.75rem rgba(230,1,119,.55);}
.cinta-estrella{position:absolute;z-index:3;top:0.875rem;left:0.875rem;display:inline-flex;align-items:center;gap:0.375rem;background:var(--boton);color:#fff;font-size:0.7812rem;font-weight:700;letter-spacing:.02em;padding:0.4375rem 0.8125rem 0.4375rem 0.625rem;border-radius:62.4375rem;box-shadow:0 0.25rem 0.75rem rgba(0,0,0,.3);}
.cinta-estrella .ico{width:0.9375rem;height:0.9375rem;color:#fff;}

/* ---------- tarjetas de producto ---------- */
.product-card{container-type:inline-size;display:flex;flex-direction:column;background:var(--panel);border:0;border-radius:var(--radio);box-shadow:none;padding-bottom:0;overflow:hidden;color:var(--texto);}
.product-card:hover{transform:translateY(-0.25rem);}
.product-card .img-placeholder{height:auto;aspect-ratio:1/1;border-radius:0;background:var(--foto);}
.product-card .copy{padding:1rem 1rem 0;text-align:center;}
.product-brand{display:none;}
.product-title{font-size:1rem;font-weight:600;line-height:1.3;text-align:center;text-decoration:none;color:var(--texto);}
.product-card .card-link{text-decoration:none;}
.price-row{position:static;height:auto;padding:0.375rem 1rem 1.125rem;align-items:center;justify-content:center;flex-direction:row;gap:0.5rem;font-size:0.875rem;color:var(--texto-suave);}
.price-row>span:first-child{display:none;}
.price-row strong{font-size:1.0625rem;font-weight:700;color:var(--texto);display:flex;gap:0.5rem;align-items:baseline;}
.price-old{font-size:0.8125rem;font-weight:500;opacity:.7;}
.cart-btn{top:calc(100cqw - 3.375rem);bottom:auto;left:0.75rem;right:auto;width:2.625rem;height:2.625rem;background:var(--boton);box-shadow:0 0.25rem 0.75rem rgba(0,0,0,.35);}
.cart-btn .ico{width:1.3125rem;height:1.3125rem;color:#fff;}
.cart-btn-off{background:rgba(36,41,86,.85);}
.fav-btn{background:rgba(36,41,86,.72);color:var(--texto);}
.listo-tag{position:absolute;z-index:2;top:calc(100cqw - 0.75rem);transform:translateY(-100%);max-width:calc(100cqw - 5.75rem);line-height:1.15;right:0.75rem;display:inline-flex;align-items:center;gap:0.4375rem;background:rgba(36,41,86,.88);color:var(--texto);font-size:0.75rem;font-weight:700;padding:0.375rem 0.6875rem;border-radius:0.875rem;}
.listo-tag i{width:0.5rem;height:0.5rem;border-radius:50%;background:#4ADE80;flex:none;}
.insignia{border-radius:62.4375rem;padding:0.3125rem 0.6875rem;font-size:0.75rem;}
.insignia-nuevo,.insignia-ultimas{background:var(--etiqueta);color:var(--texto);}
.insignia-oferta{background:var(--boton);color:#fff;}
.insignia-agotado{background:#16173A;color:var(--texto);}
.insignia-pronto{background:var(--barra);color:var(--texto);}
.card-tags{top:0.75rem;left:0.75rem;}
.skeleton-card{border:0;border-radius:var(--radio);background:var(--panel);box-shadow:none;}
.skeleton-card::before{background:var(--foto);}
.skeleton-block,.sk{background:var(--panel) !important;}

/* ---------- botones ---------- */
.btn-pill,.hero-btn{background:var(--boton);color:#fff;border-radius:62.4375rem;}
.btn-pill:hover,.hero-btn:hover{background:var(--boton-2);box-shadow:none;}

/* ---------- cómo pedir ---------- */
.como-pedir{margin-top:3.5rem;margin-bottom:3.5rem;}
.como-pedir{display:grid;grid-template-columns:minmax(9.375rem,.8fr) 3fr;gap:1.5rem 2rem;align-items:start;background:var(--panel);background-clip:padding-box;border-radius:var(--radio-g);padding:2.75rem 3rem;max-width:calc(90rem - 2*clamp(1rem,3vw,2.5rem));width:calc(100% - 2*clamp(1rem,3vw,2.5rem));}
.como-pedir h2{margin:0;font-size:clamp(1.625rem,2.6vw,2rem);font-weight:700;color:var(--titulo,var(--texto));}
.pasos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem;}
.pasos li{min-width:0;}
.paso-n{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;background:var(--boton);color:#fff;font-weight:700;font-size:0.9375rem;margin-bottom:0.875rem;}
.pasos h3{margin:0 0 0.375rem;font-size:1.125rem;font-weight:700;color:var(--texto);}
.pasos p{margin:0;font-size:0.9375rem;line-height:1.5;color:var(--texto-suave);}

/* ---------- pie ---------- */
footer{background:var(--barra);color:var(--texto);text-align:left;padding:3rem clamp(1rem,3vw,2.5rem) 1.75rem;}
footer .foot-grid{max-width:90rem;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem 3rem;}
footer .foot-marca p{margin:0.875rem 0 0;max-width:34ch;color:var(--texto-suave);font-size:0.9375rem;line-height:1.55;}
footer img.foot-logo{height:3.375rem;width:auto;margin:0;}
footer .foot-col h2{margin:0 0 0.75rem;font-size:0.9375rem;font-weight:700;color:var(--texto);}
footer .foot-col a,footer .foot-col button{display:block;padding:0.375rem 0;font-size:0.9375rem;color:var(--texto-suave);text-align:left;text-decoration:none;}
footer .foot-col a:hover,footer .foot-col button:hover{color:var(--texto);text-decoration:underline;}
footer .social-row{justify-content:flex-start;margin-top:1.125rem;}
footer .fine-print{max-width:90rem;margin:2.25rem auto 0;padding-top:1.125rem;border-top:1px solid rgba(243,233,214,.14);font-size:0.8125rem;color:var(--texto-suave);text-align:left;}
.social-btn{background:rgba(243,233,214,.12);}
.social-btn .ico{color:var(--texto);}

/* ---------- WhatsApp flotante, buscador, carrito, favoritos ---------- */
.search-panel{background:var(--barra);color:var(--texto);border-radius:0 0 var(--radio) var(--radio);box-shadow:0 1.125rem 2.5rem rgba(0,0,0,.4);}
.search-panel input{background:rgba(243,233,214,.1);color:var(--texto);border:0;border-radius:62.4375rem;}
.search-panel input::placeholder{color:var(--texto-suave);}
.cart-drawer{background:var(--barra);color:var(--texto);}
.cart-overlay{background:rgba(10,8,30,.6);}
.cart-drawer *{border-color:rgba(243,233,214,.14);}

/* ---------- catálogo ---------- */
.category-header{padding-top:2.75rem;}
.cat-chip{background:var(--panel);color:var(--texto);border-radius:62.4375rem;}
.cat-chip:hover{background:var(--boton-2);color:#fff;}
.cat-chip.active,.cat-chip.active:hover{background:var(--boton);color:#fff;}
body.page-categoria .grid-row{grid-template-columns:repeat(4,1fr);gap:1rem;}
.section-divider{border-color:rgba(243,233,214,.12);}

/* ---------- pantallas medianas y celulares ---------- */
@media (max-width:1265px){
  .nav-links{gap:1.125rem;}
  .nav-links a{font-size:0.875rem;}
  .col-wrap{gap:1.25rem 1.75rem;}
}
@media (max-width:1127px){
  .nav-links{display:none;}
  .navbar{gap:0.875rem;}
  .nav-buscar{margin-left:auto;width:2.75rem;min-width:2.75rem;padding:0;justify-content:center;}
  .nav-icons{margin-left:0;}
  .menu-btn{display:flex;}
  .nav-links.open{display:flex;position:absolute;left:0;right:0;top:var(--nav-h);flex-direction:column;gap:0;margin:0;background:var(--barra);padding:0.5rem clamp(1rem,3vw,2.5rem) 1.125rem;border-top:1px solid rgba(243,233,214,.1);box-shadow:0 1.125rem 1.875rem rgba(0,0,0,.35);}
  .nav-links.open li{border-top:1px solid rgba(243,233,214,.1);}
  .nav-links.open a,.nav-links.open button{display:block;width:100%;padding:0.9375rem 0.125rem;font-size:1.0625rem;border-bottom:0;color:var(--texto);}
  .nav-links.open .nav-fav-li{display:block;}
  .nav-links.open .nav-fav-li button{color:var(--texto);}
}
@media (max-width:920px){
  .portada-grid,.productos-wrap .grid-row,body.page-categoria .grid-row{grid-template-columns:repeat(2,1fr);gap:0.75rem;}
  .hero-card,.estrellas-1 .hero-card,.estrellas-0 .hero-card{grid-column:span 2;}
  .como-pedir{grid-template-columns:1fr;padding:2rem 1.5rem;}
  .pasos{grid-template-columns:1fr;gap:1.375rem;}
  footer .foot-grid{grid-template-columns:1fr 1fr;}
  footer .foot-marca{grid-column:1 / -1;}
}
@media (max-width:690px){
  :root{--nav-h:4rem;--radio:1.25rem;--radio-g:1.625rem;}
  .navbar .logo img{height:2.375rem;}
  .hero-card{flex-direction:column-reverse;align-items:flex-start;text-align:left;}
  .hero-card-img{width:min(54vw,14.375rem);align-self:center;}
  .product-title{font-size:0.9062rem;}
  .price-row strong{font-size:1rem;}
  .col-wrap{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;gap:1.125rem;padding:0 0.25rem 0.625rem;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .col-wrap::-webkit-scrollbar{display:none;}
  .col-item{width:5.25rem;flex:none;scroll-snap-align:start;}
  .col-circulo{width:4.5rem;height:4.5rem;}
  .col-nombre{font-size:0.8125rem;}
  .cinta-estrella{font-size:0.6875rem;padding:0.3125rem 0.625rem 0.3125rem 0.5rem;top:0.625rem;left:0.625rem;}
  .listo-tag{font-size:0.6562rem;padding:0.3125rem 0.5625rem;right:0.5rem;}
  .cart-btn{left:0.5rem;width:2.375rem;height:2.375rem;top:calc(100cqw - 3rem);}
  .listo-tag{top:calc(100cqw - 0.625rem);max-width:calc(100cqw - 4.25rem);}
}
@media (prefers-reduced-motion:reduce){.col-esqueleto .col-circulo{animation:none;}}

/* ---------- ajustes tras revisar ---------- */
section.productos-wrap>.grid-row,#mas-row,body.page-categoria .grid-row{max-width:none;margin:0;padding:0;--cols:4;--gx:1rem;gap:1rem var(--gx);}
.faq-wa,.faq-wa a{color:var(--texto);}
.faq-wa a{text-decoration:underline;font-weight:600;}
@media (max-width:920px){section.productos-wrap>.grid-row,#mas-row,body.page-categoria .grid-row{--cols:2;--gx:0.75rem;gap:0.75rem var(--gx);}}
.nav-buscar>span:first-child{display:inline;}
@media (max-width:1127px){
  .nav-buscar>span:first-child{display:none;}
  #btn-favs{display:flex;}
}
@media (max-width:690px){
  .hero-card-img{width:min(40vw,10rem);}
  .hero-card h1{font-size:2.125rem;}
}
:root{--apagado:#4B3F66;--apagado-texto:#CFC4D8;}
.btn-shop-pay[aria-disabled="true"],.btn-add[aria-disabled="true"],
.btn-shop-pay[aria-disabled="true"]:hover,.btn-add[aria-disabled="true"]:hover{background:var(--apagado);color:var(--apagado-texto);}
.btn-shop-pay[aria-disabled="true"] .ico,.btn-add[aria-disabled="true"] .ico{color:var(--apagado-texto);}
.img-placeholder.has-image,.gal .img-placeholder,.gal-main{background:var(--foto);}
.btn-wa-solo{background:#128C4B;color:#fff;}

.search-todos{background:var(--panel);color:var(--texto);border-radius:62.4375rem;}
.search-todos .ico{color:var(--texto);}
.search-results a{color:var(--texto);}
body .product-card .product-title{font-size:1rem;}
@media (max-width:690px){body .product-card .product-title{font-size:0.9062rem;}}
.price-old{opacity:1;color:#D2C5CE;}
#page-loader{background:var(--fondo);}
#page-loader .loader-spin{width:5.25rem;height:5.25rem;border-radius:50%;}

/* =====================================================================
   Versión 2: tamaño de las tarjetas, columnas y pie de página siempre abajo
   ===================================================================== */
:root{--ancho:85rem;--cols-p:5;--pad:clamp(1rem,3vw,2.5rem);}

/* ancho máximo común: nada se estira en pantallas muy grandes */
.col-sec,.portada,.productos-wrap,.como-pedir,.catalog-wrap,.catalog-bar{max-width:var(--ancho);}
.catalog-wrap{margin:0 auto;padding:2.25rem clamp(1rem,3vw,2.5rem) 4.5rem;}
.catalog-bar{padding-left:0;padding-right:0;}
.como-pedir[hidden]{display:none;}

/* lista de productos: 5 por fila en pantalla grande, 4, 3 y 2 al achicar */
section.productos-wrap>.grid-row,#mas-row,body.page-categoria .grid-row{--cols:5;--gx:1rem;gap:1rem var(--gx);justify-content:flex-start;}
@media (max-width:1379px){
  section.productos-wrap>.grid-row,#mas-row,body.page-categoria .grid-row{--cols:4;}
}
@media (max-width:1035px){
  section.productos-wrap>.grid-row,#mas-row,body.page-categoria .grid-row{--cols:3;}
}
@media (max-width:736px){
  section.productos-wrap>.grid-row,#mas-row,body.page-categoria .grid-row{--cols:2;--gx:0.75rem;gap:0.75rem var(--gx);}
}

/* portada: tarjeta grande + 2 productos estrella del mismo tamaño que los demás */
.portada-grid{grid-template-columns:repeat(var(--cols-p),minmax(0,1fr));gap:1rem;}
.portada-grid .hero-card{grid-column:span 3;padding:clamp(1.375rem,3vw,2.5rem);}
.portada-grid.estrellas-1 .hero-card{grid-column:span 4;}
.portada-grid.estrellas-0 .hero-card{grid-column:span 5;}
.hero-card-img{width:clamp(7.5rem,15vw,14.375rem);}
@media (max-width:1379px){
  :root{--cols-p:4;}
  .portada-grid .hero-card{grid-column:span 2;}
  .portada-grid.estrellas-1 .hero-card{grid-column:span 3;}
  .portada-grid.estrellas-0 .hero-card{grid-column:span 4;}
  .hero-card-img{width:clamp(6.875rem,14vw,11.875rem);}
}
@media (max-width:1035px){
  :root{--cols-p:2;}
  .portada-grid .hero-card,.portada-grid.estrellas-1 .hero-card,.portada-grid.estrellas-0 .hero-card{grid-column:1 / -1;}
  .hero-card-img{width:clamp(8.125rem,26vw,13.125rem);}
}

/* pie de página: siempre pegado al fondo, aunque la página tenga poco contenido */
body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;}
body>main,body>header,body>section,body>hr,body>nav.migas,body>nav.cat-chips,body>.espaciador-carga,body>footer{width:100%;flex:none;}
body footer#site-footer{margin-top:auto;}
body.page-producto>main{margin-bottom:5rem;}
body.page-terminos>main{margin-bottom:1.5rem;}
body.page-404>main{margin-bottom:4rem;}

/* "Combina con" y "Otros productos": mismo tamaño que el resto de tarjetas (5, 4, 3 o 2 por fila) */
.other-goodies-wrap{max-width:var(--ancho);padding-left:clamp(1rem,3vw,2.5rem);padding-right:clamp(1rem,3vw,2.5rem);}
.goodies-grid,.combina-wrap .goodies-grid{--cols:5;--gx:1rem;gap:1rem var(--gx);justify-content:center;}
.goodies-grid .product-card,.goodies-grid .skeleton-card,.combina-wrap .product-card{flex:0 0 calc((100% - (var(--cols) - 1) * var(--gx)) / var(--cols));min-width:0;}
@media (max-width:1379px){.goodies-grid,.combina-wrap .goodies-grid{--cols:4;}}
@media (max-width:1035px){.goodies-grid,.combina-wrap .goodies-grid{--cols:3;}}
@media (max-width:736px){.goodies-grid,.combina-wrap .goodies-grid{--cols:2;--gx:0.75rem;gap:0.75rem var(--gx);}}
.main-image-placeholder,.gal{background:var(--foto);}

/* líneas y pie de página alineados con el borde del contenido */
.section-divider{width:calc(100% - 2 * var(--pad));max-width:calc(var(--ancho) - 2 * var(--pad));}
footer .foot-grid,footer .fine-print{max-width:calc(var(--ancho) - 2 * var(--pad));}
.como-pedir{max-width:calc(var(--ancho) - 2 * var(--pad));width:calc(100% - 2 * var(--pad));}
@media (max-width:1127px){
  .nav-links.open{align-items:stretch;}
  .nav-links.open li{width:100%;}
  .nav-links.open a,.nav-links.open button{text-align:left;border-bottom:0;}
}

/* =====================================================================
   Botón flotante: la fursona. Al tocarla se sacude y sube el botón de WhatsApp.
   ===================================================================== */
.fab{position:fixed;right:1.25rem;bottom:1.25rem;z-index:900;display:flex;flex-direction:column;align-items:center;gap:0.75rem;}
.fab-btn{width:4rem;height:4rem;border-radius:50%;border:0;padding:0;background:#fff;display:grid;place-items:center;cursor:pointer;
  box-shadow:0 0.375rem 1.125rem rgba(0,0,0,.38);transition:transform .15s ease;-webkit-tap-highlight-color:transparent;}
.fab-btn img{width:2.625rem;height:2.625rem;display:block;pointer-events:none;}
.fab-btn:hover{transform:scale(1.06);}
.fab-btn:focus-visible,.fab-op:focus-visible{outline:0.1875rem solid var(--texto);outline-offset:0.1875rem;}
.fab-btn.sacude{animation:fab-sacudida .48s ease-in-out;}
@keyframes fab-sacudida{
  0%{transform:rotate(0)} 18%{transform:rotate(16deg)} 36%{transform:rotate(-14deg)}
  54%{transform:rotate(10deg)} 72%{transform:rotate(-6deg)} 88%{transform:rotate(2deg)} 100%{transform:rotate(0)}
}
.fab-opciones{display:flex;flex-direction:column;align-items:center;gap:0.75rem;opacity:0;visibility:hidden;
  transform:translateY(1rem) scale(.7);transform-origin:50% 100%;
  transition:opacity .18s ease,transform .26s cubic-bezier(.2,.9,.3,1.25),visibility 0s linear .26s;}
.fab.abierto .fab-opciones{opacity:1;visibility:visible;transform:none;transition-delay:0s;}
.fab-op{width:3.5rem;height:3.5rem;border-radius:50%;display:grid;place-items:center;background:var(--wa);box-shadow:0 0.375rem 1.125rem rgba(0,0,0,.38);transition:transform .15s ease;}
.fab-op:hover{transform:translateY(-0.125rem);}
.fab-op .ico{width:2rem;height:2rem;color:#fff;}
@media (max-width:828px){
  .fab{right:1rem;bottom:1rem;}
  body.con-barra .fab{bottom:5.75rem;}
}
@media (prefers-reduced-motion:reduce){
  .fab-btn,.fab-op{transition:none;}
  .fab-btn.sacude{animation:none;}
  .fab-opciones{transform:none;transition:opacity .15s ease,visibility 0s linear .15s;}
}

/* la barra de arriba sigue el mismo ancho que el contenido (en pantallas muy anchas el logo y los íconos ya no se van a los bordes) */
.navbar{padding-left:max(var(--pad),calc((100% - var(--ancho)) / 2 + var(--pad)));padding-right:max(var(--pad),calc((100% - var(--ancho)) / 2 + var(--pad)));}

/* tarjetas angostas (celular): la etiqueta "Listo para enviar" pierde el punto y se acomoda en dos líneas */
@container (max-width:230px){
  .listo-tag i{display:none;}
  .listo-tag{padding:0.3rem 0.55rem;font-size:0.65rem;max-width:calc(100cqw - 4.5rem);}
}
@container (max-width:230px){
  .cinta-estrella{font-size:0.6rem;padding:0.3rem 0.45rem;gap:0;white-space:nowrap;max-width:calc(100cqw - 4rem);}
  .cinta-estrella .ico{display:none;}
}
