/*
Theme Name:   Llaguno Boutique Child
Theme URI:
Description:  Child theme de Llaguno Boutique sobre el tema padre de WooCommerce.
Author:       Llaguno Boutique
Template:     shoptimizer
Version:      0.9.1
Text Domain:  llaguno-boutique-child
*/

:root{
  --ink:#241B22;
  --dark-bg:#211720;
  --ivory:#F5ECE3;
  --ivory-alt:#EFE2D6;
  --wine:#6E2036;
  --wine-deep:#4E1526;
  --gold:#C6A15B;
  --gold-light:#E4CFA0;
  --blush:#E9D6CE;
  --charcoal:#332821;
  --line: rgba(198,161,91,0.35);
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter', sans-serif;
  color:var(--charcoal);
  background:var(--ivory);
  -webkit-font-smoothing:antialiased;
}
img,svg{display:block; max-width:100%;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1180px; margin:0 auto; padding:0 28px;}

/* red de seguridad tipográfica: los controles de formulario no heredan la fuente del body
   por defecto del navegador, así que Elementor filtra su IBM Plex Sans ahí si no se fija explícitamente */
button, input, select, textarea{ font-family:'Inter', sans-serif !important; }

/* red de seguridad tipográfica ampliada: el kit global de Elementor aplica IBM Plex Sans
   directamente a estos elementos (no por herencia), así que gana aunque el body ya sea Inter.
   Se excluyen h1/h2/h3/.display a propósito: esos títulos principales conservan Fraunces. */
body, p, span, div, a, li, ul, ol, td, th, label, small, strong, b, em, i, blockquote,
h4, h5, h6, dt, dd, figcaption, address{
  font-family:'Inter', sans-serif !important;
}
/* dentro de un título principal, el énfasis (ej. "elegancia y significado" en cursiva del hero)
   debe seguir en Fraunces: esta regla es más específica que la de arriba, así que gana. */
h1 em, h1 strong, h1 b, h1 i,
h2 em, h2 strong, h2 b, h2 i,
h3 em, h3 strong, h3 b, h3 i,
.display em, .display strong, .display b, .display i{
  font-family:'Fraunces', serif !important;
}

/* alineación de texto en botones: centrado perfecto en todo el sitio, sin depender de line-height */
.btn, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce-page .price_slider_amount .button,
.woocommerce ul.products li.product .button,
.woocommerce-cart table.cart td.actions .button, .woocommerce-cart table.cart td.actions input[type="submit"],
.woocommerce div.product form.cart button, .woocommerce div.product form.cart input[type="submit"],
.woocommerce div.product form.cart a.button, .woocommerce div.product .single_add_to_cart_button,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button, .woocommerce-checkout #place_order,
.shoptimizer-sticky-add-to-cart .variable-grouped-sticky.button, .shoptimizer-sticky-add-to-cart a.button{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  line-height:normal !important; height:auto !important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button, .woocommerce-checkout #place_order{
  width:100% !important;
}

h1,h2,h3,.display{
  font-family:'Fraunces', serif !important;
  font-weight:500;
  letter-spacing:-0.01em;
  color:inherit;
}
.eyebrow{
  font-family:'Inter', sans-serif;
  font-size:12px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--wine);
}
.eyebrow.on-dark{ color:var(--wine); }

/* ---------- top utility bar ---------- */
.utility{
  background:var(--wine-deep); color:var(--blush);
  font-size:12px; letter-spacing:0.03em;
}
.utility .wrap{
  display:flex; justify-content:space-between; align-items:center;
  padding-top:8px; padding-bottom:8px; gap:12px; flex-wrap:wrap;
}
.utility a{opacity:0.9;}
.utility a:hover{opacity:1; text-decoration:underline;}

/* ---------- header ---------- */
header{
  background:var(--ivory);
  border-bottom:1px solid var(--line);
  position:sticky; top:0; z-index:50;
}
.nav-row{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 0;
}
.logo{
  display:flex; align-items:center; gap:12px;
}
.logo .mark{
  width:42px; height:42px; border-radius:50%;
  border:1.5px solid var(--gold);
  display:flex; align-items:center; justify-content:center;
  font-family:'Fraunces', serif !important; font-style:italic; font-size:19px; color:var(--wine);
}
.logo .word{
  font-family:'Fraunces', serif !important; font-size:22px; letter-spacing:0.01em;
  color:var(--ink) !important;
}
.logo .word small{
  display:block; font-family:'Inter',sans-serif; font-size:10px; letter-spacing:0.22em;
  color:var(--wine) !important; font-weight:600; margin-top:1px;
}
nav.primary{
  display:flex; gap:34px; font-size:14px; font-weight:500;
}
nav.primary a{ position:relative; padding:4px 0; color:var(--ink) !important; }
nav.primary a::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:1px;
  background:var(--wine); transform:scaleX(0); transition:transform .2s ease;
}
nav.primary a:hover::after{ transform:scaleX(1); }
.nav-icons{ display:flex; align-items:center; gap:18px; }
.icon-btn{ width:20px; height:20px; cursor:pointer; }

@media (max-width:880px){
  nav.primary{ display:none; }
}

/* ---------- hero ---------- */
.hero{
  background:radial-gradient(ellipse at 50% -10%, var(--blush) 0%, var(--ivory-alt) 55%, var(--ivory) 100%);
  color:var(--ink);
  text-align:center;
  padding:96px 24px 80px;
  position:relative;
}
.hero .mono{
  width:74px; height:74px; margin:0 auto 26px;
  border:1px solid var(--gold); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:'Fraunces',serif !important; font-style:italic; font-size:30px; color:var(--gold-light);
}
.hero h1{
  font-size:clamp(34px, 6vw, 64px);
  line-height:1.08;
  max-width:820px; margin:22px auto 0;
  font-weight:400;
}
.hero h1 em{ font-style:italic; color:var(--wine); font-weight:400; }
.hero p.sub{
  max-width:520px; margin:22px auto 0; font-size:16px; line-height:1.7; color:#6b5c50;
}
.hero .ctas{
  display:flex; gap:16px; justify-content:center; margin:36px 0 0; flex-wrap:wrap;
}
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:13px 26px; font-size:13px; letter-spacing:0.06em; text-transform:uppercase;
  font-weight:600; border-radius:2px; cursor:pointer; border:1px solid transparent;
  transition:background-color .2s ease, border-color .2s ease, color .2s ease;
}
.btn-gold{ background:var(--gold); color:var(--ink); }
.btn-gold:hover{ background:var(--gold-light); }
.btn-outline-light{ border-color:var(--wine); color:var(--wine); }
.btn-outline-light:hover{ background:var(--wine); color:var(--ivory); }
.btn-outline-dark{ border-color:var(--wine); color:var(--wine); }
.btn-outline-dark:hover{ background:var(--wine); color:var(--ivory); }

.hero-image-placeholder{
  margin:56px auto 0; max-width:1180px; width:100%;
  aspect-ratio:16/9;
  background:
    repeating-linear-gradient(135deg, rgba(198,161,91,0.14) 0 2px, transparent 2px 16px),
    linear-gradient(160deg, var(--blush), var(--ivory-alt));
  border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center;
}
.hero-image-placeholder-label{
  font-family:'Inter', sans-serif; font-size:12px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--wine); background:#fff; padding:10px 22px; border:1px solid var(--gold);
}

@media (max-width:700px){
  .hero-image-placeholder{ aspect-ratio:4/5; margin-top:40px; }
}

