/*
Theme Name: Mi Dulce Reinado
Theme URI: https://midulcereinado.com.ar
Author: Mi Dulce Reinado
Description: Tema a medida para Mi Dulce Reinado — pastelería creativa para eventos y empresas en La Plata. Incluye la home, las páginas institucionales y la integración con WooCommerce (catálogo, ficha de producto y carrito) con la identidad de la marca.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mdr
Tags: e-commerce, custom-menu, featured-images, translation-ready
*/

/* =========================================================================
   MI DULCE REINADO — Hoja de estilos principal
   Paleta tomada del logo: dorado, rosa empolvado, crema.
   Estructura pensada para pasar a un tema hijo de WordPress:
   cada bloque grande corresponde a una plantilla / patrón reutilizable.
   ========================================================================= */

/* ---------- 1. Tokens ---------- */
:root{
  /* color */
  --crema:        #FBF8F3;
  --crema-2:      #F5EFE6;
  --blanco:       #FFFFFF;
  --tinta:        #2B2521;
  --tinta-2:      #6B6058;
  --tinta-3:      #9A9088;
  --oro:          #C39A3E;
  --oro-claro:    #E3C77E;
  --oro-osc:      #8F6E22;
  --rosa:         #F4E2E5;
  --rosa-2:       #E7C4CB;
  --rosa-osc:     #B9808C;
  --linea:        #E8DFD2;
  --verde-wsp:    #25D366;
  --sombra-sm:    0 1px 2px rgba(43,37,33,.05), 0 4px 12px rgba(43,37,33,.05);
  --sombra:       0 2px 4px rgba(43,37,33,.04), 0 12px 32px rgba(43,37,33,.08);
  --sombra-lg:    0 4px 8px rgba(43,37,33,.05), 0 24px 60px rgba(43,37,33,.12);
  --grad-oro:     linear-gradient(105deg,#B8862B 0%,#E3C77E 32%,#C99B36 58%,#F0DCA8 78%,#A87F26 100%);

  /* tipografía */
  --serif: "Cormorant Garamond", "Iowan Old Style", Georgia, serif;
  --sans:  "Jost", "Avenir Next", "Segoe UI", system-ui, sans-serif;

  /* medidas */
  --ancho: 1200px;
  --ancho-angosto: 760px;
  --r-sm: 4px;
  --r: 8px;
  --r-lg: 18px;
  --nav-h: 76px;
}

/* ---------- 2. Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:calc(var(--nav-h) + 20px)}
body{
  margin:0; background:var(--crema); color:var(--tinta);
  font-family:var(--sans); font-size:16.5px; line-height:1.7;
  font-weight:350; -webkit-font-smoothing:antialiased;
  overflow-x:clip;   /* el panel del carrito vive fuera de pantalla */
}
img{max-width:100%; display:block; height:auto}
a{color:inherit; text-decoration:none}
button{font:inherit; color:inherit; border:0; background:none; cursor:pointer}
input,select,textarea{font:inherit; color:inherit}
h1,h2,h3,h4{font-family:var(--serif); font-weight:500; line-height:1.12; margin:0; letter-spacing:-.01em}
h1{font-size:clamp(2.6rem,6vw,4.4rem)}
h2{font-size:clamp(2rem,4.2vw,3.1rem)}
h3{font-size:clamp(1.35rem,2.2vw,1.75rem)}
h4{font-size:1.1rem; font-family:var(--sans); font-weight:500; letter-spacing:.01em}
p{margin:0 0 1.1em}
p:last-child{margin-bottom:0}
::selection{background:var(--rosa-2); color:var(--tinta)}
:focus-visible{outline:2px solid var(--oro); outline-offset:3px; border-radius:2px}

