/*
 Theme Name: Blocksy Child
 Template: blocksy
 Version: 10.0 — Final
 Description: Botánica La Luz de Ifá
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Inter:wght@300;400;500;600;700&display=swap');

/* ============================================================
   VARIABLES
   ============================================================ */
:root {
  --px:         clamp(20px, 5vw, 80px);
  --py:         clamp(24px, 3.5vw, 52px);
  --gap:        clamp(10px, 1.2vw, 16px);
  --r:          10px;
  --green:      #0F4C3A;
  --green-dark: #09241D;
  --gold:       #D4AF37;
  --bg:         #F7F4EE;
  --white:      #FFFFFF;
  --border:     #e2d9c5;
}

@media (max-width: 600px) {
  :root { --px: 20px; --py: 24px; --gap: 10px; }
}

@media (min-width: 601px) and (max-width: 900px) {
  :root { --px: 32px; --py: 32px; --gap: 12px; }
}

/* ============================================================
   BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: hidden !important; }

body {
  font-family: 'Inter', sans-serif !important;
  background: var(--bg) !important;
  color: #1A1A1A !important;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Cormorant Garamond', serif !important;
  font-variant: normal !important;
  font-variant-caps: normal !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* ============================================================
   FIX BLOCKSY — eliminar espacios y restricciones de ancho

   Blocksy usa estas clases para:
   - is-layout-constrained → limita ancho del contenido
   - ct-container-full     → contenedor principal con max-width
   - article.hentry        → el article de la página
   - data-vertical-spacing → padding top/bottom automático
   ============================================================ */