/* ---------- scallop divider ---------- */
.scallop-wrap{ line-height:0; }
.scallop-wrap svg{ width:100%; height:22px; display:block; }

/* ---------- section shells ---------- */
section{ padding:64px 0; }
.section-head{ text-align:center; max-width:600px; margin:0 auto 36px; }
.section-head h2{ font-size:clamp(26px,5vw,40px); margin-top:12px; }
.section-head p{ margin-top:14px; color:#6b5c50; font-size:15px; line-height:1.7; }

@media (min-width:768px){
  section{ padding:88px 0; }
  .section-head{ margin-bottom:52px; }
}

/* ---------- ocasiones ---------- */
.occ-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.occ-card{
  display:block; background:#fff; border:1px solid var(--line);
  padding:26px 14px 22px; text-align:center;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.occ-card:hover{
  transform:translateY(-5px); border-color:var(--gold);
  box-shadow:0 16px 28px -18px rgba(78,21,38,0.25);
}
.occ-card .badge{
  width:52px; height:52px; margin:0 auto 14px; border-radius:50%;
  background:var(--ivory-alt); display:flex; align-items:center; justify-content:center;
}
.occ-card .badge svg{ width:24px; height:24px; stroke:var(--wine); }
.occ-card span{ font-size:13px; font-weight:600; color:var(--ink) !important; }

@media (min-width:600px){ .occ-grid{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:900px){ .occ-grid{ grid-template-columns:repeat(6,1fr); } }

/* ---------- productos ---------- */
.prod-grid{ display:grid; grid-template-columns:1fr; gap:22px; }
.prod-card{
  background:#fff; border:1px solid var(--line);
  transition:transform .25s ease, box-shadow .25s ease;
}
.prod-card:hover{
  transform:translateY(-5px); box-shadow:0 18px 30px -18px rgba(78,21,38,0.25);
}
.prod-img{
  aspect-ratio:3/4; position:relative; overflow:hidden; display:block;
  background:linear-gradient(150deg,var(--blush),var(--ivory-alt));
}
.prod-img img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  transition:transform .3s ease;
}
.prod-card:hover .prod-img img{ transform:scale(1.05); }
.prod-body{ padding:16px 16px 18px; }
.prod-body .cat{ font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:#a08a6f; }
.prod-body h3{ font-family:'Inter', sans-serif !important; font-size:16px; margin-top:4px; font-weight:600; }
.prod-body h3 a{ color:var(--ink) !important; }
.prod-body .price{ margin-top:6px; font-size:15px; color:var(--wine); font-weight:600; }
.prod-body .wa{
  margin-top:12px; display:inline-flex; align-items:center; gap:6px;
  font-size:12px; font-weight:600; color:#2f7a4d; letter-spacing:0.02em;
}
.prod-body .wa svg{ width:14px; height:14px; }

@media (min-width:520px){ .prod-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:920px){ .prod-grid{ grid-template-columns:repeat(4,1fr); } }

/* ---------- story ---------- */
.story{ background:var(--ivory-alt); }
.story-grid{ display:grid; grid-template-columns:1fr; gap:36px; align-items:center; }
.frame{
  aspect-ratio:4/5; background:linear-gradient(155deg,#3c2a3a,#241a24);
  border:8px solid #fff; outline:1px solid var(--gold);
  position:relative; box-shadow:0 30px 60px -30px rgba(36,27,34,0.4);
}
.frame svg{ position:absolute; inset:0; margin:auto; width:40%; opacity:0.8; }
.story-text h2{ font-size:clamp(24px,5vw,36px); margin-top:10px; }
.story-text p{ margin-top:18px; line-height:1.8; color:#5c4d42; font-size:15px; }
.story-text .quote{
  margin-top:26px; padding-left:20px; border-left:2px solid var(--gold);
  font-family:'Inter', sans-serif !important; font-style:italic; font-size:17px; color:var(--wine);
}

@media (min-width:820px){ .story-grid{ grid-template-columns:1fr 1fr; gap:64px; } }

/* ---------- sucursales ---------- */
.branches{ background:var(--ivory-alt); color:var(--ink); }
.branch-grid{ display:grid; grid-template-columns:1fr; gap:20px; margin-top:10px; }
.branch-card{
  border:1px solid var(--line); padding:30px; background:#fff;
  transition:transform .25s ease, box-shadow .25s ease;
}
.branch-card:hover{ transform:translateY(-4px); box-shadow:0 16px 30px -18px rgba(78,21,38,0.2); }
.branch-card .pin{ width:30px; height:30px; margin-bottom:16px; }
.branch-card .pin svg{ stroke:var(--wine); width:100%; height:100%; }
.branch-card h3{ font-family:'Inter', sans-serif !important; font-size:19px; font-weight:600; }
.branch-card .status{
  display:inline-block; margin-top:6px; font-size:10px; letter-spacing:0.1em; text-transform:uppercase;
  padding:3px 9px; border:1px solid var(--gold); color:var(--wine);
}
.branch-card .addr{ margin-top:16px; font-size:14px; color:#5c4d42; line-height:1.8; }
.branch-card .hours{ margin-top:14px; font-size:13px; color:#6b5c50; }

@media (min-width:760px){ .branch-grid{ grid-template-columns:1fr 1fr; } }

/* ---------- trust strip ---------- */
.trust{ background:var(--wine-deep); color:var(--blush); }
.trust .wrap{ display:grid; grid-template-columns:1fr 1fr; gap:24px; text-align:center; padding:44px 28px; }
.trust-item svg{ width:26px; height:26px; margin:0 auto 12px; stroke:var(--gold-light); }
.trust-item span{ font-size:13px; display:block; line-height:1.5; }

@media (min-width:760px){ .trust .wrap{ grid-template-columns:repeat(4,1fr); } }

/* ---------- testimonios ---------- */
.testi-grid{ display:grid; grid-template-columns:1fr; gap:24px; }
.testi-card{
  background:#fff; border:1px solid var(--line); padding:30px 26px;
  transition:transform .25s ease, box-shadow .25s ease;
}
.testi-card:hover{ transform:translateY(-5px); box-shadow:0 16px 28px -18px rgba(78,21,38,0.2); }
.stars{ color:var(--gold); font-size:14px; letter-spacing:2px; }
.testi-card p.q{ font-family:'Inter', sans-serif !important; font-style:italic; font-size:15px; margin-top:14px; line-height:1.6; }
.testi-card .who{ margin-top:16px; font-size:13px; font-weight:600; color:var(--wine); }

@media (min-width:820px){ .testi-grid{ grid-template-columns:repeat(3,1fr); } }

/* ---------- cta band ---------- */
.cta-band{
  background:radial-gradient(ellipse at 50% 0%, var(--blush), var(--ivory-alt));
  color:var(--ink); text-align:center; padding:80px 24px;
}
.cta-band h2{ font-size:clamp(24px,5vw,38px); }
.cta-band p{ margin-top:14px; color:#6b5c50; max-width:480px; margin-left:auto; margin-right:auto; }
.cta-band .ctas{ margin-top:30px; display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* ---------- footer ---------- */
footer{ background:var(--ivory-alt); color:#5c4d42; padding:56px 0 28px; font-size:13px; border-top:1px solid var(--line); }
.foot-grid{ display:grid; grid-template-columns:1fr 1fr; gap:32px; }
footer h4{ color:var(--ink); font-size:12px; letter-spacing:0.1em; text-transform:uppercase; margin-bottom:16px; font-weight:600; }
footer ul{ list-style:none; }
footer li{ margin-bottom:9px; }
footer a{ color:#5c4d42 !important; }
footer a:hover{ color:var(--wine) !important; }

.social-icons{ display:flex; gap:10px; margin-top:4px; }
.social-icons a{
  width:36px; height:36px; border-radius:50%; border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; color:var(--wine) !important;
  transition:border-color .2s ease, background-color .2s ease;
}
.social-icons a:hover{ border-color:var(--gold); background:var(--blush); }
.social-icons svg{ width:16px; height:16px; }
.foot-bottom{
  margin-top:50px; padding-top:24px; border-top:1px solid var(--line);
  display:flex; flex-direction:column; gap:12px; font-size:12px; color:#8a7a6d;
}

@media (min-width:760px){
  .foot-grid{ grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; }
  .foot-bottom{ flex-direction:row; justify-content:space-between; }
}

/* ---------- botón flotante de whatsapp ---------- */
.wa-float{
  position:fixed; bottom:22px; right:22px; z-index:60;
  width:54px; height:54px; border-radius:50%; background:#25D366;
  display:flex; align-items:center; justify-content:center; box-shadow:0 10px 24px rgba(0,0,0,0.25);
}
.wa-float svg{ width:26px; height:26px; fill:#fff; }

/* ---------- WooCommerce: tienda, categorías y producto ---------- */
.woocommerce, .woocommerce-page{
  font-family:'Inter', sans-serif; color:var(--charcoal);
}

.woocommerce-page .page-title,
.woocommerce-page h1.entry-title,
.woocommerce-products-header__title{
  font-family:'Fraunces', serif !important; font-weight:500; color:var(--ink);
}

.woocommerce .woocommerce-result-count{ color:#6b5c50; font-size:14px; }
.woocommerce .woocommerce-ordering select{
  border:1px solid var(--line); border-radius:2px; padding:9px 14px;
  font-family:'Inter',sans-serif; font-size:13px; background:#fff; color:var(--charcoal);
}

/* widgets de la barra lateral */
.woocommerce-page .widget-title,
.woocommerce-page .widget_price_filter h3,
.woocommerce-page .widget_product_categories h3,
.woocommerce-page .widget h2,
.woocommerce-page .widget h3{
  font-family:'Fraunces', serif; font-weight:500; font-size:17px; color:var(--ink); margin-bottom:16px;
}
.woocommerce-page .widget_product_categories ul li a{ color:var(--charcoal); font-size:14px; }
.woocommerce-page .widget_product_categories ul li a:hover{ color:var(--wine); }
.woocommerce-page .price_slider_amount .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit{
  background:var(--gold); color:var(--ink); border:none; border-radius:2px;
  font-size:12px; letter-spacing:0.06em; text-transform:uppercase; font-weight:600;
  padding:11px 22px; transition:background-color .2s ease;
}
.woocommerce-page .price_slider_amount .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover{ background:var(--gold-light); color:var(--ink); }
.woocommerce-page .ui-slider .ui-slider-range{ background:var(--gold); }
.woocommerce-page .ui-slider .ui-slider-handle{ background:var(--wine); border-color:var(--wine); }

/* cuadrícula de productos */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  background:#fff; border:1px solid var(--line); padding-bottom:16px;
}
.woocommerce ul.products li.product img{ border-radius:0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:'Inter', sans-serif; font-size:15px; font-weight:600; color:var(--ink);
  padding:0 14px; margin-top:14px;
}
.woocommerce ul.products li.product .price{
  color:var(--wine); font-weight:600; font-size:15px; padding:0 14px; margin-top:6px;
}
.woocommerce ul.products li.product .button{
  margin:14px 14px 0; width:calc(100% - 28px);
}
.woocommerce span.onsale{
  background:var(--wine); color:var(--ivory); font-family:'Inter',sans-serif;
  font-size:11px; letter-spacing:0.04em; font-weight:600;
}

/* producto individual */
.woocommerce div.product .product_title{ font-family:'Inter', sans-serif !important; font-weight:600; color:var(--ink); }
.woocommerce div.product p.price, .woocommerce div.product span.price{ color:var(--wine); font-size:22px; font-weight:600; }
.woocommerce-tabs .tabs li a{ font-family:'Inter',sans-serif; color:var(--charcoal); }
.woocommerce-tabs .tabs li.active a{ color:var(--wine); }
.related.products > h2{ font-family:'Fraunces', serif !important; color:var(--ink); }

/* tipografía de contenido: corrige fuentes ajenas (ej. IBM Plex Sans de Elementor) sin tocar iconos */
.woocommerce-tabs, .woocommerce-Tabs-panel,
.woocommerce-tabs p, .woocommerce-tabs li, .woocommerce-tabs table,
.woocommerce-Tabs-panel p, .woocommerce-Tabs-panel li,
.woocommerce-product-details__short-description,
.woocommerce-product-details__short-description p,
.entry-content, .entry-content p, .entry-content li,
.elementor-widget-container, .elementor-widget-container p, .elementor-widget-container li,
.comment-content, .comment-content p{
  font-family:'Inter', sans-serif !important;
  color:var(--charcoal);
  line-height:1.7;
}
.woocommerce-Tabs-panel h2, .entry-content h2, .elementor-widget-container h2,
.woocommerce-Tabs-panel h3, .entry-content h3, .elementor-widget-container h3{
  font-family:'Fraunces', serif !important;
  color:var(--ink);
}

/* formulario de compra: cantidad + botón agregar al carrito */
.woocommerce div.product form.cart{ margin-top:24px; }
.woocommerce div.product form.cart .quantity{ margin-right:12px; }
.woocommerce div.product form.cart .qty{
  border:1px solid var(--line) !important; border-radius:2px; padding:12px; font-family:'Inter',sans-serif;
  height:auto; background:#fff;
}
.woocommerce div.product form.cart button,
.woocommerce div.product form.cart input[type="submit"],
.woocommerce div.product form.cart a.button,
.woocommerce div.product .single_add_to_cart_button{
  background:var(--gold) !important; color:var(--ink) !important; border:none !important;
  border-radius:2px; letter-spacing:0.06em; text-transform:uppercase; font-weight:600; font-size:13px;
  padding:14px 30px; box-shadow:none !important;
}
.woocommerce div.product form.cart button:hover,
.woocommerce div.product form.cart input[type="submit"]:hover,
.woocommerce div.product form.cart a.button:hover,
.woocommerce div.product .single_add_to_cart_button:hover{
  background:var(--gold-light) !important; color:var(--ink) !important;
}

/* pestañas de descripción / reseñas */
.woocommerce-tabs ul.tabs{ border-bottom:1px solid var(--line); }
.woocommerce-tabs ul.tabs li{ background:none !important; border:none !important; }
.woocommerce-tabs ul.tabs li a{ text-transform:uppercase; font-size:12px; letter-spacing:0.06em; }

/* barra de urgencia / cuenta regresiva y sellos de confianza (CommerceKit) */
[class*="countdown" i], [class*="ck-urgency" i], .commercekit-stock-scarcity,
#commercekit-timer{
  background:var(--blush) !important; border:1px solid var(--gold) !important; color:var(--ink) !important;
  font-family:'Inter', sans-serif !important; padding:14px 16px !important; border-radius:2px;
}
#commercekit-timer .commercekit-timer-title{ font-size:13px; font-weight:600; color:var(--wine); }
#commercekit-timer .commercekit-timer-digit{ color:var(--ink); font-family:'Fraunces', serif; }
#commercekit-timer .commercekit-timer-label{ color:#6b5c50; font-size:11px; }
.commercekit-trust-badges, [class*="trust-badge" i], [class*="payment-badge" i]{
  filter:none; opacity:0.85;
}

/* botón "solicitar llamada" (plugin de captación de leads) */
.call-back-feature .trigger{
  background:var(--wine) !important; color:var(--ivory) !important;
  font-family:'Inter', sans-serif !important; border-radius:2px !important;
}
.call-back-feature .trigger:hover{ background:var(--wine-deep) !important; }

/* migas de pan */
.woocommerce-breadcrumb{ color:#6b5c50; font-size:13px; }
.woocommerce-breadcrumb a{ color:var(--wine); }

/* paginación */
.woocommerce nav.woocommerce-pagination ul{ border-color:var(--line); }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  color:var(--charcoal); border-color:var(--line); font-family:'Inter',sans-serif;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current{
  background:var(--gold); color:var(--ink);
}

/* ---------- WooCommerce: barra lateral de filtros ---------- */
#secondary.widget-area{
  padding: 48px 28px 48px 28px !important;
}
.content-area{
  padding: 48px 20px 48px 28px !important;
}
@media (max-width:880px){
  #secondary.widget-area{ padding: 32px 20px !important; }
  .content-area{ padding: 32px 20px !important; }
}

#secondary .widget{
  padding-bottom: 28px;
  margin-bottom: 28px;
  border-bottom: 1px solid var(--line);
}
#secondary .widget:last-child{
  border-bottom: none; margin-bottom: 0;
}
#secondary .widget-title{
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: var(--wine) !important;
  margin-bottom: 18px !important;
  display: block;
}

/* buscador */
#secondary .wp-block-search__input{
  border: 1px solid var(--line); border-radius: 2px;
  padding: 10px 14px; font-family: 'Inter', sans-serif; font-size: 13px; width:100%;
}

/* precio */
#secondary .price_slider{ margin-bottom: 18px; }
#secondary .price_slider_amount{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }

/* categorías (WooCommerce Blocks) */
#secondary .wc-block-product-categories-list{ list-style:none; }
#secondary .wc-block-product-categories-list-item{
  font-size: 14px; padding: 7px 0;
}
#secondary .wc-block-product-categories-list-item a{
  color: var(--charcoal) !important; transition: color .2s ease;
}
#secondary .wc-block-product-categories-list-item a:hover{ color: var(--wine) !important; }
#secondary .wc-block-product-categories-list--depth-1{
  margin-left: 16px; margin-top: 4px;
}

/* filtro por atributo (color, talla, etc.) */
#secondary .woocommerce-widget-layered-nav-list{
  display:flex; flex-wrap:wrap; gap:8px; list-style:none;
}
#secondary .woocommerce-widget-layered-nav-list__item a{
  display:inline-block; padding:6px 14px; border:1px solid var(--line);
  border-radius:20px; font-size:12px; color:var(--charcoal);
  transition:border-color .2s ease, color .2s ease;
}
#secondary .woocommerce-widget-layered-nav-list__item a:hover{
  border-color: var(--gold); color: var(--wine);
}

/* mejor valorados */
#secondary .widget_top_rated_products ul{ list-style:none; }
#secondary .widget_top_rated_products li{
  display:flex !important; flex-direction:column; align-items:flex-start;
  gap:6px; padding:12px 0;
  border-bottom:1px solid var(--line);
}
#secondary .widget_top_rated_products li:last-child{ border-bottom:none; }
#secondary .widget_top_rated_products li > a{
  display:flex !important; align-items:center; gap:12px; width:100%;
}
#secondary .widget_top_rated_products li > a img{
  float:none !important; width:52px !important; height:52px !important;
  object-fit:cover; flex-shrink:0; margin:0 !important;
}
#secondary .widget_top_rated_products a .product-title{
  font-size:13px; color:var(--ink) !important; font-weight:500; line-height:1.4;
}
#secondary .widget_top_rated_products .woocommerce-Price-amount{
  color:var(--wine); font-size:13px; font-weight:600; margin-left:64px;
}