/* ---------- 3. Utilidades ---------- */
.contenedor{width:100%; max-width:var(--ancho); margin-inline:auto; padding-inline:24px}
.contenedor--angosto{max-width:var(--ancho-angosto)}
.seccion{padding-block:clamp(64px,9vw,120px)}
.seccion--ajustada{padding-block:clamp(48px,6vw,80px)}
.seccion--crema{background:var(--crema-2)}
.seccion--blanca{background:var(--blanco)}
.centrado{text-align:center}
.solo-lectores{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.saltar{position:absolute;left:-9999px;top:0;background:var(--tinta);color:#fff;padding:12px 20px;z-index:999}
.saltar:focus{left:12px;top:12px}

.antetitulo{
  font-size:.72rem; letter-spacing:.26em; text-transform:uppercase;
  color:var(--oro-osc); font-weight:500; margin:0 0 14px;
  display:flex; align-items:center; gap:12px;
}
.antetitulo::after{content:""; flex:1; height:1px; background:var(--linea); max-width:80px}
.centrado .antetitulo{justify-content:center}
.centrado .antetitulo::before{content:""; flex:1; height:1px; background:var(--linea); max-width:80px}

.bajada{font-size:1.08rem; color:var(--tinta-2); max-width:60ch}
.centrado .bajada{margin-inline:auto}
.encabezado-seccion{margin-bottom:clamp(36px,5vw,64px)}

.filete{width:56px; height:2px; background:var(--grad-oro); border:0; margin:22px 0}
.centrado .filete{margin-inline:auto}

/* ---------- 4. Botones ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:14px 30px; border-radius:999px; font-size:.86rem; font-weight:500;
  letter-spacing:.11em; text-transform:uppercase; cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
  border:1px solid transparent; text-align:center; line-height:1.2;
}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn--oro{background:var(--tinta); color:var(--crema); box-shadow:var(--sombra-sm)}
.btn--oro:hover{background:#3d342e; box-shadow:var(--sombra)}
.btn--linea{border-color:var(--tinta); color:var(--tinta)}
.btn--linea:hover{background:var(--tinta); color:var(--crema)}
.btn--claro{border-color:rgba(255,255,255,.6); color:#fff}
.btn--claro:hover{background:#fff; color:var(--tinta)}
.btn--wsp{background:var(--verde-wsp); color:#08331a}
.btn--wsp:hover{background:#1fbb5a}
.btn--bloque{width:100%}
.btn--chico{padding:10px 20px; font-size:.76rem}
.btn[disabled]{opacity:.45; pointer-events:none}
.grupo-btn{display:flex; flex-wrap:wrap; gap:14px}
.centrado .grupo-btn{justify-content:center}

/* ---------- 5. Barra superior + navegación ---------- */
.barra-aviso{
  background:var(--tinta); color:#E9E1D6; font-size:.76rem;
  letter-spacing:.12em; text-transform:uppercase; text-align:center;
  padding:9px 16px;
}
.barra-aviso span{white-space:nowrap; display:inline-block}
.barra-aviso span + span::before{content:"·"; margin:0 12px; color:var(--oro-claro)}
@media (max-width:760px){
  .barra-aviso{font-size:.68rem; letter-spacing:.08em}
  .barra-aviso span:nth-child(n+2){display:none}
}

.cabecera{
  position:sticky; top:0; z-index:80; background:rgba(251,248,243,.92);
  backdrop-filter:blur(12px); border-bottom:1px solid var(--linea);
}
.cabecera__interior{
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  height:var(--nav-h);
}
.marca{display:flex; align-items:center; gap:12px; flex-shrink:0}
.marca img{width:52px; height:52px}
.marca__texto{display:flex; flex-direction:column; line-height:1}
.marca__nombre{font-family:var(--serif); font-size:1.22rem; letter-spacing:.01em}
.marca__rubro{font-size:.56rem; letter-spacing:.3em; text-transform:uppercase; color:var(--oro-osc); margin-top:4px}

.nav{display:flex; align-items:center; gap:30px}
.nav a{
  font-size:.82rem; letter-spacing:.14em; text-transform:uppercase;
  position:relative; padding-block:6px; color:var(--tinta-2); transition:color .18s;
}
.nav a::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1.5px;
  background:var(--grad-oro); transform:scaleX(0); transform-origin:left; transition:transform .25s ease;
}
.nav a:hover{color:var(--tinta)}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav a[aria-current="page"]{color:var(--tinta)}

.acciones-cabecera{display:flex; align-items:center; gap:10px}
.btn-carrito{
  display:flex; align-items:center; gap:9px; padding:10px 18px; border-radius:999px;
  border:1px solid var(--linea); background:var(--blanco); font-size:.78rem;
  letter-spacing:.1em; text-transform:uppercase; transition:border-color .2s, box-shadow .2s;
}
.btn-carrito:hover{border-color:var(--oro-claro); box-shadow:var(--sombra-sm)}
.btn-carrito svg{width:17px; height:17px; stroke:currentColor; fill:none; stroke-width:1.6}
.contador-carrito{
  min-width:20px; height:20px; padding:0 6px; border-radius:999px;
  background:var(--tinta); color:var(--crema); font-size:.68rem; font-weight:500;
  display:inline-flex; align-items:center; justify-content:center; letter-spacing:0;
}
.contador-carrito[data-vacio="1"]{background:var(--linea); color:var(--tinta-3)}

.hamburguesa{display:none; width:44px; height:44px; align-items:center; justify-content:center; border-radius:50%}
.hamburguesa span{display:block; width:20px; height:1.5px; background:var(--tinta); position:relative}
.hamburguesa span::before,.hamburguesa span::after{
  content:""; position:absolute; left:0; width:20px; height:1.5px; background:var(--tinta); transition:transform .25s
}
.hamburguesa span::before{top:-6px} .hamburguesa span::after{top:6px}
.hamburguesa[aria-expanded="true"] span{background:transparent}
.hamburguesa[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.hamburguesa[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}

@media (max-width:600px){
  .contenedor{padding-inline:18px}
  .marca img{width:44px; height:44px}
  .marca__nombre{font-size:1.05rem}
  .marca__rubro{font-size:.5rem; letter-spacing:.22em}
  .btn-carrito{padding:10px 12px}
  :root{--nav-h:68px}
}
@media (max-width:1000px){
  .nav{
    position:fixed; inset:calc(var(--nav-h) + 34px) 0 auto 0; flex-direction:column; gap:0;
    background:var(--crema); border-bottom:1px solid var(--linea); padding:8px 24px 28px;
    align-items:stretch; display:none; max-height:calc(100vh - var(--nav-h)); overflow:auto;
  }
  .nav[data-abierto="1"]{display:flex}
  .nav a{padding:16px 0; border-bottom:1px solid var(--linea); font-size:.95rem}
  .hamburguesa{display:flex}
  .btn-carrito span.etq{display:none}
}

/* ---------- 6. Hero ---------- */
.hero{position:relative; min-height:clamp(520px,78vh,760px); display:flex; align-items:center; overflow:hidden}
.hero__fondo{position:absolute; inset:0; z-index:0}
.hero__fondo img{width:100%; height:100%; object-fit:cover}
.hero__fondo::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(30,25,21,.72) 0%, rgba(30,25,21,.5) 45%, rgba(30,25,21,.15) 100%);
}
.hero__contenido{position:relative; z-index:1; color:#fff; max-width:640px; padding-block:80px}
.hero__contenido .antetitulo{color:var(--oro-claro)}
.hero__contenido .antetitulo::after{background:rgba(255,255,255,.35)}
.hero h1{color:#fff; text-shadow:0 2px 30px rgba(0,0,0,.25)}
.hero__bajada{font-size:1.13rem; color:rgba(255,255,255,.92); margin:24px 0 34px; max-width:52ch}
.hero__pie{display:flex; flex-wrap:wrap; gap:26px; margin-top:44px; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.78)}
.hero__pie li{display:flex; align-items:center; gap:8px; list-style:none}
.hero__pie li::before{content:""; width:5px; height:5px; border-radius:50%; background:var(--oro-claro)}
.hero__pie{padding:0; margin-left:0}

@media (max-width:600px){
  .hero__pie{gap:8px 20px; margin-top:32px; font-size:.7rem}
  .hero__contenido .grupo-btn .btn{flex:1 1 auto}
}
.hero--interno{min-height:clamp(340px,44vh,440px)}
.hero--interno .hero__contenido{padding-block:56px}
.hero--interno h1{font-size:clamp(2.3rem,5vw,3.6rem)}

/* ---------- 7. Doble camino ---------- */
.caminos{display:grid; grid-template-columns:1fr 1fr; gap:28px}
.camino{
  position:relative; overflow:hidden; border-radius:var(--r-lg); min-height:420px;
  display:flex; align-items:flex-end; color:#fff; box-shadow:var(--sombra);
}
.camino img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.2,.6,.2,1)}
.camino::after{content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(28,23,19,.88) 0%, rgba(28,23,19,.35) 55%, rgba(28,23,19,.1) 100%)}
.camino:hover img{transform:scale(1.05)}
.camino__texto{position:relative; z-index:1; padding:36px}
.camino__texto h3{color:#fff; margin-bottom:10px}
.camino__texto p{color:rgba(255,255,255,.85); font-size:.98rem; margin-bottom:18px}
.camino__flecha{display:inline-flex; align-items:center; gap:10px; font-size:.8rem; letter-spacing:.16em; text-transform:uppercase; color:var(--oro-claro)}
.camino__flecha::after{content:"→"; transition:transform .25s}
.camino:hover .camino__flecha::after{transform:translateX(6px)}
@media (max-width:800px){.caminos{grid-template-columns:1fr}.camino{min-height:320px}}

/* ---------- 8. Grillas ---------- */
.grilla{display:grid; gap:28px}
.grilla > *, .duo > *, .paquetes > *, .pasos > *{min-width:0}
.grilla--2{grid-template-columns:repeat(2,1fr)}
.grilla--3{grid-template-columns:repeat(3,1fr)}
.grilla--4{grid-template-columns:repeat(4,1fr)}
@media (max-width:960px){.grilla--4{grid-template-columns:repeat(2,1fr)}.grilla--3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.grilla--2,.grilla--3,.grilla--4{grid-template-columns:1fr}}

.duo{display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,6vw,80px); align-items:center}
.duo--invertido .duo__figura{order:2}
.duo__figura img{border-radius:var(--r-lg); box-shadow:var(--sombra); width:100%; aspect-ratio:4/3.2; object-fit:cover}
@media (max-width:900px){.duo{grid-template-columns:1fr}.duo--invertido .duo__figura{order:0}}

