/* ==========================================================================
   PURA Y CRISTALINA · Piel de tienda (WooCommerce)
   Scoped skin — NO global body/element overrides, para no afectar
   la home Elementor ni la cabecera/pie Xpro. Solo estiliza páginas Woo
   y las secciones propias envueltas en .pura-shop.
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600&family=Jost:wght@300;400;500;600&display=swap');

:root{
  --pura-navy-950:#050c16; --pura-navy-900:#0a1526; --pura-navy-800:#101f36; --pura-navy-700:#182c48;
  --pura-gold-300:#e6d3a0; --pura-gold-500:#c9a664; --pura-gold-600:#b08d4c; --pura-gold-700:#8a6c37; --pura-gold-800:#6b5226;
  --pura-cream-100:#f6efdc; --pura-cream-200:#efe6ce; --pura-cream-300:#e4d7b6;
  --pura-ink:#241b10; --pura-ink-soft:#4a3f30;
  --pura-on-dark:#eae4d6; --pura-on-dark-muted:#b6b0a1; --pura-on-cream-muted:#6b6152;
  --pura-font-heading:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --pura-font-body:'Jost','Segoe UI',system-ui,sans-serif;
  --pura-radius:4px; --pura-radius-lg:12px;
  --pura-shadow-soft:0 20px 45px rgba(5,12,22,.28);
  --pura-transition:220ms cubic-bezier(.4,0,.2,1);
}

/* ----- Tipografía de las páginas Woo (encabezados) ----- */
.woocommerce-page .woocommerce-products-header__title,
.woocommerce-page .entry-title,
.single-product div.product .product_title,
.woocommerce-account .woocommerce-MyAccount-content h1,
.woocommerce h1,.woocommerce h2,.woocommerce h3{
  font-family:var(--pura-font-heading);
}
.single-product div.product .product_title{
  font-weight:600; letter-spacing:.005em; line-height:1.08;
  font-size:clamp(2rem,1.4rem + 2.4vw,3.1rem); color:var(--pura-navy-900);
  margin-bottom:.4em;
}

/* ----- Precio ----- */
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  color:var(--pura-gold-700); font-family:var(--pura-font-heading);
  font-weight:600; font-size:2rem; line-height:1;
}
.woocommerce div.product p.price del{ color:var(--pura-on-cream-muted); font-size:1.3rem; }
.woocommerce div.product p.price ins{ text-decoration:none; }

/* ----- Descripción corta ----- */
.woocommerce div.product .woocommerce-product-details__short-description{
  font-size:1.05rem; line-height:1.75; color:var(--pura-ink-soft);
  border-left:2px solid var(--pura-gold-500); padding-left:1.1rem; margin-top:1.2rem;
}

/* ----- Imagen de portada enmarcada como libro ----- */
.single-product .woocommerce-product-gallery__image img{
  border-radius:2px; box-shadow:var(--pura-shadow-soft);
  outline:1px solid rgba(201,166,100,.55); outline-offset:-1px;
}

/* ----- Botón principal Añadir a la cesta ----- */
.woocommerce .single_add_to_cart_button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt{
  background:var(--pura-navy-900); color:var(--pura-cream-100);
  font-family:var(--pura-font-body); font-weight:500; letter-spacing:.02em;
  text-transform:none; border:0; border-radius:var(--pura-radius);
  padding:.95em 2.1em; transition:background var(--pura-transition),color var(--pura-transition);
}
.woocommerce .single_add_to_cart_button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover{
  background:var(--pura-gold-600); color:var(--pura-navy-950);
}
/* ----- Botones secundarios ----- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit{
  background:var(--pura-cream-200); color:var(--pura-ink);
  border-radius:var(--pura-radius); font-family:var(--pura-font-body);
  font-weight:500; text-transform:none; transition:background var(--pura-transition);
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{
  background:var(--pura-cream-300); color:var(--pura-ink);
}
/* Foco accesible siempre visible */
.woocommerce .button:focus-visible,
.woocommerce input:focus-visible,
.woocommerce select:focus-visible,
.woocommerce textarea:focus-visible,
.pura-shop a:focus-visible,
.pura-shop summary:focus-visible{
  outline:2px solid var(--pura-gold-600); outline-offset:2px;
}