/* selector de orden personalizado (reemplaza el <select> nativo) */
.woocommerce-ordering select.orderby{ display:none; }
.llaguno-select{
  position:relative; display:inline-block; min-width:230px;
  font-family:'Inter',sans-serif;
}
.llaguno-select-btn{
  width:100%; display:flex; align-items:center; justify-content:space-between;
  padding:11px 16px; border:1px solid var(--line); border-radius:2px;
  background:#fff; font-size:13px; color:var(--charcoal); cursor:pointer;
  font-family:'Inter',sans-serif;
}
.llaguno-select-btn:focus,
.llaguno-select-btn:active,
.llaguno-select-btn:hover{
  background:#fff !important; color:var(--charcoal) !important;
  border-color:var(--gold) !important; outline:none;
  box-shadow:0 0 0 2px rgba(198,161,91,0.25);
}
.llaguno-select-btn::after{
  content:""; width:7px; height:7px; margin-left:12px; flex-shrink:0;
  border-right:1.5px solid var(--wine); border-bottom:1.5px solid var(--wine);
  transform:rotate(45deg); transition:transform .2s ease;
}
.llaguno-select.is-open .llaguno-select-btn::after{ transform:rotate(-135deg); }
.llaguno-select-list{
  position:absolute; top:calc(100% + 6px); left:0; right:0; z-index:40;
  background:#fff; border:1px solid var(--line); border-radius:2px;
  box-shadow:0 16px 32px -16px rgba(36,27,34,0.28);
  list-style:none; max-height:0; overflow:hidden; opacity:0;
  transition:max-height .2s ease, opacity .2s ease;
}
.llaguno-select.is-open .llaguno-select-list{ max-height:320px; opacity:1; overflow-y:auto; }
.llaguno-select-list li{
  padding:10px 16px; font-size:13px; color:var(--charcoal); cursor:pointer;
  transition:background-color .15s ease;
}
.llaguno-select-list li:hover{ background:var(--ivory-alt); }
.llaguno-select-list li.is-selected{ color:var(--wine); font-weight:600; }