/* ---------- 9. Tarjetas de valor / pasos ---------- */
.valor{background:var(--blanco); border:1px solid var(--linea); border-radius:var(--r-lg); padding:34px 30px; height:100%}
.valor__icono{width:46px; height:46px; margin-bottom:20px; color:var(--oro-osc)}
.valor__icono svg{width:100%; height:100%; stroke:currentColor; fill:none; stroke-width:1.2}
.valor h4{margin-bottom:10px; font-size:1.02rem; letter-spacing:.02em}
.valor p{font-size:.94rem; color:var(--tinta-2)}

.pasos{counter-reset:paso; display:grid; gap:28px; grid-template-columns:repeat(4,1fr)}
.paso{position:relative; padding-top:26px; border-top:1px solid var(--linea)}
.paso::before{
  counter-increment:paso; content:"0" counter(paso);
  font-family:var(--serif); font-size:2.4rem; color:var(--oro-claro); line-height:1; display:block; margin-bottom:14px;
}
.paso h4{margin-bottom:8px}
.paso p{font-size:.93rem; color:var(--tinta-2)}
@media (max-width:900px){.pasos{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.pasos{grid-template-columns:1fr}}

/* ---------- 10. Tarjeta de producto ---------- */
.producto{
  background:var(--blanco); border:1px solid var(--linea); border-radius:var(--r-lg);
  overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .25s, transform .25s, border-color .25s;
}
.producto:hover{box-shadow:var(--sombra); transform:translateY(-3px); border-color:var(--oro-claro)}
.producto__figura{position:relative; aspect-ratio:1/1; overflow:hidden; background:var(--crema-2)}
.producto__figura img{width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.6,.2,1)}
.producto:hover .producto__figura img{transform:scale(1.05)}
.producto__etiqueta{
  position:absolute; top:14px; left:14px; z-index:2; background:rgba(251,248,243,.95);
  color:var(--oro-osc); font-size:.63rem; letter-spacing:.16em; text-transform:uppercase;
  padding:6px 12px; border-radius:999px; font-weight:500;
}
.producto__cuerpo{padding:24px 22px 26px; display:flex; flex-direction:column; flex:1; gap:12px}
.producto__nombre{font-family:var(--serif); font-size:1.34rem; line-height:1.15}
.producto__desc{font-size:.9rem; color:var(--tinta-2); flex:1}
.producto__precio{display:flex; align-items:baseline; gap:7px; margin-top:2px}
.producto__monto{font-family:var(--serif); font-size:1.7rem; color:var(--tinta)}
.producto__unidad{font-size:.78rem; color:var(--tinta-3); letter-spacing:.06em}
.producto__minimo{
  font-size:.74rem; letter-spacing:.06em; color:var(--oro-osc); background:#FAF3E4;
  border:1px solid #EFE0BE; border-radius:var(--r); padding:7px 11px; display:flex; align-items:center; gap:7px;
}
.producto__minimo svg{width:14px;height:14px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.6}
.producto__acciones{display:flex; gap:8px; margin-top:6px}