/* Ancho completo — solo article y entry-content */
/* NO tocamos ct-container-full porque Blocksy lo necesita para desktop */
.ct-container-full > article,
article.hentry,
article.page {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.entry-content,
.entry-content.is-layout-constrained,
.is-layout-constrained {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Eliminar padding vertical automático de Blocksy */
.ct-container-full[data-vertical-spacing] {
  --theme-content-vertical-spacing: 0px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.site-main, #main {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Eliminar márgenes entre bloques de WordPress */
:is(.is-layout-flow, .is-layout-constrained) > *:where(:not(h1,h2,h3,h4,h5,h6)) {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* Solo márgenes del entry-content, no paddings */
.entry-content { margin: 0 !important; }
.entry-content > * { margin-top: 0 !important; margin-bottom: 0 !important; }

/* ============================================================
   HEADER
   ============================================================ */
#header,
.site-header,
.ct-header,
[data-id="header"] {
  background-color: var(--green-dark) !important;
  border-bottom: 1px solid rgba(212,175,55,0.2) !important;
  box-shadow: none !important;
}

.ct-header .ct-nav-links a,
.ct-header .ct-nav-links > ul > li > a {
  color: #fff !important;
  font-size: clamp(10px, 0.75vw, 12px) !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
}

.ct-header .ct-nav-links a:hover,
.ct-header .ct-nav-links > ul > li > a:hover { color: var(--gold) !important; }

.ct-header .ct-nav-links > ul > li.current-menu-item > a { color: var(--gold) !important; }

.ct-header .ct-search-btn svg,
.ct-header button svg { color: #fff !important; fill: #fff !important; }

.ct-header [data-id="menu-icon"] span,
.site-header .ct-menu-toggle span { background: #fff !important; }

/* ============================================================
   LAYOUT — CLASES DEL HOME
   Definidas aquí en el CSS, usadas como clases en el HTML
   ============================================================ */

/* Sección con padding estándar */
.hm-sec {
  padding: var(--py) var(--px) !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

/* Trust bar */
.hm-trust {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
}

/* Promo banner y WhatsApp */
.hm-promo,
.hm-wa {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  padding: clamp(18px, 2.2vw, 30px) var(--px) !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

/* Grids */
.hm-cats   { display: grid !important; grid-template-columns: repeat(6, 1fr) !important; gap: var(--gap) !important; }
.hm-combos { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: var(--gap) !important; }
.hm-srvs   { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: var(--gap) !important; }
.hm-stats  { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; width: 100% !important; margin: 0 !important; }

/* Hover states */
.hm-cat-card:hover   { border-color: var(--gold) !important; transform: translateY(-3px) !important; box-shadow: 0 6px 20px rgba(0,0,0,0.08) !important; }
.hm-combo-card:hover { border-color: var(--gold) !important; box-shadow: 0 4px 16px rgba(0,0,0,0.07) !important; }
.hm-srv-card:hover   { border-color: rgba(212,175,55,0.45) !important; background: rgba(255,255,255,0.07) !important; }

/* ============================================================
   WOOCOMMERCE — Productos home
   ============================================================ */
.products-home,
.wp-block-woocommerce-product-collection.products-home {
  background: var(--white) !important;
  padding: clamp(14px, 1.8vw, 24px) var(--px) 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.products-home .wc-block-product-template,
.products-home ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: var(--gap) !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.products-home .wc-block-product-template li,
.products-home ul.products li.product {
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r) !important;
  overflow: hidden !important;
  transition: all 0.25s ease !important;
  margin: 0 !important;
  list-style: none !important;
}

.products-home .wc-block-product-template li:hover,
.products-home ul.products li.product:hover {
  border-color: var(--gold) !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,0.09) !important;
}

.products-home img,
ul.products li.product img {
  height: clamp(180px, 18vw, 260px) !important;
  object-fit: cover !important;
  width: 100% !important;
  display: block !important;
}

.products-home .wp-block-post-title,
.products-home .wp-block-post-title a,
.products-home h2,
.products-home h2 a,
ul.products li.product .woocommerce-loop-product__title {
  color: #1A1A1A !important;
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(13px, 1vw, 15px) !important;
  font-weight: 600 !important;
  font-variant: normal !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.3 !important;
  margin: 0 !important;
}

.products-home .price,
.products-home .woocommerce-Price-amount,
ul.products li.product .price {
  color: var(--green) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(18px, 1.8vw, 26px) !important;
  font-weight: 600 !important;
  font-variant: normal !important;
  display: block !important;
}

.products-home .wp-block-button__link,
.products-home .wc-block-components-product-button__button,
ul.products li.product a.button,
ul.products li.product .button {
  background: var(--green) !important;
  color: var(--white) !important;
  border: none !important;
  border-radius: 3px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(10px, 0.75vw, 11px) !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 10px 12px !important;
  width: calc(100% - 24px) !important;
  display: block !important;
  text-align: center !important;
  font-variant: normal !important;
  transition: all 0.2s !important;
  cursor: pointer !important;
  margin: 6px 12px 14px !important;
  text-decoration: none !important;
}

.products-home .wp-block-button__link:hover,
ul.products li.product a.button:hover {
  background: var(--gold) !important;
  color: var(--green-dark) !important;
}

/* ============================================================
   SOCIAL LINKS
   ============================================================ */
.wp-block-social-links.social-home {
  background: var(--bg) !important;
  padding: 0 0 30px !important;
  margin: 0 !important;
  justify-content: center !important;
}

.wp-block-social-link {
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  border-radius: 50% !important;
  transition: all 0.2s !important;
}

.wp-block-social-link:hover {
  border-color: var(--gold) !important;
  transform: translateY(-2px) !important;
}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer {
  background: var(--green-dark) !important;
  border-top: 2px solid var(--gold) !important;
  padding: 16px var(--px) !important;
  text-align: center !important;
}

.site-footer,
.site-footer a,
.site-footer p,
.ct-copyright,
[class*="copyright"] {
  color: rgba(255,255,255,0.35) !important;
  font-size: clamp(10px, 0.75vw, 12px) !important;
  font-family: 'Inter', sans-serif !important;
}

.ct-copyright a[href*="creativethemes"],
.ct-copyright a[href*="wordpress.org"] { display: none !important; }

/* ============================================================
   RESPONSIVE — TABLET (601px – 900px)
   ============================================================ */
@media (min-width: 601px) and (max-width: 900px) {
  .hm-cats   { grid-template-columns: repeat(3, 1fr) !important; }
  .hm-combos { grid-template-columns: repeat(2, 1fr) !important; }
  .hm-srvs   { grid-template-columns: repeat(2, 1fr) !important; }
  .hm-stats  { grid-template-columns: repeat(2, 1fr) !important; }

  .products-home .wc-block-product-template,
  .products-home ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ============================================================
   RESPONSIVE — MOBILE (hasta 600px)
   ============================================================ */
@media (max-width: 600px) {
  /* Trust bar — wrap 2x2 + 1 */
  .hm-trust { flex-wrap: wrap !important; }
  .hm-trust > div {
    flex: 1 1 45% !important;
    justify-content: center !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(212,175,55,0.15) !important;
    padding: 7px 8px !important;
    text-align: center !important;
  }
  .hm-trust > div:last-child { flex: 1 1 100% !important; border-bottom: none !important; }

  /* Grids */
  .hm-cats   { grid-template-columns: repeat(2, 1fr) !important; }
  .hm-combos { grid-template-columns: 1fr !important; }
  .hm-srvs   { grid-template-columns: 1fr !important; }
  .hm-stats  { grid-template-columns: repeat(2, 1fr) !important; }

  /* Flex → columna */
  .hm-promo { flex-direction: column !important; text-align: center !important; }
  .hm-wa    { flex-direction: column !important; text-align: center !important; }

  /* Productos — 1 columna */
  .products-home .wc-block-product-template,
  .products-home ul.products { grid-template-columns: 1fr !important; }
  .products-home { padding: 16px 20px 0 !important; }
}

/* ============================================================
   PRODUCTO INDIVIDUAL
   ============================================================ */
.single-product .product_title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(28px, 3.5vw, 46px) !important;
  font-weight: 400 !important;
  font-variant: normal !important;
  text-transform: none !important;
}

.single-product .price {
  color: var(--green) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(24px, 3vw, 40px) !important;
  font-weight: 600 !important;
}

.single-product .single_add_to_cart_button {
  background: var(--green) !important;
  color: var(--white) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  padding: 14px 34px !important;
  border: none !important;
  border-radius: 3px !important;
  transition: all 0.2s !important;
}

.single-product .single_add_to_cart_button:hover {
  background: var(--gold) !important;
  color: var(--green-dark) !important;
}

/* ============================================================
   SELECTOR DE IDIOMA
   ============================================================ */
.trp-language-switcher-container,
#trp-floatting-ls {
  position: fixed !important;
  bottom: 20px !important;
  left: 20px !important;
  z-index: 200 !important;
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  border-radius: 3px !important;
  padding: 5px 8px !important;
  font-size: 11px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
}

/* ============================================================
   PANTALLAS GRANDES >1900px
   Fondos se extienden full width, contenido centrado
   ============================================================ */
@media (min-width: 1900px) {
  .hm-sec,
  .hm-promo,
  .hm-wa,
  .products-home,
  .wp-block-social-links.social-home {
    max-width: 1900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ============================================================
   FIN Home inicial
   ============================================================ */

/* ============================================================
   TIENDA — /shop/
   ============================================================ */

/* Ocultar título "Tienda" que genera Blocksy */
.woocommerce-shop .woocommerce-products-header {
  display: none !important;
}

/* Fondo verde oscuro detrás del hero de Gutenberg */
.woocommerce-shop .entry-content,
.woocommerce-shop article {
  background: var(--green-dark) !important;
}

/* Quitar padding lateral del contenedor de WooCommerce */
.woocommerce-shop #primary,
.woocommerce-shop main {
  padding: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

/* Barra resultados y ordenar */
.woocommerce-shop .woocommerce-result-count,
.woocommerce-shop .woocommerce-ordering {
  margin: clamp(16px,2vw,28px) var(--px) 0 !important;
  display: block !important;
}

/* Grid productos */
.woocommerce-shop ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: var(--gap) !important;
  list-style: none !important;
  padding: clamp(16px,2vw,28px) var(--px) clamp(32px,4vw,56px) !important;
  margin: 0 !important;
  float: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: var(--bg) !important;
}

.woocommerce-shop ul.products li.product {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r) !important;
  overflow: hidden !important;
  transition: all 0.25s ease !important;
}

.woocommerce-shop ul.products li.product:hover {
  border-color: var(--gold) !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,0.09) !important;
}

/* Ocultar UNCATEGORIZED */
.woocommerce-shop ul.products li.product .posted_in {
  display: none !important;
}

/* Paginación */
.woocommerce-shop .woocommerce-pagination {
  background: var(--bg) !important;
  padding: 0 var(--px) clamp(32px,4vw,56px) !important;
  margin: 0 !important;
  text-align: center !important;
}
.woocommerce-shop .woocommerce-pagination ul {
  display: inline-flex !important;
  gap: 6px !important;
  list-style: none !important;
  padding: 0 !important;
  border: none !important;
}
.woocommerce-shop .woocommerce-pagination ul li a,
.woocommerce-shop .woocommerce-pagination ul li span {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--green) !important;
  border: 1px solid var(--border) !important;
  border-radius: 3px !important;
  padding: 8px 14px !important;
  background: var(--white) !important;
  display: block !important;
  transition: all 0.2s !important;
  text-decoration: none !important;
}
.woocommerce-shop .woocommerce-pagination ul li span.current,
.woocommerce-shop .woocommerce-pagination ul li a:hover {
  background: var(--green) !important;
  color: var(--white) !important;
  border-color: var(--green) !important;
}

/* ============================================================
   RESPONSIVE TIENDA
   ============================================================ */
@media (max-width: 900px) {
  .woocommerce-shop ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 600px) {
  .woocommerce-shop ul.products {
    grid-template-columns: 1fr !important;
    padding: 16px 20px 32px !important;
  }
  .woocommerce-shop .woocommerce-result-count,
  .woocommerce-shop .woocommerce-ordering {
    margin: 12px 20px 0 !important;
  }
}

/* Matar título Blocksy en tienda — versión fuerte */
.woocommerce-shop .woocommerce-products-header,
.woocommerce-shop .page-header,
.woocommerce-shop .entry-header,
.woocommerce-shop h1.page-title,
.woocommerce-shop .woocommerce-products-header__title {
  display: none !important;
}

.woocommerce-shop .ct-container-full[data-vertical-spacing] {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: unset !important;
}

/* Más altura al hero de tienda */
.woocommerce-shop-hero {
  padding: clamp(52px,7vw,100px) clamp(20px,5vw,80px) !important;
}

/* Ocultar UNCATEGORIZED definitivo */
.woocommerce ul.products li.product .posted_in,
.woocommerce-shop ul.products li.product .posted_in {
  display: none !important;
}

/* Cards con borde y radius */
.woocommerce-shop ul.products li.product {
  border-radius: var(--r) !important;
  border: 1px solid var(--border) !important;
  overflow: hidden !important;
}

/* Título y precio en cards */
.woocommerce-shop ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(13px,1vw,15px) !important;
  font-weight: 600 !important;
  text-transform: none !important;
  font-variant: normal !important;
  padding: 10px 12px 4px !important;
  margin: 0 !important;
}

.woocommerce-shop ul.products li.product .price {
  font-family: 'Cormorant Garamond', serif !important;
  color: var(--green) !important;
  font-size: clamp(18px,1.8vw,26px) !important;
  padding: 0 12px 6px !important;
  display: block !important;
  font-variant: normal !important;
}

/* Hero tienda — más padding arriba */
.woocommerce-shop-hero {
  padding: clamp(60px,8vw,110px) clamp(20px,5vw,80px) !important;
}

/* Cards con borde y radius */
.woocommerce-shop ul.products li.product {
  border: 1px solid var(--border) !important;
  border-radius: var(--r) !important;
  overflow: hidden !important;
  background: var(--white) !important;
}

/* Título en cards */
.woocommerce-shop ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(13px,1vw,15px) !important;
  font-weight: 600 !important;
  text-transform: none !important;
  font-variant: normal !important;
  color: #1A1A1A !important;
  padding: 10px 12px 4px !important;
  margin: 0 !important;
}

/* Precio en cards */
.woocommerce-shop ul.products li.product .price {
  font-family: 'Cormorant Garamond', serif !important;
  color: var(--green) !important;
  font-size: clamp(18px,1.8vw,26px) !important;
  font-variant: normal !important;
  padding: 0 12px 6px !important;
  display: block !important;
  margin: 0 !important;
}

/* Tienda personalizada — sin espacio entre hero y productos */
.page-template-default .products-home {
  padding-top: clamp(28px,3.5vw,52px) !important;
}

/* Tienda — grid y espaciado */
.tienda-productos {
  background: var(--white) !important;
  padding: clamp(14px,1.8vw,24px) var(--px) clamp(40px,5vw,70px) !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.tienda-productos .wc-block-product-template {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: var(--gap) !important;
}

.tienda-productos .wc-block-product-template li {
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r) !important;
  overflow: hidden !important;
  transition: all 0.25s ease !important;
  margin: 0 !important;
}

.tienda-productos .wc-block-product-template li:hover {
  border-color: var(--gold) !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,0.09) !important;
}

@media (max-width: 900px) {
  .tienda-productos .wc-block-product-template {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 600px) {
  .tienda-productos .wc-block-product-template {
    grid-template-columns: 1fr !important;
  }
}

/* ============================================================
   TIENDA PERSONALIZADA — cards de productos
   ============================================================ */
.tienda-productos {
  background: var(--white) !important;
  padding: clamp(14px,1.8vw,24px) var(--px) clamp(48px,6vw,80px) !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.tienda-productos .wc-block-product-template {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: var(--gap) !important;
  margin: 0 !important;
}

.tienda-productos .wc-block-product-template li {
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r) !important;
  overflow: hidden !important;
  transition: all 0.25s ease !important;
  margin: 0 !important;
  list-style: none !important;
}

.tienda-productos .wc-block-product-template li:hover {
  border-color: var(--gold) !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,0.09) !important;
}

.tienda-productos img {
  height: clamp(180px,18vw,260px) !important;
  object-fit: cover !important;
  width: 100% !important;
  display: block !important;
}

.tienda-productos .wp-block-post-title,
.tienda-productos .wp-block-post-title a {
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(13px,1vw,15px) !important;
  font-weight: 600 !important;
  font-variant: normal !important;
  text-transform: none !important;
  color: #1A1A1A !important;
  margin: 0 !important;
}

.tienda-productos .price,
.tienda-productos .woocommerce-Price-amount {
  color: var(--green) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(18px,1.8vw,26px) !important;
  font-weight: 600 !important;
  font-variant: normal !important;
  display: block !important;
}

.tienda-productos .wp-block-button__link,
.tienda-productos .wc-block-components-product-button__button {
  background: var(--green) !important;
  color: var(--white) !important;
  border: none !important;
  border-radius: 3px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(10px,0.75vw,11px) !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 10px 12px !important;
  width: calc(100% - 24px) !important;
  display: block !important;
  text-align: center !important;
  transition: all 0.2s !important;
  cursor: pointer !important;
  margin: 6px 12px 14px !important;
  text-decoration: none !important;
}

.tienda-productos .wp-block-button__link:hover,
.tienda-productos .wc-block-components-product-button__button:hover {
  background: var(--gold) !important;
  color: var(--green-dark) !important;
}

@media (max-width: 900px) {
  .tienda-productos .wc-block-product-template {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 600px) {
  .tienda-productos .wc-block-product-template {
    grid-template-columns: 1fr !important;
  }
}

/* ============================================================
   PRODUCTO INDIVIDUAL
   ============================================================ */

/* Layout 60/40 */
.single-product div.product {
  display: grid !important;
  grid-template-columns: 60% 1fr !important;
  gap: clamp(28px,4vw,60px) !important;
  align-items: start !important;
  padding: clamp(28px,4vw,52px) var(--px) !important;
  background: var(--white) !important;
}

.single-product .woocommerce-product-gallery { grid-column: 1 !important; grid-row: 1 !important; }
.single-product .summary { grid-column: 2 !important; grid-row: 1 !important; padding: 0 !important; }
.single-product .woocommerce-tabs { grid-column: 1 / -1 !important; grid-row: 2 !important; border-top: 1px solid var(--border) !important; padding-top: clamp(24px,3vw,44px) !important; }
.related.products { grid-column: 1 / -1 !important; grid-row: 3 !important; border-top: 1px solid var(--border) !important; padding-top: clamp(24px,3vw,44px) !important; }

/* Imagen */
.single-product .woocommerce-product-gallery img {
  border-radius: var(--r) !important;
  border: 1px solid var(--border) !important;
}

/* Título */
.single-product .product_title {
  font-size: clamp(28px,3.5vw,48px) !important;
  font-weight: 400 !important;
  font-variant: normal !important;
  text-transform: none !important;
  line-height: 1.15 !important;
  margin: 0 0 clamp(12px,1.5vw,20px) !important;
  color: #1A1A1A !important;
}

/* Precio */
.single-product p.price,
.single-product span.price {
  font-family: 'Cormorant Garamond', serif !important;
  color: var(--green) !important;
  font-size: clamp(28px,3.2vw,44px) !important;
  font-weight: 600 !important;
  font-variant: normal !important;
  display: block !important;
  margin: 0 0 clamp(16px,2vw,26px) !important;
  padding-bottom: clamp(14px,1.8vw,22px) !important;
  border-bottom: 1px solid var(--border) !important;
}

/* Descripción corta */
.single-product .woocommerce-product-details__short-description {
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(13px,1.05vw,15px) !important;
  line-height: 1.8 !important;
  color: #555 !important;
  margin: 0 0 clamp(18px,2.2vw,30px) !important;
}

/* Cantidad + botón */
/*.single-product form.cart {
  display: flex !important;
  gap: 10px !important;
  align-items: center !important;
  margin: 0 0 clamp(16px,2vw,24px) !important;
}

.single-product form.cart .qty {
  width: 64px !important;
  border: 1px solid var(--border) !important;
  border-radius: 3px !important;
  padding: 12px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  text-align: center !important;
  background: var(--white) !important;
}*/

/* Botòn Añadir al carrito */
.single-product .single_add_to_cart_button {
  flex: 1 !important;
  background: var(--green) !important;
  color: var(--white) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(11px,0.85vw,13px) !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  padding: 14px !important;
  border: none !important;
  border-radius: 3px !important;
  transition: all 0.2s !important;
  cursor: pointer !important;
}

.single-product .single_add_to_cart_button:hover {
  background: var(--gold) !important;
  color: var(--green-dark) !important;
}

/* Meta — SKU, categorías */
.single-product .product_meta {
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(10px,0.8vw,12px) !important;
  color: var(--text-muted) !important;
  border-top: 1px solid var(--border) !important;
  padding-top: clamp(14px,1.8vw,20px) !important;
  margin-top: clamp(14px,1.8vw,20px) !important;
}

.single-product .product_meta a {
  color: var(--green) !important;
  text-decoration: none !important;
}

/* Tabs */
.single-product .woocommerce-tabs ul.tabs {
  display: flex !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 clamp(20px,2.5vw,36px) !important;
  border-bottom: 2px solid var(--border) !important;
}

.single-product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

.single-product .woocommerce-tabs ul.tabs li a {
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(11px,0.85vw,13px) !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: var(--text-muted) !important;
  padding: 12px 24px !important;
  display: block !important;
  text-decoration: none !important;
  border-bottom: 2px solid transparent !important;
  margin-bottom: -2px !important;
  transition: all 0.2s !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--green) !important;
  border-bottom-color: var(--gold) !important;
}

/* Relacionados */
.related.products h2 {
  font-size: clamp(22px,2.2vw,32px) !important;
  font-weight: 400 !important;
  font-variant: normal !important;
  text-transform: none !important;
  margin: 0 0 clamp(16px,2vw,26px) !important;
  color: #1A1A1A !important;
}

/* ============================================================
   RESPONSIVE PRODUCTO
   ============================================================ */
@media (max-width: 900px) {
  .single-product div.product {
    grid-template-columns: 1fr !important;
  }
  .single-product .summary {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
  .single-product .woocommerce-tabs {
    grid-row: 3 !important;
  }
  .related.products {
    grid-row: 4 !important;
  }
}

@media (max-width: 600px) {
  .single-product div.product {
    padding: 20px !important;
    gap: 20px !important;
  }
}

/* Ocultar UNCATEGORIZED en producto individual */
.single-product .posted_in {
  display: none !important;
}

/* Traducir via CSS — ocultar y reemplazar no es posible, 
   mejor via TranslatePress */

/* Cards relacionados — mismo estilo que tienda */
.single-product .related.products ul.products,
.single-product .upsells.products ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: var(--gap) !important;
  list-style: none !important;
  padding: 0 !important;
  margin: clamp(16px,2vw,28px) 0 0 !important;
}

.single-product .related.products ul.products li.product,
.single-product .upsells.products ul.products li.product {
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r) !important;
  overflow: hidden !important;
  margin: 0 !important;
  float: none !important;
  width: auto !important;
  transition: all 0.25s ease !important;
}

.single-product .related.products ul.products li.product:hover,
.single-product .upsells.products ul.products li.product:hover {
  border-color: var(--gold) !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,0.09) !important;
}