/* ----- Avisos de confianza (IVA/envío incluidos, edición limitada) ----- */
.woocommerce div.product .pura-assurance{
  list-style:none; margin:1.3rem 0; padding:1rem 1.2rem;
  border:1px solid rgba(201,166,100,.4); border-radius:var(--pura-radius);
  background:rgba(201,166,100,.07); display:grid; gap:.55rem;
}
.pura-assurance li{ position:relative; padding-left:1.8rem; font-size:.98rem; color:var(--pura-ink); line-height:1.45; }
.pura-assurance li::before{
  content:''; position:absolute; left:0; top:.05em; width:1.2rem; height:1.2rem;
  background:no-repeat center/contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b08d4c' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}
.woocommerce div.product p.stock{ font-family:var(--pura-font-body); font-weight:600; color:var(--pura-navy-800); }
.woocommerce div.product p.stock.available-on-backorder{ color:var(--pura-gold-700); }

/* ----- Cantidad ----- */
.woocommerce .quantity input.qty{
  border:1px solid rgba(36,27,16,.25); border-radius:var(--pura-radius);
  padding:.5em; font-family:var(--pura-font-body);
}

/* ----- Pestañas ----- */
.woocommerce div.product .woocommerce-tabs ul.tabs li{ border-radius:var(--pura-radius) var(--pura-radius) 0 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{ border-bottom-color:var(--pura-cream-100); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{ font-family:var(--pura-font-body); font-weight:500; color:var(--pura-navy-800); }
.woocommerce-tabs .panel h2,.woocommerce #reviews h2,
.related.products>h2,.upsells.products>h2,
.cross-sells>h2{ font-family:var(--pura-font-heading); color:var(--pura-navy-900); font-weight:600; }
.woocommerce-Tabs-panel blockquote{
  border-left:3px solid var(--pura-gold-500); margin:1.6rem 0; padding:.2rem 0 .2rem 1.3rem;
  font-family:var(--pura-font-heading); font-style:italic; font-size:1.4rem; color:var(--pura-navy-800);
}
.woocommerce-Tabs-panel blockquote cite{ display:block; font-family:var(--pura-font-body); font-style:normal; font-size:.8rem; letter-spacing:.16em; text-transform:uppercase; color:var(--pura-gold-700); margin-top:.6rem; }

/* ----- Cuadrícula de productos (Tienda / relacionados) ----- */
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--pura-font-heading); font-size:1.2rem; font-weight:600; color:var(--pura-navy-900);
}
.woocommerce ul.products li.product .price{ color:var(--pura-gold-700); font-family:var(--pura-font-heading); font-weight:600; }
.woocommerce ul.products li.product img{ border-radius:2px; box-shadow:0 10px 24px rgba(5,12,22,.14); }
.woocommerce span.onsale{ background:var(--pura-gold-600); color:var(--pura-navy-950); }

/* ----- Mensajes / avisos ----- */
.woocommerce-message,.woocommerce-info,.woocommerce-noreviews,.woocommerce-error{
  border-top-color:var(--pura-gold-500);
}
.woocommerce-message::before,.woocommerce-info::before{ color:var(--pura-gold-600); }

/* ==========================================================================
   Secciones propias del libro (envueltas en .pura-shop)
   ========================================================================== */
.pura-shop{ font-family:var(--pura-font-body); margin:2.8rem 0 0; display:flex; flex-direction:column; gap:1.6rem; clear:both; }
.pura-shop *,.pura-shop *::before,.pura-shop *::after{ box-sizing:border-box; }
.pura-shop .pura-band{
  border-radius:var(--pura-radius-lg); overflow:hidden;
  padding:clamp(2.2rem,1.7rem + 2vw,3.6rem) clamp(1.4rem,1rem + 3vw,3rem);
}
.pura-shop .pura-band--navy{ background:var(--pura-navy-900); color:var(--pura-on-dark); }
.pura-shop .pura-band--navy-950{ background:var(--pura-navy-950); color:var(--pura-on-dark); box-shadow:var(--pura-shadow-soft); }
.pura-shop .pura-band--cream{ background:var(--pura-cream-100); color:var(--pura-ink); border:1px solid rgba(201,166,100,.28); }
.pura-shop .pura-wrap{ max-width:900px; margin:0 auto; padding:0; }
.pura-shop .pura-eyebrow{
  font-size:.78rem; letter-spacing:.24em; text-transform:uppercase;
  color:#6b5226; margin:0 0 .7rem; font-weight:500;
}
.pura-shop .pura-band--navy .pura-eyebrow,.pura-shop .pura-band--navy-950 .pura-eyebrow{ color:var(--pura-gold-300); }
.pura-shop h2{
  font-family:var(--pura-font-heading); font-weight:500;
  font-size:clamp(1.8rem,1.4rem + 1.5vw,2.6rem); line-height:1.15; margin:0 0 1rem;
  color:inherit;
}
.pura-shop .pura-lede{ font-size:1.18rem; line-height:1.6; max-width:60ch; }
.pura-shop .pura-band--navy .pura-lede{ color:var(--pura-on-dark); }
.pura-shop p{ line-height:1.7; }

/* Pilares (qué descubrirás) */
.pura-shop .pura-pillars{
  display:grid; gap:1.6rem; margin-top:2.4rem;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
}
.pura-shop .pura-pillar__icon{ display:block; width:54px; height:54px; color:var(--pura-gold-500); margin-bottom:.9rem; }
.pura-shop .pura-pillar__icon svg{ width:100%; height:100%; }
.pura-shop .pura-pillar h3{ font-family:var(--pura-font-heading); font-weight:600; font-size:1.4rem; margin:0 0 .45rem; color:inherit; }
.pura-shop .pura-pillar p{ margin:0; color:var(--pura-on-dark-muted); }
.pura-shop .pura-band--cream .pura-pillar p{ color:var(--pura-on-cream-muted); }

/* Especificaciones */
.pura-shop .pura-specs{ width:100%; border-collapse:collapse; margin-top:1.8rem; font-size:1.02rem; }
.pura-shop .pura-specs tr{ border-bottom:1px solid rgba(36,27,16,.12); }
.pura-shop .pura-specs th,.pura-shop .pura-specs td{ text-align:left; padding:.9rem 1rem; vertical-align:top; }
.pura-shop .pura-specs th{ width:40%; font-weight:600; color:var(--pura-ink); }
.pura-shop .pura-band--navy .pura-specs th,.pura-shop .pura-band--navy-950 .pura-specs th{ color:var(--pura-on-dark); }
.pura-shop .pura-band--navy .pura-specs td,.pura-shop .pura-band--navy-950 .pura-specs td{ color:var(--pura-on-dark-muted); }
.pura-shop .pura-band--navy .pura-specs tr,.pura-shop .pura-band--navy-950 .pura-specs tr{ border-bottom-color:rgba(234,228,214,.15); }
.pura-shop .pura-specs td{ color:var(--pura-ink-soft); }
.pura-shop .pura-fill{ background:var(--pura-cream-300); color:var(--pura-ink-soft); padding:.05em .55em; border-radius:3px; font-style:italic; font-size:.95em; }

/* Autor / sobre la obra */
.pura-shop .pura-author{ display:grid; grid-template-columns:120px 1fr; gap:1.8rem; align-items:start; margin-top:1.4rem; }
.pura-shop .pura-author__avatar{
  width:120px; height:120px; border-radius:50%; background:var(--pura-navy-800);
  display:flex; align-items:center; justify-content:center;
  color:var(--pura-gold-300); font-family:var(--pura-font-heading); font-size:2.6rem;
  border:1px solid var(--pura-gold-500);
}
.pura-shop .pura-author p{ margin:0 0 1rem; }

/* Cita */
.pura-shop .pura-quote-block{ text-align:center; max-width:760px; margin:0 auto; }
.pura-shop .pura-quote-block p{
  font-family:var(--pura-font-heading); font-style:italic;
  font-size:clamp(1.5rem,1.2rem + 1.1vw,2.15rem); line-height:1.4; color:var(--pura-cream-100); margin:0;
}
.pura-shop .pura-quote-block cite{
  display:block; margin-top:1.1rem; font-family:var(--pura-font-body); font-style:normal;
  font-size:.8rem; letter-spacing:.18em; text-transform:uppercase; color:var(--pura-gold-300);
}

/* FAQ (details/summary, sin JS) */
.pura-shop .pura-faq{ margin-top:1.8rem; }
.pura-shop .pura-faq details{ border-bottom:1px solid rgba(36,27,16,.16); }
.pura-shop .pura-faq summary{
  cursor:pointer; list-style:none; padding:1.1rem 2.2rem 1.1rem 0; position:relative;
  font-family:var(--pura-font-heading); font-weight:600; font-size:1.28rem; color:var(--pura-navy-900);
}
.pura-shop .pura-faq summary::-webkit-details-marker{ display:none; }
.pura-shop .pura-faq summary::after{
  content:'+'; position:absolute; right:.2rem; top:50%; transform:translateY(-50%);
  color:var(--pura-gold-600); font-size:1.6rem; line-height:1;
}
.pura-shop .pura-faq details[open] summary::after{ content:'\2013'; }
.pura-shop .pura-faq details>*:not(summary){ margin:0 0 1.1rem; color:var(--pura-ink-soft); }

/* Reseñas: carrusel horizontal, tarjetas cream/navy alternando */
.pura-shop .pura-reviews-carousel{ position:relative; margin-top:2.2rem; }
.pura-shop .pura-reviews-track{
  display:flex; gap:1.25rem; overflow-x:auto; scroll-snap-type:x mandatory;
  list-style:none; margin:0; padding:.25rem .25rem 1rem;
  scrollbar-width:thin; -webkit-overflow-scrolling:touch;
}
.pura-shop .pura-reviews-track::-webkit-scrollbar{ height:6px; }
.pura-shop .pura-reviews-track::-webkit-scrollbar-thumb{ background:rgba(36,27,16,.2); border-radius:3px; }
.pura-shop .pura-review-card{
  flex:0 0 auto; width:min(320px,80vw); scroll-snap-align:start;
  border-radius:var(--pura-radius-lg); padding:1.8rem 1.6rem; text-align:left;
}
.pura-shop .pura-review-card--cream{ background:var(--pura-cream-100); border:1px solid rgba(201,166,100,.3); color:var(--pura-ink); }
.pura-shop .pura-review-card--navy{ background:var(--pura-navy-900); color:var(--pura-on-dark); box-shadow:var(--pura-shadow-soft); }
.pura-shop .pura-review-stars{ display:flex; gap:.2rem; margin:0 0 1rem; }
.pura-shop .pura-star{ width:16px; height:16px; }
.pura-shop .pura-review-card--cream .pura-star--on{ fill:var(--pura-gold-800); }
.pura-shop .pura-review-card--navy .pura-star--on{ fill:var(--pura-gold-300); }
.pura-shop .pura-star--off{ fill:none; stroke:currentColor; stroke-opacity:.35; stroke-width:1.4; }
.pura-shop .pura-review-quote{ font-family:var(--pura-font-heading); font-style:italic; font-size:1.14rem; line-height:1.5; margin:0 0 1.1rem; }
.pura-shop .pura-review-meta{ font-family:var(--pura-font-body); font-size:.83rem; }
.pura-shop .pura-review-meta .pura-review-name{ font-weight:600; }
.pura-shop .pura-review-card--cream .pura-review-meta .pura-review-date{ color:var(--pura-ink-soft); }
.pura-shop .pura-review-card--navy .pura-review-meta .pura-review-date{ color:var(--pura-on-dark-muted); }
.pura-shop .pura-reviews-nav{
  display:none; align-items:center; justify-content:center;
  position:absolute; top:50%; transform:translateY(-50%); z-index:2;
  width:38px; height:38px; border-radius:50%; border:1px solid rgba(201,166,100,.5);
  background:var(--pura-cream-100); color:var(--pura-ink); font-size:1.3rem; line-height:1; cursor:pointer;
}
.pura-shop .pura-reviews-nav:hover,.pura-shop .pura-reviews-nav:focus-visible{ background:var(--pura-gold-500); color:var(--pura-navy-950); }
.pura-shop .pura-reviews-nav--prev{ left:-8px; }
.pura-shop .pura-reviews-nav--next{ right:-8px; }
@media (min-width:900px){ .pura-shop .pura-reviews-nav{ display:flex; } }

/* Formulario de reseñas */
.pura-shop .pura-review-form-wrap{ max-width:520px; margin:2.4rem auto 0; padding-top:2rem; border-top:1px solid rgba(36,27,16,.12); }
.pura-shop .pura-review-form-wrap h3{ font-family:var(--pura-font-heading); font-weight:600; font-size:1.3rem; margin:0 0 .3rem; }
.pura-shop .pura-review-form__hint{ font-size:.85rem; color:var(--pura-ink-soft); margin:0 0 1.3rem; }
.pura-shop .pura-review-form__notice{ background:var(--pura-cream-200); border-left:3px solid var(--pura-gold-600); padding:.8rem 1rem; font-size:.9rem; margin:0 0 1.2rem; }
.pura-shop .pura-star-input{ display:flex; flex-direction:row-reverse; justify-content:flex-end; gap:.15rem; border:0; padding:0; margin:0 0 1.3rem; }
.pura-shop .pura-star-input legend{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.pura-shop .pura-star-input input{ position:absolute; opacity:0; width:1px; height:1px; }
.pura-shop .pura-star-input label{ font-size:1.7rem; line-height:1; cursor:pointer; color:rgba(36,27,16,.25); transition:color .15s ease; }
.pura-shop .pura-star-input label:hover,.pura-shop .pura-star-input label:hover ~ label,.pura-shop .pura-star-input input:checked ~ label{ color:var(--pura-gold-800); }
.pura-shop .pura-star-input input:focus-visible + label{ outline:2px solid var(--pura-gold-600); outline-offset:2px; border-radius:2px; }
.pura-shop .pura-review-form__row{ margin-bottom:1rem; display:flex; flex-direction:column; gap:.35rem; }
.pura-shop .pura-review-form__row label{ font-family:var(--pura-font-body); font-size:.85rem; font-weight:600; color:var(--pura-ink); }
.pura-shop .pura-review-form__row label span{ font-weight:400; opacity:.6; }
.pura-shop .pura-review-form__row input,.pura-shop .pura-review-form__row textarea{ border:1px solid rgba(201,166,100,.5); border-radius:var(--pura-radius); padding:.7rem .85rem; font-family:var(--pura-font-body); font-size:.95rem; background:#fff; color:var(--pura-ink); }
.pura-shop .pura-review-form__row textarea{ resize:vertical; }

/* CTA */
.pura-shop .pura-cta{ text-align:center; }
.pura-shop .pura-cta h2{ margin-bottom:.6rem; }
.pura-shop .pura-cta p{ max-width:52ch; margin:0 auto 1.8rem; color:var(--pura-on-dark-muted); }
.pura-shop .pura-actions{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }
.pura-shop .pura-btn{
  display:inline-block; padding:.95em 2.2em; border-radius:var(--pura-radius);
  font-family:var(--pura-font-body); font-weight:500; letter-spacing:.02em; transition:all var(--pura-transition);
}
.pura-shop .pura-btn--primary{ background:var(--pura-gold-500); color:var(--pura-navy-950); }
.pura-shop .pura-btn--primary:hover{ background:var(--pura-gold-300); }
.pura-shop .pura-btn--ghost{ border:1px solid var(--pura-gold-500); color:var(--pura-on-dark); }
.pura-shop .pura-btn--ghost:hover{ background:rgba(201,166,100,.14); }

@media(max-width:600px){
  .pura-shop .pura-author{ grid-template-columns:1fr; }
  .pura-shop .pura-author__avatar{ margin:0 auto; }
}

/* ----- Carrito / Pago / Cuenta: pequeños toques de marca ----- */
.woocommerce-cart .cart_totals h2,
.woocommerce-checkout #order_review_heading,
.woocommerce form.checkout h3,
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{ color:var(--pura-navy-900); }
.woocommerce-account .woocommerce-MyAccount-navigation li a{ font-family:var(--pura-font-body); }
.woocommerce table.shop_table{ border-radius:var(--pura-radius-lg); }
.woocommerce-checkout #payment{ border-radius:var(--pura-radius-lg); }