/* selector de cantidad */
.cantidad{display:flex; align-items:center; border:1px solid var(--linea); border-radius:999px; background:var(--blanco); overflow:hidden; flex-shrink:0}
.cantidad button{width:38px; height:44px; font-size:1.15rem; color:var(--tinta-2); transition:background .15s, color .15s}
.cantidad button:hover{background:var(--crema-2); color:var(--tinta)}
.cantidad button[disabled]{opacity:.3; pointer-events:none}
.cantidad input{
  width:52px; height:44px; text-align:center; border:0; background:transparent;
  font-size:.95rem; font-weight:500; -moz-appearance:textfield;
}
.cantidad input::-webkit-outer-spin-button,.cantidad input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* filtros de catálogo */
.filtros{display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:44px}
.filtro{
  padding:10px 22px; border-radius:999px; border:1px solid var(--linea); background:var(--blanco);
  font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; color:var(--tinta-2);
  transition:all .2s;
}
.filtro:hover{border-color:var(--oro-claro); color:var(--tinta)}
.filtro[aria-pressed="true"]{background:var(--tinta); border-color:var(--tinta); color:var(--crema)}

/* ---------- 10 bis. Sugerencias de cantidad ---------- */
.sugerencia{
  background:var(--blanco); border:1px solid var(--linea); border-radius:var(--r-lg);
  padding:30px 26px; height:100%; text-align:center;
}
.sugerencia__cant{
  font-family:var(--serif); font-size:1.9rem; color:var(--oro-osc);
  line-height:1.1; margin:0 0 12px;
}
.sugerencia h4{margin-bottom:8px; font-size:1rem}
.sugerencia__detalle{font-size:.9rem; color:var(--tinta-2); margin:0}

/* Botón de pedido incompleto */
.btn[aria-disabled="true"]{opacity:.5; pointer-events:none}

/* ---------- 11. Cita / testimonio ---------- */
.cita{
  background:var(--tinta); color:var(--crema); border-radius:var(--r-lg);
  padding:clamp(40px,6vw,72px); text-align:center; position:relative; overflow:hidden;
}
.cita::before{
  content:"“"; position:absolute; top:-30px; left:50%; transform:translateX(-50%);
  font-family:var(--serif); font-size:14rem; color:rgba(227,199,126,.13); line-height:1; pointer-events:none;
}
.cita blockquote{margin:0; position:relative; font-family:var(--serif); font-size:clamp(1.4rem,2.8vw,2.1rem); line-height:1.4; max-width:24ch; margin-inline:auto}
.cita figcaption{margin-top:26px; font-size:.76rem; letter-spacing:.2em; text-transform:uppercase; color:var(--oro-claro)}

.testimonio{background:var(--blanco); border:1px solid var(--linea); border-radius:var(--r-lg); padding:32px 30px; height:100%}
.testimonio__estrellas{color:var(--oro); letter-spacing:.2em; font-size:.85rem; margin-bottom:16px}
.testimonio p{font-family:var(--serif); font-size:1.15rem; line-height:1.5; color:var(--tinta)}
.testimonio cite{display:block; margin-top:18px; font-style:normal; font-size:.78rem; letter-spacing:.13em; text-transform:uppercase; color:var(--tinta-3)}

/* ---------- 13. Galería ---------- */
.galeria{display:grid; grid-template-columns:repeat(6,1fr); gap:12px}
.galeria img{aspect-ratio:1/1; object-fit:cover; border-radius:var(--r); width:100%; transition:transform .5s, filter .5s}
.galeria a:hover img{transform:scale(1.04); filter:brightness(1.04)}
@media (max-width:900px){.galeria{grid-template-columns:repeat(3,1fr)}}
@media (max-width:520px){.galeria{grid-template-columns:repeat(2,1fr)}}

/* ---------- 14. Banda CTA ---------- */
.banda{position:relative; overflow:hidden; color:#fff; text-align:center}
.banda__fondo{position:absolute; inset:0}
.banda__fondo img{width:100%;height:100%;object-fit:cover}
.banda__fondo img{filter:saturate(1.05)}
.banda__fondo::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(24,19,16,.80) 0%, rgba(24,19,16,.56) 50%, rgba(24,19,16,.84) 100%);
}
.banda__contenido{position:relative; z-index:1; padding-block:clamp(64px,9vw,110px)}
.banda h2{color:#fff}
.banda p{color:rgba(255,255,255,.85); max-width:52ch; margin-inline:auto}

/* ---------- 15. FAQ ---------- */
.faq{max-width:820px; margin-inline:auto; border-top:1px solid var(--linea)}
.faq details{border-bottom:1px solid var(--linea)}
.faq summary{
  list-style:none; cursor:pointer; padding:26px 44px 26px 0; position:relative;
  font-family:var(--serif); font-size:1.28rem; line-height:1.3; transition:color .2s;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--oro-osc)}
.faq summary::after{
  content:""; position:absolute; right:8px; top:50%; width:12px; height:12px;
  border-right:1.5px solid var(--oro); border-bottom:1.5px solid var(--oro);
  transform:translateY(-70%) rotate(45deg); transition:transform .25s;
}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details p{padding:0 40px 28px 0; color:var(--tinta-2); font-size:.98rem}
.faq details ul{padding:0 40px 28px 20px; color:var(--tinta-2); font-size:.98rem}

/* ---------- 16. Tabla ---------- */
.tabla-envuelta{overflow-x:auto; border:1px solid var(--linea); border-radius:var(--r-lg); background:var(--blanco)}
table.tabla{width:100%; border-collapse:collapse; min-width:560px; font-size:.94rem}
table.tabla th,table.tabla td{padding:16px 20px; text-align:left; border-bottom:1px solid var(--linea)}
table.tabla th{font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--tinta-3); font-weight:500; background:var(--crema)}
table.tabla tr:last-child td{border-bottom:0}
table.tabla td strong{font-weight:500}