/* Fix cantidad producto individual */
.single-product form.cart {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
}

.single-product .quantity {
  display: flex !important;
  align-items: center !important;
  margin: auto;
  gap: 6px !important;
}

/* .single-product .qty {
  width: 60px !important;
  text-align: center !important;
  padding: 10px !important;
  border: 1px solid var(--border) !important;
  border-radius: 3px !important;
  font-size: 15px !important;
  height: auto !important;
}*/

/* Espacio entre productos y barra WA en tienda */
.tienda-productos {
  padding-bottom: clamp(48px,6vw,80px) !important;
}

/* Fix cantidad Blocksy — ocultar botones nativos del input */
.single-product .quantity input[type=number]::-webkit-inner-spin-button,
.single-product .quantity input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.single-product .quantity {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  border: 1px solid var(--border) !important;
  border-radius: 3px !important;
  padding: 0 10px !important;
  height: 48px !important;
  background: var(--white) !important;
}

.single-product .quantity .qty {
  border: none !important;
  outline: none !important;
  text-align: center !important;
  font-size: 15px !important;
  font-family: 'Inter', sans-serif !important;
  background: transparent !important;
  -moz-appearance: textfield !important;
  padding: 0 !important;
}

.single-product .quantity .minus,
.single-product .quantity .plus {
  background: none !important;
  border: none !important;
  font-size: 20px !important;
  color: var(--green) !important;
  cursor: pointer !important;
  padding: 0 !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
}


