/* =====================================================================
   Prosa & Política — Rediseño (propuesta home.png / interior.png)
   Header BLANCO + logo real · navy solo en hero y botones · footer CLARO
   Titulares: Playfair Display · Cuerpo: Inter
   Reversible: quitar el enqueue/bloques en functions.php.
   ===================================================================== */
:root{
  --pp-navy:#0D1B2A; --pp-ink:#1B263B; --pp-gold:#B89C6A; --pp-gold-dark:#a4885a;
  --pp-bg:#ffffff; --pp-soft:#F8F9FA; --pp-border:#E9ECEF;
  --pp-text:#1B263B; --pp-muted:#6b7480; --pp-price:#1B263B;
}

/* ---------- Tipografía ---------- */
body, .infinite-body, input, textarea, select, button,
.gdlr-core-text-box-item-content, .woocommerce, .woocommerce-page{
  font-family:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}
body{ background:var(--pp-bg); color:var(--pp-text); }
h1,h2,h3,h4,h5,h6,
.infinite-title-font, .gdlr-core-title-font,
.gdlr-core-product-title, .gdlr-core-product-title a,
.gdlr-core-blog-title, .gdlr-core-blog-title a,
.infinite-page-title, .infinite-single-title,
.gdlr-core-block-item-title, .product_title, .entry-title,
.woocommerce-loop-product__title{
  font-family:'Playfair Display', Georgia, serif !important; letter-spacing:.01em;
}

/* ---------- Ocultar la barra superior fina (limpio como la propuesta) ---------- */
.infinite-top-bar-wrapper, .infinite-top-bar{ display:none !important; }