/* ---------- 17. Formularios ---------- */
.formulario{display:grid; gap:18px}
.formulario > *, .fila-campos > *{min-width:0}
.campo{display:flex; flex-direction:column; gap:7px; min-width:0}
.campo input,.campo select,.campo textarea{width:100%; min-width:0}
.campo label{font-size:.76rem; letter-spacing:.14em; text-transform:uppercase; color:var(--tinta-2)}
.campo input,.campo select,.campo textarea{
  padding:14px 16px; border:1px solid var(--linea); border-radius:var(--r);
  background:var(--blanco); font-size:.96rem; transition:border-color .2s, box-shadow .2s;
}
.campo input:focus,.campo select:focus,.campo textarea:focus{
  outline:0; border-color:var(--oro); box-shadow:0 0 0 3px rgba(195,154,62,.14)
}
.campo textarea{resize:vertical; min-height:130px}
.campo__ayuda{font-size:.8rem; color:var(--tinta-3)}
.fila-campos{display:grid; grid-template-columns:1fr 1fr; gap:18px}
@media (max-width:640px){.fila-campos{grid-template-columns:1fr}}

.tarjeta-dato{background:var(--blanco); border:1px solid var(--linea); border-radius:var(--r-lg); padding:30px}
.tarjeta-dato h4{margin-bottom:6px}
.tarjeta-dato p{font-size:.95rem; color:var(--tinta-2)}
.lista-datos{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:20px}
.lista-datos li{display:flex; gap:16px; align-items:flex-start}
.lista-datos svg{width:22px; height:22px; flex-shrink:0; margin-top:3px; stroke:var(--oro-osc); fill:none; stroke-width:1.4}
.lista-datos strong{display:block; font-weight:500; font-size:.95rem}
.lista-datos span{font-size:.92rem; color:var(--tinta-2)}

/* ---------- 19. Ficha de producto ---------- */
.ficha{display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(32px,5vw,64px); align-items:start}
@media (max-width:900px){.ficha{grid-template-columns:1fr}}
.ficha__galeria{display:flex; flex-direction:column; gap:12px}
.ficha__principal{border-radius:var(--r-lg); overflow:hidden; aspect-ratio:1/1; background:var(--crema-2)}
.ficha__principal img{width:100%;height:100%;object-fit:cover}
.ficha__miniaturas{display:grid; grid-template-columns:repeat(4,1fr); gap:12px}
.ficha__miniaturas button{border-radius:var(--r); overflow:hidden; border:1.5px solid transparent; aspect-ratio:1/1}
.ficha__miniaturas button[aria-pressed="true"]{border-color:var(--oro)}
.ficha__miniaturas img{width:100%;height:100%;object-fit:cover}
.migas{font-size:.78rem; color:var(--tinta-3); margin-bottom:18px; letter-spacing:.06em}
.migas a:hover{color:var(--oro-osc)}
.ficha__precio{display:flex; align-items:baseline; gap:9px; margin:16px 0 22px}
.ficha__precio strong{font-family:var(--serif); font-size:2.7rem; font-weight:500}
.ficha__detalles{list-style:none; padding:0; margin:26px 0 0; border-top:1px solid var(--linea)}
.ficha__detalles li{display:flex; justify-content:space-between; gap:20px; padding:13px 0; border-bottom:1px solid var(--linea); font-size:.92rem}
.ficha__detalles li span:first-child{color:var(--tinta-3)}