/* =========================================================================
   CARRITO — rediseño completo inspirado en Adidas
   ========================================================================= */
.woocommerce-cart table.cart, .woocommerce-cart .cart-collaterals{
  font-family:'Inter', sans-serif;
}
.woocommerce-cart table.cart{
  border:none !important; border-collapse:separate; border-spacing:0 14px; width:100%;
}
.woocommerce-cart table.cart thead{ display:none; }
.woocommerce-cart table.cart tbody tr.cart_item{
  display:flex; align-items:center; flex-wrap:wrap; gap:14px;
  background:#fff; border:1px solid var(--line); border-radius:12px; padding:16px;
  box-shadow:0 3px 14px -10px rgba(36,27,34,0.18);
  transition:box-shadow .2s ease;
}
.woocommerce-cart table.cart tbody tr.cart_item:hover{ box-shadow:0 6px 20px -10px rgba(36,27,34,0.24); }
.woocommerce-cart table.cart td{ border:none !important; padding:0 !important; vertical-align:middle; }
.woocommerce-cart table.cart td.product-thumbnail{ order:1; flex:none; }
.woocommerce-cart table.cart td.product-thumbnail img{
  width:84px; height:84px; object-fit:cover; border-radius:10px; display:block;
}
.woocommerce-cart table.cart td.product-name{ order:2; flex:1 1 200px; min-width:140px; }
.woocommerce-cart table.cart td.product-name a{
  font-family:'Inter', sans-serif; font-weight:600; font-size:15px; color:var(--ink); line-height:1.4;
}
.woocommerce-cart table.cart td.product-price{ order:3; flex:none; font-family:'Inter',sans-serif; font-size:13px; color:#6b5c50; }
.woocommerce-cart table.cart td.product-quantity{ order:4; flex:none; }
.woocommerce-cart table.cart td.product-subtotal{
  order:5; flex:none; font-family:'Inter', sans-serif; font-weight:600; color:var(--wine); font-size:16px;
  min-width:80px; text-align:right;
}
.woocommerce-cart table.cart td.product-remove{ order:6; flex:none; margin-left:4px; }
.woocommerce-cart table.cart td.product-remove a{
  display:flex; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius:50%; color:#a99b8d !important; font-size:18px;
  transition:background-color .15s ease, color .15s ease;
}
.woocommerce-cart table.cart td.product-remove a:hover{ background:var(--blush); color:var(--wine) !important; }

/* stepper de cantidad: rediseño estilo Adidas — píldora única, iconos nítidos, estados claros */
.woocommerce-cart table.cart .quantity{
  display:flex !important; align-items:stretch !important; gap:0 !important;
  border:1px solid var(--line) !important; border-radius:999px !important; overflow:hidden;
  height:38px; background:#fff; transition:border-color .3s ease, box-shadow .3s ease;
}
.woocommerce-cart table.cart .quantity .qty{
  order:2; width:40px !important; max-width:40px !important; height:38px !important; text-align:center !important;
  border:none !important; border-radius:0 !important;
  font-family:'Inter',sans-serif; font-weight:700; font-size:14px; color:var(--ink);
  padding:0 !important; background:transparent; -moz-appearance:textfield; flex:none !important;
}
.woocommerce-cart table.cart .quantity .qty::-webkit-inner-spin-button,
.woocommerce-cart table.cart .quantity .qty::-webkit-outer-spin-button{ -webkit-appearance:none; margin:0; }
.woocommerce-cart table.cart .quantity-nav{ display:contents !important; }
.woocommerce-cart table.cart .quantity-button{
  position:static !important; width:36px !important; height:38px !important; display:flex !important;
  align-items:center; justify-content:center; cursor:pointer; border-radius:0 !important;
  border:none; background:transparent; flex:none;
  transition:background-color .15s ease, transform .1s ease, opacity .15s ease;
  font-size:0;
}
.woocommerce-cart table.cart .quantity-button.minus{ order:1; border-right:1px solid var(--line); }
.woocommerce-cart table.cart .quantity-button.plus{ order:3; border-left:1px solid var(--line); }
.woocommerce-cart table.cart .quantity-button::before{
  content:'−'; mask-image:none !important; -webkit-mask-image:none !important; background:none !important;
  display:block; font-family:'Inter', sans-serif; font-weight:600; font-size:17px; line-height:1;
  color:var(--wine); transition:color .15s ease;
  width:auto !important; height:auto !important; position:static !important; inset:auto !important;
  transform:none !important; margin:0 !important; padding:0 !important;
}
.woocommerce-cart table.cart .quantity-button.plus::before{ content:'+'; }
.woocommerce-cart table.cart .quantity-button:hover{ background:var(--blush); }
.woocommerce-cart table.cart .quantity-button:active{ transform:scale(0.88); }
.woocommerce-cart table.cart .quantity-button.is-disabled{
  opacity:0.3; cursor:not-allowed; pointer-events:none;
}
.woocommerce-cart table.cart .quantity.is-pulsing{ animation:llaguno-qty-pulse .35s ease; }
@keyframes llaguno-qty-pulse{
  0%{ transform:scale(1); border-color:var(--line); box-shadow:0 0 0 0 rgba(198,161,91,0); }
  40%{ transform:scale(1.06); border-color:var(--gold); box-shadow:0 0 0 4px rgba(198,161,91,0.22); }
  100%{ transform:scale(1); border-color:var(--line); box-shadow:0 0 0 0 rgba(198,161,91,0); }
}

.woocommerce-cart table.cart td.actions .button,
.woocommerce-cart table.cart td.actions input[type="submit"]{
  background:var(--wine) !important; color:var(--ivory) !important; border:none !important;
  border-radius:999px; text-transform:none; letter-spacing:0.02em; font-size:13px; font-weight:600;
  padding:10px 22px !important;
}
.woocommerce-cart table.cart td.actions .button:hover,
.woocommerce-cart table.cart td.actions input[type="submit"]:hover{ background:var(--wine-deep) !important; }

/* resumen de pedido */
.woocommerce-cart .cart-collaterals .cart_totals{
  background:#fff; border:1px solid var(--line); border-radius:12px; padding:28px;
  box-shadow:0 4px 20px -14px rgba(36,27,34,0.2);
}
.woocommerce-cart .cart_totals h2{ font-family:'Inter', sans-serif !important; font-weight:600; color:var(--ink); font-size:17px; margin-bottom:18px; }
.woocommerce-cart .cart_totals table{ font-family:'Inter', sans-serif; border:none; }
.woocommerce-cart .cart_totals table.shop_table tr{ border-bottom:1px solid var(--line); }
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td{
  border:none !important; padding:12px 0 !important; font-size:13px; color:var(--charcoal);
}
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td{
  font-family:'Inter', sans-serif !important; font-size:19px; color:var(--wine); font-weight:700; border-top:1px solid var(--line) !important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button{
  background:var(--wine) !important; color:var(--ivory) !important; border:none !important;
  border-radius:999px !important; text-transform:none !important; letter-spacing:0.02em; font-weight:600;
  padding:16px 0 !important; font-size:15px;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover{ background:var(--wine-deep) !important; }
.woocommerce-cart .cart-collaterals .llaguno-payment-badges{ margin-top:20px; justify-content:center; }
.woocommerce-cart .cross-sells h2{ font-family:'Inter', sans-serif !important; font-weight:600; color:var(--ink); }

@media (max-width:700px){
  .woocommerce-cart table.cart tbody tr.cart_item{ position:relative; padding-right:44px; }
  .woocommerce-cart table.cart td.product-remove{ position:absolute; top:16px; right:16px; margin-left:0; }
  .woocommerce-cart table.cart td.product-price{ order:5; flex-basis:100%; }
  .woocommerce-cart table.cart td.product-subtotal{ margin-left:0; }
}

/* ---------- WooCommerce: checkout ---------- */
.woocommerce-checkout h3{ font-family:'Inter', sans-serif !important; font-weight:600; color:var(--ink); }
.woocommerce-checkout .form-row label{ font-family:'Inter', sans-serif; font-size:13px; color:var(--charcoal); }
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea{
  border:1px solid var(--line) !important; border-radius:2px; font-family:'Inter',sans-serif;
  padding:12px !important; background:#fff;
}
.woocommerce-checkout #order_review, .woocommerce-checkout #payment{
  background:var(--ivory-alt); border:1px solid var(--line); border-radius:2px; padding:24px;
}
.woocommerce-checkout table.shop_table{ font-family:'Inter', sans-serif; }
.woocommerce-checkout #payment ul.payment_methods{ border-top:1px solid var(--line); }
.woocommerce-checkout #payment div.payment_box{ background:var(--blush); }
.woocommerce-checkout #place_order{
  background:var(--gold) !important; color:var(--ink) !important; border:none !important;
  border-radius:2px; text-transform:uppercase; letter-spacing:0.06em; font-weight:600;
}
.woocommerce-checkout #place_order:hover{ background:var(--gold-light) !important; }

/* =========================================================================
   REDISEÑO FLUJO DE COMPRA — estilo minimalista/premium inspirado en Apple
   ========================================================================= */

/* ---------- sellos de confianza: la imagen plana original se oculta;
   reveal.js inyecta una fila limpia solo en checkout (ver bloque "PÁGINA DE PRODUCTO") ---------- */
img[src*="trust-symbols"]{ display:none !important; }

/* ---------- carrito: calculadora de envío siempre visible (sin botón "Cambiar dirección") ---------- */
.shipping-calculator-button{ display:none !important; }
.shipping-calculator-form{ display:block !important; margin-top:12px !important; }
.woocommerce-shipping-calculator .form-row{ margin-bottom:10px; }
.woocommerce-shipping-calculator select,
.woocommerce-shipping-calculator input.input-text{
  border:1px solid var(--line) !important; border-radius:2px; font-family:'Inter',sans-serif;
  padding:10px !important; background:#fff; width:100%;
}
.woocommerce-shipping-calculator .button{
  background:var(--wine) !important; color:var(--ivory) !important; border:none !important;
  border-radius:2px; text-transform:uppercase; letter-spacing:0.06em; font-size:11px; font-weight:600;
}

/* ---------- barra de pasos (carrito → envío/pago → confirmación) ---------- */
ul.checkout-bar li{
  font-family:'Inter', sans-serif !important; font-size:11px !important; text-transform:uppercase;
  letter-spacing:0.08em; color:#a08a6f;
}
ul.checkout-bar li.active,
ul.checkout-bar li a{ color:var(--wine); }
ul.checkout-bar li:not(.active) a{ color:#a08a6f; }
ul.checkout-bar li::after{ background:var(--line) !important; }
ul.checkout-bar li::before{
  width:34px !important; height:34px !important; line-height:34px !important;
  border-radius:50% !important; font-size:0 !important;
  background-color:rgba(110,32,54,0.28) !important;
  background-repeat:no-repeat !important; background-position:center center !important; background-size:15px 15px !important;
  transition:background-color .2s ease;
}
ul.checkout-bar li.active::before{ background-color:var(--wine) !important; }
ul.checkout-bar li:nth-child(1)::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E") !important;
}
ul.checkout-bar li:nth-child(2)::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8'%3E%3Crect x='1' y='7' width='13' height='9'/%3E%3Cpath d='M14 10h4l3.5 3.5V16h-7.5z'/%3E%3Ccircle cx='6' cy='18' r='1.6'/%3E%3Ccircle cx='17.5' cy='18' r='1.6'/%3E%3C/svg%3E") !important;
}
ul.checkout-bar li:nth-child(3)::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2'%3E%3Cpath d='M4 12.5l5 5L20 6.5'/%3E%3C/svg%3E") !important;
}