/* Fix Blocksy product-entry-wrapper */
.single-product .product-entry-wrapper,
.single-product .product-entry-wrapper.is-width-constrained {
  max-width: 100% !important;
  width: 100% !important;
  display: contents !important;
}

.single-product .woocommerce-product-gallery {
  margin: 0 auto !important;
  max-width: 100% !important;
}

.product-entry-wrapper .is-width-constrained >.summary .entry-summary .entry-summary-item {
    width: 100% !important;
    padding-right: 16px !important;
    margin: 0 !important;
}

/* ============================================================
   CARRITO
   ============================================================ */

/* Layout general */
.woocommerce-cart .woocommerce {
  padding: clamp(28px,4vw,52px) var(--px) !important;
  background: var(--bg) !important;
}

/* Tabla de productos */
.woocommerce-cart table.shop_table {
  border: 1px solid var(--border) !important;
  border-radius: var(--r) !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: var(--white) !important;
  overflow: hidden !important;
  width: 100% !important;
}

.woocommerce-cart table.shop_table th {
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(10px,0.75vw,12px) !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #888 !important;
  padding: 16px 20px !important;
  border-bottom: 1px solid var(--border) !important;
  background: var(--bg) !important;
}

.woocommerce-cart table.shop_table td {
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(13px,1vw,15px) !important;
  padding: 20px !important;
  border-bottom: 1px solid var(--border) !important;
  color: #1A1A1A !important;
  background: var(--white) !important;
  vertical-align: middle !important;
}