/* ---------- Header BLANCO ---------- */
.infinite-header-background,
.infinite-header-background-transparent,
.infinite-sticky-navigation .infinite-header-background,
.infinite-mobile-header.infinite-header-background{
  background:#ffffff !important;
  border-bottom:1px solid var(--pp-border);
  box-shadow:0 1px 4px rgba(13,27,42,.05);
}
/* logo real, sin invertir */
.infinite-logo-inner > a{ display:inline-flex !important; align-items:center; height:100%; }
.infinite-logo-inner > a::after{ content:none !important; }
.infinite-logo img, .infinite-mobile-logo img{
  filter:none !important; display:inline-block !important;
  max-height:42px; width:auto;
}
/* menú principal: texto oscuro, hover dorado, activo con subrayado dorado */
.infinite-navigation .sf-menu > li > a{
  color:var(--pp-ink) !important; font-family:'Inter',sans-serif !important;
  font-weight:500; letter-spacing:.01em;
}
.infinite-navigation .sf-menu > li > a:hover,
.infinite-navigation .sf-menu > li.current-menu-item > a,
.infinite-navigation .sf-menu > li.current-menu-parent > a{ color:var(--pp-gold) !important; }
.infinite-navigation-slide-bar{ background:var(--pp-gold) !important; height:2px !important; }
/* submenús claros */
.infinite-navigation .sf-menu ul{ background:#fff !important; border:1px solid var(--pp-border) !important; box-shadow:0 12px 30px rgba(13,27,42,.10); }
.infinite-navigation .sf-menu ul li a{ color:var(--pp-ink) !important; }
.infinite-navigation .sf-menu ul li a:hover{ color:var(--pp-gold) !important; background:var(--pp-soft) !important; }
/* iconos carrito / cuenta / buscar oscuros */
.infinite-main-menu-cart > a, .infinite-navigation .search > a,
.infinite-navigation .fa, .infinite-main-menu-cart .fa,
.infinite-navigation-menu .fa{ color:var(--pp-ink) !important; }
.infinite-top-cart-count{ background:var(--pp-gold) !important; color:#fff !important; font-weight:700; }
.infinite-mm-menu-button{ color:var(--pp-ink) !important; border-color:rgba(13,27,42,.25) !important; }
/* quitar buscador pill inyectado (la propuesta usa solo icono) */
.pp-header-search{ display:none !important; }

/* ---------- Enlaces / acentos ---------- */
.infinite-body a{ color:var(--pp-ink); }
.infinite-body a:hover{ color:var(--pp-gold); }

/* ---------- Botones ---------- */
.gdlr-core-button, .infinite-button, a.button, button.button,
input[type=submit], .wc-block-components-button, .woocommerce a.button,
.add_to_cart_button, .gdlr-core-product-add-to-cart,
.single_add_to_cart_button, .woocommerce div.product form.cart .button{
  border-radius:8px !important; text-transform:none !important;
  font-family:'Inter',sans-serif !important; font-weight:600 !important; letter-spacing:.01em;
  background:var(--pp-navy) !important; color:#fff !important; border:0 !important; box-shadow:none !important;
}
.gdlr-core-button:hover, .infinite-button:hover, a.button:hover, button.button:hover,
input[type=submit]:hover, .add_to_cart_button:hover, .single_add_to_cart_button:hover,
.woocommerce a.button:hover{ background:var(--pp-ink) !important; color:#fff !important; }

/* ---------- Precios (oscuros como la propuesta) ---------- */
.gdlr-core-product-price, .woocommerce-Price-amount,
.woocommerce div.product p.price, .woocommerce div.product span.price,
ul.products li.product .price{ color:var(--pp-price) !important; font-weight:700 !important; }
del, del .woocommerce-Price-amount{ color:#9aa4b1 !important; font-weight:400 !important; }
ins{ text-decoration:none; }

/* ---------- Tarjetas de producto ---------- */
.gdlr-core-product-item .gdlr-core-product-grid-content,
ul.products li.product{
  background:#fff; border:1px solid var(--pp-border);
  border-radius:12px; overflow:hidden; transition:box-shadow .2s, transform .2s;
}
.gdlr-core-product-item .gdlr-core-product-grid-content:hover,
ul.products li.product:hover{ box-shadow:0 12px 30px rgba(13,27,42,.10); transform:translateY(-2px); }
.gdlr-core-product-title a, .woocommerce-loop-product__title{ color:var(--pp-ink) !important; }
.gdlr-core-product-thumbnail img{ border-radius:6px; }

/* ---------- Encabezados de bloque con subrayado dorado ---------- */
.gdlr-core-block-item-title-wrap .gdlr-core-block-item-title,
.infinite-widget-title{
  border-bottom:2px solid var(--pp-gold); display:inline-block; padding-bottom:8px;
}

/* ---------- Página de producto: datos en texto plano (interior.png) ---------- */
.woocommerce-product-attributes.shop_attributes{ border:0 !important; width:100%; margin-top:8px; }
.woocommerce-product-attributes.shop_attributes tbody{ display:flex; flex-wrap:wrap; gap:20px 6%; }
.woocommerce-product-attributes.shop_attributes tr{
  display:block; width:47%; border:0 !important; background:transparent !important;
}
.woocommerce-product-attributes.shop_attributes th,
.woocommerce-product-attributes.shop_attributes td{
  display:block; border:0 !important; background:transparent !important;
  padding:0 !important; text-align:left !important;
}
.woocommerce-product-attributes .woocommerce-product-attributes-item__label{
  font-size:12px; text-transform:uppercase; letter-spacing:.06em;
  color:var(--pp-muted) !important; font-weight:600; margin-bottom:2px;
}
.woocommerce-product-attributes .woocommerce-product-attributes-item__value{
  color:var(--pp-ink) !important; font-weight:600;
}
.woocommerce-product-attributes a{ color:var(--pp-gold) !important; }
/* stock "solo quedan X" en rojo */
.woocommerce div.product .stock, p.stock{ color:#ba1a1a !important; font-weight:500; }
.stock.in-stock{ color:#1e7a46 !important; }
/* enlaces de categorías/términos/acentos → dorado (no turquesa) */
.gdlr-core-skin-link, .gdlr-core-skin-e-color, a.gdlr-core-skin-e-color,
.single-product .product_meta a, .gdlr-core-blog-info a,
.posted_in a, .tagged_as a, .product_meta a,
.gdlr-core-product-tag a, .gdlr-core-product-category a{ color:var(--pp-gold) !important; }
/* headings centrados de sinopsis / relacionados */
.woocommerce-Tabs-panel h2, .related.products > h2, .related.products > h3,
.up-sells > h2{ font-family:'Playfair Display',serif !important; text-align:center; font-size:30px; margin-bottom:26px; }

/* =====================================================================
   HOME — hero recomendación + grilla novedades
   ===================================================================== */
.pp-hero{ margin:44px 0; }
.pp-hero-inner{
  display:flex; gap:44px; align-items:center;
  background:var(--pp-navy); border-radius:16px; padding:52px;
  color:#fff; box-shadow:0 24px 60px rgba(13,27,42,.18);
}
.pp-hero-img{ flex:0 0 230px; }
.pp-hero-img img{ width:230px; height:auto; border-radius:8px; box-shadow:0 20px 44px rgba(0,0,0,.45); }
.pp-hero-body{ flex:1; }
.pp-hero-kicker{ color:var(--pp-gold); font-family:'Inter',sans-serif; font-weight:600;
  letter-spacing:.09em; text-transform:uppercase; font-size:13px; }
.pp-hero-title{ font-family:'Playfair Display',serif !important; color:#fff !important;
  font-size:42px; line-height:1.08; margin:14px 0 18px; }
.pp-hero-desc{ color:#c7cfd9; font-size:16px; line-height:1.75; max-width:640px; }
.pp-hero-btn{ display:inline-block; margin-top:24px; background:var(--pp-gold) !important;
  color:#fff !important; padding:13px 32px; border-radius:8px;
  font-family:'Inter',sans-serif; font-weight:600; text-decoration:none; transition:background .15s; }
.pp-hero-btn:hover{ background:var(--pp-gold-dark) !important; color:#fff !important; }

.pp-novedades{ margin:54px 0; }
.pp-section-head{ display:flex; align-items:baseline; justify-content:space-between; }
.pp-section-head h2{ font-family:'Playfair Display',serif !important; font-size:32px; color:var(--pp-ink) !important;
  border-bottom:2px solid var(--pp-gold); display:inline-block; padding-bottom:8px; margin:0 0 28px; }
.pp-section-head .pp-vertodo{ color:var(--pp-gold); font-weight:600; text-decoration:none; }
.pp-section-head .pp-vertodo:hover{ color:var(--pp-gold-dark); }
.pp-novedades .gdlr-core-product-thumbnail img{ border-radius:6px; }

/* =====================================================================
   FOOTER CLARO (para todas las páginas) — se inyecta desde functions.php
   y se oculta el footer original del tema.
   ===================================================================== */
/* ocultar footer del tema y neutralizar el "footer fijo" (margin-bottom por JS) */
.infinite-footer-wrapper, .infinite-copyright-wrapper,
.infinite-fixed-footer .infinite-footer-wrapper{ display:none !important; }
.infinite-page-wrapper{ margin-bottom:0 !important; }
.infinite-body-wrapper.infinite-with-frame{ margin-bottom:0 !important; }
.pp-footer{ background:#ffffff; border-top:1px solid var(--pp-border); margin-top:0; }
.pp-footer-inner{
  max-width:1200px; margin:0 auto; padding:56px 24px;
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1.4fr; gap:40px;
}
.pp-footer-logo{ max-height:46px; width:auto; margin-bottom:16px; display:block; }
.pp-footer-brand p{ color:var(--pp-muted); font-size:14px; line-height:1.6; margin:0; }
.pp-footer-col h4{ font-family:'Playfair Display',serif; font-size:17px; color:var(--pp-ink); margin:0 0 16px; }
.pp-footer-col a{ display:block; color:var(--pp-text); text-decoration:none; font-size:14px; margin-bottom:10px; }
.pp-footer-col a:hover{ color:var(--pp-gold); }
.pp-footer-news p{ color:var(--pp-muted); font-size:14px; line-height:1.6; margin:0 0 14px; }
.pp-footer-news form{ display:flex; }
.pp-footer-news input[type=email]{
  flex:1; border:1px solid var(--pp-border); border-radius:8px 0 0 8px;
  padding:11px 14px; font:14px 'Inter',sans-serif; outline:none; background:#fff; color:var(--pp-ink);
}
.pp-footer-news button{
  border:0; background:var(--pp-navy); color:#fff; padding:0 20px;
  border-radius:0 8px 8px 0; font-weight:600; cursor:pointer;
}
.pp-footer-news button:hover{ background:var(--pp-ink); }

@media(max-width:1024px){ .pp-footer-inner{ grid-template-columns:1fr 1fr; } }
@media(max-width:820px){
  .pp-hero-inner{ flex-direction:column; text-align:center; padding:34px; }
  .pp-hero-title{ font-size:30px; }
  .pp-footer-inner{ grid-template-columns:1fr; }
  .woocommerce-product-attributes.shop_attributes tr{ width:100%; }
}

/* Neutralizar el "sticky/fixed footer" del tema que reserva alto por viewport */
html, body,
.infinite-body-wrapper, .infinite-page-wrapper,
.infinite-content-container, .infinite-content-area{
  min-height:0 !important; height:auto !important;
}
.infinite-body-wrapper{ margin-bottom:0 !important; padding-bottom:0 !important; }

/* =====================================================================
   TARJETAS DE PRODUCTO UNIFORMES (home + catálogo)
   Grilla CSS + portada de alto fijo + título a 2 líneas → todas iguales
   ===================================================================== */
/* contenedor a grid uniforme (items reales = div.gdlr-core-item-list) */
.gdlr-core-product-item-holder ul.products{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(210px, 1fr)) !important;
  gap:26px !important;
  margin:0 !important; padding:0 !important;
}
.gdlr-core-product-item-holder ul.products::before,
.gdlr-core-product-item-holder ul.products::after{ content:none !important; display:none !important; }
.gdlr-core-product-item-holder .gdlr-core-item-list{
  width:100% !important; float:none !important; margin:0 !important; padding:0 !important;
}
/* (regla de flex+height:100% eliminada: achicaba las portadas) */
.gdlr-core-product-grid-content{ padding:14px !important; }

/* portada: caja de alto fijo, imagen centrada sin deformar */
.gdlr-core-product-thumbnail{
  height:230px !important; display:flex; align-items:center; justify-content:center;
  overflow:hidden; margin-bottom:14px; background:#fff;
}
.gdlr-core-product-thumbnail a,
.gdlr-core-product-thumbnail .gdlr-core-media-image{
  display:flex !important; align-items:center; justify-content:center; width:100%; height:100%;
}
.gdlr-core-product-thumbnail img{
  max-height:100% !important; max-width:100% !important;
  width:auto !important; height:auto !important; object-fit:contain;
}

/* título fijo a 2 líneas */
.gdlr-core-product-title{
  display:-webkit-box !important; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; min-height:2.7em; line-height:1.35; margin-bottom:8px !important;
}
/* precio y botón alineados abajo */
.gdlr-core-product-price{ margin-top:auto; }
.gdlr-core-product-grid-3 .gdlr-core-product-price + *,
.add_to_cart_button, .gdlr-core-product-add-to-cart{ margin-top:10px !important; }

/* --- Uniformes v2: imagen sin recorte + título alto fijo + sin estirar --- */
.gdlr-core-product-item-holder ul.products{ align-items:start !important; }
.gdlr-core-product-thumbnail img{
  width:100% !important; height:100% !important; object-fit:contain !important;
}
.gdlr-core-product-title, .gdlr-core-product-title a{
  height:2.7em !important; min-height:2.7em !important; max-height:2.7em !important;
  display:-webkit-box !important; -webkit-line-clamp:2 !important; -webkit-box-orient:vertical !important;
  overflow:hidden !important; line-height:1.35 !important;
}

/* --- Uniformes v3: clamp de título robusto (2 líneas exactas) --- */
.gdlr-core-product-title{
  display:-webkit-box !important; -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important; line-clamp:2 !important;
  overflow:hidden !important; height:auto !important; max-height:2.72em !important;
  min-height:2.72em !important; line-height:1.36 !important;
}
.gdlr-core-product-title a{
  display:inline !important; height:auto !important; max-height:none !important; min-height:0 !important;
}

/* --- Uniformes v4: clamp al título real de la grilla WooCommerce --- */
.woocommerce-loop-product__title, h2.woocommerce-loop-product__title,
.gdlr-core-product-content .woocommerce-loop-product__title{
  display:-webkit-box !important; -webkit-box-orient:vertical !important;
  -webkit-line-clamp:2 !important; line-clamp:2 !important; overflow:hidden !important;
  max-height:2.72em !important; min-height:2.72em !important; line-height:1.36 !important;
  font-size:18px !important; margin-bottom:8px !important;
}

/* =====================================================================
   v5 — Portadas verticales uniformes (estilo ai.studio) + submenú +
        breadcrumb + colores de ficha
   ===================================================================== */
/* Tarjeta: portada full-bleed vertical 3:4, texto con padding */
.gdlr-core-product-grid-content{ padding:0 !important; overflow:hidden; }
.gdlr-core-product-thumbnail{
  aspect-ratio:3/4 !important; height:auto !important; width:100% !important;
  margin:0 !important; overflow:hidden; background:#eef0f2; border-radius:0 !important;
  display:block !important;
}
.gdlr-core-product-thumbnail a,
.gdlr-core-product-thumbnail .gdlr-core-media-image{ display:block !important; width:100%; height:100%; }
.gdlr-core-product-thumbnail img{
  width:100% !important; height:100% !important; object-fit:cover !important;
  border-radius:0 !important; transition:transform .4s ease;
}
.gdlr-core-product-grid-content:hover .gdlr-core-product-thumbnail img{ transform:scale(1.04); }
.gdlr-core-product-grid-info{ padding:16px !important; }
/* badge de descuento sobre la portada */
.gdlr-core-product-item .onsale, .berocket_better_labels{ z-index:3; }

/* Submenú (dropdown) más prolijo */
.infinite-navigation .sf-menu ul.sub-menu, .infinite-navigation .sf-menu ul{
  min-width:230px !important; padding:8px 0 !important; border-radius:10px !important;
  background:#fff !important; border:1px solid var(--pp-border) !important;
  box-shadow:0 16px 40px rgba(13,27,42,.14) !important;
}
.infinite-navigation .sf-menu ul li{ border:0 !important; }
.infinite-navigation .sf-menu ul li a{
  padding:9px 20px !important; font-size:14px !important; font-weight:500 !important;
  color:var(--pp-ink) !important; line-height:1.3 !important; border:0 !important;
}
.infinite-navigation .sf-menu ul li a:hover{
  color:var(--pp-gold) !important; background:var(--pp-soft) !important;
}

/* Breadcrumb prolijo */
.woocommerce-breadcrumb{
  font-size:13px !important; color:var(--pp-muted) !important; text-transform:none !important;
  margin:0 0 18px !important; font-family:'Inter',sans-serif !important; letter-spacing:0 !important;
}
.woocommerce-breadcrumb a{ color:var(--pp-muted) !important; text-decoration:none; }
.woocommerce-breadcrumb a:hover{ color:var(--pp-gold) !important; }

/* Ficha: stock verde, meta/tags discretos (no grandes en dorado) */
.single-product .stock.in-stock, p.stock.in-stock{ color:#1e7a46 !important; }
.single-product .product_meta{
  font-family:'Inter',sans-serif !important; font-size:13px !important;
  color:var(--pp-muted) !important; border-top:1px solid var(--pp-border);
  padding-top:16px !important; margin-top:20px !important; line-height:1.9;
}
.single-product .product_meta a{ color:var(--pp-muted) !important; font-weight:500; }
.single-product .product_meta a:hover{ color:var(--pp-gold) !important; }
.single-product .product_meta .posted_in,
.single-product .product_meta .tagged_as,
.single-product .product_meta .sku_wrapper{ display:block; font-size:12px; }

/* =====================================================================
   PROCESO DE COMPRA — carrito / checkout / confirmación
   ===================================================================== */
.woocommerce .cart-empty, .woocommerce-info, .woocommerce-message{
  border-top-color:var(--pp-gold) !important; font-family:'Inter',sans-serif;
}
.woocommerce table.shop_table{
  border:1px solid var(--pp-border) !important; border-radius:12px !important;
  overflow:hidden; border-collapse:separate !important;
}
.woocommerce table.shop_table thead th, .woocommerce table.shop_table th{
  font-family:'Inter',sans-serif !important; color:var(--pp-ink) !important;
  background:var(--pp-soft) !important; font-weight:600;
}
.woocommerce table.shop_table td{ color:var(--pp-text); }
.woocommerce .cart_totals h2, .woocommerce-checkout h3, .woocommerce-checkout #order_review_heading,
.woocommerce-order-received h2, .woocommerce .cart-collaterals h2, .cart_totals .wc-block-components-title{
  font-family:'Playfair Display',serif !important; color:var(--pp-ink) !important;
}
/* botones: navy por defecto, dorado el CTA principal */
.woocommerce #respond input#submit, .woocommerce button.button,
.woocommerce input.button, .woocommerce .button.wc-backward{
  background:var(--pp-navy) !important; color:#fff !important;
  border-radius:8px !important; font-family:'Inter',sans-serif !important;
  font-weight:600 !important; text-transform:none !important;
}
.woocommerce #respond input#submit:hover, .woocommerce button.button:hover,
.woocommerce input.button:hover{ background:var(--pp-ink) !important; }
.woocommerce a.checkout-button, .woocommerce #place_order,
.woocommerce button.button.alt, .woocommerce input.button.alt{
  background:var(--pp-gold) !important; color:#fff !important; border-radius:8px !important;
  font-weight:700 !important; text-transform:none !important; border:0 !important;
}
.woocommerce a.checkout-button:hover, .woocommerce #place_order:hover,
.woocommerce button.button.alt:hover{ background:var(--pp-gold-dark) !important; }
/* cupón / cantidades / campos */
.woocommerce .quantity input.qty{ border:1px solid var(--pp-border) !important; border-radius:8px !important; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce-checkout input[type=text], .woocommerce-checkout input[type=email],
.woocommerce-checkout input[type=tel], .woocommerce-checkout select, .select2-container .select2-selection{
  border:1px solid var(--pp-border) !important; border-radius:8px !important;
  padding:10px 12px !important; font-family:'Inter',sans-serif !important;
}
.woocommerce .cart_totals, .woocommerce-checkout #order_review, .woocommerce-checkout-review-order{
  border:1px solid var(--pp-border); border-radius:12px; padding:20px; background:var(--pp-soft);
}
.woocommerce-order-received .woocommerce-order .woocommerce-notice,
.woocommerce-order-received h1, .woocommerce-thankyou-order-received{
  font-family:'Playfair Display',serif !important; color:var(--pp-ink) !important;
}
.woocommerce ul.order_details{ background:var(--pp-soft); border-radius:12px; border:1px solid var(--pp-border); }

/* =====================================================================
   v6 — Sobrescribir el CSS dinámico del tema (colores forzados con !important)
   Se usa mayor especificidad (prefijo body) para ganarle.
   ===================================================================== */
/* breadcrumb: gris, no blanco */
body nav.woocommerce-breadcrumb, body nav.woocommerce-breadcrumb a{
  color:var(--pp-muted) !important; font-size:13px !important; text-transform:none !important;
}
body nav.woocommerce-breadcrumb a:hover{ color:var(--pp-gold) !important; }
/* stock verde (no naranja) */
body .single-product p.stock, body p.stock, body p.stock.in-stock{ color:#1e7a46 !important; }
/* título "Libros relacionados" oscuro (no blanco) */
body .related.products h2, body .related.products > h2, body .up-sells h2{
  color:var(--pp-ink) !important; font-family:'Playfair Display',serif !important; text-align:center;
}
/* botón add-to-cart en loops: navy (no verde/blanco) */
.woocommerce a.button.ajax_add_to_cart,
.woocommerce a.button.ajax_add_to_cart:focus{
  background:var(--pp-navy) !important; color:#fff !important; border-color:var(--pp-navy) !important;
}
.woocommerce a.button.ajax_add_to_cart:hover{ background:var(--pp-ink) !important; color:#fff !important; border-color:var(--pp-ink) !important; }
/* títulos de skin que salían blancos */
body .gdlr-core-title-item-link{ color:var(--pp-ink) !important; }
/* social share con borde turquesa → dorado suave */
.single-product .infinite-woocommerce-social-share{ border-color:var(--pp-border) !important; }

/* ocultar nube de categorías/etiquetas del producto (como la referencia) */
body .single-product .product_meta{ display:none !important; }

/* v6.1 — fix: ocultar nube de etiquetas (single-product está en el <body>) */
.woocommerce div.product .product_meta,
body.single-product div.product .product_meta{ display:none !important; }
/* stock verde con selector correcto */
.woocommerce div.product p.stock,
body.single-product p.stock.in-stock{ color:#1e7a46 !important; }

/* v6.2 — submenú: texto oscuro legible (gana al CSS dinámico) */
body .infinite-navigation .sf-menu ul.sub-menu li a{
  color:var(--pp-ink) !important; opacity:1 !important; font-weight:500 !important;
}
body .infinite-navigation .sf-menu ul.sub-menu li a:hover{
  color:var(--pp-gold) !important; background:var(--pp-soft) !important;
}

/* =====================================================================
   v7 — Ajustes pedidos: 6 columnas, orden precio, botón cuadrado,
        badge sutil, hero (texto botón + inclinación), submenú
   ===================================================================== */
/* 6 columnas en la grilla de productos */
.gdlr-core-product-item-holder ul.products{
  grid-template-columns:repeat(6, 1fr) !important; gap:20px !important;
}
@media(max-width:1200px){ .gdlr-core-product-item-holder ul.products{ grid-template-columns:repeat(4,1fr) !important; } }
@media(max-width:820px){ .gdlr-core-product-item-holder ul.products{ grid-template-columns:repeat(3,1fr) !important; } }
@media(max-width:560px){ .gdlr-core-product-item-holder ul.products{ grid-template-columns:repeat(2,1fr) !important; } }

/* Tarjeta más compacta: orden título → precio → botón; tipografías menores */
.gdlr-core-product-grid-info{ display:flex !important; flex-direction:column !important; padding:12px !important; }
.gdlr-core-product-grid-info .woocommerce-loop-product__title{ order:1; }
.gdlr-core-product-grid-info .gdlr-core-product-price{ order:2; }
.gdlr-core-product-grid-info .gdlr-core-product-add-to-cart,
.gdlr-core-product-grid-info .add_to_cart_button{ order:3; }
.woocommerce-loop-product__title{ font-size:14px !important; max-height:2.7em !important; min-height:2.7em !important; margin:0 0 6px !important; }
.gdlr-core-product-price{ font-size:14px !important; margin:0 0 10px !important; line-height:1.3; }
.gdlr-core-product-price del, .gdlr-core-product-price del .woocommerce-Price-amount{ font-size:12px !important; margin-right:4px; }
.gdlr-core-product-grid-info .add_to_cart_button{ font-size:12px !important; padding:9px 10px !important; width:100%; text-align:center; }

/* Añadir al carrito: SIN bordes redondos */
.add_to_cart_button, .gdlr-core-product-add-to-cart,
.single_add_to_cart_button, .woocommerce div.product form.cart .button,
.woocommerce a.button.ajax_add_to_cart{ border-radius:0 !important; }

/* Badge de descuento: sutil (no rojo grande) */
.gdlr-core-product-item .onsale, .berocket_better_labels .br_alabel,
.berocket_better_labels_inline{
  background:rgba(13,27,42,.82) !important; color:#fff !important;
  font-size:11px !important; font-weight:600 !important; padding:3px 8px !important;
  border-radius:4px !important; min-height:0 !important; min-width:0 !important;
  line-height:1.4 !important; box-shadow:none !important;
}
/* posición del badge en la ficha (no pegado a la esquina) */
.single-product .berocket_better_labels_position_left,
.single-product .images .onsale{ top:12px !important; left:12px !important; }

/* Hero: botón "Ver más" texto blanco + libro inclinado */
.pp-hero-btn, .pp-hero-btn:visited, .pp-hero-btn:hover{ color:#fff !important; }
.pp-hero-img img{ transform:rotate(-5deg); box-shadow:0 24px 50px rgba(0,0,0,.5); }

/* Submenú: fondo BLANCO forzado (ganar al CSS dinámico) + texto oscuro */
body .infinite-navigation .sf-menu ul,
body .infinite-navigation .sf-menu ul.sub-menu,
body .infinite-navigation .sf-menu .sf-mega{
  background:#ffffff !important; border:1px solid var(--pp-border) !important;
}
body .infinite-navigation .sf-menu ul li{ background:transparent !important; }
body .infinite-navigation .sf-menu ul li a{ color:var(--pp-ink) !important; background:transparent !important; }
body .infinite-navigation .sf-menu ul li a:hover{ color:var(--pp-gold) !important; background:var(--pp-soft) !important; }

/* v8 — orden precio (flex con mayor especificidad) + badge berocket sutil */
.gdlr-core-product-item .gdlr-core-product-grid-info{ display:flex !important; flex-direction:column !important; }
.gdlr-core-product-item .gdlr-core-product-grid-info .woocommerce-loop-product__title{ order:1 !important; }
.gdlr-core-product-item .gdlr-core-product-grid-info .gdlr-core-product-price{ order:2 !important; }
.gdlr-core-product-item .gdlr-core-product-grid-info .gdlr-core-product-add-to-cart,
.gdlr-core-product-item .gdlr-core-product-grid-info .add_to_cart_button{ order:3 !important; margin-top:4px; }

.br_alabel, .br_alabel_type_sale_p, [class*="berocket_alabel_id_"],
.berocket_better_labels_inline .br_alabel{
  background:rgba(13,27,42,.85) !important; background-color:rgba(13,27,42,.85) !important;
  color:#fff !important; font-size:11px !important; font-weight:600 !important;
  padding:3px 8px !important; border-radius:4px !important; box-shadow:none !important;
  min-width:0 !important; min-height:0 !important; width:auto !important; height:auto !important;
  line-height:1.4 !important; border:0 !important;
}
.berocket_better_labels_position{ top:10px !important; left:10px !important; }

/* v9 — badge berocket: selector exacto (.br_alabel ... > span) */
.br_alabel.berocket_alabel_id_231 > span,
[class*="berocket_alabel_id_"] > span,
.br_alabel_type_sale_p > span, .br_alabel > span{
  background-color:rgba(13,27,42,.82) !important; color:#fff !important;
  height:auto !important; width:auto !important; min-height:0 !important; min-width:0 !important;
  font-size:11px !important; font-weight:600 !important; padding:3px 8px !important;
  border-radius:4px !important; line-height:1.4 !important; margin:0 !important; box-shadow:none !important;
}

/* =====================================================================
   v10 — Funcionalidades nuevas: meta Tema/Etiquetas, ficha, relacionados,
         slider imagen, sinopsis, grillas de archivo
   ===================================================================== */
/* Tema + Etiquetas (mismo estilo plano que la meta) */
.pp-extra-meta{ margin-top:18px; display:flex; flex-wrap:wrap; gap:16px 6%; }
.pp-extra-meta .pp-meta-item{ width:47%; }
.pp-extra-meta .pp-meta-label{ display:block; font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--pp-muted); font-weight:600; margin-bottom:2px; }
.pp-extra-meta .pp-meta-value, .pp-extra-meta .pp-meta-value a{ color:var(--pp-ink); font-weight:600; }
.pp-extra-meta .pp-meta-value a:hover{ color:var(--pp-gold); }

/* Botón "Descargar ficha" */
.pp-ficha-btn{
  display:inline-flex; align-items:center; gap:8px; margin-top:14px;
  background:#fff; color:var(--pp-ink) !important; border:1.5px solid var(--pp-navy);
  padding:11px 20px; font-family:'Inter',sans-serif; font-weight:600; text-decoration:none;
}
.pp-ficha-btn:hover{ background:var(--pp-navy); color:#fff !important; }
.pp-ficha-btn .fa{ color:inherit !important; }

/* Libros relacionados */
.pp-related{ margin:50px 0 10px; clear:both; }
.pp-related > h2{ font-family:'Playfair Display',serif !important; text-align:center; font-size:30px; color:var(--pp-ink) !important; margin-bottom:26px; }

/* Sinopsis (tab descripción como encabezado centrado) */
.woocommerce-Tabs-panel--description{ text-align:left; }
.wc-tab .woocommerce-Tabs-panel > h2:first-child{ display:none; }
.woocommerce-tabs ul.tabs li a, .infinite-woocommerce-tab .gdlr-core-tab-title{
  font-family:'Playfair Display',serif !important; color:var(--pp-ink) !important; text-transform:none !important;
}

/* Slide tipo imagen: imagen linkeable full-width */
.pp-hero-slider .pp-slide-image{ display:block; }
.pp-hero-slider .pp-slide-image img.pp-slide-img{
  width:100%; height:auto; display:block; border-radius:14px;
}
.pp-hero-slider.pp-multi{ display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; }
.pp-hero-slider.pp-multi .pp-slide{ flex:0 0 100%; scroll-snap-align:start; }

/* Grilla de archivos (etiqueta/materia/categoría) igual que el resto */
.tax-product_cat .gdlr-core-product-item-holder ul.products,
.tax-product_tag .gdlr-core-product-item-holder ul.products,
.post-type-archive-product .gdlr-core-product-item-holder ul.products{
  grid-template-columns:repeat(6,1fr) !important; gap:20px !important;
}
@media(max-width:1200px){ .tax-product_cat .gdlr-core-product-item-holder ul.products, .tax-product_tag .gdlr-core-product-item-holder ul.products, .post-type-archive-product .gdlr-core-product-item-holder ul.products{ grid-template-columns:repeat(4,1fr) !important; } }
@media(max-width:820px){ .tax-product_cat .gdlr-core-product-item-holder ul.products, .tax-product_tag .gdlr-core-product-item-holder ul.products, .post-type-archive-product .gdlr-core-product-item-holder ul.products{ grid-template-columns:repeat(3,1fr) !important; } }

/* v11 — fix: holder sin height:0 (masonry) + título Sinopsis visible */
.gdlr-core-product-item-holder{ height:auto !important; }
.gdlr-core-product-item-holder .products{ height:auto !important; }
/* Sinopsis: título del tab visible, centrado, serif */
.gdlr-core-tab-item-title-wrap, .gdlr-core-tab-title-wrap{ text-align:center !important; border:0 !important; float:none !important; }
.gdlr-core-tab-item-title{
  display:inline-block !important; float:none !important; cursor:default;
  font-family:'Playfair Display',serif !important; font-size:28px !important;
  color:var(--pp-ink) !important; text-transform:none !important;
  border:0 !important; background:transparent !important; margin:0 0 18px !important; padding:0 !important;
}
.gdlr-core-tab-item-content{ text-align:left; }

/* v12 — Sinopsis + Libros relacionados con HTML propio */
.pp-sinopsis{ max-width:820px; margin:44px auto; text-align:center; }
.pp-sinopsis > h2{ font-family:'Playfair Display',serif !important; font-size:30px; color:var(--pp-ink) !important; margin-bottom:18px; }
.pp-sinopsis-body{ text-align:left; color:#3a4453; line-height:1.8; font-size:16px; }
.pp-sinopsis-body p{ margin:0 0 14px; }

.pp-related{ margin:50px 0 20px; }
.pp-related > h2{ font-family:'Playfair Display',serif !important; text-align:center; font-size:30px; color:var(--pp-ink) !important; margin-bottom:28px; }
.pp-related-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:20px; }
.pp-rel-card{ display:block; text-decoration:none; border:1px solid var(--pp-border); border-radius:12px; overflow:hidden; background:#fff; transition:box-shadow .2s, transform .2s; }
.pp-rel-card:hover{ box-shadow:0 12px 30px rgba(13,27,42,.10); transform:translateY(-2px); }
.pp-rel-img{ aspect-ratio:3/4; overflow:hidden; background:#eef0f2; }
.pp-rel-img img{ width:100% !important; height:100% !important; object-fit:cover !important; display:block; }
.pp-rel-title{ font-family:'Playfair Display',serif; font-size:14px; color:var(--pp-ink); padding:10px 12px 2px; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.7em; }
.pp-rel-price{ padding:0 12px 12px; font-size:14px; font-weight:700; color:var(--pp-ink); }
.pp-rel-price del{ color:#9aa4b1; font-weight:400; font-size:12px; margin-right:4px; }
.pp-rel-price ins{ text-decoration:none; }
@media(max-width:1200px){ .pp-related-grid{ grid-template-columns:repeat(4,1fr); } }
@media(max-width:820px){ .pp-related-grid{ grid-template-columns:repeat(3,1fr); } }
@media(max-width:560px){ .pp-related-grid{ grid-template-columns:repeat(2,1fr); } }

/* =====================================================================
   v13 — Catálogo (sidebar+cabecera), menú centrado, buscador
   ===================================================================== */
/* ocultar banner oscuro en archivos de producto */
.tax-product_cat .infinite-page-title-wrap, .tax-product_tag .infinite-page-title-wrap,
.post-type-archive-product .infinite-page-title-wrap, .woocommerce-shop .infinite-page-title-wrap{ display:none !important; }

/* cabecera del catálogo */
.pp-catalog-header{ padding:8px 0 22px; border-bottom:1px solid var(--pp-border); margin-bottom:30px; }
.pp-catalog-header h1{ font-family:'Playfair Display',serif !important; font-size:38px; color:var(--pp-ink) !important; margin:0 0 8px; }
.pp-catalog-header p{ color:var(--pp-muted); font-size:16px; margin:0; max-width:640px; }

/* layout sidebar + main */
.pp-catalog{ display:grid; grid-template-columns:250px 1fr; gap:34px; align-items:start; }
.pp-catalog-sidebar{ position:sticky; top:100px; display:flex; flex-direction:column; gap:20px; }
.pp-side-block{ background:#fff; border:1px solid var(--pp-border); border-radius:14px; padding:20px; }
.pp-side-title{ font-family:'Inter',sans-serif !important; font-size:12px !important; text-transform:uppercase; letter-spacing:.09em; color:var(--pp-gold) !important; font-weight:700; margin:0 0 14px !important; border:0 !important; padding:0 !important; display:flex; align-items:center; gap:8px; }
.pp-side-title .fa{ color:var(--pp-gold) !important; }
.pp-cat-list{ list-style:none; margin:0; padding:0; }
.pp-cat-list li{ margin:0 0 3px; }
.pp-cat-list li a{ display:block; padding:9px 14px; border-radius:8px; color:var(--pp-ink) !important; text-decoration:none; font-size:14px; transition:background .12s; }
.pp-cat-list li a:hover{ background:var(--pp-soft); color:var(--pp-gold) !important; }
.pp-cat-list li.active a{ background:var(--pp-navy); color:#fff !important; font-weight:600; }
.pp-side-search input[type=search]{ width:100%; border:1px solid var(--pp-border); border-radius:8px; padding:11px 14px; font:14px 'Inter',sans-serif; outline:none; }
.pp-side-search input[type=search]:focus{ border-color:var(--pp-gold); }

/* main: barra superior (result count + ordering) */
.pp-catalog-main{ min-width:0; }
.pp-catalog-main .woocommerce-result-count{ float:none !important; display:inline-block; color:var(--pp-muted); font-family:'Inter',sans-serif; margin:0; }
.pp-catalog-main .woocommerce-ordering{ float:right !important; margin:0 0 18px; }
.pp-catalog-main .woocommerce-ordering select{ border:1px solid var(--pp-border) !important; border-radius:8px !important; padding:9px 12px !important; font-family:'Inter',sans-serif; background:#fff; }
/* grilla dentro del main: 3-4 columnas (hay sidebar) */
.pp-catalog-main .gdlr-core-product-item-holder ul.products{ grid-template-columns:repeat(auto-fill, minmax(190px,1fr)) !important; }
@media(max-width:900px){ .pp-catalog{ grid-template-columns:1fr; } .pp-catalog-sidebar{ position:static; } }

/* --- Menú centrado (logo izq · menú centro · iconos der) --- */
.infinite-header-container-inner{ display:flex !important; align-items:center; }
.infinite-logo{ flex:0 0 auto; margin:0 !important; float:none !important; }
.infinite-navigation{ flex:1 1 auto; display:flex !important; align-items:center; float:none !important; width:auto !important; }
.infinite-main-menu{ flex:1 1 auto; display:flex !important; justify-content:center; }
.infinite-main-menu > ul.sf-menu{ float:none !important; display:inline-flex; }
.infinite-main-menu-right-wrap{ flex:0 0 auto; margin-left:14px; float:none !important; }

/* --- Buscador header: icono + overlay --- */
.pp-search-toggle{ background:none; border:0; cursor:pointer; color:var(--pp-ink); font-size:18px; padding:0 6px; display:inline-flex; align-items:center; }
.pp-search-toggle:hover{ color:var(--pp-gold); }
.pp-search-overlay{ position:fixed; inset:0; background:rgba(13,27,42,.55); backdrop-filter:blur(3px); display:none; align-items:flex-start; justify-content:center; z-index:99999; }
.pp-search-overlay.open{ display:flex; }
.pp-search-panel{ background:#fff; width:min(680px,92vw); margin-top:14vh; border-radius:16px; padding:26px; box-shadow:0 30px 80px rgba(0,0,0,.4); }
.pp-search-panel h3{ font-family:'Playfair Display',serif; color:var(--pp-ink); margin:0 0 14px; font-size:22px; }
.pp-search-panel form{ display:flex; gap:10px; }
.pp-search-panel input[type=search]{ flex:1; border:1.5px solid var(--pp-border); border-radius:10px; padding:14px 16px; font:16px 'Inter',sans-serif; outline:none; }
.pp-search-panel input[type=search]:focus{ border-color:var(--pp-gold); }
.pp-search-panel button{ background:var(--pp-navy); color:#fff; border:0; border-radius:10px; padding:0 22px; font-weight:600; cursor:pointer; }
.pp-search-close{ position:absolute; top:24px; right:30px; color:#fff; font-size:28px; cursor:pointer; background:none; border:0; }

/* v14 — la grilla del archivo usa div.products (no ul.products): ampliar selector */
.gdlr-core-product-item-holder .products{
  display:grid !important;
  grid-template-columns:repeat(auto-fill, minmax(190px,1fr)) !important;
  gap:20px !important; float:none !important; width:auto !important; margin:0 !important; padding:0 !important;
}
.gdlr-core-product-item-holder .products.columns-4 .products,
.gdlr-core-product-item-holder .products.columns-5 .products{ display:contents !important; }
.pp-catalog-main .gdlr-core-product-item-holder .products{ grid-template-columns:repeat(auto-fill, minmax(175px,1fr)) !important; }

/* =====================================================================
   v15 — badge sólido, espacio hero (header transparente), slider real
   ===================================================================== */
/* Badge: fondo sólido (sin transparencia detrás) */
.berocket_better_labels, .berocket_better_labels_image, .berocket_better_labels_inline,
.berocket_better_labels_line, .br_alabel{ background:transparent !important; box-shadow:none !important; }
.br_alabel > span, [class*="berocket_alabel_id_"] > span{ background:#0D1B2A !important; opacity:1 !important; }

/* Hero no tapado por el header transparente */
body.home .infinite-content-area{ padding-top:54px !important; }

/* Slider real (fade + dots) */
.pp-hero-slider{ position:relative; }
.pp-hero-slider.pp-multi{ display:block !important; overflow:visible; position:relative; min-height:430px; }
.pp-hero-slider.pp-multi > .pp-slide{ position:absolute; inset:0; opacity:0; transition:opacity .6s ease; pointer-events:none; }
.pp-hero-slider.pp-multi > .pp-slide.active{ position:relative; opacity:1; pointer-events:auto; }
.pp-hero-slider.pp-multi .pp-hero, .pp-hero-slider.pp-multi .pp-hero-inner{ margin:0; height:100%; }
.pp-hero-slider.pp-multi .pp-hero-inner{ min-height:430px; }
.pp-slide-image{ display:block; height:100%; border-radius:16px; overflow:hidden; }
.pp-slide-image img.pp-slide-img{ width:100%; height:430px; object-fit:cover; display:block; }
.pp-hero-dots{ display:flex; gap:9px; justify-content:center; margin:18px 0 0; }
.pp-hero-dots button{ width:10px; height:10px; border-radius:50%; border:0; background:#cfd6df; cursor:pointer; padding:0; transition:width .2s, background .2s; }
.pp-hero-dots button.active{ background:var(--pp-gold); width:26px; border-radius:6px; }

/* v16 — espacio bajo el menú (header transparente) + imagen del slider visible */
body.home .infinite-content-area{ padding-top:0 !important; }
body.home .infinite-header-transparent-substitute{ height:96px !important; min-height:96px !important; display:block !important; }
body.home .pp-hero-slider{ margin-top:20px; }
.pp-hero-slider .pp-slide-image, .pp-hero-slider .pp-slide-image img{ display:block !important; }
.df-searchbox{ }

/* v17 — aviso completo (contain) + fondo suave */
.pp-hero-slider .pp-slide-image{ background:var(--pp-soft); }
.pp-hero-slider .pp-slide-image img.pp-slide-img{ object-fit:contain !important; }

/* v18 — portadas completas (contain, no recortadas) + más aire al slide */
.gdlr-core-product-thumbnail img, .pp-rel-img img{ object-fit:contain !important; }
.gdlr-core-product-thumbnail, .pp-rel-img{ background:#fff !important; padding:8px; }
.pp-hero-slider.pp-multi{ min-height:460px; }
.pp-hero-slider.pp-multi .pp-hero-inner{ min-height:460px; }
.pp-hero-slider .pp-slide-image img.pp-slide-img{ height:460px; }
body.home .infinite-header-transparent-substitute{ height:110px !important; min-height:110px !important; }

/* v19 — Página Infantil & Juvenil (id 1222): lista de rangos prolija */
.page-id-1222 .infinite-page-title-wrap{ display:none !important; }
.page-id-1222 .gdlr-core-title-item{ margin:0 !important; padding:6px 0 !important; }
.page-id-1222 .gdlr-core-title-item-title{
  font-family:'Playfair Display',serif !important; font-size:22px !important;
  line-height:1.3 !important; color:var(--pp-ink) !important; text-transform:none !important;
  letter-spacing:0 !important; font-weight:600 !important;
}
.page-id-1222 .gdlr-core-title-item-title a{ color:var(--pp-ink) !important; }
.page-id-1222 .gdlr-core-title-item-title a:hover{ color:var(--pp-gold) !important; }
/* compactar columnas/espaciado del page builder en esa página */
.page-id-1222 .gdlr-core-pbf-column{ padding-bottom:14px !important; }
.page-id-1222 .gdlr-core-pbf-element{ margin-bottom:0 !important; }
/* dar un título limpio a la página (reemplaza el banner) */
.page-id-1222 .infinite-content-area::before{
  content:"Infantil & Juvenil"; display:block; font-family:'Playfair Display',serif;
  font-size:34px; color:var(--pp-ink); padding:8px 0 6px; border-bottom:1px solid var(--pp-border); margin-bottom:24px;
}

/* v20 — badge: los <i> tienen background inline #820e10 (capas rojas). Todo a navy */
.br_alabel span, .br_alabel b,
.br_alabel i, .br_alabel i[class*="template"], .br_alabel span > i{
  background-color:#0D1B2A !important; border-color:#0D1B2A !important;
}
.br_alabel .b_span_text{ background:transparent !important; border:0 !important; color:#fff !important; }

/* v21 — slide bajo el header (header=75px) */
body.home .infinite-content-area{ padding-top:0 !important; }
body.home .pp-hero-slider{ margin-top:100px !important; }

/* v22 — ícono de búsqueda (dispara Doofinder) */
.pp-search-icon{ display:inline-flex !important; align-items:center; color:var(--pp-ink) !important; font-size:18px; padding:0 8px; cursor:pointer; text-decoration:none; }
.pp-search-icon:hover, .pp-search-icon:hover .fa{ color:var(--pp-gold) !important; }
.pp-search-icon .fa{ color:inherit !important; }
/* ocultar restos del overlay viejo si quedaran */
.pp-search-overlay, .pp-search-toggle{ display:none !important; }

/* v23 — slide inactivo totalmente oculto (evita transparencia del otro slide) */
.pp-hero-slider.pp-multi > .pp-slide{ visibility:hidden; z-index:1; }
.pp-hero-slider.pp-multi > .pp-slide.active{ visibility:visible; z-index:3; }

/* v24 — el header/menú SIEMPRE por encima del slide */
.infinite-header-wrap, .infinite-header-background, .infinite-navigation,
.infinite-mobile-header, .infinite-sticky-navigation{ z-index:9990 !important; }
.pp-hero-slider.pp-multi{ z-index:1 !important; }
.pp-hero-slider.pp-multi > .pp-slide{ z-index:1 !important; }
.pp-hero-slider.pp-multi > .pp-slide.active{ z-index:2 !important; }

/* =====================================================================
   v25 — HEADER SÓLIDO (desactiva header transparente) + badge simple +
         precio anterior con contraste + portadas completas
   ===================================================================== */
/* Header: sólido, en flujo, sin transparencia ni overlap ni espacio arriba */
.infinite-header-background-transparent{ display:none !important; }
.infinite-header-transparent-substitute{ display:none !important; height:0 !important; }
.infinite-header-wrap{ position:relative !important; top:auto !important; }
.infinite-header-background,
.infinite-sticky-navigation .infinite-header-background{
  background:#ffffff !important; position:relative !important;
  border-bottom:1px solid var(--pp-border); box-shadow:0 1px 4px rgba(13,27,42,.05);
}
body.home .infinite-content-area{ padding-top:0 !important; }
body.home .pp-hero-slider{ margin-top:36px !important; z-index:1 !important; }

/* Badge de descuento: rectángulo navy simple (oculta las capas <i> que hacían doble fondo) */
.br_alabel span > i, .br_alabel span i{ display:none !important; }
.br_alabel > span{
  background:#0D1B2A !important; padding:3px 9px !important; border-radius:4px !important;
  display:inline-block !important; box-shadow:none !important;
}
.br_alabel b, .br_alabel .b_span_text{ background:transparent !important; color:#fff !important; font-weight:700; }

/* Precio anterior (tachado) con contraste; actual oscuro y fuerte */
.gdlr-core-product-price del, .gdlr-core-product-price del .woocommerce-Price-amount,
.woocommerce-loop-product__link + * del, del .woocommerce-Price-amount,
.pp-rel-price del, ul.products li.product .price del{
  color:#737b86 !important; opacity:1 !important; font-weight:400 !important; margin-right:5px;
}
.gdlr-core-product-price ins, .gdlr-core-product-price ins .woocommerce-Price-amount,
.pp-rel-price ins{ color:var(--pp-ink) !important; font-weight:700 !important; text-decoration:none; }

/* Portadas COMPLETAS y verticales (contain), sin recorte */
.gdlr-core-product-thumbnail img, .pp-rel-img img{ object-fit:contain !important; }
.gdlr-core-product-thumbnail, .pp-rel-img{ background:#fff !important; }

/* v26 — corrección header: NO ocultar transparent (es la barra en home); hacerlo sólido y en flujo */
.infinite-header-background-transparent{
  display:block !important; background:#ffffff !important; position:relative !important; top:auto !important;
  border-bottom:1px solid var(--pp-border); box-shadow:0 1px 4px rgba(13,27,42,.05);
}
.infinite-header-wrap{ position:relative !important; top:auto !important; }
.infinite-header-transparent-substitute{ display:none !important; height:0 !important; }
body.home .infinite-content-area{ padding-top:0 !important; }
body.home .pp-hero-slider{ margin-top:36px !important; }

/* =====================================================================
   v27 — Imagen principal del producto COMPLETA (sin recorte)
   ===================================================================== */
.woocommerce div.product .woocommerce-product-gallery,
.woocommerce div.product .woocommerce-product-gallery__wrapper,
.woocommerce div.product .woocommerce-product-gallery__image,
.woocommerce div.product .flex-viewport{
  height:auto !important; max-height:none !important; background:#fff;
}
.woocommerce div.product .woocommerce-product-gallery__image a,
.woocommerce div.product .woocommerce-product-gallery__image{ display:block; }
.woocommerce div.product .woocommerce-product-gallery__image img,
.woocommerce div.product img.wp-post-image{
  object-fit:contain !important; width:100% !important; height:auto !important;
  max-height:none !important; position:static !important; aspect-ratio:auto !important;
}
/* marco sutil como la referencia */
.woocommerce div.product .woocommerce-product-gallery{ border:1px solid var(--pp-border); border-radius:10px; overflow:hidden; }

/* =====================================================================
   v28 — Blog: grid de posts con el diseño
   ===================================================================== */
.page-id-404332 .infinite-page-title-wrap{ display:none !important; }
.pp-blog{ margin:10px 0 40px; }
.pp-blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.pp-blog-card{ display:block; text-decoration:none; border:1px solid var(--pp-border); border-radius:14px; overflow:hidden; background:#fff; transition:box-shadow .2s, transform .2s; }
.pp-blog-card:hover{ box-shadow:0 14px 34px rgba(13,27,42,.10); transform:translateY(-3px); }
.pp-blog-img{ aspect-ratio:16/10; overflow:hidden; background:var(--pp-soft); }
.pp-blog-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.pp-blog-noimg{ display:flex; align-items:center; justify-content:center; }
.pp-blog-noimg span{ font-family:'Playfair Display',serif; font-size:34px; color:var(--pp-gold); opacity:.5; }
.pp-blog-body{ padding:18px 20px 22px; }
.pp-blog-date{ font-family:'Inter',sans-serif; font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--pp-gold); font-weight:600; }
.pp-blog-title{ font-family:'Playfair Display',serif !important; font-size:20px; color:var(--pp-ink) !important; margin:8px 0 10px; line-height:1.3; }
.pp-blog-excerpt{ color:var(--pp-muted); font-size:14px; line-height:1.65; margin:0 0 12px; }
.pp-blog-more{ color:var(--pp-gold); font-weight:600; font-size:14px; }
@media(max-width:1024px){ .pp-blog-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:640px){ .pp-blog-grid{ grid-template-columns:1fr; } }

/* v29 — ocultar banner oscuro también en editoriales/materia (archivos de producto) */
.tax-pa_editorial .infinite-page-title-wrap, .tax-materia .infinite-page-title-wrap{ display:none !important; }

/* =====================================================================
   v30 — Fondo gris claro (referencia) + tarjetas de CATEGORÍA como el home
   ===================================================================== */
/* Fondo gris muy claro como home.png/interior.png (las tarjetas blancas resaltan) */
body{ background:#F8F9FA !important; }

/* Tarjetas de categoría: portada full-bleed (neutralizar el frame que la encajona) */
.gdlr-core-outer-frame-element{ margin:0 !important; padding:0 !important; border:0 !important; background:transparent !important; }
.gdlr-core-outer-frame-element:before, .gdlr-core-outer-frame-element:after{ display:none !important; }
/* título de categoría igual que el del home */
.gdlr-core-product-title, .gdlr-core-product-title.gdlr-core-skin-title{
  font-family:'Playfair Display',serif !important; font-size:15px !important; font-weight:600;
  display:-webkit-box !important; -webkit-line-clamp:2 !important; -webkit-box-orient:vertical !important;
  overflow:hidden !important; max-height:2.7em !important; min-height:2.7em !important;
  line-height:1.35 !important; margin:2px 0 8px !important; padding:0 !important;
}
.gdlr-core-product-title a, .gdlr-core-product-title.gdlr-core-skin-title a{ color:var(--pp-ink) !important; }
/* orden título→precio también con la clase gdlr-core-product-title (respaldo al JS) */
.gdlr-core-product-item .gdlr-core-product-grid-info .gdlr-core-product-title{ order:1 !important; }
.gdlr-core-product-item .gdlr-core-product-grid-info .gdlr-core-product-price{ order:2 !important; margin:0 0 6px !important; }
.gdlr-core-product-item .gdlr-core-product-grid-info .gdlr-core-product-add-to-cart,
.gdlr-core-product-item .gdlr-core-product-grid-info .add_to_cart_button{ order:3 !important; }

/* v31 — categoría: forzar flex+order en grid-info (precio y título son hijos directos) */
.gdlr-core-product-grid-3 .gdlr-core-product-grid-info,
.gdlr-core-product-item .gdlr-core-product-grid-info.clearfix{
  display:flex !important; flex-direction:column !important; padding:14px 14px 16px !important;
}
.gdlr-core-product-grid-3 .gdlr-core-product-grid-info > .gdlr-core-product-title{
  order:1 !important; float:none !important; width:100% !important;
  max-height:none !important; min-height:0 !important; -webkit-line-clamp:2 !important;
}
.gdlr-core-product-grid-3 .gdlr-core-product-grid-info > .gdlr-core-product-price{
  order:2 !important; float:none !important; width:100% !important; margin:0 !important;
}
/* botón add-to-cart de categoría: en flujo, abajo (no encima del título) */
.gdlr-core-product-grid-3 .gdlr-core-product-add-to-cart,
.gdlr-core-product-grid-3 .add_to_cart_button{
  position:static !important; order:3 !important; margin-top:10px !important; width:100%; text-align:center;
}

/* =====================================================================
   v32 — Grilla propia del catálogo (categoría/editorial/shop): tarjetas como el home
   ===================================================================== */
.pp-cat-count{ color:var(--pp-muted); font-family:'Inter',sans-serif; margin:0 0 16px; }
.pp-cat-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(180px,1fr)); gap:22px; }
.pp-cat-card{ display:flex; flex-direction:column; border:1px solid var(--pp-border); border-radius:12px; overflow:hidden; background:#fff; transition:box-shadow .2s, transform .2s; }
.pp-cat-card:hover{ box-shadow:0 12px 30px rgba(13,27,42,.10); transform:translateY(-2px); }
.pp-cat-imglink{ display:block; }
.pp-cat-img{ aspect-ratio:3/4; background:#fff; display:flex; align-items:center; justify-content:center; padding:10px; }
.pp-cat-img img{ max-width:100% !important; max-height:100% !important; width:auto !important; height:auto !important; object-fit:contain !important; }
.pp-cat-body{ padding:6px 14px 16px; display:flex; flex-direction:column; flex:1; }
.pp-cat-title{ font-family:'Playfair Display',serif !important; font-size:15px; color:var(--pp-ink) !important; text-decoration:none; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.7em; margin-bottom:8px; }
.pp-cat-title:hover{ color:var(--pp-gold) !important; }
.pp-cat-price{ font-weight:700; color:var(--pp-ink); margin-bottom:12px; font-size:15px; }
.pp-cat-price del{ color:#737b86; font-weight:400; font-size:.88em; margin-right:5px; }
.pp-cat-price ins{ text-decoration:none; color:var(--pp-ink); }
.pp-cat-atc{ margin-top:auto; background:var(--pp-navy) !important; color:#fff !important; text-align:center; padding:10px 8px; text-decoration:none; font-weight:600; font-size:13px; font-family:'Inter',sans-serif; border-radius:0; }
.pp-cat-atc:hover{ background:var(--pp-ink) !important; color:#fff !important; }
.pp-cat-empty{ color:var(--pp-muted); padding:20px 0; }
@media(max-width:640px){ .pp-cat-grid{ grid-template-columns:repeat(2,1fr); } }

/* =====================================================================
   v33 — FOTOS DE PRODUCTO COMPLETAS (contain) en todos lados, sin recorte
   ===================================================================== */
.gdlr-core-product-thumbnail, .pp-rel-img, .pp-cat-img{
  aspect-ratio:3/4 !important; height:auto !important; background:#fff !important;
  display:flex !important; align-items:center; justify-content:center; overflow:hidden; padding:10px !important;
}
.gdlr-core-product-thumbnail a, .gdlr-core-product-thumbnail .gdlr-core-media-image{
  display:flex !important; align-items:center; justify-content:center; width:100%; height:100%;
}
.gdlr-core-product-thumbnail img, .pp-rel-img img, .pp-cat-img img,
.woocommerce div.product .woocommerce-product-gallery__image img, .woocommerce div.product img.wp-post-image{
  object-fit:contain !important; max-width:100% !important; max-height:100% !important;
  width:auto !important; height:auto !important; transform:none !important;
}
.gdlr-core-product-grid-content:hover .gdlr-core-product-thumbnail img{ transform:none !important; }

/* =====================================================================
   v34 — Capa de búsqueda Doofinder (.dfd-*): ordenada y acorde al diseño
   ===================================================================== */
.dfd-layer, .dfd-root{ font-family:'Inter', sans-serif !important; }
.dfd-layer{ border-radius:0 0 16px 16px; }
.dfd-header{ border-bottom:1px solid var(--pp-border) !important; padding:18px 26px !important; gap:16px; align-items:center; }
.dfd-logo{ max-height:34px !important; width:auto !important; }
/* buscador */
.dfd-searchbox{ border:1.5px solid var(--pp-border) !important; border-radius:12px !important; background:#fff !important; padding:4px 10px !important; }
.dfd-searchbox:focus-within{ border-color:var(--pp-gold) !important; }
.dfd-searchbox-input{ font:16px 'Inter',sans-serif !important; color:var(--pp-ink) !important; }
.dfd-icon{ color:var(--pp-muted) !important; }
/* títulos de sección */
.dfd-title-lg{ font-family:'Playfair Display', serif !important; color:var(--pp-ink) !important; font-size:20px !important; margin-bottom:14px !important; }
/* búsquedas destacadas → chips dorados (variante ai-fullscreen: contenedor flex-wrap,
   ancho de chip automático; sin esto quedan de 34px y se enciman) */
.dfd-popular-searches{ padding:20px 26px !important; display:flex !important; flex-wrap:wrap !important; gap:8px !important; height:auto !important; align-content:flex-start; }
.dfd-popular-searches .dfd-title-lg{ flex:0 0 100% !important; }
.dfd-suggestion-link{ display:inline-flex !important; width:auto !important; max-width:none !important; margin:0 !important; }
.dfd-suggestion-link button{ width:auto !important; white-space:nowrap !important; }
.dfd-suggestion-link button{ background:var(--pp-soft) !important; border:1px solid var(--pp-border) !important; border-radius:20px !important; padding:7px 16px !important; color:var(--pp-ink) !important; font-size:14px !important; cursor:pointer; transition:all .15s; }
.dfd-suggestion-link button:hover{ background:var(--pp-navy) !important; border-color:var(--pp-navy) !important; color:#fff !important; }
.dfd-suggestion-link button span{ color:inherit !important; }
/* productos recomendados */
.dfd-recommended-products{ padding:8px 26px 26px !important; }
.dfd-card{ border:1px solid var(--pp-border) !important; border-radius:12px !important; overflow:hidden; background:#fff !important; }
.dfd-card-thumbnail img{ object-fit:contain !important; background:#fff; }
.dfd-card-title{ font-family:'Playfair Display', serif !important; color:var(--pp-ink) !important; font-size:15px !important; }
.dfd-card-price{ color:var(--pp-ink) !important; font-weight:700 !important; }
.dfd-card-price--sale{ color:var(--pp-gold) !important; }
.dfd-card-flag{ background:var(--pp-navy) !important; color:#fff !important; border-radius:4px !important; font-weight:600; }
.dfd-card-link span, .dfd-branding{ color:var(--pp-gold) !important; }
.dfd-cart-add-button button, .dfd-cart-check-button{ background:var(--pp-navy) !important; color:#fff !important; border-radius:6px !important; }
.dfd-close-button, .dfd-logo[dfd-click]{ cursor:pointer; }

/* v27 — badge descuento SIN doble fondo: los wrappers berocket no pintan nada
   (la regla ".berocket_better_labels .br_alabel" de arriba les daba fondo+padding
   con especificidad alta); solo el <span> interior lleva el rectángulo navy */
.berocket_better_labels .br_alabel,
.berocket_better_labels .berocket_better_labels_inline,
.berocket_better_labels_inline .br_alabel,
.berocket_better_labels_inline,
.br_alabel, .br_alabel_type_sale_p, [class*="berocket_alabel_id_"]{
  background:transparent !important; background-color:transparent !important;
  padding:0 !important; border:0 !important; box-shadow:none !important;
}
.berocket_better_labels .br_alabel > span,
[class*="berocket_alabel_id_"] > span,
.br_alabel > span{
  background:#0D1B2A !important; background-color:#0D1B2A !important;
  color:#fff !important; padding:3px 9px !important; border-radius:4px !important;
  display:inline-block !important; box-shadow:none !important; margin:0 !important;
}
/* v27b — inset del badge dentro de la tarjeta (elemento en flujo: usar margin) */
.berocket_better_labels .berocket_better_labels_position{ margin:10px 0 0 12px !important; }


/* ============================================================
   INTERIOR DE POST (blog single) — referencia Stitch
   ============================================================ */
/* fuera el hero navy del tema y su thumbnail duplicado */
body.single-post .infinite-blog-title-wrap{ display:none !important; }
body.single-post .infinite-single-article-thumbnail{ display:none !important; }
body.single-post .infinite-single-article{ max-width:860px; margin:0 auto; padding-top:20px; }

/* cabecera centrada */
.pp-post-head{ text-align:center; padding:36px 0 6px; }
.pp-post-chip{
  display:inline-block; border:1px solid #cfcfcf; padding:6px 16px;
  font-family:'Inter',sans-serif; font-size:11px; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase;
  color:#555 !important; margin-bottom:28px; text-decoration:none;
}
.pp-post-chip:hover{ border-color:var(--pp-gold); color:var(--pp-gold) !important; }
.pp-post-title{
  font-family:'Playfair Display',serif; font-size:44px; line-height:1.15;
  color:#14181d; font-weight:700; margin:0 0 26px; letter-spacing:-.01em;
}
.pp-post-author{
  display:flex; align-items:center; justify-content:center; gap:16px;
  font-family:'Inter',sans-serif; font-size:12px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:#333;
}
.pp-post-author span{ display:inline-block; width:36px; height:1px; background:#b9b9b9; }
.pp-post-date{
  font-family:'Inter',sans-serif; font-size:12px; font-style:italic;
  color:#8a8a8a; margin:16px 0 30px;
}
.pp-post-img{ margin:0 0 44px; }
.pp-post-img img{ width:100%; height:auto; display:block; }

/* cuerpo del artículo */
body.single-post .infinite-single-article-content{
  font-family:'Inter',sans-serif; font-size:16px; line-height:1.9; color:#3a3f45;
}
body.single-post .infinite-single-article-content > p{ margin-bottom:1.5em; }
body.single-post .infinite-single-article-content > p:first-of-type::first-letter{
  font-family:'Playfair Display',serif; font-size:66px; font-weight:700;
  float:left; line-height:.85; padding:6px 12px 0 0; color:var(--pp-navy);
}
body.single-post .infinite-single-article-content blockquote{
  border-left:3px solid var(--pp-gold); background:var(--pp-soft);
  font-family:'Playfair Display',serif; font-style:italic; font-size:20px;
  line-height:1.6; color:var(--pp-navy); padding:22px 30px; margin:38px 0;
}
body.single-post .infinite-single-article-content h2,
body.single-post .infinite-single-article-content h3{
  font-family:'Playfair Display',serif; color:#14181d;
}

/* etiquetas al pie */
.pp-post-tags{
  display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-start;
  border-top:1px solid #ececec; padding-top:28px; margin-top:44px;
}
.pp-post-tags a{
  border:1px solid #ddd; border-radius:999px; padding:6px 16px;
  font-family:'Inter',sans-serif; font-size:12px; color:#555 !important;
  text-decoration:none;
}
.pp-post-tags a:hover{ border-color:var(--pp-gold); color:var(--pp-gold) !important; }

/* Lecturas Recomendadas — banda gris full-bleed */
.pp-post-reco{
  background:#f4f4f2; margin:64px calc(50% - 50vw) 0; padding:60px 30px 70px;
}
.pp-post-reco-inner{ max-width:1140px; margin:0 auto; }
.pp-reco-head{
  display:flex; justify-content:space-between; align-items:flex-end;
  gap:30px; margin-bottom:38px; flex-wrap:wrap;
}
.pp-reco-head h2{
  font-family:'Playfair Display',serif; font-size:30px; color:#14181d; margin:0 0 10px;
}
.pp-reco-head p{
  max-width:480px; font-family:'Inter',sans-serif; font-size:13px;
  color:#6b7480; margin:0; line-height:1.6;
}
.pp-reco-vertodo{
  font-family:'Inter',sans-serif; font-size:12px; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase;
  color:var(--pp-gold) !important; text-decoration:none; white-space:nowrap;
}
.pp-reco-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:38px; }
.pp-reco-card{ display:block; text-decoration:none; }
.pp-reco-img{ overflow:hidden; background:#e8e8e6; }
.pp-reco-img img{
  width:100%; aspect-ratio:3/4; object-fit:cover; display:block;
  transition:transform .35s ease;
}
.pp-reco-card:hover .pp-reco-img img{ transform:scale(1.04); }
.pp-reco-title{
  font-family:'Playfair Display',serif; font-size:18px; font-weight:700;
  color:#14181d; margin:16px 0 4px; line-height:1.3;
}
.pp-reco-author{
  font-family:'Inter',sans-serif; font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; color:#8a8a8a; margin-bottom:8px;
}
.pp-reco-price{ font-family:'Inter',sans-serif; font-size:14px; font-weight:700; color:#14181d; }
.pp-reco-price del{ color:#a0a0a0; font-weight:400; margin-right:8px; }
.pp-reco-price ins{ text-decoration:none; }

/* comentarios */
body.single-post .infinite-comments-area{ max-width:860px; margin:0 auto; }
body.single-post .infinite-comments-title,
body.single-post .comment-reply-title{
  font-family:'Playfair Display',serif !important; font-size:26px !important;
  color:#14181d !important; text-transform:none !important; letter-spacing:0 !important;
}
body.single-post .comment-form input[type="text"],
body.single-post .comment-form input[type="email"],
body.single-post .comment-form input[type="url"],
body.single-post .comment-form textarea{
  background:#fff !important; border:1px solid #ddd !important; border-radius:6px;
  color:#333 !important; font-family:'Inter',sans-serif;
}
body.single-post .comment-form input[type="submit"],
body.single-post #submit{
  background:var(--pp-navy) !important; color:#fff !important;
  border:0 !important; border-radius:6px; padding:14px 30px;
  font-family:'Inter',sans-serif; font-size:12px; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase; cursor:pointer;
}
body.single-post .comment-form input[type="submit"]:hover,
body.single-post #submit:hover{ background:var(--pp-gold) !important; }

@media (max-width: 900px){
  .pp-post-title{ font-size:32px; }
  .pp-reco-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 600px){
  .pp-reco-grid{ grid-template-columns:1fr; }
}


/* ============================================================
   GALERÍA DE PRODUCTO — principal + miniaturas propias
   ============================================================ */
body.single-product .woocommerce-product-gallery{ opacity:1 !important; }
body.single-product .woocommerce-product-gallery__wrapper
  .woocommerce-product-gallery__image:not(:first-child){ display:none !important; }
body.single-product .woocommerce-product-gallery__trigger{ display:none !important; }
.pp-gal-thumbs{ display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.pp-gal-thumbs button{
  padding:0; border:2px solid transparent; border-radius:6px; background:none;
  cursor:pointer; line-height:0; transition:border-color .2s ease;
}
.pp-gal-thumbs button img{
  width:64px; height:88px; object-fit:cover; display:block; border-radius:4px;
}
.pp-gal-thumbs button:hover{ border-color:#d8cbb0; }
.pp-gal-thumbs button.active{ border-color:var(--pp-gold); }

/* fuera "Related Posts" y nav Prev/Next del tema (la referencia no los lleva) */
body.single-post .infinite-single-related-post-wrap,
body.single-post .infinite-single-nav-area{ display:none !important; }

/* miniaturas: ganar al width:100% que el tema/Woo aplica a las imgs de .images */
body.single-product .woocommerce-product-gallery .pp-gal-thumbs{
  display:flex !important; flex-wrap:wrap; gap:10px; margin-top:14px;
}
body.single-product .woocommerce-product-gallery .pp-gal-thumbs button{
  width:64px !important; padding:0 !important; border:2px solid transparent;
  border-radius:6px; background:none; cursor:pointer; line-height:0;
}
body.single-product .woocommerce-product-gallery .pp-gal-thumbs button img{
  width:60px !important; height:84px !important; max-width:60px !important;
  object-fit:cover; display:block; border-radius:4px;
}
body.single-product .woocommerce-product-gallery .pp-gal-thumbs button:hover{ border-color:#d8cbb0 !important; }
body.single-product .woocommerce-product-gallery .pp-gal-thumbs button.active{ border-color:var(--pp-gold) !important; }

/* ============================================================
   FICHA DE PRODUCTO — ajustes v2
   ============================================================ */
/* imagen principal: marco uniforme (mismo porte aunque las imágenes
   tengan tamaños distintos; contain para no recortar portadas) */
body.single-product .woocommerce-product-gallery__wrapper
  .woocommerce-product-gallery__image:first-child{
  background:#f7f6f3; border-radius:8px; overflow:hidden;
}
body.single-product .woocommerce-product-gallery__wrapper
  .woocommerce-product-gallery__image:first-child img{
  width:100% !important; height:auto; aspect-ratio:3/4.2;
  object-fit:contain; display:block; padding:18px; box-sizing:border-box;
}

/* la sinopsis no debe montarse sobre el resumen flotado (botón carrito) */
.pp-sinopsis{ clear:both !important; padding-top:48px; }
.pp-related{ clear:both; }

/* stock "Solo quedan X disponibles" como pill con punto de estado */
body.single-product .woocommerce div.product p.stock,
body.single-product p.stock{
  display:inline-flex !important; align-items:center; gap:9px;
  background:#eef6ef; border:1px solid #cfe5d2;
  color:#1e7a46 !important; padding:9px 18px; border-radius:999px;
  font-family:'Inter',sans-serif; font-size:13px; font-weight:600;
  margin:20px 0 8px; line-height:1;
}
body.single-product .woocommerce div.product p.stock::before,
body.single-product p.stock::before{
  content:''; width:8px; height:8px; border-radius:50%;
  background:#1e7a46; flex:0 0 auto;
}
body.single-product .woocommerce div.product p.stock.out-of-stock,
body.single-product p.stock.out-of-stock{
  background:#fbeeee; border-color:#ecd0d0; color:#ba1a1a !important;
}
body.single-product .woocommerce div.product p.stock.out-of-stock::before,
body.single-product p.stock.out-of-stock::before{ background:#ba1a1a; }

/* FIX PROD: el CSS estático de goodlayers (uploads/gdlr-style-custom.css, desactualizado
   respecto a las opciones del tema) pinta el fondo celeste #aed4f9 + patrón de imagen.
   En local/staging ese CSS sale inline desde la BD y no trae ese color. */
body .infinite-body-outer-wrapper,
body.infinite-full .infinite-body-wrapper,
.infinite-body-outer-wrapper{
  background-color:var(--pp-bg) !important;
  background-image:none !important;
}

/* Botón "Avisar arribo" del plugin en grillas/listados: solo debe verse en la ficha */
ul.products li.product .cwg_popup_submit,
.gdlr-core-product-item .cwg_popup_submit{ display:none !important; }

/* Botón "Avisar arribo" (back-in-stock-notifier) como CTA navy cuadrado */
body.single-product .cwg_popup_submit{
  background:var(--pp-navy) !important; color:#fff !important; border:0 !important;
  padding:13px 28px !important; border-radius:0 !important; cursor:pointer;
  font-family:'Inter',sans-serif !important; font-weight:600; font-size:14px; letter-spacing:.02em;
}
body.single-product .cwg_popup_submit:hover{ background:var(--pp-ink) !important; }

/* ============================================================
   CHECKOUT v2 — dos columnas estilo referencia
   (gana a las reglas genéricas de "PROCESO DE COMPRA" de arriba
   por especificidad body.woocommerce-checkout + orden)
   ============================================================ */
/* fondo gris claro y título serif oscuro alineado a la izquierda */
body.woocommerce-checkout,
body.woocommerce-checkout .infinite-body-wrapper,
body.woocommerce-checkout .infinite-page-wrapper,
body.woocommerce-checkout .infinite-content-container{ background:#f6f6f4 !important; }
body.woocommerce-checkout .infinite-page-title-wrap{
  background:transparent !important; background-image:none !important;
  padding:34px 0 0 !important;
}
body.woocommerce-checkout .infinite-page-title-overlay,
body.woocommerce-checkout .infinite-page-title-top-overlay,
body.woocommerce-checkout .infinite-page-title-bottom-overlay{ display:none !important; }
body.woocommerce-checkout .infinite-page-title-wrap .infinite-page-title{
  font-family:'Playfair Display',serif !important; color:#14181d !important;
  text-transform:none !important; font-size:40px !important; letter-spacing:0 !important;
  text-align:left;
}
body.woocommerce-checkout .infinite-page-title-wrap .infinite-page-caption{ display:none !important; }

/* avisos (login / cupón) discretos */
body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{
  background:#fff !important; border:1px solid #e8e8e4 !important;
  border-top-color:#e8e8e4 !important; border-radius:10px;
  color:#555 !important; font-size:13px; padding:14px 18px !important;
  box-shadow:none !important; margin-bottom:14px;
}
body.woocommerce-checkout form.checkout_coupon,
body.woocommerce-checkout form.woocommerce-form-login{
  background:#fff !important; border:1px solid #e8e8e4 !important;
  border-radius:10px !important; padding:20px !important;
}

/* ---- grid de dos columnas ---- */
body.woocommerce-checkout form.checkout.woocommerce-checkout{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 430px;
  grid-template-rows:auto auto 1fr;
  column-gap:52px; align-items:start; margin-top:10px;
}
body.woocommerce-checkout form.checkout #customer_details{ grid-column:1; grid-row:1 / span 3; }
body.woocommerce-checkout form.checkout #order_review_heading{ grid-column:2; grid-row:1; }
body.woocommerce-checkout form.checkout #order_review{ grid-column:2; grid-row:2; }

/* columnas internas de billing/shipping apiladas */
body.woocommerce-checkout #customer_details .col-1,
body.woocommerce-checkout #customer_details .col-2{
  float:none !important; width:100% !important; margin:0 !important;
}

/* ---- secciones numeradas ---- */
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout h3#ship-to-different-address{
  display:flex !important; align-items:center; gap:14px;
  font-family:'Playfair Display',serif !important; font-size:24px !important;
  color:#14181d !important; margin:34px 0 18px !important;
}
body.woocommerce-checkout .woocommerce-billing-fields > h3::before{ content:"1"; }
body.woocommerce-checkout h3#ship-to-different-address::before{ content:"2"; }
body.woocommerce-checkout .woocommerce-billing-fields > h3::before,
body.woocommerce-checkout h3#ship-to-different-address::before{
  flex:0 0 auto; width:26px; height:26px; border-radius:4px;
  background:var(--pp-navy); color:#fff; font-family:'Inter',sans-serif;
  font-size:13px; font-weight:700; display:inline-flex;
  align-items:center; justify-content:center;
}
body.woocommerce-checkout h3#ship-to-different-address label{ display:flex; align-items:center; gap:10px; }
body.woocommerce-checkout h3#ship-to-different-address span{ font-size:22px; }

/* ---- campos: label uppercase chico + input subrayado ---- */
body.woocommerce-checkout .woocommerce form .form-row label{
  text-transform:uppercase; letter-spacing:.12em; font-size:11px !important;
  font-family:'Inter',sans-serif !important; font-weight:600;
  color:#6b7480 !important; margin-bottom:2px;
}
body.woocommerce-checkout .woocommerce form .form-row input.input-text,
body.woocommerce-checkout .woocommerce form .form-row textarea,
body.woocommerce-checkout .select2-container .select2-selection--single,
body.woocommerce-checkout .woocommerce form .form-row select{
  border:0 !important; border-bottom:1px solid #d8d8d4 !important;
  border-radius:0 !important; background:transparent !important;
  padding:10px 2px !important; box-shadow:none !important;
  font-family:'Inter',sans-serif !important; font-size:14px;
  height:auto !important;
}
body.woocommerce-checkout .woocommerce form .form-row input.input-text:focus,
body.woocommerce-checkout .woocommerce form .form-row textarea:focus{
  border-bottom-color:var(--pp-navy) !important; outline:none;
}
body.woocommerce-checkout .select2-container--default .select2-selection__arrow{ top:8px !important; }

/* ---- card blanca del resumen ---- */
body.woocommerce-checkout #order_review_heading{
  background:#fff; border:1px solid #e8e8e4; border-bottom:0;
  border-radius:12px 12px 0 0; margin:0 !important;
  padding:28px 28px 4px !important; font-size:24px !important;
}
body.woocommerce-checkout #order_review_heading::after{
  content:''; display:block; height:1px; background:#eceae4; margin-top:16px;
}
body.woocommerce-checkout #order_review{
  background:#fff !important; border:1px solid #e8e8e4 !important; border-top:0 !important;
  border-radius:0 0 12px 12px !important; padding:0 28px 28px !important;
}
body.woocommerce-checkout #order_review table.shop_table{
  border:0 !important; background:transparent !important; margin:0;
  border-radius:0 !important; border-collapse:collapse !important;
}
body.woocommerce-checkout #order_review table.shop_table thead{ display:none; }
body.woocommerce-checkout #order_review table.shop_table th,
body.woocommerce-checkout #order_review table.shop_table td{
  background:transparent !important; border:0 !important;
  font-family:'Inter',sans-serif !important; padding:14px 0 !important;
}
body.woocommerce-checkout #order_review tr.cart_item td{ border-bottom:1px solid #f0efe9 !important; }

/* item con miniatura */
.pp-co-item{ display:flex; gap:14px; align-items:flex-start; }
.pp-co-thumb img{
  width:54px !important; height:74px !important; object-fit:cover;
  border-radius:4px; display:block; background:#f0efe9;
}
.pp-co-name{ font-size:14px; line-height:1.4; color:#14181d; font-weight:600; }
body.woocommerce-checkout #order_review td.product-name{ font-size:13px; color:#6b7480 !important; }
body.woocommerce-checkout #order_review td.product-total{ text-align:right; font-weight:700; color:#14181d !important; white-space:nowrap; }

/* método de envío como opciones en caja */
body.woocommerce-checkout tr.woocommerce-shipping-totals th{ display:none; }
body.woocommerce-checkout tr.woocommerce-shipping-totals td{ display:block; width:100%; }
body.woocommerce-checkout tr.woocommerce-shipping-totals td::before{
  content:'Método de Envío'; display:block; text-transform:uppercase;
  letter-spacing:.12em; font-size:11px; font-weight:600; color:#6b7480;
  margin:6px 0 10px;
}
body.woocommerce-checkout ul#shipping_method{
  list-style:none !important; margin:0 !important; padding:0 !important;
  display:flex; flex-direction:column; gap:10px;
}
body.woocommerce-checkout ul#shipping_method li{
  border:1px solid #e4e3dd; border-radius:8px; background:#fbfbf9;
  padding:12px 14px !important; margin:0 !important;
  display:flex; gap:10px; align-items:flex-start;
}
body.woocommerce-checkout ul#shipping_method li:has(input:checked){
  border-color:var(--pp-navy); background:#fff;
}
body.woocommerce-checkout ul#shipping_method label{
  text-transform:none !important; letter-spacing:0 !important;
  font-size:13px !important; color:#3a3f45 !important; font-weight:500;
  line-height:1.45; margin:0 !important; display:inline;
}
body.woocommerce-checkout ul#shipping_method input[type=radio]{ margin-top:3px; accent-color:#0D1B2A; }

/* totales */
body.woocommerce-checkout #order_review tr.cart-subtotal th,
body.woocommerce-checkout #order_review tr.cart-subtotal td{
  color:#3a3f45 !important; font-weight:500 !important; padding:8px 0 !important;
}
body.woocommerce-checkout #order_review tr.cart-subtotal td,
body.woocommerce-checkout #order_review tr.order-total td{ text-align:right; }
body.woocommerce-checkout #order_review tr.order-total th,
body.woocommerce-checkout #order_review tr.order-total td{
  border-top:1px solid #eceae4 !important; font-size:20px !important;
  font-weight:800 !important; color:#14181d !important; padding:16px 0 6px !important;
}

/* pago + botón */
body.woocommerce-checkout #payment{ background:transparent !important; border-radius:0 !important; }
body.woocommerce-checkout #payment ul.payment_methods{
  border:0 !important; padding:10px 0 !important; background:transparent !important;
}
body.woocommerce-checkout #payment div.form-row.place-order{ padding:0 !important; }
body.woocommerce-checkout #place_order{
  background:var(--pp-navy) !important; color:#fff !important; width:100%;
  border-radius:8px !important; padding:18px 20px !important;
  font-family:'Inter',sans-serif !important; font-size:13px !important;
  font-weight:700 !important; letter-spacing:.16em !important;
  text-transform:uppercase !important; border:0 !important;
}
body.woocommerce-checkout #place_order::after{ content:'  \2192'; }
body.woocommerce-checkout #place_order:hover{ background:var(--pp-gold) !important; }
.pp-co-ssl{
  font-family:'Inter',sans-serif; font-size:11px; color:#9a9a94;
  text-align:center; margin:14px 0 0;
}

@media (max-width: 1000px){
  body.woocommerce-checkout form.checkout.woocommerce-checkout{ display:block !important; }
}

/* checkout v2b — Woo impone width 47%/50% flotado a las columnas: resetear */
body.woocommerce-checkout form.checkout #customer_details,
body.woocommerce-checkout form.checkout #order_review,
body.woocommerce-checkout form.checkout #order_review_heading{
  width:100% !important; float:none !important;
}
body.woocommerce-checkout #order_review table.shop_table{ width:100% !important; }
body.woocommerce-checkout #order_review td.product-name{ width:100%; }

/* aviso superior de la página (tiempos de despacho) y login: discretos */
body.woocommerce-checkout .infinite-page-content h1,
body.woocommerce-checkout .infinite-page-content h2,
body.woocommerce-checkout .gdlr-core-text-box-item h1,
body.woocommerce-checkout .gdlr-core-text-box-item h2{
  font-size:15px !important; line-height:1.6 !important; text-transform:none !important;
  font-family:'Inter',sans-serif !important; font-weight:500 !important; color:#6b7480 !important;
  letter-spacing:0 !important; text-align:left !important;
}

/* métodos de pago como opciones en caja (igual que envío) */
body.woocommerce-checkout #payment ul.payment_methods{
  display:flex; flex-direction:column; gap:10px; margin:0 !important;
}
body.woocommerce-checkout #payment ul.payment_methods::before{
  content:'Método de Pago'; display:block; text-transform:uppercase;
  letter-spacing:.12em; font-size:11px; font-weight:600; color:#6b7480;
  font-family:'Inter',sans-serif; margin:4px 0 2px;
}
body.woocommerce-checkout #payment ul.payment_methods li{
  border:1px solid #e4e3dd; border-radius:8px; background:#fbfbf9;
  padding:12px 14px !important; margin:0 !important; list-style:none;
}
body.woocommerce-checkout #payment ul.payment_methods li:has(input:checked){
  border-color:var(--pp-navy); background:#fff;
}
body.woocommerce-checkout #payment ul.payment_methods label{
  display:inline; font-family:'Inter',sans-serif !important; font-size:13px !important;
  font-weight:600; color:#14181d !important; text-transform:none !important;
  letter-spacing:0 !important; margin:0 !important;
}
body.woocommerce-checkout #payment ul.payment_methods input[type=radio]{
  margin-right:8px; accent-color:#0D1B2A;
}
body.woocommerce-checkout #payment div.payment_box{
  background:#f4f3ef !important; border-radius:6px; font-size:12px !important;
  color:#6b7480 !important; margin-top:10px !important; padding:12px 14px !important;
}
body.woocommerce-checkout #payment div.payment_box::before{ display:none !important; }
body.woocommerce-checkout .woocommerce-privacy-policy-text p{
  font-family:'Inter',sans-serif; font-size:11px; color:#9a9a94; line-height:1.5;
}

/* aviso de demoras (h4 suelto en el contenido de la página checkout) */
body.woocommerce-checkout .infinite-content-area > h4{
  font-family:'Inter',sans-serif !important; font-size:12.5px !important;
  font-weight:500 !important; letter-spacing:.02em !important;
  color:#8a6d3b !important; background:#faf6ec; border:1px solid #eadfc8;
  border-radius:10px; padding:12px 18px; line-height:1.6 !important;
  text-align:left !important; margin:0 0 16px !important;
}
/* link del cupón en dorado */
body.woocommerce-checkout .showcoupon{ color:var(--pp-gold) !important; font-weight:600; }

/* filas del resumen sin franjas grises del tema */
body.woocommerce-checkout #order_review table.shop_table tr{ background:transparent !important; }

/* ============================================================
   HEADER — respiro entre buscador y carrito
   ============================================================ */
.infinite-main-menu-right-wrap{
  display:flex !important; align-items:center; gap:22px; margin-left:26px;
}
.infinite-main-menu-right-wrap .infinite-main-menu-cart{ margin:0 !important; }
.pp-search-icon{ padding:0 !important; }
.infinite-top-cart-count{ margin-left:2px; }

/* ============================================================
   CARRITO — mismo lenguaje que el checkout
   ============================================================ */
body.woocommerce-cart,
body.woocommerce-cart .infinite-body-wrapper,
body.woocommerce-cart .infinite-page-wrapper,
body.woocommerce-cart .infinite-content-container{ background:#f6f6f4 !important; }
body.woocommerce-cart .infinite-page-title-wrap{
  background:transparent !important; background-image:none !important;
  padding:34px 0 0 !important;
}
body.woocommerce-cart .infinite-page-title-overlay,
body.woocommerce-cart .infinite-page-title-top-overlay,
body.woocommerce-cart .infinite-page-title-bottom-overlay{ display:none !important; }
body.woocommerce-cart .infinite-page-title-wrap .infinite-page-title{
  font-family:'Playfair Display',serif !important; color:#14181d !important;
  text-transform:none !important; font-size:40px !important; letter-spacing:0 !important;
  text-align:left;
}
body.woocommerce-cart .infinite-page-title-wrap .infinite-page-caption{ display:none !important; }

/* info de despacho (párrafos del contenido de la página): discreta */
body.woocommerce-cart .infinite-content-area > p,
body.woocommerce-cart .infinite-page-content > p{
  font-family:'Inter',sans-serif !important; font-size:12.5px !important;
  color:#8a8a84 !important; text-align:left !important; line-height:1.6 !important;
  margin:0 0 6px !important;
}
body.woocommerce-cart .infinite-content-area > p strong,
body.woocommerce-cart .infinite-page-content > p strong{ color:#6b7480 !important; font-weight:600; }

/* avisos woo (añadido / reserva 1 hora) blancos y discretos */
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info{
  background:#fff !important; border:1px solid #e8e8e4 !important;
  border-top:1px solid #e8e8e4 !important; border-left:3px solid var(--pp-gold) !important;
  border-radius:10px; color:#555 !important; font-family:'Inter',sans-serif;
  font-size:13px !important; padding:14px 18px !important; box-shadow:none !important;
  margin-bottom:14px !important;
}
body.woocommerce-cart .woocommerce-message::before,
body.woocommerce-cart .woocommerce-info::before{ display:none !important; }
body.woocommerce-cart .woocommerce-message a.button{
  background:var(--pp-navy) !important; color:#fff !important; border-radius:6px !important;
  font-size:12px !important; padding:8px 14px !important;
}

/* ---- grid: tabla izquierda / totales derecha ---- */
body.woocommerce-cart .infinite-content-area div.woocommerce{
  display:grid; grid-template-columns:minmax(0,1fr) 430px;
  column-gap:52px; align-items:start; margin-top:14px;
}
body.woocommerce-cart .woocommerce-notices-wrapper,
body.woocommerce-cart .infinite-content-area div.woocommerce > .woocommerce-message,
body.woocommerce-cart .infinite-content-area div.woocommerce > .woocommerce-info{ grid-column:1 / -1; }
body.woocommerce-cart form.woocommerce-cart-form{ grid-column:1; }
body.woocommerce-cart .cart-collaterals{ grid-column:2; width:100% !important; }

/* ---- tabla del carrito como card blanca ---- */
body.woocommerce-cart table.shop_table.cart{
  background:#fff !important; border:1px solid #e8e8e4 !important;
  border-radius:12px !important; border-collapse:separate !important; overflow:hidden;
}
body.woocommerce-cart table.shop_table.cart thead th{
  background:transparent !important; border-bottom:1px solid #eceae4 !important;
  font-family:'Inter',sans-serif !important; font-size:11px !important;
  letter-spacing:.12em; text-transform:uppercase; color:#6b7480 !important;
  font-weight:600 !important; padding:16px 14px !important;
}
body.woocommerce-cart table.shop_table.cart td{
  background:transparent !important; border:0 !important;
  border-bottom:1px solid #f0efe9 !important;
  font-family:'Inter',sans-serif !important; color:#14181d !important;
  padding:16px 14px !important; vertical-align:middle;
}
body.woocommerce-cart table.shop_table.cart td.product-thumbnail img{
  width:54px !important; height:74px !important; object-fit:cover;
  border-radius:4px; display:block; background:#f0efe9;
}
body.woocommerce-cart table.shop_table.cart td.product-name a{
  color:#14181d !important; font-weight:600; font-size:14px;
}
body.woocommerce-cart table.shop_table.cart td.product-price,
body.woocommerce-cart table.shop_table.cart td.product-subtotal{ font-weight:700; white-space:nowrap; }
body.woocommerce-cart table.shop_table.cart a.remove{
  color:#b0b0aa !important; background:transparent !important; font-size:18px !important;
}
body.woocommerce-cart table.shop_table.cart a.remove:hover{ color:#ba1a1a !important; }
body.woocommerce-cart .quantity input.qty{
  border:1px solid #ddd !important; border-radius:6px !important;
  padding:8px 4px !important; background:#fff !important;
}
/* fila de acciones: cupón + actualizar */
body.woocommerce-cart table.shop_table.cart td.actions{ border-bottom:0 !important; padding:18px 14px !important; }
body.woocommerce-cart td.actions .coupon input#coupon_code{
  border:1px solid #ddd !important; border-radius:8px !important;
  padding:11px 14px !important; width:180px !important; background:#fff !important;
  font-family:'Inter',sans-serif !important; font-size:13px;
}
body.woocommerce-cart td.actions .coupon button,
body.woocommerce-cart td.actions > button{
  background:var(--pp-navy) !important; color:#fff !important;
  border-radius:8px !important; padding:12px 18px !important;
  font-family:'Inter',sans-serif !important; font-size:13px !important; font-weight:600 !important;
}
body.woocommerce-cart td.actions .coupon button:hover,
body.woocommerce-cart td.actions > button:hover{ background:var(--pp-gold) !important; }

/* ---- card de totales ---- */
body.woocommerce-cart .cart-collaterals .cart_totals{
  width:100% !important; float:none !important;
  background:#fff !important; border:1px solid #e8e8e4 !important;
  border-radius:12px !important; padding:28px !important;
}
body.woocommerce-cart .cart_totals h2{
  font-family:'Playfair Display',serif !important; font-size:24px !important;
  color:#14181d !important; margin:0 0 6px !important;
}
body.woocommerce-cart .cart_totals h2::after{
  content:''; display:block; height:1px; background:#eceae4; margin-top:14px;
}
body.woocommerce-cart .cart_totals table.shop_table{
  border:0 !important; background:transparent !important; margin:0 !important;
  border-radius:0 !important; width:100% !important; border-collapse:collapse !important;
}
body.woocommerce-cart .cart_totals table.shop_table tr{ background:transparent !important; }
body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td{
  background:transparent !important; border:0 !important;
  font-family:'Inter',sans-serif !important; padding:12px 0 !important;
}
body.woocommerce-cart .cart_totals tr.cart-subtotal th,
body.woocommerce-cart .cart_totals tr.cart-subtotal td{ color:#3a3f45 !important; font-weight:500 !important; }
body.woocommerce-cart .cart_totals tr.cart-subtotal td,
body.woocommerce-cart .cart_totals tr.order-total td{ text-align:right; }
body.woocommerce-cart .cart_totals tr.order-total th,
body.woocommerce-cart .cart_totals tr.order-total td{
  border-top:1px solid #eceae4 !important; font-size:20px !important;
  font-weight:800 !important; color:#14181d !important; padding:16px 0 8px !important;
}
/* envío como cajas (igual que checkout) */
body.woocommerce-cart tr.woocommerce-shipping-totals th{ display:none; }
body.woocommerce-cart tr.woocommerce-shipping-totals td{ display:block; width:100%; }
body.woocommerce-cart tr.woocommerce-shipping-totals td::before{
  content:'Método de Envío'; display:block; text-transform:uppercase;
  letter-spacing:.12em; font-size:11px; font-weight:600; color:#6b7480; margin:6px 0 10px;
}
body.woocommerce-cart ul#shipping_method{
  list-style:none !important; margin:0 !important; padding:0 !important;
  display:flex; flex-direction:column; gap:10px;
}
body.woocommerce-cart ul#shipping_method li{
  border:1px solid #e4e3dd; border-radius:8px; background:#fbfbf9;
  padding:12px 14px !important; margin:0 !important;
  display:flex; gap:10px; align-items:flex-start;
}
body.woocommerce-cart ul#shipping_method li:has(input:checked){ border-color:var(--pp-navy); background:#fff; }
body.woocommerce-cart ul#shipping_method label{
  font-size:13px !important; color:#3a3f45 !important; font-weight:500;
  line-height:1.45; margin:0 !important; display:inline; text-transform:none !important;
}
body.woocommerce-cart ul#shipping_method input[type=radio]{ margin-top:3px; accent-color:#0D1B2A; }
body.woocommerce-cart .woocommerce-shipping-destination{ font-size:12px !important; color:#8a8a84 !important; margin-top:10px; }
body.woocommerce-cart .shipping-calculator-button{ color:var(--pp-gold) !important; font-size:12px; font-weight:600; }
/* botón finalizar */
body.woocommerce-cart .wc-proceed-to-checkout{ padding:10px 0 0 !important; }
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  display:block; width:100%; text-align:center;
  background:var(--pp-navy) !important; color:#fff !important;
  border-radius:8px !important; padding:18px 20px !important;
  font-family:'Inter',sans-serif !important; font-size:13px !important;
  font-weight:700 !important; letter-spacing:.16em !important;
  text-transform:uppercase !important; border:0 !important;
}
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after{ content:'  \2192'; }
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{ background:var(--pp-gold) !important; }

@media (max-width: 1000px){
  body.woocommerce-cart .infinite-content-area div.woocommerce{ display:block; }
}

/* etiquetas de envío ocupan el ancho disponible (se quebraban palabra a palabra) */
body.woocommerce-cart ul#shipping_method label,
body.woocommerce-checkout ul#shipping_method label{ flex:1 1 auto; min-width:0; }

/* totales del carrito: tabla → bloques flex (el td block dentro de
   table-row se encogía al contenido y las cajas de envío salían angostas) */
body.woocommerce-cart .cart_totals table.shop_table,
body.woocommerce-cart .cart_totals table.shop_table tbody{ display:block; width:100% !important; }
body.woocommerce-cart .cart_totals table.shop_table tr{
  display:flex; justify-content:space-between; align-items:baseline; width:100%;
}
body.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals{ display:block; }
body.woocommerce-cart .cart_totals tr.woocommerce-shipping-totals td{ width:100% !important; box-sizing:border-box; }

/* línea del Total continua (los bordes por celda quedaban cortados por el flex) */
body.woocommerce-cart .cart_totals table.shop_table tr.order-total{
  border-top:1px solid #eceae4; margin-top:6px;
}
body.woocommerce-cart .cart_totals tr.order-total th,
body.woocommerce-cart .cart_totals tr.order-total td{ border-top:0 !important; }

/* ============================================================
   PÁGINAS ESTÁTICAS — Contacto (411498), Términos (411500),
   Privacidad (411502): mismo lenguaje que carrito/checkout
   ============================================================ */
body.page-id-411498, body.page-id-411500, body.page-id-411502,
body.page-id-411498 .infinite-body-wrapper, body.page-id-411500 .infinite-body-wrapper, body.page-id-411502 .infinite-body-wrapper,
body.page-id-411498 .infinite-page-wrapper, body.page-id-411500 .infinite-page-wrapper, body.page-id-411502 .infinite-page-wrapper,
body.page-id-411498 .infinite-content-container, body.page-id-411500 .infinite-content-container, body.page-id-411502 .infinite-content-container{
  background:#f6f6f4 !important;
}
body.page-id-411498 .infinite-page-title-wrap,
body.page-id-411500 .infinite-page-title-wrap,
body.page-id-411502 .infinite-page-title-wrap{
  background:transparent !important; background-image:none !important; padding:34px 0 0 !important;
}
body.page-id-411498 .infinite-page-title-overlay, body.page-id-411498 .infinite-page-title-top-overlay, body.page-id-411498 .infinite-page-title-bottom-overlay,
body.page-id-411500 .infinite-page-title-overlay, body.page-id-411500 .infinite-page-title-top-overlay, body.page-id-411500 .infinite-page-title-bottom-overlay,
body.page-id-411502 .infinite-page-title-overlay, body.page-id-411502 .infinite-page-title-top-overlay, body.page-id-411502 .infinite-page-title-bottom-overlay{
  display:none !important;
}
body.page-id-411498 .infinite-page-title-wrap .infinite-page-title,
body.page-id-411500 .infinite-page-title-wrap .infinite-page-title,
body.page-id-411502 .infinite-page-title-wrap .infinite-page-title{
  font-family:'Playfair Display',serif !important; color:#14181d !important;
  text-transform:none !important; font-size:40px !important; letter-spacing:0 !important;
  text-align:left;
}

.pp-static{ max-width:860px; padding:10px 0 70px; font-family:'Inter',sans-serif; }
.pp-static-intro{
  font-size:16px; line-height:1.8; color:#3a3f45; max-width:720px; margin:0 0 36px;
}
.pp-static h2{
  font-family:'Playfair Display',serif !important; font-size:24px;
  color:#14181d !important; margin:38px 0 12px;
}
.pp-static p{ font-size:14.5px; line-height:1.8; color:#4a4f55; margin:0 0 14px; }
.pp-static a{ color:var(--pp-gold) !important; font-weight:600; }
.pp-legal h2{ font-size:20px; }

/* tarjetas de contacto */
.pp-contact-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; margin:6px 0 20px;
}
.pp-contact-card{
  background:#fff; border:1px solid #e8e8e4; border-radius:12px; padding:26px;
}
.pp-contact-card h3{
  font-family:'Playfair Display',serif !important; font-size:19px;
  color:#14181d !important; margin:0 0 14px;
}
.pp-contact-card p{ font-size:14px; line-height:1.7; color:#4a4f55; margin:0 0 12px; }
.pp-contact-note{ font-size:12.5px !important; color:#8a8a84 !important; }
.pp-contact-btn{
  display:inline-block; background:var(--pp-navy); color:#fff !important;
  border-radius:8px; padding:12px 20px; font-size:12px; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; text-decoration:none; margin-top:4px;
}
.pp-contact-btn:hover{ background:var(--pp-gold); }
.pp-static-block{
  background:#fff; border:1px solid #e8e8e4; border-left:3px solid var(--pp-gold);
  border-radius:12px; padding:24px 28px; margin-top:26px;
}
.pp-static-block h2{ margin-top:0; font-size:20px; }

@media (max-width: 800px){
  .pp-contact-grid{ grid-template-columns:1fr; }
}

/* guarda anti-FOUC: la copia del menú principal para el menú móvil (mmenu)
   no debe verse nunca como lista plana antes de que su JS la inicialice */
.infinite-mm-menu-wrap:not(.mm-menu){ display:none !important; }

/* mensaje de suscripción del boletín */
.pp-news-msg{
  font-family:'Inter',sans-serif; font-size:13px; line-height:1.5;
  margin:10px 0 0; padding:10px 14px; border-radius:8px;
}
.pp-news-msg.pp-news-ok{
  background:#eef6ef; border:1px solid #cfe5d2; color:#1e7a46;
}
.pp-news-msg.pp-news-ok::before{ content:'✓  '; font-weight:700; }
.pp-news-msg.pp-news-error{
  background:#fbeeee; border:1px solid #ecd0d0; color:#ba1a1a;
}

/* home: restos del builder antiguo (spacer de 330px + banner oculto) generaban
   un hueco en blanco entre la grilla de novedades y el footer */
body.home .gdlr-core-page-builder-body{ display:none !important; }

/* ============================================================
   EXPLORAR POR TEMAS — /etiquetas/ según propuesta
   ============================================================ */
body.pp-page-temas,
body.pp-page-temas .infinite-body-wrapper,
body.pp-page-temas .infinite-page-wrapper,
body.pp-page-temas .infinite-content-container{ background:#f6f6f4 !important; }
body.pp-page-temas .infinite-page-title-wrap{
  background:transparent !important; background-image:none !important; padding:34px 0 0 !important;
}
body.pp-page-temas .infinite-page-title-overlay,
body.pp-page-temas .infinite-page-title-top-overlay,
body.pp-page-temas .infinite-page-title-bottom-overlay{ display:none !important; }
body.pp-page-temas .infinite-page-title-wrap .infinite-page-title{
  font-family:'Playfair Display',serif !important; color:#14181d !important;
  text-transform:none !important; font-size:40px !important; letter-spacing:0 !important;
  text-align:left;
}
body.pp-page-temas .pp-static-intro{
  font-family:'Inter',sans-serif; font-size:15px; line-height:1.8; color:#4a4f55;
  max-width:620px; margin:6px 0 44px; padding-bottom:34px; border-bottom:1px solid #e5e4de;
}

.pp-temas{ display:grid; grid-template-columns:210px minmax(0,1fr); gap:56px; align-items:start; padding-bottom:40px; }
.pp-temas-side{ position:sticky; top:100px; }
.pp-temas-side h3{
  font-family:'Inter',sans-serif !important; font-size:11px !important;
  letter-spacing:.16em; text-transform:uppercase; color:var(--pp-gold) !important;
  margin:0 0 16px;
}
.pp-temas-side ul{ list-style:none; margin:0; padding:0; }
.pp-temas-side li{ margin:0 0 10px; }
.pp-temas-side a{
  display:flex; justify-content:space-between; gap:10px;
  font-family:'Inter',sans-serif; font-size:13.5px; color:#3a3f45 !important;
  text-decoration:none;
}
.pp-temas-side a:hover span{ color:var(--pp-gold); }
.pp-temas-side em{ font-style:normal; color:#a0a09a; font-size:12px; }

.pp-tema{ margin-bottom:64px; }
.pp-tema-head{ display:flex; justify-content:space-between; align-items:baseline; gap:20px; border-bottom:1px solid #e5e4de; padding-bottom:12px; margin-bottom:18px; }
.pp-tema-head h2{
  font-family:'Playfair Display',serif !important; font-size:27px;
  color:#14181d !important; margin:0;
}
.pp-tema-chips{ display:flex; flex-wrap:wrap; gap:10px; margin:2px 0 24px; }
.pp-tema-chip{
  border:1px solid #d9d8d2; background:#fff; padding:7px 14px;
  font-family:'Inter',sans-serif; font-size:11px; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; color:#555 !important;
  text-decoration:none; border-radius:2px;
}
.pp-tema-chip:hover{ border-color:var(--pp-gold); color:var(--pp-gold) !important; }
.pp-tema-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.pp-tema-card{ display:block; text-decoration:none; }
.pp-tema-img{ overflow:hidden; background:#e9e8e2; }
.pp-tema-img img{
  width:100%; aspect-ratio:3/4; object-fit:cover; display:block;
  transition:transform .35s ease;
}
.pp-tema-card:hover .pp-tema-img img{ transform:scale(1.04); }
.pp-tema-card h3{
  font-family:'Playfair Display',serif !important; font-size:17px; font-weight:700;
  color:#14181d !important; margin:14px 0 4px; line-height:1.35;
}
.pp-tema-autor{
  font-family:'Inter',sans-serif; font-size:12.5px; font-style:italic; color:#8a8a84;
}

/* CTA navy "Crónica de Ideas" */
.pp-cronica{
  background:var(--pp-navy); border-radius:4px; margin:20px 0 70px; padding:54px 56px;
  position:relative; overflow:hidden;
}
.pp-cronica::after{
  content:'\f02d'; font-family:'Font Awesome 5 Free','FontAwesome'; font-weight:900;
  position:absolute; right:40px; bottom:-30px; font-size:180px; color:rgba(255,255,255,.05);
}
.pp-cronica-inner{ max-width:640px; }
.pp-cronica h2{
  font-family:'Playfair Display',serif !important; color:var(--pp-gold) !important;
  font-size:28px; margin:0 0 12px;
}
.pp-cronica p{
  font-family:'Inter',sans-serif; color:#c9d0da; font-size:13.5px; line-height:1.7; margin:0 0 22px;
}
.pp-cronica-form{ display:flex; gap:12px; flex-wrap:wrap; }
.pp-cronica-form input[type=email]{
  flex:1 1 260px; background:#16243a; border:1px solid #2c3c55; border-radius:4px;
  color:#fff; padding:13px 16px; font-family:'Inter',sans-serif; font-size:14px;
}
.pp-cronica-form input[type=email]::placeholder{ color:#7c8798; }
.pp-cronica-form button{
  background:var(--pp-gold); color:#fff; border:0; border-radius:4px;
  padding:13px 26px; font-family:'Inter',sans-serif; font-size:12px;
  font-weight:700; letter-spacing:.14em; text-transform:uppercase; cursor:pointer;
}
.pp-cronica-form button:hover{ background:var(--pp-gold-dark); }
.pp-cronica .pp-news-msg{ max-width:640px; }

@media (max-width: 900px){
  .pp-temas{ display:block; }
  .pp-temas-side{ position:static; margin-bottom:36px; }
  .pp-tema-grid{ grid-template-columns:repeat(2,1fr); }
  .pp-cronica{ padding:36px 28px; }
}

/* ============================================================
   HEADER FIJO (desktop) — siempre visible arriba
   (sticky no funciona: .mm-page tiene overflow:hidden; fixed lo ignora)
   ============================================================ */
@media (min-width: 1025px){
  /* !important necesario: v25/v26 fijan position:relative !important en este wrapper */
  .infinite-header-background-transparent{
    position:fixed !important; top:0 !important; left:0; right:0; z-index:9990;
    background:#fff !important; box-shadow:0 1px 3px rgba(13,27,42,.07);
  }
  body.admin-bar .infinite-header-background-transparent{ top:32px !important; }
  .infinite-body-wrapper{ padding-top:var(--pp-header-h, 116px) !important; }
}

/* ============================================================
   HEADER COMPACTO al hacer scroll (html.pp-compact) — desktop
   ============================================================ */
@media (min-width: 1025px){
  .infinite-logo-inner img{ transition:height .28s ease; }
  .infinite-navigation{ transition:padding .28s ease; }
  .infinite-header-background-transparent{
    transition:box-shadow .28s ease, background .28s ease;
  }
  html.pp-compact .infinite-logo-inner img{
    height:30px !important; width:auto !important;
  }
  html.pp-compact .infinite-navigation{ padding-top:16px !important; }
  html.pp-compact .infinite-header-background-transparent{
    box-shadow:0 2px 12px rgba(13,27,42,.14);
  }
}

/* compacto: menos aire bajo los items del menú (34px → 16px) */
@media (min-width: 1025px){
  .infinite-navigation .sf-menu > li > a{ transition:padding .28s ease; }
  html.pp-compact .infinite-navigation .sf-menu > li > a{ padding-bottom:16px !important; }
}

/* compacto: el contenedor del logo (padding 30/32) también se encoge */
@media (min-width: 1025px){
  .infinite-logo{ transition:padding .28s ease; }
  html.pp-compact .infinite-logo{ padding-top:12px !important; padding-bottom:12px !important; }
}

/* ============================================================
   CATÁLOGO v3 — toolbar (filtro/orden), paginación, autor,
   portada de reemplazo
   ============================================================ */
.pp-cat-toolbar{
  display:flex; justify-content:space-between; align-items:center;
  gap:16px; flex-wrap:wrap; margin-bottom:18px;
}
.pp-cat-toolbar .pp-cat-count{ margin:0; }
.pp-cat-count span{ color:#9a9a94; font-weight:400; font-size:12px; }
.pp-cat-controls{ display:flex; gap:10px; flex-wrap:wrap; }
.pp-cat-select{
  border:1px solid #ddd !important; border-radius:8px !important;
  background:#fff !important; padding:9px 12px !important;
  font-family:'Inter',sans-serif !important; font-size:13px !important;
  color:#3a3f45 !important; cursor:pointer; max-width:230px;
}

.pp-cat-autor{
  font-family:'Inter',sans-serif; font-size:12px; font-style:italic;
  color:#8a8a84; margin:2px 0 6px;
}
.pp-loop-autor{
  font-family:'Inter',sans-serif !important; font-size:12px !important;
  font-style:italic; color:#8a8a84 !important; line-height:1.4;
  margin:2px 0 4px; text-align:left;
}
.pp-rel-autor{
  font-family:'Inter',sans-serif; font-size:11.5px; font-style:italic;
  color:#8a8a84; margin:2px 0 4px;
}

/* portada de reemplazo tipo lomo de libro */
.pp-cover-ph{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:10px; text-align:center; width:100%; aspect-ratio:3/4.2;
  background:linear-gradient(160deg, #14243c 0%, #0D1B2A 70%);
  border:1px solid #23334c; box-sizing:border-box; padding:18px 14px;
}
.pp-cover-ph-title{
  font-family:'Playfair Display',serif; font-size:15px; font-weight:700;
  line-height:1.35; color:#f5f1e8; display:-webkit-box; -webkit-line-clamp:5;
  -webkit-box-orient:vertical; overflow:hidden;
}
.pp-cover-ph-autor{
  font-family:'Inter',sans-serif; font-size:10.5px; letter-spacing:.12em;
  text-transform:uppercase; color:#B89C6A;
}
.pp-cover-ph-brand{
  font-family:'Inter',sans-serif; font-size:9px; letter-spacing:.18em;
  text-transform:uppercase; color:#5a6b83; margin-top:6px;
}

/* paginación */
.pp-cat-pages{
  display:flex; align-items:center; justify-content:center; gap:8px;
  flex-wrap:wrap; margin:36px 0 10px; font-family:'Inter',sans-serif;
}
.pp-cat-pages a, .pp-cat-pages span.pp-page-num{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:38px; height:38px; padding:0 12px; border:1px solid #ddd;
  border-radius:8px; background:#fff; font-size:13px; font-weight:600;
  color:#3a3f45 !important; text-decoration:none;
}
.pp-cat-pages a:hover{ border-color:var(--pp-gold); color:var(--pp-gold) !important; }
.pp-cat-pages .pp-page-num.active{
  background:var(--pp-navy); border-color:var(--pp-navy); color:#fff !important;
}
.pp-page-dots{ color:#9a9a94; padding:0 2px; }

/* ============================================================
   MENÚ MÓVIL (mmenu) — al estilo de la marca
   ============================================================ */
.mm-menu{ background:#fff !important; }
.mm-menu .mm-navbar{ border-color:#eceae4 !important; }
.mm-menu .mm-navbar a, .mm-menu .mm-navbar > *{ color:var(--pp-navy) !important; font-family:'Playfair Display',serif !important; }
.mm-menu .mm-listview > li > a, .mm-menu .mm-listview > li > span{
  color:#1B263B !important; font-family:'Inter',sans-serif !important;
  font-size:14px !important; padding:14px 10px 14px 20px !important;
}
.mm-menu .mm-listview > li{ border-color:#f0efe9 !important; }
.mm-menu .mm-listview > li .mm-next:after,
.mm-menu .mm-listview > li .mm-arrow:after{ border-color:var(--pp-gold) !important; }
.mm-menu em.mm-counter{ color:#b0b0aa !important; }

/* ============================================================
   RESPONSIVE — ajustes móvil/tablet (QA 390/768)
   ============================================================ */
@media (max-width: 800px){
  /* hero: tarjeta apilada, sin altura fija heredada */
  .pp-hero-slider, .pp-hero-slider .pp-slide{ min-height:0 !important; height:auto !important; }
  .pp-hero-inner{ flex-direction:column !important; text-align:center; gap:18px; padding:28px 20px; }
  .pp-hero-img img{ max-height:190px; width:auto; margin:0 auto; transform:rotate(-3deg); }
  .pp-hero-title{ font-size:24px !important; }
  .pp-hero-desc{ font-size:13px !important; }
  .pp-slide-image{ display:flex; align-items:center; justify-content:center; background:#fff; }
  .pp-slide-image img{ width:100% !important; height:auto !important; }

  /* catálogo: sidebar colapsable para no empujar la grilla */
  .pp-catalog{ display:block !important; }
  .pp-catalog-sidebar{ position:static !important; margin-bottom:18px; }
  .pp-side-block .pp-side-title{ cursor:pointer; user-select:none; position:relative; margin-bottom:0; }
  .pp-side-block .pp-side-title::after{
    content:'▾'; position:absolute; right:2px; color:var(--pp-gold);
    transition:transform .2s ease;
  }
  .pp-side-block.pp-open .pp-side-title::after{ transform:rotate(180deg); }
  .pp-side-block .pp-cat-list, .pp-side-block .pp-side-search{ display:none; }
  .pp-side-block.pp-open .pp-cat-list, .pp-side-block.pp-open .pp-side-search{ display:block; margin-top:14px; }
  .pp-cat-grid{ grid-template-columns:repeat(2,1fr) !important; gap:14px !important; }
  .pp-cat-toolbar{ flex-direction:column; align-items:flex-start; }

  /* grillas y bloques generales */
  .pp-reco-grid, .pp-tema-grid{ grid-template-columns:repeat(2,1fr) !important; gap:16px !important; }
  .pp-related-grid{ grid-template-columns:repeat(2,1fr) !important; }
  .pp-post-title{ font-size:26px !important; }
  .pp-cronica{ padding:30px 22px !important; }
}
@media (max-width: 480px){
  .pp-tema-grid, .pp-reco-grid{ grid-template-columns:1fr !important; }
}

/* ============================================================
   PUNCH LIST UI (2026-07-30)
   ============================================================ */

/* 1) hover sobre la imagen del producto: overlay + "Ver libro" */
.pp-cat-img, .pp-rel-img, .pp-tema-img, .pp-reco-img,
.gdlr-core-product-thumbnail{ position:relative; }
.pp-cat-img::after, .pp-rel-img::after, .pp-tema-img::after,
.pp-reco-img::after, .gdlr-core-product-thumbnail::after{
  content:'Ver libro'; position:absolute; left:50%; bottom:14px;
  transform:translate(-50%, 8px);
  background:rgba(13,27,42,.92); color:#fff; padding:8px 18px;
  border-radius:999px; font-family:'Inter',sans-serif; font-size:11px;
  font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  opacity:0; transition:opacity .25s ease, transform .25s ease;
  pointer-events:none; white-space:nowrap; z-index:3;
}
.pp-cat-card:hover .pp-cat-img::after, .pp-rel-card:hover .pp-rel-img::after,
.pp-tema-card:hover .pp-tema-img::after, .pp-hero-img:hover::after,
.pp-reco-card:hover .pp-reco-img::after,
ul.products li.product:hover .gdlr-core-product-thumbnail::after,
.gdlr-core-item-list:hover .gdlr-core-product-thumbnail::after{
  opacity:1; transform:translate(-50%, 0);
}
.pp-cat-img::before, .pp-rel-img::before, .pp-tema-img::before,
.pp-reco-img::before, .gdlr-core-product-thumbnail::before{
  content:''; position:absolute; inset:0; background:rgba(13,27,42,0);
  transition:background .25s ease; z-index:2; pointer-events:none;
}
.pp-cat-card:hover .pp-cat-img::before, .pp-rel-card:hover .pp-rel-img::before,
.pp-tema-card:hover .pp-tema-img::before, .pp-reco-card:hover .pp-reco-img::before,
ul.products li.product:hover .gdlr-core-product-thumbnail::before,
.gdlr-core-item-list:hover .gdlr-core-product-thumbnail::before{
  background:rgba(13,27,42,.18);
}
.pp-cat-img img{ transition:transform .3s ease; }
.pp-cat-card:hover .pp-cat-img img{ transform:scale(1.04); }

/* 2) buscador con más notoriedad: pill con texto en desktop */
.pp-search-icon.pp-search-desk{
  display:inline-flex !important; align-items:center; gap:8px;
  border:1.5px solid var(--pp-gold); border-radius:999px;
  padding:8px 18px !important; color:var(--pp-ink) !important;
  font-family:'Inter',sans-serif; font-size:12.5px; font-weight:600;
  letter-spacing:.06em; transition:background .2s ease, color .2s ease;
}
.pp-search-icon.pp-search-desk .fa{ font-size:13px; color:var(--pp-gold) !important; }
.pp-search-icon.pp-search-desk:hover{ background:var(--pp-gold); }
.pp-search-icon.pp-search-desk:hover, .pp-search-icon.pp-search-desk:hover .fa,
.pp-search-icon.pp-search-desk:hover .pp-search-label{ color:#fff !important; }

/* 3) buscador en el header móvil */
.pp-search-icon.pp-search-mob{
  display:inline-flex !important; align-items:center; justify-content:center;
  color:var(--pp-ink) !important; font-size:17px; padding:0 12px 0 0 !important;
}
.infinite-mobile-menu-right{ display:flex; align-items:center; }

/* 9) badges de descuento ROJOS con texto blanco, en todo el sitio */
.berocket_better_labels .br_alabel > span,
[class*="berocket_alabel_id_"] > span,
.br_alabel > span{
  background:#C62828 !important; background-color:#C62828 !important;
}
.pp-off-badge{
  position:absolute; top:10px; left:10px; z-index:4;
  background:#C62828; color:#fff; padding:4px 10px; border-radius:4px;
  font-family:'Inter',sans-serif; font-size:11.5px; font-weight:700;
}
.woocommerce span.onsale{ background:#C62828 !important; color:#fff !important; }

/* 12) EAN sin link en la ficha */
.woocommerce-product-attributes-item--attribute_pa_ean a,
.woocommerce-product-attributes-item--attribute_pa_isbn-ean a{
  pointer-events:none; color:var(--pp-text) !important;
  text-decoration:none !important; cursor:text; font-weight:400 !important;
}

/* 14) contenedor del widget de recomendaciones (Klaviyo) — se llena por JS en prod */
.pp-klaviyo-reco:empty{ display:none; }
.pp-klaviyo-reco{ max-width:1140px; margin:30px auto; clear:both; }
.pp-klaviyo-reco h2, .pp-klaviyo-reco h3{
  font-family:'Playfair Display',serif !important; color:var(--pp-ink) !important;
  text-align:center; font-size:26px;
}
.pp-klaviyo-reco img{ max-width:100%; }

/* buscador + carrito alineados con la línea de texto del menú
   (los items llevan padding-bottom grande para el subrayado, por lo que
   el centrado por caja los dejaba más abajo) */
@media (min-width: 1025px){
  /* la línea de texto del menú está a padding-top + 11px; el wrap (39px de alto)
     se alinea con margin -8px, válido también en estado compacto */
  .infinite-main-menu-right-wrap{
    align-self:flex-start !important; margin-top:-8px;
  }
}