/* ---------- catálogo: refinamiento premium ---------- */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  border-radius:2px; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover{
  transform:translateY(-4px); box-shadow:0 22px 36px -24px rgba(78,21,38,0.28); border-color:var(--gold);
}

/* ---------- producto: swatches estilo Apple (plugin Variation Swatches) ---------- */
table.variations{ border:none !important; width:100%; border-collapse:collapse; }
table.variations tbody,
table.variations tr,
table.variations th,
table.variations td{
  display:block !important; border:none !important; padding:0 !important; background:none !important; text-align:left !important;
}
table.variations tr{ margin-bottom:22px; }
table.variations th.label label{
  font-family:'Inter', sans-serif !important; font-weight:600 !important; font-size:12px !important;
  text-transform:uppercase; letter-spacing:0.1em; color:var(--wine) !important; margin-bottom:10px; display:block;
}
table.variations td.value{ padding-top:4px !important; }
.cfvsw-swatches-container{ display:flex !important; flex-wrap:wrap; gap:10px; }
.cfvsw-swatches-option{
  border:1px solid var(--line) !important; background:#fff !important; border-radius:22px !important;
  padding:10px 20px !important; margin:0 !important; min-width:0 !important; box-sizing:border-box;
  font-family:'Inter', sans-serif !important; font-size:13px !important; font-weight:500 !important;
  color:var(--charcoal) !important; cursor:pointer; box-shadow:none !important;
  transition:border-color .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease, transform .15s ease;
}
.cfvsw-swatches-option:hover{ border-color:var(--gold) !important; transform:translateY(-1px); }
.cfvsw-swatches-option.cfvsw-selected-swatch{
  border-color:var(--wine) !important; background:var(--wine) !important; color:var(--ivory) !important;
  box-shadow:0 8px 18px -10px rgba(110,32,54,0.5) !important;
}
a.reset_variations{
  font-size:12px; color:var(--wine) !important; text-decoration:underline; margin-top:10px; display:inline-block;
  font-family:'Inter', sans-serif;
}
.woocommerce-variation-price .price{ font-size:20px; }