/* Nombre del producto */
.woocommerce-cart .cart_item .product-name a {
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  color: #1A1A1A !important;
  text-decoration: none !important;
}

.woocommerce-cart .cart_item .product-name a:hover {
  color: var(--green) !important;
}

/* Precio */
.woocommerce-cart .cart_item .product-price,
.woocommerce-cart .cart_item .product-subtotal {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(18px,1.8vw,24px) !important;
  color: var(--green) !important;
  font-weight: 600 !important;
}

/* Botones cupón y actualizar */
.woocommerce-cart .coupon input[type=text] {
  border: 1px solid var(--border) !important;
  border-radius: 3px !important;
  padding: 10px 14px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  background: var(--white) !important;
}

.woocommerce-cart .coupon .button,
.woocommerce-cart button[name=update_cart] {
  background: var(--green) !important;
  color: var(--white) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(10px,0.75vw,12px) !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 10px 20px !important;
  border: none !important;
  border-radius: 3px !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
}

.woocommerce-cart .coupon .button:hover,
.woocommerce-cart button[name=update_cart]:hover {
  background: var(--gold) !important;
  color: var(--green-dark) !important;
}

/* Totales */
.woocommerce-cart .cart_totals {
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r) !important;
  padding: clamp(20px,2.5vw,36px) !important;
}