/* ---------- 20. Pie ---------- */
.pie{background:var(--tinta); color:#CBC1B5; padding-block:70px 0; margin-top:0}
.pie a{color:#CBC1B5; transition:color .2s}
.pie a:hover{color:var(--oro-claro)}
.pie__grilla{display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:40px; padding-bottom:52px}
@media (max-width:900px){.pie__grilla{grid-template-columns:1fr 1fr; gap:36px}}
@media (max-width:560px){.pie__grilla{grid-template-columns:1fr}}
.pie h4{color:#fff; font-size:.74rem; letter-spacing:.2em; text-transform:uppercase; margin-bottom:20px; font-weight:500}
.pie ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:11px; font-size:.92rem}
.pie__marca img{width:78px; margin-bottom:18px}
.pie__marca p{font-size:.92rem; max-width:32ch; line-height:1.7}
.pie__redes{display:flex; gap:12px; margin-top:22px}
.pie__redes a{
  width:40px; height:40px; border:1px solid rgba(255,255,255,.18); border-radius:50%;
  display:flex; align-items:center; justify-content:center; transition:all .2s;
}
.pie__redes a:hover{background:var(--oro); border-color:var(--oro); color:#2B2521}
.pie__redes svg{width:17px; height:17px; stroke:currentColor; fill:none; stroke-width:1.5}
.pie__legal{
  border-top:1px solid rgba(255,255,255,.1); padding-block:26px; display:flex;
  flex-wrap:wrap; gap:16px; justify-content:space-between; font-size:.8rem; color:#8B8177;
}
.pie__legal a{color:#8B8177}

/* ---------- 21. WhatsApp flotante ---------- */
.wsp-flota{
  position:fixed; right:20px; bottom:20px; z-index:70; width:58px; height:58px;
  background:var(--verde-wsp); border-radius:50%; display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 24px rgba(37,211,102,.4); transition:transform .25s;
}
.wsp-flota:hover{transform:scale(1.07)}
.wsp-flota svg{width:30px; height:30px; fill:#fff}
@media (max-width:600px){.wsp-flota{width:52px;height:52px;right:14px;bottom:14px}.wsp-flota svg{width:27px;height:27px}}

/* ---------- 22. Animación de entrada ---------- */
.aparece{opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.6,.2,1)}
.aparece.visible{opacity:1; transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important; transition-duration:.01ms!important; scroll-behavior:auto!important}
  .aparece{opacity:1; transform:none}
}

/* ---------- 23. Impresión ---------- */
@media print{
  .cabecera,.pie,.wsp-flota,.barra-aviso,.panel-carrito,.fondo-oscuro,.btn{display:none!important}
  body{background:#fff; font-size:11pt}
  .seccion{padding-block:18px}
}

/* =========================================================================
   24. WOOCOMMERCE
   Adapta las plantillas por defecto de WooCommerce al diseño del sitio.
   No se sobrescribe ninguna plantilla de Woo: solo se le da estilo, así
   nada se rompe cuando WooCommerce se actualiza.
   ========================================================================= */

/* ---------- 24.1 Grilla de productos ---------- */
.woocommerce ul.products,
.woocommerce-page ul.products{
  display:grid; grid-template-columns:repeat(4,1fr); gap:28px;
  margin:0; padding:0; list-style:none;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{display:none}
@media (max-width:960px){.woocommerce ul.products{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.woocommerce ul.products{grid-template-columns:1fr}}

.woocommerce ul.products li.product{
  width:auto!important; margin:0!important; float:none!important; clear:none!important;
  background:var(--blanco); border:1px solid var(--linea); border-radius:var(--r-lg);
  overflow:hidden; display:flex; flex-direction:column; text-align:left;
  transition:box-shadow .25s, transform .25s, border-color .25s; padding:0;
}
.woocommerce ul.products li.product:hover{
  box-shadow:var(--sombra); transform:translateY(-3px); border-color:var(--oro-claro);
}
.woocommerce ul.products li.product a img{
  margin:0; border-radius:0; aspect-ratio:1/1; object-fit:cover; width:100%;
  transition:transform .6s cubic-bezier(.2,.6,.2,1); box-shadow:none;
}
.woocommerce ul.products li.product:hover a img{transform:scale(1.05)}
.woocommerce ul.products li.product > a:first-of-type{display:block; overflow:hidden; background:var(--crema-2)}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .producto__nombre{
  font-family:var(--serif); font-size:1.34rem; line-height:1.15; font-weight:500;
  padding:24px 22px 0; margin:0; color:var(--tinta);
}
.woocommerce ul.products li.product .price{
  display:block; padding:10px 22px 0; margin:0; color:var(--tinta);
  font-family:var(--serif); font-size:1.7rem; font-weight:500;
}
.woocommerce ul.products li.product .price del{opacity:.4; font-size:1rem}
.woocommerce ul.products li.product .price ins{text-decoration:none}
.woocommerce ul.products li.product .mdr-unidad{
  font-family:var(--sans); font-size:.78rem; color:var(--tinta-3); letter-spacing:.06em;
}
.woocommerce ul.products li.product .mdr-minimo{margin:12px 22px 0}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{
  margin:16px 22px 24px; display:inline-flex; align-items:center; justify-content:center;
  padding:12px 22px; border-radius:999px; background:var(--tinta); color:var(--crema);
  font-size:.76rem; font-weight:500; letter-spacing:.11em; text-transform:uppercase;
  transition:transform .18s, background .18s; line-height:1.2;
}
.woocommerce ul.products li.product .button:hover{background:#3d342e; transform:translateY(-2px)}
.woocommerce ul.products li.product .added_to_cart{
  background:transparent; color:var(--oro-osc); border:1px solid var(--linea); margin-top:0;
}
.woocommerce ul.products li.product .onsale{
  position:absolute; top:14px; left:14px; background:rgba(251,248,243,.95); color:var(--oro-osc);
  font-size:.63rem; letter-spacing:.16em; text-transform:uppercase; padding:6px 12px;
  border-radius:999px; font-weight:500; min-height:0; line-height:1.4; margin:0;
}

/* ---------- 24.2 Ficha de producto ---------- */
.woocommerce div.product{display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(32px,5vw,64px); align-items:start}
@media (max-width:900px){.woocommerce div.product{grid-template-columns:1fr}}

.woocommerce div.product .woocommerce-product-gallery{width:100%!important; float:none!important; margin:0}
.woocommerce div.product .woocommerce-product-gallery__wrapper img{border-radius:var(--r-lg)}
.woocommerce div.product .flex-control-thumbs{display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:12px}
.woocommerce div.product .flex-control-thumbs li{width:auto; float:none; margin:0}
.woocommerce div.product .flex-control-thumbs img{border-radius:var(--r); aspect-ratio:1/1; object-fit:cover; opacity:.6}
.woocommerce div.product .flex-control-thumbs img.flex-active,
.woocommerce div.product .flex-control-thumbs img:hover{opacity:1}

.woocommerce div.product .summary{width:100%!important; float:none!important; margin:0}
.woocommerce div.product .product_title{
  font-family:var(--serif); font-weight:500; font-size:clamp(2rem,4vw,2.9rem);
  line-height:1.12; margin:0 0 4px; padding:0;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  color:var(--tinta); font-family:var(--serif); font-size:2.7rem; font-weight:500;
  margin:14px 0 18px; line-height:1;
}
.woocommerce div.product p.price .mdr-unidad{font-family:var(--sans); font-size:.9rem; color:var(--tinta-3)}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--tinta-2); margin-bottom:8px}

.woocommerce div.product form.cart{margin:26px 0 0; display:flex; flex-wrap:wrap; gap:10px; align-items:stretch}
.woocommerce div.product form.cart .button{
  flex:1; min-width:200px; border-radius:999px; background:var(--tinta); color:var(--crema);
  padding:14px 30px; font-size:.86rem; font-weight:500; letter-spacing:.11em; text-transform:uppercase;
  transition:transform .18s, background .18s;
}
.woocommerce div.product form.cart .button:hover{background:#3d342e; transform:translateY(-2px)}

/* Pestañas de la ficha */
.woocommerce div.product .woocommerce-tabs{grid-column:1/-1; margin-top:20px}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0 0 0 0; margin:0 0 24px}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-bottom-color:var(--linea)}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:transparent; border:0; border-radius:0; padding:0; margin:0 26px 0 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--tinta-3);
  padding:14px 0; font-weight:500;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--tinta); border-bottom:2px solid var(--oro)}
.woocommerce div.product .woocommerce-tabs .panel h2{display:none}
.woocommerce div.product .woocommerce-tabs .panel{color:var(--tinta-2); max-width:70ch}

/* Relacionados y upsells */
.woocommerce .related, .woocommerce .upsells{grid-column:1/-1; margin-top:clamp(48px,6vw,80px)}
.woocommerce .related > h2, .woocommerce .upsells > h2{
  font-family:var(--serif); font-size:clamp(1.6rem,3vw,2.2rem); font-weight:500; margin-bottom:32px;
}

/* ---------- 24.3 Selector de cantidad ---------- */
.woocommerce .quantity{display:inline-flex; align-items:center; border:1px solid var(--linea); border-radius:999px; background:var(--blanco); overflow:hidden}
.woocommerce .quantity .qty{
  width:74px; height:52px; text-align:center; border:0; background:transparent;
  font-size:.98rem; font-weight:500; -moz-appearance:textfield; padding:0;
}
.woocommerce .quantity .qty::-webkit-outer-spin-button,
.woocommerce .quantity .qty::-webkit-inner-spin-button{opacity:1; height:52px}

/* ---------- 24.4 Filtros de categoría ---------- */
.filtros a.filtro{text-decoration:none}

/* ---------- 24.5 Carrito ---------- */
.woocommerce table.shop_table{
  border:1px solid var(--linea); border-radius:var(--r-lg); border-collapse:separate;
  border-spacing:0; overflow:hidden; background:var(--blanco); font-size:.94rem;
}
.woocommerce table.shop_table th{
  font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--tinta-3);
  font-weight:500; background:var(--crema); padding:16px 20px;
}
.woocommerce table.shop_table td{padding:18px 20px; border-top:1px solid var(--linea)}
.woocommerce table.shop_table img{width:60px; border-radius:var(--r)}
.woocommerce a.remove{color:var(--tinta-3)!important; font-weight:400}
.woocommerce a.remove:hover{background:var(--rosa); color:var(--rosa-osc)!important}

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals{width:100%; float:none}
.woocommerce .cart_totals h2{
  font-family:var(--serif); font-size:1.4rem; font-weight:500; margin-bottom:18px;
}
.woocommerce .cart_totals table.shop_table{font-size:.95rem}
.woocommerce .cart_totals .order-total .amount{font-family:var(--serif); font-size:1.7rem; font-weight:500}
@media (min-width:900px){
  .woocommerce-cart .woocommerce{display:grid; grid-template-columns:1.6fr 1fr; gap:clamp(28px,4vw,48px); align-items:start}
  .woocommerce-cart .woocommerce > form.woocommerce-cart-form{grid-column:1}
  .woocommerce-cart .woocommerce > .cart-collaterals{grid-column:2; width:100%}
  .woocommerce-cart .woocommerce > .woocommerce-notices-wrapper{grid-column:1/-1}
}

