/* ==========================================================================
   Botanical Atelier — Marina's Jungle Gems
   Paleta del logo: oliva profundo, crema, rosa empolvado y oro viejo.
   ========================================================================== */

:root{
  --oliva:        #333d28;
  --oliva-hondo:  #232b1c;
  --oliva-negro:  #171d12;
  --crema:        #f7f2e9;
  --crema-2:      #efe7d9;
  --papel:        #fffdf8;
  --rosa:         #c98b90;
  --rosa-tinta:   #a4595f;
  --rosa-suave:   #f3e2e2;
  --vino:         #6e3f44;
  --vino-hondo:   #5a3236;
  --oro:          #a98d54;
  --oro-claro:    #cdb277;

  --tinta:        #232b1c;
  --tinta-suave:  #6d7261;
  --verde-claro:  #dde3d2;
  --verde-niebla: #edf0e6;
  --terracota:    #b96a4b;
  --borde:        #e6ddcb;

  --sombra:       0 1px 2px rgba(23,29,18,.05), 0 12px 34px rgba(23,29,18,.08);
  --sombra-alta:  0 28px 80px rgba(23,29,18,.2);
  --radio:        18px;
  --radio-s:      12px;
  --ancho:        1220px;

  --fs-hero:  clamp(2.5rem, 6vw, 4.8rem);
  --fs-h2:    clamp(1.8rem, 3.4vw, 2.8rem);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--tinta);
  background:var(--crema);
  -webkit-font-smoothing:antialiased;
  line-height:1.65;
  font-size:16.5px;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--rosa-tinta);text-decoration:none}