.woocommerce-cart .cart_totals h2 {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(22px,2.2vw,32px) !important;
  font-weight: 400 !important;
  font-variant: normal !important;
  color: #1A1A1A !important;
  margin: 0 0 clamp(16px,2vw,24px) !important;
}

.woocommerce-cart .cart_totals table {
  width: 100% !important;
  border-collapse: collapse !important;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(13px,1vw,15px) !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid var(--border) !important;
  color: #1A1A1A !important;
  background: transparent !important;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
  font-weight: 700 !important;
  border-bottom: none !important;
  padding-top: 16px !important;
}

.woocommerce-cart .cart_totals .order-total .amount {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(24px,2.5vw,36px) !important;
  color: var(--green) !important;
  font-weight: 600 !important;
}

/* Botón proceder al pago */
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  background: var(--green) !important;
  color: var(--white) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(11px,0.85vw,13px) !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 16px !important;
  border: none !important;
  border-radius: 3px !important;
  width: 100% !important;
  display: block !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: all 0.2s !important;
  margin-top: clamp(16px,2vw,24px) !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
  background: var(--gold) !important;
  color: var(--green-dark) !important;
}

/* ============================================================
   CHECKOUT — colores base
   ============================================================ */

.woocommerce-checkout,
.woocommerce-checkout #page,
.woocommerce-checkout #primary,
.woocommerce-checkout main,
.woocommerce-checkout .site-main,
.woocommerce-checkout article,
.woocommerce-checkout .entry-content,
.woocommerce-checkout .ct-container-full {
  background: var(--bg) !important;
}