/* ---------- 24.6 Botones de WooCommerce ---------- */
.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit{
  background:var(--tinta); color:var(--crema); border-radius:999px; padding:14px 30px;
  font-size:.82rem; font-weight:500; letter-spacing:.11em; text-transform:uppercase;
  border:1px solid transparent; transition:transform .18s, background .18s; line-height:1.2;
}
.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover{background:#3d342e; color:var(--crema); transform:translateY(-2px)}
.woocommerce .button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt{background:var(--tinta); color:var(--crema)}
.woocommerce .button.alt:hover{background:#3d342e; color:var(--crema)}
.woocommerce a.button.wc-backward{background:transparent; color:var(--tinta); border-color:var(--tinta)}
.woocommerce a.button.wc-backward:hover{background:var(--tinta); color:var(--crema)}
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled]{opacity:.4; padding:14px 30px}

/* ---------- 24.7 Checkout ---------- */
.woocommerce-checkout .col2-set{display:grid; grid-template-columns:1fr; gap:0}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2{width:100%; float:none}
.woocommerce form .form-row{padding:0; margin:0 0 16px; display:flex; flex-direction:column}
.woocommerce form .form-row label{
  font-size:.76rem; letter-spacing:.14em; text-transform:uppercase; color:var(--tinta-2); margin-bottom:7px;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single{
  padding:14px 16px; border:1px solid var(--linea); border-radius:var(--r);
  background:var(--blanco); font-size:.96rem; height:auto; line-height:1.4;
  transition:border-color .2s, box-shadow .2s;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{
  outline:0; border-color:var(--oro); box-shadow:0 0 0 3px rgba(195,154,62,.14);
}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered{line-height:1.4; padding:0}
.woocommerce-checkout h3,
.woocommerce-billing-fields h3{font-family:var(--serif); font-size:1.5rem; font-weight:500; margin:32px 0 20px}
#order_review_heading{font-family:var(--serif); font-size:1.5rem; font-weight:500; margin:40px 0 20px}
.woocommerce-checkout #payment{background:var(--crema-2); border:1px solid var(--linea); border-radius:var(--r-lg)}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--linea); padding:22px}
.woocommerce-checkout #payment div.payment_box{background:var(--blanco); border:1px solid var(--linea); border-radius:var(--r); font-size:.92rem}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce-checkout #payment div.form-row{padding:22px}
#mdr-campos-extra{margin-top:28px; padding-top:28px; border-top:1px solid var(--linea)}
#mdr-campos-extra h3{margin-top:0}

/* ---------- 24.8 Avisos ---------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments{
  border-top:0; border-radius:var(--r); padding:16px 20px 16px 52px; font-size:.92rem;
  background:#FAF3E4; border:1px solid #EFE0BE; color:var(--oro-osc); line-height:1.5;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before{top:16px; left:20px; color:currentColor}
.woocommerce-message{background:#EDF7F0; border-color:#C9E5D3; color:#2C6B45}
.woocommerce-error{background:#FDF0F1; border-color:#F2D3D7; color:#9B4650}
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button{padding:9px 18px; font-size:.72rem}
.woocommerce-notices-wrapper:not(:empty){margin-bottom:28px}

/* ---------- 24.9 Varios ---------- */
.woocommerce .woocommerce-breadcrumb{display:none}
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{display:none}
.woocommerce nav.woocommerce-pagination ul{border:0; margin-top:40px}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  border-radius:999px; padding:10px 16px; font-size:.86rem; color:var(--tinta-2);
}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--tinta); color:var(--crema)}
.woocommerce .star-rating{display:none}
.woocommerce-store-notice{background:var(--tinta); color:var(--crema)}