a:hover{text-decoration:underline}
::selection{background:var(--rosa);color:#fff}

h1,h2,h3,h4{
  font-family:'Fraunces',Georgia,serif;font-weight:550;line-height:1.08;
  margin:0 0 .5em;letter-spacing:-.015em;color:var(--tinta);
}
h1{font-size:var(--fs-hero)}
h2{font-size:var(--fs-h2)}
h3{font-size:1.35rem}

.contenedor{max-width:var(--ancho);margin:0 auto;padding:0 24px}
.centrado{text-align:center}
.saltar{position:absolute;left:-9999px}
.saltar:focus{left:16px;top:16px;z-index:200;background:var(--papel);padding:12px 18px;border-radius:10px}

.etiqueta{
  display:inline-flex;align-items:center;gap:10px;margin-bottom:22px;
  padding:8px 18px;border-radius:999px;font-size:.7rem;font-weight:700;
  letter-spacing:.24em;text-transform:uppercase;
  background:rgba(255,255,255,.55);border:1px solid rgba(164,89,95,.35);color:var(--rosa-tinta);
}

/* ==========================================================================
   CABECERA
   ========================================================================== */
.cabecera{
  position:sticky;top:0;z-index:80;
  background:rgba(247,242,233,.9);
  backdrop-filter:saturate(160%) blur(18px);
  -webkit-backdrop-filter:saturate(160%) blur(18px);
  border-bottom:1px solid rgba(230,221,203,.8);
  transition:box-shadow .3s;
}
.cabecera.flotando{box-shadow:0 12px 44px rgba(23,29,18,.1)}
.cabecera-fila{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:92px}

.marca{display:flex;align-items:center;gap:14px;color:var(--vino)}
.marca:hover{text-decoration:none}
.marca-logo{width:82px;height:82px;object-fit:contain;border-radius:50%;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.marca:hover .marca-logo{transform:rotate(-5deg) scale(1.04)}
.marca strong{display:block;font-family:'Fraunces',serif;font-size:1.28rem;letter-spacing:-.01em}
.marca small{display:block;font-size:.64rem;color:var(--rosa-tinta);letter-spacing:.3em;text-transform:uppercase;font-weight:650}

.nav{display:flex;align-items:center;gap:2px}
.nav li,.pie li{list-style:none;margin:0;padding:0;display:contents}
.nav a{
  position:relative;padding:10px 13px;font-size:.78rem;font-weight:650;white-space:nowrap;
  letter-spacing:.1em;text-transform:uppercase;color:var(--tinta);transition:color .2s;
}
.nav a:hover{text-decoration:none;color:var(--rosa-tinta)}
.nav a:not(.nav-carrito)::after{
  content:"";position:absolute;left:13px;right:13px;bottom:4px;height:1.5px;
  background:var(--rosa);transform:scaleX(0);transform-origin:left;transition:transform .25s;
}
.nav a:not(.nav-carrito):hover::after{transform:scaleX(1)}
.nav .current-menu-item a,.nav a.activo{color:var(--rosa-tinta)}
.nav .current-menu-item a::after{transform:scaleX(1)}

.nav-carrito{
  display:flex;align-items:center;gap:9px;margin-left:10px;border-radius:999px;
  background:var(--rosa-tinta);color:#fdf6f3 !important;padding:12px 20px;
  box-shadow:0 8px 22px rgba(35,43,28,.28);
  transition:transform .18s,box-shadow .2s,background .2s;
}
.nav-carrito:hover{background:var(--vino);transform:translateY(-1px)}
.globo{
  display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 6px;
  background:var(--rosa);color:#fff;border-radius:999px;font-size:.72rem;font-weight:800;
}
.globo.vacio{background:rgba(255,255,255,.16);color:#ded9c8}

.menu-check,.menu-boton{display:none}

/* Cinta de anuncios */
.cinta-anuncios{
  background:var(--rosa);color:#fdf6f3;overflow:hidden;white-space:nowrap;
  border-bottom:1px solid rgba(255,255,255,.12);
  font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;
}
.cinta-anuncios .tira{display:inline-flex;animation:marquesina 40s linear infinite;padding:10px 0}
.cinta-anuncios span{display:inline-flex;align-items:center;gap:10px;padding:0 28px}
.cinta-anuncios i{font-style:normal;color:rgba(255,255,255,.7)}
@keyframes marquesina{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ==========================================================================
   PORTADA
   ========================================================================== */
.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(85% 70% at 12% 8%, rgba(201,139,144,.30), transparent 55%),
    radial-gradient(70% 60% at 92% 88%, rgba(169,141,84,.14), transparent 60%),
    linear-gradient(160deg,#f8ece8 0%, #f4e0de 55%, #f8efe6 100%);
  color:var(--tinta);padding:96px 0 110px;
}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .04 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
}
.hero::after{
  content:"";position:absolute;inset:-10%;opacity:.12;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'%3E%3Cg fill='none' stroke='%23c9b9a0' stroke-width='1.1'%3E%3Cpath d='M40 190c0-60 30-105 75-126'/%3E%3Cpath d='M115 64c-27 9-51 36-60 78M115 64c21 18 30 51 21 90'/%3E%3Cpath d='M185 205c-9-45 3-84 27-108'/%3E%3C/g%3E%3C/svg%3E");
  animation:deriva 70s linear infinite;
}
@keyframes deriva{from{transform:translate3d(0,0,0)}to{transform:translate3d(-220px,-220px,0)}}

.hero-rejilla{position:relative;z-index:2;display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center}
.hero h1{color:var(--vino);margin-bottom:.18em;text-wrap:balance}
.hero .lema-cursiva{
  font-family:'Fraunces',serif;font-style:italic;font-weight:400;
  font-size:clamp(1.3rem,2.6vw,2rem);color:var(--rosa-tinta);margin:0 0 26px;
}
.hero .entradilla{font-size:1.12rem;color:#7d6a63;max-width:50ch;margin:0 0 34px;line-height:1.75}
.hero-botones{display:flex;gap:12px;flex-wrap:wrap}
.punto-vivo{width:8px;height:8px;border-radius:50%;background:#8fae6a;box-shadow:0 0 0 0 rgba(143,174,106,.7);animation:latido 2.2s infinite}
@keyframes latido{
  0%{box-shadow:0 0 0 0 rgba(143,174,106,.6)}
  70%{box-shadow:0 0 0 12px rgba(143,174,106,0)}
  100%{box-shadow:0 0 0 0 rgba(143,174,106,0)}
}

.hero-datos{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;align-items:start;margin-top:44px;border-top:1px solid rgba(164,89,95,.18)}
.hero-dato{padding:22px 34px 0 0}
.hero-dato + .hero-dato{border-left:1px solid rgba(164,89,95,.18);padding-left:34px}
.hero-dato span{
  display:block;font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;
  color:#ab7f79;font-weight:650;margin-bottom:4px;
}
.hero-dato strong,.hero-dato strong .woocommerce-Price-amount{
  font-family:'Fraunces',serif;font-size:1.85rem;color:var(--vino);font-weight:550;
  white-space:nowrap;
}

/* Tarjeta destacada */
.premio-tarjeta{
  position:relative;display:block;background:var(--papel);border-radius:24px;overflow:hidden;
  box-shadow:0 34px 90px rgba(110,63,68,.28);color:var(--tinta);text-decoration:none;
  transform:perspective(1200px) rotateY(-4deg) rotateX(2deg);
  transition:transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s;
}
.premio-tarjeta:hover{
  text-decoration:none;
  transform:perspective(1200px) rotateY(0) rotateX(0) translateY(-6px);
  box-shadow:0 46px 110px rgba(110,63,68,.34);
}
.premio-tarjeta .foto{aspect-ratio:4/3.1;background:var(--crema-2);position:relative;overflow:hidden}
.premio-tarjeta .foto img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.premio-tarjeta:hover .foto img{transform:scale(1.05)}
.premio-tarjeta .cinta{
  position:absolute;top:18px;left:18px;z-index:2;
  background:var(--crema);color:var(--rosa-tinta);
  padding:7px 16px;border-radius:999px;font-size:.66rem;font-weight:800;
  letter-spacing:.2em;text-transform:uppercase;box-shadow:0 6px 18px rgba(0,0,0,.22);
}
.premio-tarjeta .cuerpo{padding:26px 28px 30px;background:var(--papel)}
.premio-tarjeta h3{margin-bottom:8px;font-size:1.5rem}
.premio-tarjeta .resumen-corto{margin:0 0 10px;color:var(--tinta-suave);font-size:.92rem}
.valor,.valor .woocommerce-Price-amount{font-weight:700;color:var(--rosa-tinta);font-size:1.06rem}

.sin-foto{
  width:100%;height:100%;min-height:180px;display:grid;place-items:center;color:transparent;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23c98b90' stroke-width='2.4' opacity='.45' stroke-linecap='round'%3E%3Cpath d='M60 104V52'/%3E%3Cpath d='M60 58c-16-2-28-14-30-30 16 2 28 14 30 30z'/%3E%3Cpath d='M60 74c16-2 28-14 30-30-16 2-28 14-30 30z'/%3E%3C/g%3E%3C/svg%3E") center/56px no-repeat,
    linear-gradient(135deg,var(--rosa-suave),var(--crema-2));
}

/* ==========================================================================
   BLOQUES
   ========================================================================== */
.seccion{padding:96px 0}
.seccion-clara{background:var(--crema-2)}
.seccion-cabecera{max-width:68ch;margin:0 auto 52px;text-align:center}
.seccion-cabecera p{color:var(--tinta-suave);font-size:1.05rem;line-height:1.75}
.seccion-cabecera h1::after,.seccion-cabecera h2::after{
  content:"";display:block;width:52px;height:2px;margin:22px auto 0;
  background:linear-gradient(90deg,var(--rosa),var(--oro-claro));border-radius:2px;
}

.tarjeta{
  background:var(--papel);border:1px solid var(--borde);border-radius:var(--radio);
  padding:30px;box-shadow:var(--sombra);
}

html.js .revelar{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
html.js .revelar.visible{opacity:1;transform:none}
.cabecera.flotando{box-shadow:0 6px 24px rgba(31,37,27,.08)}
@media (prefers-reduced-motion:reduce){
  html.js .revelar{opacity:1;transform:none;transition:none}
  .hero::after,.cinta-anuncios .tira{animation:none}
}

/* Clasificados grandes de la tienda */
.clasificados{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:26px 0 42px}
.clasificado{
  display:flex;flex-direction:column;gap:3px;padding:26px 30px;
  background:var(--papel);border:1.5px solid var(--borde);border-radius:var(--radio);
  box-shadow:var(--sombra);text-decoration:none;
  transition:transform .25s cubic-bezier(.2,.8,.2,1),border-color .25s,box-shadow .25s;
}
.clasificado:hover{text-decoration:none;transform:translateY(-3px);border-color:var(--rosa);box-shadow:var(--sombra-alta)}
.clasificado .icono{font-size:1.7rem;line-height:1}
.clasificado .nombre{font-family:'Fraunces',serif;font-size:1.6rem;font-weight:550;color:var(--vino);margin-top:6px}
.clasificado .detalle{color:var(--tinta-suave);font-size:.9rem}
.clasificado.activo{border-color:var(--rosa-tinta);background:var(--rosa-suave)}
@media (max-width:760px){
  .clasificados{gap:12px;margin:18px 0 30px}
  .clasificado{padding:18px 18px}
  .clasificado .nombre{font-size:1.25rem}
  .clasificado .detalle{font-size:.78rem}
}

/* ==========================================================================
   BOTONES  (incluye los de WooCommerce)
   ========================================================================== */
.boton,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.wp-element-button{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:16px 30px;border-radius:999px;border:1.5px solid transparent;
  font-family:'Inter',sans-serif;font-weight:700;font-size:.82rem;
  letter-spacing:.14em;text-transform:uppercase;line-height:1;
  cursor:pointer;text-decoration:none;
  background:var(--rosa-tinta);color:#fdf6f3;
  box-shadow:0 12px 30px rgba(164,89,95,.32);
  transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .22s,background .22s,color .2s;
}
.boton:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover{
  text-decoration:none;transform:translateY(-2px);
  background:var(--vino);color:#fff;
  box-shadow:0 18px 40px rgba(110,63,68,.4);
}
.boton:active{transform:translateY(0) scale(.98)}
.boton-principal{background:var(--rosa-tinta);color:#fdf6f3}
.boton-claro{background:var(--papel);border-color:var(--borde);color:var(--tinta);box-shadow:none}
.boton-claro:hover{background:var(--papel);border-color:var(--rosa);color:var(--rosa-tinta)}
.boton-oscuro{background:var(--rosa);color:#fff;box-shadow:0 12px 30px rgba(201,139,144,.4)}
.boton-oscuro:hover{background:var(--rosa-tinta)}
.boton-fantasma{background:transparent;border-color:rgba(164,89,95,.4);color:var(--rosa-tinta);box-shadow:none}
.boton-fantasma:hover{background:transparent;border-color:var(--rosa-tinta);color:var(--vino)}
.boton-ancho{width:100%}
.woocommerce a.button.disabled,.woocommerce button.button:disabled{
  background:var(--borde);color:var(--tinta-suave);box-shadow:none;cursor:not-allowed;
}

/* ==========================================================================
   WOOCOMMERCE — catálogo
   ========================================================================== */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{margin-bottom:26px;color:var(--tinta-suave);font-size:.9rem}
.woocommerce .woocommerce-ordering select{
  padding:11px 14px;border:1.5px solid var(--borde);border-radius:var(--radio-s);
  background:var(--papel);font-family:'Inter',sans-serif;font-size:.92rem;color:var(--tinta);
}

.woocommerce ul.products{
  display:grid !important;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:28px;margin:0;padding:0;list-style:none;
}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none !important}
.woocommerce ul.products li.product{
  width:auto !important;margin:0 !important;float:none !important;
  background:var(--papel);border:1px solid var(--borde);border-radius:var(--radio);
  overflow:hidden;box-shadow:var(--sombra);text-align:left;
  display:flex;flex-direction:column;
  transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s;
}
.woocommerce ul.products li.product:hover{transform:translateY(-6px);box-shadow:var(--sombra-alta)}
.woocommerce ul.products li.product a img{
  margin:0;width:100%;aspect-ratio:1;object-fit:cover;
  transition:transform .9s cubic-bezier(.2,.8,.2,1);
}
.woocommerce ul.products li.product:hover a img{transform:scale(1.07)}
.woocommerce ul.products li.product > a{display:block;overflow:hidden}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2{
  font-family:'Fraunces',serif !important;font-size:1.12rem !important;font-weight:550;
  margin:0 !important;padding:16px 20px 4px !important;color:var(--tinta);
}
.woocommerce ul.products li.product .price{
  color:var(--rosa-tinta) !important;font-weight:700;font-size:1.05rem;
  padding:0 20px 14px;margin:0;display:block;
}
.woocommerce ul.products li.product .price del{color:var(--tinta-suave);opacity:.6;font-weight:400}
.woocommerce ul.products li.product .price ins{text-decoration:none}
.woocommerce ul.products li.product .marca-incluido,
.woocommerce ul.products li.product .marca-diferencia{margin:16px 20px 0}
.woocommerce ul.products li.product .button{
  margin:auto 20px 20px;font-size:.72rem;padding:13px 18px;
}
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale{
  background:var(--rosa);color:#fff;border-radius:999px;font-weight:800;
  font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
  padding:7px 14px;min-height:0;min-width:0;line-height:1;top:14px;left:14px;margin:0;
}
.woocommerce ul.products li.product .woocommerce-loop-product__link:hover{text-decoration:none}

.marca-incluido{
  display:inline-block;background:var(--rosa-tinta);color:#fdf0ec;font-size:.62rem;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;padding:5px 12px;border-radius:999px;
}
.marca-diferencia{
  display:inline-block;background:var(--rosa-suave);color:var(--rosa-tinta);font-size:.62rem;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;padding:5px 12px;border-radius:999px;
}

/* ==========================================================================
   WOOCOMMERCE — ficha de producto
   ========================================================================== */
.woocommerce div.product{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:start}
.woocommerce div.product div.images{width:auto !important;float:none !important;margin:0 !important}
.woocommerce div.product div.images img{border-radius:var(--radio);box-shadow:var(--sombra)}
.woocommerce div.product div.summary{width:auto !important;float:none !important;margin:0 !important}
.woocommerce div.product .product_title{font-size:clamp(1.9rem,3.4vw,2.8rem);margin:10px 0 12px}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  color:var(--rosa-tinta) !important;font-size:1.7rem;font-weight:700;margin:0 0 22px;
}
.woocommerce div.product .woocommerce-product-details__short-description{
  color:var(--tinta-suave);line-height:1.8;margin-bottom:26px;
}
.woocommerce div.product form.cart{margin:0 0 22px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.woocommerce div.product form.cart div.quantity{margin:0}
.woocommerce .quantity input.qty{
  width:74px;padding:14px 10px;border:1.5px solid var(--borde);border-radius:var(--radio-s);
  background:var(--papel);font-size:1rem;text-align:center;color:var(--tinta);
}
.woocommerce div.product form.cart .button{flex:1;min-width:220px}
.woocommerce div.product .product_meta{font-size:.85rem;color:var(--tinta-suave);border-top:1px dashed var(--borde);padding-top:16px}
.ficha-confianza{margin-top:22px}
.woocommerce div.product .stock{color:var(--rosa-tinta);font-weight:600}
.woocommerce div.product .stock.out-of-stock{color:var(--terracota)}

/* 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;margin:0 0 22px;border-bottom:1px solid var(--borde)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:transparent;border:0;border-radius:0;margin:0 22px 0 0;padding: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{
  padding:12px 0;font-family:'Inter',sans-serif;font-weight:700;font-size:.78rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-suave);
  border-bottom:2px solid transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--rosa-tinta);border-bottom-color:var(--rosa)}
.woocommerce div.product .woocommerce-tabs .panel h2{font-size:1.3rem}

/* Productos relacionados */
.woocommerce .related,.woocommerce .upsells{grid-column:1/-1;margin-top:60px}
.woocommerce .related > h2,.woocommerce .upsells > h2{
  font-size:var(--fs-h2);text-align:center;margin-bottom:34px;
}

/* ==========================================================================
   WOOCOMMERCE — cesta y pago
   ========================================================================== */
.woocommerce table.shop_table{
  border:1px solid var(--borde);border-radius:var(--radio);background:var(--papel);
  border-collapse:separate;border-spacing:0;overflow:hidden;box-shadow:var(--sombra);
}
.woocommerce table.shop_table th{
  background:var(--rosa-tinta);color:#fdf0ec;font-family:'Inter',sans-serif;
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:16px;
}
.woocommerce table.shop_table td{padding:16px;border-top:1px solid var(--borde)}
.woocommerce table.shop_table img{width:64px;border-radius:10px}
.woocommerce-cart table.cart td.actions .coupon .input-text{
  padding:13px 15px;border:1.5px solid var(--borde);border-radius:var(--radio-s);width:auto;
}
.woocommerce .cart_totals h2,.woocommerce-checkout h3{font-size:1.4rem}
.woocommerce-cart .cart-collaterals .cart_totals table{margin-bottom:20px}

.woocommerce form .form-row{padding:0;margin:0 0 18px}
.woocommerce form .form-row label{
  display:block;font-size:.84rem;font-weight:650;margin-bottom:7px;color:var(--tinta);
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection--single{
  width:100%;padding:13px 15px !important;height:auto !important;
  border:1.5px solid var(--borde) !important;border-radius:var(--radio-s) !important;
  font-family:'Inter',sans-serif;font-size:.97rem;background:var(--papel);color:var(--tinta);
  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:none;border-color:var(--rosa) !important;box-shadow:0 0 0 4px rgba(201,139,144,.16);
}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:1.6;padding-left:0}
.select2-container--default .select2-selection--single .select2-selection__arrow{top:12px}

.woocommerce-checkout #payment{background:var(--papel);border:1px solid var(--borde);border-radius:var(--radio)}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--borde);padding:20px}
.woocommerce-checkout #payment div.form-row{padding:20px}
.woocommerce-checkout #payment ul.payment_methods li{
  border:1.5px solid var(--borde);border-radius:var(--radio-s);padding:14px 16px;margin-bottom:10px;
  background:var(--papel);transition:border-color .2s,box-shadow .2s;list-style:none;
}
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked){
  border-color:var(--rosa-tinta);box-shadow:0 0 0 3px rgba(201,139,144,.18);
}
.woocommerce-checkout #payment div.payment_box{background:var(--verde-niebla);border-radius:var(--radio-s)}
.woocommerce-checkout #payment div.payment_box::before{display:none}

.woocommerce-info,.woocommerce-message,.woocommerce-error,.woocommerce-noreviews{
  display:flex;gap:14px;align-items:center;flex-wrap:wrap;
  padding:18px 20px;border-radius:var(--radio-s);border:1px solid;font-size:.93rem;margin:0 0 24px;
}
.woocommerce-info{background:var(--rosa-suave);border-color:#e8cdcd;color:var(--vino)}
.woocommerce-message{background:var(--rosa-suave);border-color:#e8cdcd;color:var(--vino)}
.woocommerce-error{background:#fdeceb;border-color:#f3c8c4;color:#8f3131;list-style:none}
.woocommerce-info::before,.woocommerce-message::before,.woocommerce-error::before{display:none}
.woocommerce-info .button,.woocommerce-message .button{margin-left:auto}

.woocommerce ul.order_details{
  background:var(--papel);border:1px solid var(--borde);border-radius:var(--radio);
  padding:24px;display:flex;flex-wrap:wrap;gap:26px;box-shadow:var(--sombra);
}
.woocommerce ul.order_details li{border:0;margin:0;padding:0;float:none;list-style:none;
  font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-suave)}
.woocommerce ul.order_details li strong{
  display:block;font-family:'Fraunces',serif;font-size:1.2rem;text-transform:none;
  letter-spacing:0;color:var(--tinta);margin-top:4px;
}

/* ==========================================================================
   PASOS Y AVISOS
   ========================================================================== */
.pasos{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:34px;margin-top:26px}
.paso{position:relative;padding:30px 22px 22px;background:var(--papel);border:1px solid var(--borde);border-radius:var(--radio);box-shadow:var(--sombra)}
.paso .n{
  position:absolute;top:-20px;left:20px;
  width:44px;height:44px;border-radius:14px;display:grid;place-items:center;
  background:var(--rosa);color:#fff;
  font-family:'Fraunces',serif;font-size:1.25rem;font-weight:700;
  box-shadow:0 10px 22px rgba(164,89,95,.3);
}
.paso h3{font-size:1.08rem;margin:8px 0 8px}
.paso p{margin:0;color:var(--tinta-suave);font-size:.93rem}

.aviso{
  display:flex;gap:14px;padding:18px 20px;border-radius:var(--radio-s);
  background:#fdf4e0;border:1px solid #eedcb2;color:#7a5b19;font-size:.93rem;margin:20px 0;
}
.aviso.verde{background:var(--rosa-suave);border-color:#e8cdcd;color:var(--vino)}
.aviso.rojo{background:#fdeceb;border-color:#f3c8c4;color:#8f3131}

/* ==========================================================================
   BLOG
   ========================================================================== */
.entradas-rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:28px}
.entrada-tarjeta{
  background:var(--papel);border:1px solid var(--borde);border-radius:var(--radio);
  overflow:hidden;box-shadow:var(--sombra);transition:transform .3s,box-shadow .3s;
}
.entrada-tarjeta:hover{transform:translateY(-6px);box-shadow:var(--sombra-alta)}
.entrada-tarjeta a{color:inherit;text-decoration:none}
.entrada-tarjeta .foto{aspect-ratio:16/10;overflow:hidden;background:var(--crema-2)}
.entrada-tarjeta .foto img{width:100%;height:100%;object-fit:cover}
.entrada-tarjeta .cuerpo{padding:20px 22px 24px}
.entrada-tarjeta h4{font-family:'Fraunces',serif;font-size:1.14rem;margin:0 0 8px}
.entrada-tarjeta p{margin:0;color:var(--tinta-suave);font-size:.92rem}
.entrada-fecha{color:var(--tinta-suave);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase}
.entrada-portada img{border-radius:var(--radio);margin:22px 0}
.paginacion{margin-top:40px;text-align:center}
.paginacion .page-numbers{
  display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 12px;
  border-radius:12px;border:1.5px solid var(--borde);margin:0 3px;background:var(--papel);
  font-weight:650;font-size:.9rem;
}
.paginacion .page-numbers.current{background:var(--rosa-tinta);color:#fdf0ec;border-color:var(--rosa-tinta)}

/* ==========================================================================
   PROSA
   ========================================================================== */
.prosa{max-width:76ch;margin:0 auto}
.prosa h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:.4em}
.prosa h2{margin-top:2.2em;font-size:1.7rem}
.prosa h3{margin-top:1.8em}
.prosa ul,.prosa ol{padding-left:1.1em}
.prosa li{margin-bottom:.45em}
.prosa table{width:100%;border-collapse:collapse;background:var(--papel);border-radius:var(--radio-s);overflow:hidden;box-shadow:var(--sombra);margin:1.4em 0}
.prosa th,.prosa td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--borde);font-size:.92rem}
.prosa th{background:var(--rosa-tinta);color:#fdf0ec;font-weight:600}
.prosa blockquote{
  border-left:3px solid var(--rosa);padding-left:20px;margin-left:0;
  font-family:'Fraunces',serif;font-style:italic;color:var(--tinta-suave);
}

/* ==========================================================================
   PIE
   ========================================================================== */
.pie{
  position:relative;background:var(--vino-hondo);color:#dcbcb6;padding:80px 0 30px;margin-top:110px;overflow:hidden;
}
.pie::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:radial-gradient(60% 50% at 85% 10%, rgba(201,139,144,.22), transparent 60%);
}
.pie-rejilla{position:relative;display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:44px}
.pie h4{color:var(--oro-claro);font-family:'Inter',sans-serif;font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;margin-bottom:16px}
.pie a{display:block;color:#dcbcb6;font-size:.94rem;padding:5px 0;transition:color .2s,transform .2s}
.pie a.red-social{display:inline-flex;align-items:center;gap:9px}
.pie a.red-social svg{flex:none}
.pie a:hover{color:#fff;text-decoration:none;transform:translateX(3px)}
.pie-marca{
  display:flex;align-items:center;gap:12px;
  font-family:'Fraunces',serif;font-size:1.35rem;color:#fbf8f0;margin:0 0 10px;
}
.pie-marca img{border-radius:50%}
.pie-texto{font-size:.94rem;max-width:44ch;margin:0;line-height:1.75}
.pie-fino{
  position:relative;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,.1);margin-top:48px;padding-top:24px;
  font-size:.82rem;color:#bb928d;
}
.pie ul{list-style:none;margin:0;padding:0}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1020px){
  .hero-rejilla{grid-template-columns:1fr;gap:44px}
  .premio-tarjeta{transform:none}
  .woocommerce div.product{grid-template-columns:1fr;gap:32px}
  .pie-rejilla{grid-template-columns:1fr 1fr}
  .seccion{padding:72px 0}
}
@media (max-width:760px){
  .cabecera-fila{min-height:76px}
  .marca-logo{width:52px;height:52px}
  .marca strong{font-size:1.02rem}
  .marca small{font-size:.56rem;letter-spacing:.2em}

  .menu-boton{
    display:block;width:44px;height:44px;border:1px solid var(--borde);border-radius:13px;
    background:var(--papel);position:relative;cursor:pointer;
  }
  .menu-boton span,.menu-boton span::before,.menu-boton span::after{
    content:"";position:absolute;left:12px;width:20px;height:2px;background:var(--tinta);border-radius:2px;
    transition:transform .25s,top .25s;
  }
  .menu-boton span{top:21px}
  .menu-boton span::before{top:-6px;left:0}
  .menu-boton span::after{top:6px;left:0}
  .menu-check:checked + .menu-boton span{background:transparent}
  .menu-check:checked + .menu-boton span::before{top:0;transform:rotate(45deg)}
  .menu-check:checked + .menu-boton span::after{top:0;transform:rotate(-45deg)}

  .nav{
    display:none;position:absolute;top:76px;left:0;right:0;flex-direction:column;align-items:stretch;
    background:rgba(247,242,233,.97);backdrop-filter:blur(18px);
    border-bottom:1px solid var(--borde);padding:12px 18px 22px;gap:2px;
    box-shadow:0 30px 60px rgba(23,29,18,.14);
  }
  .menu-check:checked ~ .nav{display:flex;animation:despliega .3s cubic-bezier(.2,.8,.2,1)}
  @keyframes despliega{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
  .nav a{padding:13px 15px;border-radius:12px}
  .nav a:not(.nav-carrito)::after{display:none}
  .nav-carrito{justify-content:space-between;margin:8px 0 0}

  .hero{padding:64px 0 72px}
  .hero-dato{padding:18px 16px 0 0}
  .hero-dato + .hero-dato{padding-left:16px}
  .hero-dato span{font-size:.58rem;letter-spacing:.18em}
  .hero-dato strong,.hero-dato strong .woocommerce-Price-amount{font-size:1.3rem}

  .seccion{padding:56px 0}
  .seccion-cabecera{margin-bottom:38px}
  .pie-rejilla{grid-template-columns:1fr}
  .woocommerce ul.products{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:.98rem !important;padding:12px 14px 4px !important}
  .woocommerce ul.products li.product .price{padding:0 14px 12px;font-size:.95rem}
  .woocommerce ul.products li.product .button{margin:auto 14px 14px;font-size:.66rem;padding:11px 12px}
  .woocommerce ul.products li.product .marca-incluido,
  .woocommerce ul.products li.product .marca-diferencia{margin:12px 14px 0;font-size:.56rem}
  .woocommerce div.product form.cart .button{min-width:0}
  .woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:12px 10px;font-size:.88rem}
}