.woocommerce-checkout .ct-container-full[data-vertical-spacing] {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.woocommerce-checkout input[type=text],
.woocommerce-checkout input[type=email],
.woocommerce-checkout input[type=tel],
.woocommerce-checkout input[type=password],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
  border: 1px solid var(--border) !important;
  background: var(--white) !important;
  color: #1A1A1A !important;
}

.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
  border-color: var(--green) !important;
  outline: none !important;
}

.woocommerce-checkout .order-total .amount {
  color: var(--green) !important;
  font-family: 'Cormorant Garamond', serif !important;
}

.woocommerce-checkout #place_order {
  background: var(--green) !important;
  color: var(--white) !important;
}

.woocommerce-checkout #place_order:hover {
  background: var(--gold) !important;
  color: var(--green-dark) !important;
}

.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) {
  border-color: var(--green) !important;
}

.woocommerce-checkout #payment ul.payment_methods li label img {
  display: none !important;
}

/* ── CHECKOUT — ajustes visuales ── */

/* Padding general */
.woocommerce-checkout .woocommerce {
  padding: clamp(28px,4vw,52px) var(--px) clamp(48px,6vw,80px) !important;
}

/* Labels uppercase */
.woocommerce-checkout label {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
}

/* Total en verde y grande */
.woocommerce-checkout .order-total .amount {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(22px,2vw,30px) !important;
  font-weight: 600 !important;
  color: var(--green) !important;
}