/* Contenido cargado desde el editor de WordPress */
.contenido h2{margin:40px 0 14px}
.contenido h3{margin:32px 0 12px}
.contenido ul,.contenido ol{color:var(--tinta-2); padding-left:20px}
.contenido li{margin-bottom:8px}
.contenido a{color:var(--oro-osc); text-decoration:underline}
.contenido img{border-radius:var(--r-lg); margin:24px 0}
.contenido table{width:100%; border-collapse:collapse; margin:24px 0}
.contenido th,.contenido td{padding:12px 16px; border-bottom:1px solid var(--linea); text-align:left}

/* Barra de administración: que no tape la cabecera fija */
body.admin-bar .cabecera{top:32px}
@media (max-width:782px){body.admin-bar .cabecera{top:46px}}


/* ---------- 25. Ajustes del menú de WordPress ---------- */
.nav li{list-style:none; margin:0; padding:0; display:contents}
@supports not (display:contents){ .nav li{display:inline-block} }
.nav ul{list-style:none; margin:0; padding:0; display:contents}


/* ---------- 27. Bloques de WooCommerce (carrito y pago nuevos) ---------- */
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout{--wp--preset--color--contrast:var(--tinta)}
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button{
  background:var(--tinta)!important; color:var(--crema)!important; border-radius:999px!important;
  font-family:var(--sans)!important; font-size:.86rem!important; font-weight:500!important;
  letter-spacing:.11em!important; text-transform:uppercase!important; padding:16px 30px!important;
  border:0!important; transition:background .18s, transform .18s;
}
.wc-block-components-button:not(.is-link):hover{background:#3d342e!important; transform:translateY(-2px)}
.wc-block-components-button__text{color:inherit!important}

/* Sin cupones: no se usan */
.wc-block-components-totals-coupon{display:none!important}

/* Tipografía y líneas dentro de los bloques */
.wc-block-components-product-name{font-family:var(--serif)!important; font-size:1.15rem!important; color:var(--tinta)!important}
.wc-block-components-totals-item__label{color:var(--tinta-2)}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-family:var(--serif); font-weight:500}
.wc-block-cart-items__header{font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--tinta-3)}
.wc-block-components-sidebar-layout .wc-block-components-sidebar{background:var(--blanco); border:1px solid var(--linea); border-radius:var(--r-lg); padding:26px}
.wc-block-components-notice-banner{border-radius:var(--r)!important}


/* ---------- 26. Ajustes finos del catálogo ---------- */
.woocommerce ul.products li.product .producto__desc{font-size:.9rem; color:var(--tinta-2); padding:10px 22px 0; margin:0}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{margin-top:auto}
.woocommerce ul.products li.product .price{padding-top:14px}

/* ---------- 28. Correcciones de los bloques ---------- */
/* El botón de cerrar un aviso NO lleva el estilo de botón principal */
.wc-block-components-notice-banner button.wc-block-components-notice-banner__dismiss,
.wc-block-components-notice-banner__dismiss{
  background:transparent!important; color:inherit!important; padding:4px!important;
  border-radius:50%!important; min-width:0!important; width:auto!important; box-shadow:none!important;
}

/* Sin subrayado en los botones de bloque */
.wc-block-components-button:not(.is-link),
.wc-block-components-button:not(.is-link) *{text-decoration:none!important}

/* El importe del envío no se muestra: la condición la explica el rótulo,
   y el costo real se acuerda por WhatsApp. Evita el “GRATIS” engañoso. */
.wc-block-components-totals-shipping .wc-block-components-totals-item__value{display:none!important}
.wc-block-components-totals-shipping .wc-block-components-totals-item__description{
  color:var(--tinta-2); font-size:.86rem; margin-top:2px;
}


/* ---------- 29. Ficha de producto: orden de la grilla ---------- */
/* Las migas ocupan toda la fila; si no, se comen la primera celda
   y desordenan la galería y el resumen. */
.woocommerce div.product > .migas{grid-column:1 / -1; margin-bottom:4px}
.woocommerce div.product > .woocommerce-product-gallery{grid-column:1; grid-row:2}
.woocommerce div.product > .summary{grid-column:2; grid-row:2}
@media (max-width:900px){
  .woocommerce div.product > .woocommerce-product-gallery,
  .woocommerce div.product > .summary{grid-column:1; grid-row:auto}
}

/* Miniaturas de la galería a tamaño real */
.woocommerce div.product .flex-control-thumbs li{width:auto!important; float:none!important; margin:0!important}
.woocommerce div.product .flex-control-thumbs img{width:100%!important}


/* ---------- 30. Botón de WhatsApp en la ficha ---------- */
/* Es una acción secundaria: va con contorno, no en sólido como el de compra. */
.woocommerce div.product a.mdr-wsp.button{
  background:transparent!important; color:var(--tinta)!important;
  border:1px solid var(--tinta)!important; margin-top:12px;
}
.woocommerce div.product a.mdr-wsp.button:hover{
  background:var(--tinta)!important; color:var(--crema)!important;
}

/* El selector de cantidad, a la misma altura que el botón */
.woocommerce div.product form.cart .quantity .qty{height:56px}


/* ---------- 31. Checkout clásico ---------- */
/* Sin cupones: no se usan en este negocio. */
.woocommerce-form-coupon-toggle,
.woocommerce form.checkout_coupon{display:none!important}

/* El bloque de datos del pedido (fecha, franja, factura) bien separado */
#mdr-campos-extra{margin-top:32px; padding-top:28px; border-top:1px solid var(--linea)}
#mdr-campos-extra h3{margin-top:0}

/* Métodos de envío legibles */
.woocommerce ul#shipping_method li{margin-bottom:8px}
.woocommerce ul#shipping_method label{font-size:.95rem}