/* ---------- producto: jerarquía y espaciados premium ---------- */
.woocommerce div.product .product_title{ font-size:clamp(24px,3vw,32px); line-height:1.2; margin-bottom:6px; }
.woocommerce div.product form.cart{
  margin-top:28px !important; padding-top:24px; border-top:1px solid var(--line);
}

/* ---------- carrito: tarjetas más limpias ---------- */
.woocommerce-cart table.cart{ border-radius:2px; overflow:hidden; }
.woocommerce-cart table.cart td.product-thumbnail img{ border-radius:2px; }
.woocommerce-cart .cart_totals h2{ font-size:19px; letter-spacing:-0.01em; }

/* ---------- checkout: secciones más espaciosas y elegantes ---------- */
.woocommerce-checkout .col2-set{ gap:48px; }
.woocommerce-checkout #customer_details h3{
  font-size:13px !important; text-transform:uppercase; letter-spacing:0.1em; color:var(--wine) !important;
  font-family:'Inter', sans-serif !important; margin-bottom:18px;
}
.woocommerce-checkout .woocommerce-billing-fields .form-row,
.woocommerce-checkout .woocommerce-shipping-fields .form-row{ margin-bottom:16px; }
.woocommerce-checkout-review-order-table{ border-collapse:collapse; }
.woocommerce-checkout #payment ul.payment_methods li{
  border-bottom:1px solid var(--line); padding:14px 0;
}
.woocommerce-checkout #payment ul.payment_methods li label{ font-family:'Inter', sans-serif; font-weight:500; }

/* =========================================================================
   REDISEÑO DE SITIO COMPLETO — inspirado en la calidad de detalle de Apple
   (espaciados amplios, minimalismo, jerarquía tipográfica, componentes limpios)
   ========================================================================= */

/* ---------- hero: espacio reservado para imagen principal ---------- */
.hero-image-placeholder{
  margin:56px auto 0; max-width:1180px; width:100%;
  aspect-ratio:16/9;
  background:
    repeating-linear-gradient(135deg, rgba(198,161,91,0.14) 0 2px, transparent 2px 16px),
    linear-gradient(160deg, var(--blush), var(--ivory-alt));
  border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center;
}
.hero-image-placeholder-label{
  font-family:'Inter', sans-serif; font-size:12px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--wine); background:#fff; padding:10px 22px; border:1px solid var(--gold);
}
@media (max-width:700px){
  .hero-image-placeholder{ aspect-ratio:4/5; margin-top:40px; }
}