/* H3 tipografía */
.woocommerce-checkout h3 {
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 400 !important;
  font-variant: normal !important;
  text-transform: none !important;
}

.woocommerce-checkout #payment ul.payment_methods li label {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 13px !important;
}

/* Fix select cortado en formulario de consultas */
#cita-servicio {
  height: 48px !important;
  line-height: 1.4 !important;
  padding: 0 14px !important;
  display: flex !important;
  align-items: center !important;
}

.hm-srvs-3col {
  grid-template-columns: repeat(3, 1fr) !important;
}

@media (max-width: 900px) {
  .hm-srvs-3col { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 600px) {
  .hm-srvs-3col { grid-template-columns: 1fr !important; }
}

/* ============================================================
   PRIVACY POLICY
   ============================================================ */

#post-290 .entry-content {
  background: var(--bg) !important;
  max-width: 820px !important;
  margin: 0 auto !important;
  padding: clamp(40px,5vw,72px) var(--px) clamp(60px,7vw,100px) !important;
  box-sizing: border-box !important;
}

#post-290 h2.wp-block-heading {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(22px,2.2vw,30px) !important;
  font-weight: 400 !important;
  font-variant: normal !important;
  text-transform: none !important;
  color: var(--green) !important;
  margin: clamp(32px,4vw,48px) 0 clamp(12px,1.5vw,18px) !important;
  padding-bottom: clamp(8px,1vw,12px) !important;
  border-bottom: 1px solid var(--border) !important;
}

#post-290 h2.wp-block-heading:first-child {
  margin-top: 0 !important;
}

#post-290 .entry-content p.wp-block-paragraph {
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(14px,1vw,15px) !important;
  line-height: 1.8 !important;
  color: #444 !important;
  margin: 0 0 clamp(12px,1.5vw,16px) !important;
}

#post-290 .entry-content p.wp-block-paragraph strong {
  color: #1A1A1A !important;
  font-weight: 600 !important;
}