/* ---------- catálogo: rediseño minimalista sin tarjetas con borde ---------- */
.woocommerce ul.products,
.woocommerce-page ul.products{
  gap:48px 32px !important;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  background:none !important; border:none !important; padding-bottom:0 !important;
}
.woocommerce ul.products li.product img{
  border-radius:4px; transition:transform .4s ease;
}
.woocommerce ul.products li.product:hover img,
.woocommerce-page ul.products li.product:hover img{
  transform:scale(1.015);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  padding:0 !important; margin-top:22px !important; font-size:17px;
}
.woocommerce ul.products li.product .price{
  padding:0 !important; margin-top:6px !important; font-size:14px;
}
.woocommerce ul.products li.product .button{
  margin:18px 0 0 !important; width:auto !important; display:inline-block;
  background:none !important; color:var(--wine) !important; border:1px solid var(--line) !important;
  padding:9px 20px !important;
}
.woocommerce ul.products li.product .button:hover{
  border-color:var(--wine) !important; background:var(--wine) !important; color:var(--ivory) !important;
}

/* ---------- jerarquía tipográfica general: más aire, más confianza ---------- */
.section-head{ max-width:640px; }
.section-head h2{ letter-spacing:-0.015em; }
section{ padding:72px 0; }
@media (min-width:768px){ section{ padding:104px 0; } }

/* ---------- producto individual: diseño en dos columnas estilo Apple ---------- */
.product-details-wrapper{
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:64px;
  align-items:start;
}
.product-details-wrapper:has(> .cg-grid-layout) > .woocommerce-product-gallery:not(.cg-grid-layout){ display:none; }
.product-details-wrapper > .images{ grid-column:1; grid-row:1; padding:0; }
.product-details-wrapper > .summary{ grid-column:2; grid-row:1; padding:0; }
.product-details-wrapper > .pswp,
.product-details-wrapper > .call-back-feature,
.product-details-wrapper > .modal{ grid-column:1 / -1; }
@media (min-width:1000px){
  .product-details-wrapper > .images{ position:sticky; top:96px; }
}
@media (max-width:960px){
  .product-details-wrapper{ grid-template-columns:1fr; gap:32px; }
  .product-details-wrapper > .images,
  .product-details-wrapper > .summary{ grid-column:1; }
}

/* ---------- botones: tacto más premium en todo el sitio ---------- */
.btn, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button{
  transition:background-color .2s ease, border-color .2s ease, color .2s ease, transform .15s ease;
}
.btn:active, .woocommerce a.button:active, .woocommerce button.button:active{ transform:scale(0.98); }

/* ---------- confirmación de pedido (página de gracias) ---------- */
.woocommerce-order{ max-width:760px; margin:0 auto; }
.woocommerce-thankyou-order-received{
  font-family:'Fraunces', serif !important; font-size:clamp(22px,3vw,30px); color:var(--ink);
  text-align:center; margin-bottom:32px; line-height:1.3;
}
.woocommerce-order-overview{
  display:flex; flex-wrap:wrap; list-style:none;
  border:1px solid var(--line); margin:0 0 40px; padding:0;
}
.woocommerce-order-overview li{
  flex:1 1 25%; padding:20px; text-align:center; border-right:1px solid var(--line);
  font-family:'Inter', sans-serif; font-size:12px; color:#6b5c50;
}
.woocommerce-order-overview li:last-child{ border-right:none; }
.woocommerce-order-overview li strong{
  display:block; margin-top:6px; font-family:'Inter', sans-serif; font-size:16px; color:var(--wine); font-weight:700;
}
.woocommerce-order-details h2, .woocommerce-customer-details h2, .woocommerce-columns h2{
  font-family:'Inter', sans-serif !important; font-size:17px; color:var(--ink); margin:40px 0 18px; font-weight:600;
}
.woocommerce-order-details table.shop_table{
  width:100%; border-collapse:collapse; font-family:'Inter', sans-serif; font-size:14px;
}
.woocommerce-order-details table.shop_table th{
  text-transform:uppercase; font-size:11px; letter-spacing:0.06em; color:var(--wine);
  border-bottom:1px solid var(--line); padding:12px 0; text-align:left;
}
.woocommerce-order-details table.shop_table td{ border-bottom:1px solid var(--line); padding:12px 0; }
.woocommerce-customer-details address{
  border:1px solid var(--line); padding:20px; font-family:'Inter', sans-serif; font-size:14px;
  line-height:1.7; font-style:normal;
}
@media (max-width:600px){
  .woocommerce-order-overview li{ flex:1 1 50%; border-bottom:1px solid var(--line); }
}

/* ---------- scroll reveal (fade/scroll suave, max 300ms) ---------- */
[data-reveal]{ opacity:0; transform:translateY(16px); transition:opacity .25s ease, transform .25s ease; }
[data-reveal].in{ opacity:1; transform:translateY(0); }

/* grupos con aparición escalonada por tarjeta (cada tarjeta sigue durando ≤250ms) */
[data-reveal-stagger] > *{
  opacity:0; transform:translateY(14px);
  transition:opacity .25s ease, transform .25s ease;
}
[data-reveal-stagger].in > *{ opacity:1; transform:translateY(0); }
[data-reveal-stagger].in > *:nth-child(2){ transition-delay:.05s; }
[data-reveal-stagger].in > *:nth-child(3){ transition-delay:.1s; }
[data-reveal-stagger].in > *:nth-child(4){ transition-delay:.15s; }
[data-reveal-stagger].in > *:nth-child(5){ transition-delay:.2s; }
[data-reveal-stagger].in > *:nth-child(6){ transition-delay:.25s; }

@media (prefers-reduced-motion: reduce){
  [data-reveal], [data-reveal-stagger] > *{ opacity:1 !important; transform:none !important; transition:none !important; }
}


/* =========================================================================
   PÁGINA DE PRODUCTO — rediseño inspirado en Adidas (manteniendo identidad Llaguno)
   ========================================================================= */

/* ---------- 1) eliminar por completo el temporizador de cuenta regresiva ---------- */
#commercekit-timer, [class*="countdown" i]{ display:none !important; }

/* ---------- 2) sellos de pago: solo en checkout, con "logotipos" limpios (no en producto) ---------- */
.product-widget > .widget_block{ display:none !important; }
.llaguno-payment-badges{
  display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:16px;
}
.llaguno-payment-badge{
  display:inline-flex; align-items:center; justify-content:center;
  height:32px; padding:0 14px; border-radius:7px; border:1px solid var(--line); background:#fff !important;
  font-family:'Inter', sans-serif; font-weight:700; font-size:12px; letter-spacing:0.02em;
  color:#4b4038 !important;
}
.llaguno-payment-badge--visa{ background:#1A1F71 !important; color:#fff !important; font-style:italic; }
.llaguno-payment-badge--pp{ background:#00457C !important; color:#fff !important; }
.llaguno-payment-badge--mc{ gap:6px; color:#4b4038 !important; }
.llaguno-payment-badge--mc .mc-dots{ display:inline-flex; }
.llaguno-payment-badge--mc svg{ width:26px; height:16px; display:block; }

/* ---------- 3) pestaña "Descripción": jerarquía correcta para "NOTAS" + lista ---------- */
#tab-description > p:first-child{
  font-family:'Inter', sans-serif; font-size:12px; letter-spacing:0.14em; text-transform:uppercase;
  font-weight:600; color:var(--wine); margin:0 0 14px;
}
#tab-description ul{ list-style:none; padding:0; margin:0; }
#tab-description ul li{
  position:relative; padding-left:18px; margin-bottom:10px; line-height:1.7;
}
#tab-description ul li::before{
  content:''; position:absolute; left:2px; top:0.7em; width:5px; height:5px; border-radius:50%;
  background:var(--gold);
}

/* ---------- 4) acordeón de información del producto (Proceso y envío / Guía de cuidado / etc.) ---------- */
.product-widget{ margin-top:32px; border-top:1px solid var(--line); }
.product-widget details{ border-bottom:1px solid var(--line); }
.product-widget summary{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:16px 2px; cursor:pointer; list-style:none;
  font-family:'Inter', sans-serif; font-size:13px; font-weight:600; color:var(--ink);
  letter-spacing:0.01em;
}
.product-widget summary::-webkit-details-marker{ display:none; }
.product-widget summary::after{
  content:'+'; font-family:'Inter', sans-serif; font-size:19px; font-weight:400; color:var(--wine);
  flex:none; line-height:1;
}
.product-widget details[open] summary::after{ content:'\2212'; }
.product-widget details > .cg-accordion-item{
  padding:0 2px 20px; font-family:'Inter', sans-serif; font-size:13.5px; line-height:1.75; color:var(--charcoal);
}

/* ---------- 6) botón "Añadir al carrito": identidad Llaguno, píldora, estados ---------- */
.woocommerce div.product form.cart button,
.woocommerce div.product form.cart input[type="submit"],
.woocommerce div.product form.cart a.button,
.woocommerce div.product .single_add_to_cart_button{
  background:var(--wine) !important; color:var(--ivory) !important; border:none !important;
  border-radius:999px !important; letter-spacing:0.03em; text-transform:none; font-weight:600; font-size:15px;
  padding:16px 36px; box-shadow:0 10px 24px -12px rgba(110,32,54,0.55) !important;
  transition:background-color .2s ease, transform .15s ease, box-shadow .2s ease;
}
.woocommerce div.product form.cart button:hover,
.woocommerce div.product form.cart input[type="submit"]:hover,
.woocommerce div.product form.cart a.button:hover,
.woocommerce div.product .single_add_to_cart_button:hover{
  background:var(--wine-deep) !important; color:var(--ivory) !important;
  box-shadow:0 12px 28px -12px rgba(110,32,54,0.65) !important;
}
.woocommerce div.product form.cart button:active,
.woocommerce div.product .single_add_to_cart_button:active{
  transform:scale(0.97);
}
.woocommerce div.product form.cart button.disabled,
.woocommerce div.product form.cart button:disabled,
.woocommerce div.product .single_add_to_cart_button.disabled{
  background:#c9bfb8 !important; color:#8a7d72 !important; box-shadow:none !important; cursor:not-allowed;
}

/* ---------- 7) cantidad: se elimina de la página de producto (solo se ajusta en el carrito) ---------- */
.single-product.woocommerce div.product form.cart .quantity{ display:none !important; }

/* ---------- 9) zoom estilo Adidas: amplía dentro de su propio recuadro al pasar el cursor ---------- */
.single-product .images a{ display:block; overflow:hidden; cursor:zoom-in; }
.single-product .images a img{ transition:transform .2s ease; will-change:transform; }

/* ---------- 5) "Valoraciones": resumen con promedio, estrellas y barras ---------- */
.llaguno-rating-summary{
  display:flex; gap:48px; flex-wrap:wrap; align-items:flex-start;
  padding:28px 0; border-bottom:1px solid var(--line); margin-bottom:28px;
}
.llaguno-rating-summary__score{ text-align:center; min-width:120px; }
.llaguno-rating-summary__num{
  display:block; font-family:'Inter', sans-serif; font-weight:700; font-size:40px; color:var(--ink); line-height:1;
}
.llaguno-rating-summary__stars{ margin:10px 0 6px; font-size:18px; letter-spacing:2px; color:var(--line); }
.llaguno-rating-summary__stars .is-filled{ color:var(--gold); }
.llaguno-rating-summary__count{ font-family:'Inter', sans-serif; font-size:12px; color:#6b5c50; }
.llaguno-rating-summary__bars{ flex:1 1 260px; min-width:220px; max-width:360px; }
.llaguno-rating-bar{ display:flex; align-items:center; gap:10px; margin-bottom:8px; font-family:'Inter', sans-serif; font-size:12px; color:#6b5c50; }
.llaguno-rating-bar__label{ width:10px; text-align:right; }
.llaguno-rating-bar__track{ flex:1; height:6px; background:var(--ivory-alt); border-radius:3px; overflow:hidden; }
.llaguno-rating-bar__fill{ height:100%; background:var(--gold); border-radius:3px; }
.llaguno-rating-bar__pct{ width:32px; text-align:right; }
@media (max-width:600px){ .llaguno-rating-summary{ gap:24px; } }

/* ---------- 10) barra fija de compra: rediseño "isla flotante" ---------- */
.shoptimizer-sticky-add-to-cart{
  left:50%; right:auto; transform:translateX(-50%);
  width:min(94vw, 460px); max-width:460px;
  border-radius:999px; overflow:hidden;
  background:#fff; border:1px solid var(--line);
  box-shadow:0 18px 40px -16px rgba(36,27,34,0.32);
}
.shoptimizer-sticky-add-to-cart .col-full{ padding:0 !important; max-width:none; }
.shoptimizer-sticky-add-to-cart__content{
  display:flex; align-items:center; gap:12px; padding:8px 10px 8px 8px !important;
}
.shoptimizer-sticky-add-to-cart__content img{
  width:44px; height:44px; border-radius:12px; object-fit:cover; flex:none; margin:0 !important;
}
.shoptimizer-sticky-add-to-cart__content-product-info{ flex:1 1 auto; min-width:0; }
.shoptimizer-sticky-add-to-cart__content-title{
  font-family:'Inter', sans-serif; font-size:13px; color:var(--ink); font-weight:500;
  display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.shoptimizer-sticky-add-to-cart__content-button{
  display:flex; align-items:center; gap:10px; flex:none;
}
.shoptimizer-sticky-add-to-cart__content-price{
  font-family:'Inter', sans-serif; font-size:14px; color:var(--wine); font-weight:700; white-space:nowrap;
}
.shoptimizer-sticky-add-to-cart .variable-grouped-sticky.button,
.shoptimizer-sticky-add-to-cart a.button{
  background:var(--wine) !important; color:var(--ivory) !important; border:none !important;
  border-radius:999px !important; padding:10px 20px !important; font-size:12px !important;
  text-transform:none !important; letter-spacing:0.02em !important; font-weight:600 !important;
  white-space:nowrap; margin:0 !important;
}
.shoptimizer-sticky-add-to-cart .variable-grouped-sticky.button:hover{ background:var(--wine-deep) !important; }
@media (max-width:600px){
  .shoptimizer-sticky-add-to-cart{ width:calc(100% - 24px); left:12px; right:12px; transform:none; }
  .shoptimizer-sticky-add-to-cart__content-title{ display:none; }
}