/*
Theme Name: Sala Theme
Theme URI: https://example.com/
Author: Fundación Eugenio Mendoza
Author URI: https://openai.com/
Description: Theme base para la página Amigos de la Sala con formulario de donaciones administrable desde WordPress.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: sala-theme
*/

/* =========================================
   VARIABLES
   ========================================= */
:root {
  --sala-bg:           #ededed;
  --sala-white:        #ffffff;
  --sala-text:         #2f3136;
  --sala-muted:        #6f7278;
  --sala-border:       #d8d8dc;
  --sala-primary:      #14b592;
  --sala-primary-dark: #0e987b;
  --sala-blue:         #1098d4;
  --sala-navy:         #0a2a66;
  --sala-navy-hover:   #315efb;
  --sala-pink:         #e40f87;
  --sala-purple:       #635bff;
  --sala-yellow:       #f3d000;
  --sala-shadow:       0 18px 45px rgba(13, 40, 57, 0.12);
  --sala-radius:       22px;
  --sala-radius-sm:    14px;
  --sala-container:    1180px;
}

/* =========================================
   RESET BASE
   ========================================= */
*, *::before, *::after { box-sizing: border-box; }

html, body, #page, .site, .site-content,
.content-area, main, #primary {
  margin: 0 !important;
  padding: 0 !important;
}

body {
  background: var(--sala-bg);
  color: var(--sala-text);
  font-family: Montserrat, Arial, sans-serif;
  line-height: 1.5;
  overflow-x: hidden;
}

body::before, body::after {
  display: none !important;
  content: none !important;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a { color: inherit; text-decoration: none; }

h1 { font-family: "Montserrat", sans-serif; font-size: 48px; }
h2 { font-family: "Montserrat", sans-serif; font-size: 36px; }

/* =========================================
   HEADER
   ========================================= */
.site-header {
  background: #ffffff;
  border-bottom: 1px solid #e9e9e9;
  position: sticky;
  top: 0;
  z-index: 1200;
}

.site-header__inner {
  width: min(calc(100% - 40px), 1280px);
  margin: 0 auto;
  padding: 0;
  display: grid;
  grid-template-columns: 180px 1fr;
  align-items: center;
  column-gap: 220px;
  min-height: 110px;
}

.site-branding {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.custom-logo-link { display: inline-flex; }

.custom-logo {
  display: block;
  width: auto;
  height: auto;
  max-height: 120px;
}

.site-navigation {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.primary-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 30px;
}

.primary-menu li { margin: 0; padding: 0; }

.primary-menu a {
  color: #202020;
  font-size: 1rem;
  font-weight: 400;
  white-space: nowrap;
  transition: color .2s ease;
}

.primary-menu a:hover,
.primary-menu .current-menu-item > a,
.primary-menu .current_page_item > a {
  color: var(--sala-purple);
}

/* =========================================
   FOOTER
   ========================================= */
.site-footer, .sala-footer { margin: 0 !important; }

.site-footer {
  background: #fff;
  border-top: 1px solid #e8e8e8;
}

.site-footer p { margin: 0; }

/* =========================================
   CONTENEDORES GENERALES
   ========================================= */
.container {
  width: 90%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

.sala-container {
  width: 90%;
  max-width: 1280px;
  margin: 0 auto;
}

.entry-content {
  width: min(calc(100% - 40px), 980px);
  margin-inline: auto;
  padding: 40px 0;
}

@media (max-width: 980px) {
  .entry-content { padding: 24px 0; }
}

/* =========================================
   TIENDA WOOCOMMERCE — LAYOUT PRINCIPAL
   ========================================= */

/* Página de tienda */
.woocommerce-page,
body.post-type-archive-product,
body.tax-product_cat,
body.woocommerce {
  background: #f4f4f4;
}

/* Contenedor WC — reset de paddings conflictivos */
.woocommerce,
.woocommerce-page {
  padding: 0 !important;
}

.woocommerce .woocommerce-notices-wrapper,
.woocommerce-page .woocommerce-notices-wrapper {
  width: 90%;
  max-width: 1280px;
  margin: 0 auto;
}

/* Wrapper global de contenido de tienda */
.woocommerce-page #primary,
.woocommerce #primary {
  padding: 48px 0 80px !important;
}

/* Título de la tienda */
.woocommerce-products-header h1,
.woocommerce-products-header__title,
.page-title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 2.4rem !important;
  font-weight: 700 !important;
  color: var(--sala-navy) !important;
  width: 90% !important;
  max-width: 1280px !important;
  margin: 0 auto 32px !important;
  padding: 0 !important;
}

/* Barra superior: resultados + ordenar */
.woocommerce-products-header + .woocommerce-result-count,
.woocommerce-result-count,
.woocommerce-ordering {
  width: 90% !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  
  
}

.sala-shop-topbar__count .woocommerce-result-count {
  margin: 0 !important;
  font-size: 0.95rem;
  color: #617086;
  white-space: nowrap !important;
}

/* ── GRID DE PRODUCTOS ── */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 32px !important;           /* más separación entre tarjetas */
  list-style: none !important;
  padding: 0 !important;
  margin: 24px auto 0 !important;
  width: 90% !important;
  max-width: 1280px !important;
  clear: both !important;
  columns: unset !important;
  column-gap: unset !important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
  display: none !important;
  content: none !important;
  flex: none !important;
  width: 0 !important;
  grid-column: unset !important;
}

/* ── TARJETA DE PRODUCTO ── */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: #ffffff !important;
  border: 1px solid #e1e5eb !important;
  border-radius: 16px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  float: none !important;
  transition: transform .25s ease, box-shadow .25s ease !important;
  box-shadow: 0 4px 12px rgba(10, 42, 102, 0.05) !important;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 16px 36px rgba(10, 42, 102, 0.12) !important;
}

/* ── IMAGEN en tarjeta (object-fit: contain, cuadrada) ── */
.woocommerce ul.products li.product a,
.woocommerce-page ul.products li.product a {
  display: block !important;
  width: 100% !important;
}

.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
  width: 100% !important;
  height: 200px !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #f8f8f8 !important;
  border-radius: 14px 14px 0 0 !important;
  display: block !important;
  margin: 0 !important;
  padding: 16px !important;        /* respiro alrededor de la imagen */
  box-sizing: border-box !important;
}

/* ── CONTENIDO TARJETA: centrado ── */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
  text-align: center !important;
}

/* Separador visual entre imagen y contenido */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  color: var(--sala-navy) !important;
  padding: 14px 16px 4px !important;
  margin: 0 !important;
  line-height: 1.35 !important;
  border-top: 1px solid #eee !important;
}

/* Categoría del producto */
.woocommerce ul.products li.product .posted_in,
.woocommerce-page ul.products li.product .posted_in {
  font-size: 0.72rem !important;
  color: #9ca3af !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  text-align: center !important;
  padding: 4px 16px 0 !important;
  display: block !important;
}

/* ── PRECIO ── */
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
  color: var(--sala-navy) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  padding: 4px 16px 14px !important;
  display: block !important;
  margin: 0 !important;
  text-align: center !important;
}

/* Botón centrado */
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button {
  display: flex !important;
  justify-content: center !important;
  margin: 0 auto 18px !important;
}

/* ── BOTÓN CARRITO (CÍRCULO CON ÍCONO) ── */
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce-page ul.products li.product a.button,
.woocommerce-page ul.products li.product a.add_to_cart_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  border-radius: 50% !important;
  background: var(--sala-navy) !important;
  color: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 4px 16px 18px !important;
  font-size: 0 !important;
  line-height: 0 !important;
  cursor: pointer !important;
  transition: background .2s ease, transform .2s ease !important;
  position: relative !important;
  overflow: hidden !important;
  text-indent: -9999px !important;
  float: none !important;
}

/* Ícono carrito via ::before */
.woocommerce ul.products li.product a.add_to_cart_button::before,
.woocommerce-page ul.products li.product a.add_to_cart_button::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 22px !important;
  height: 22px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.2 10.2a1 1 0 0 0 1 .8h8.9a1 1 0 0 0 1-.8L20 7H7.1'/%3E%3Ccircle cx='10' cy='19' r='1.5' fill='white' stroke='none'/%3E%3Ccircle cx='17' cy='19' r='1.5' fill='white' stroke='none'/%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  display: block !important;
  text-indent: 0 !important;
}

/* Hover */
.woocommerce ul.products li.product a.add_to_cart_button:hover,
.woocommerce-page ul.products li.product a.add_to_cart_button:hover {
  background: var(--sala-navy-hover) !important;
  transform: scale(1.08) !important;
}

/* Estado "added" — check verde */
.woocommerce ul.products li.product a.added,
.woocommerce-page ul.products li.product a.added {
  background: #14b592 !important;
}

.woocommerce ul.products li.product a.added::before,
.woocommerce-page ul.products li.product a.added::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") !important;
}

/* Ocultar "Ver carrito" / "View cart" globalmente */
a.added_to_cart,
.added_to_cart {
  display: none !important;
}

/* =========================================
   RESULTADO DE BÚSQUEDA Y ORDENAR
   ========================================= */
.woocommerce-result-count {
  font-size: 0.88rem !important;
  color: #6b7280 !important;
}

.woocommerce-ordering select {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 0.88rem !important;
  border-radius: 8px !important;
  border: 1px solid #e1e5eb !important;
  padding: 6px 12px !important;
  color: var(--sala-text) !important;
}

/* =========================================
   PRODUCTO SINGLE
   ========================================= */
.single-product .product {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  width: 90%;
  max-width: 1280px;
  margin: 48px auto;
}

.single-product .product_title {
  font-size: 34px;
  font-weight: 700;
  margin-bottom: 15px;
  color: var(--sala-navy);
}

.single-product .price {
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  color: var(--sala-navy) !important;
  margin-bottom: 20px;
}

.single-product .single_add_to_cart_button {
  background: var(--sala-navy) !important;
  color: #fff !important;
  border: none !important;
  padding: 14px 32px !important;
  border-radius: 50px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: background .2s, transform .2s !important;
}

.single-product .single_add_to_cart_button:hover {
  background: var(--sala-navy-hover) !important;
  transform: translateY(-2px) !important;
}

.single-product .woocommerce-product-details__short-description {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 20px;
    text-align: center;
}

.single-product .quantity input {
  border-radius: 6px;
  border: 1px solid #ccc;
  padding: 6px;
  width: 60px;
  text-align: center;
}

/* ── SINGLE PRODUCT: layout grid limpio ── */
.single-product div.product {
  display: grid !important;
  grid-template-columns: 480px 1fr !important;
  gap: 60px !important;
  align-items: start !important;
  float: none !important;
  width: 90% !important;
  max-width: 1280px !important;
  margin: 40px auto !important;
}

/* Galería — columna izquierda TAMAÑO FIJO */
.single-product div.images,
.woocommerce-product-gallery {
  width: 100% !important;
  max-width: 480px !important;
  float: none !important;
  margin: 0 !important;
}

/* Imagen principal: tamaño controlado */
.woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
  width: 100% !important;
}

.woocommerce-product-gallery .woocommerce-product-gallery__image:first-child {
  width: 100% !important;
  max-height: 460px !important;
  overflow: hidden !important;
  border-radius: 16px !important;
  background: #f8f8f8 !important;
  display: block !important;
  aspect-ratio: unset !important;
}

.woocommerce-product-gallery .woocommerce-product-gallery__image:first-child a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.woocommerce-product-gallery .woocommerce-product-gallery__image:first-child a img {
  width: 100% !important;
  max-height: 460px !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: 16px !important;
  display: block !important;
  background: #f8f8f8 !important;
}

/* Miniaturas */
.woocommerce-product-gallery .flex-control-thumbs {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  margin-top: 12px !important;
  padding: 0 !important;
  list-style: none !important;
}

.woocommerce-product-gallery .flex-control-thumbs li {
  width: calc(25% - 6px) !important;
  margin: 0 !important;
}

.woocommerce-product-gallery .flex-control-thumbs li img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  border: 2px solid transparent !important;
  cursor: pointer !important;
  transition: border-color 0.2s !important;
}

.woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
.woocommerce-product-gallery .flex-control-thumbs li img:hover {
  border-color: var(--sala-navy) !important;
}

/* Columna derecha: info */
.single-product div.summary {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}

/* Título del producto */
.single-product .product_title {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 2rem !important;
  font-weight: 700 !important;
  color: var(--sala-navy) !important;
  margin: 0 0 16px !important;
  line-height: 1.2 !important;
}

/* Precio */
.single-product .price {
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  color: var(--sala-navy) !important;
  margin-bottom: 20px !important;
  display: block !important;
}

/* Descripción corta */
.single-product .woocommerce-product-details__short-description {
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: #444 !important;
  margin-bottom: 22px !important;
  border-top: 1px solid #eee !important;
  padding-top: 18px !important;
}

/* Cantidad */
.single-product .quantity input {
  border-radius: 6px !important;
  border: 1px solid #ccc !important;
  padding: 8px !important;
  width: 64px !important;
  text-align: center !important;
  font-size: 15px !important;
}

/* Columna de info — también sin float */
.single-product div.summary,
.woocommerce-product-details {
  float: none !important;
  width: 100% !important;
}

@media (max-width: 900px) {
  .single-product div.product {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }

  .single-product div.images,
  .woocommerce-product-gallery {
    max-width: 100% !important;
  }
}

.sala-product-gallery .flex-control-thumbs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 8px;
  padding: 0;
  list-style: none;
}

.sala-product-gallery .flex-control-thumbs li { width: calc(33.33% - 6px); }

.sala-product-gallery .flex-control-thumbs li img {
  aspect-ratio: 1 / 1;
  object-fit: contain;
  border-radius: 8px;
  border: 2px solid transparent;
  background: #f7f7f7;
  cursor: pointer;
  transition: border-color 0.2s;
}

.sala-product-gallery .flex-control-thumbs li img.flex-active,
.sala-product-gallery .flex-control-thumbs li img:hover {
  border-color: var(--sala-navy);
}

/* Meta */
.single-product .product_meta { margin-top: 25px; font-size: 14px; color: #666; }
.single-product .product_meta > span { display: block; margin-bottom: 6px; }

/* Tabs */
.woocommerce-tabs { margin-top: 60px; }

.woocommerce-tabs ul.tabs {
  display: flex;
  border-bottom: 1px solid #ddd;
  padding-left: 0;
}

.woocommerce-tabs ul.tabs li { list-style: none; margin-right: 20px; }

.woocommerce-tabs ul.tabs li a {
  text-decoration: none;
  font-weight: 500;
  padding-bottom: 10px;
  display: inline-block;
  color: #333;
}

.woocommerce-tabs ul.tabs li.active a {
  border-bottom: 2px solid var(--sala-navy);
  color: var(--sala-navy);
}

.woocommerce-tabs .panel { padding-top: 20px; font-size: 15px; line-height: 1.7; }

/* ── Tabs en español (CSS hack) ── */
.woocommerce-tabs ul.tabs li a[href="#tab-description"] { font-size: 0; }
.woocommerce-tabs ul.tabs li a[href="#tab-description"]::before { content: "Descripción"; font-size: 15px; }
.woocommerce-tabs ul.tabs li a[href="#tab-reviews"] { font-size: 0; }
.woocommerce-tabs ul.tabs li a[href="#tab-reviews"]::before { content: "Valoraciones"; font-size: 15px; }

/* Breadcrumb */
.woocommerce-breadcrumb { font-size: 13px; color: #888; margin-bottom: 32px; padding-top: 10px; }
.woocommerce-breadcrumb a { color: var(--sala-navy-hover); text-decoration: none; }
.woocommerce-breadcrumb a:hover { text-decoration: underline; }

/* =========================================
   PRODUCTOS RELACIONADOS
   ========================================= */
.related > h2 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  color: var(--sala-navy) !important;
  margin-bottom: 24px;
  margin-top: 0;
}

.related ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

.related ul.products li.product {
  background: #fff !important;
  border-radius: 14px !important;
  padding: 0 !important;
  overflow: hidden !important;
  width: 100% !important;
  float: none !important;
}

.related ul.products li.product a img {
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  width: 100% !important;
  padding: 10px !important;
  background: #f7f7f7 !important;
}

.related ul.products li.product .woocommerce-loop-product__title {
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 10px 12px 4px !important;
  color: var(--sala-navy) !important;
}

.related ul.products li.product .price {
  font-size: 14px !important;
  color: var(--sala-navy) !important;
  font-weight: 700 !important;
  padding: 0 12px 10px !important;
}

/* Botón carrito en related */
.related ul.products li.product a.button,
.related ul.products li.product a.add_to_cart_button,
.related a.sala-related-cart-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: var(--sala-navy) !important;
  border: none !important;
  padding: 0 !important;
  margin: 4px 12px 14px !important;
  font-size: 0 !important;
  cursor: pointer !important;
  position: relative !important;
  overflow: hidden !important;
  text-indent: -9999px !important;
  float: none !important;
  transition: background .2s !important;
}

.related ul.products li.product a.add_to_cart_button::before,
.related a.sala-related-cart-btn::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important; left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 20px !important; height: 20px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.2 10.2a1 1 0 0 0 1 .8h8.9a1 1 0 0 0 1-.8L20 7H7.1'/%3E%3Ccircle cx='10' cy='19' r='1.5' fill='white' stroke='none'/%3E%3Ccircle cx='17' cy='19' r='1.5' fill='white' stroke='none'/%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  display: block !important;
}

.related a.added_to_cart { display: none !important; }

/* =========================================
   BADGES Y BOTONES GENERALES WC
   ========================================= */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: var(--sala-navy);
  color: #fff;
  border-radius: 50px;
  padding: 10px 20px;
  font-weight: 600;
  font-family: 'Montserrat', sans-serif;
  transition: background .2s;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background: var(--sala-navy-hover);
  color: #fff;
}

/* Badge de categoría */
.sala-product-category-badge {
  display: inline-block;
  background: #e8eef8;
  color: var(--sala-navy);
  border-radius: 50px;
  padding: 4px 14px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 14px;
  text-decoration: none;
}

.sala-product-category-badge:hover {
  background: var(--sala-navy);
  color: #fff;
}

/* =========================================
   WOOCOMMERCE — PÁGINA SHOP CONTENEDOR
   ========================================= */
.woocommerce-page .page-title,
h1.page-title {
  width: 90%;
  max-width: 1280px;
  margin: 40px auto 8px !important;
  padding: 0 !important;
  display: block;
}

/* Fila de resultados + orden — en línea, sin ocupar ancho del grid */
form.woocommerce-ordering,
p.woocommerce-result-count {
  width: 90%;
  max-width: 1280px;
  margin-left: auto !important;
  margin-right: auto !important;
  clear: both;
  float: none !important;
  display: inline-block;
}

/* Reset del clearfix que WC inyecta antes del grid */
.woocommerce .woocommerce-ordering + br,
.woocommerce .woocommerce-result-count + br,
.woocommerce-page .woocommerce-ordering + br {
  display: none !important;
}

/* =========================================
   ARTÍCULO SINGLE (BLOG)
   ========================================= */
.sala-article-page { background: #f6f6f6; padding: 40px 0 80px; }
.sala-article-shell { width: min(90%, 1120px); margin: 0 auto; }
.sala-article-back { margin-bottom: 26px; }
.sala-article-back a { color: #5f7394; text-decoration: none; font-weight: 600; }
.sala-article-back a:hover { color: #081f44; }

.sala-article-hero { margin-bottom: 40px; }

.sala-article-hero__meta {
  display: flex; gap: 10px; flex-wrap: wrap;
  align-items: center; margin-bottom: 18px;
  font-size: 0.92rem; color: #617086;
}

.sala-article-hero__category {
  display: inline-flex; align-items: center;
  padding: 8px 14px; border-radius: 999px;
  background: #081f44; color: #fff;
  font-size: 0.8rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.03em;
}

.sala-article-hero__title {
  font-family: "Montserrat", sans-serif;
  font-size: clamp(2rem, 3.2vw, 3rem);
  line-height: 1.02; letter-spacing: -0.03em;
  color: #081f44; margin: 0 0 18px;
}

.sala-article-hero__excerpt {
  max-width: 760px; margin: 0 0 28px;
  font-size: 1.18rem; line-height: 1.65; color: #52657f;
}

.sala-article-hero__image img {
  width: 100%; display: block; border-radius: 28px;
  object-fit: cover; max-height: 500px;
  box-shadow: 0 20px 50px rgba(8, 31, 68, 0.10);
}

.sala-article-body { display: flex; justify-content: center; }

.sala-article-content {
  width: 100%; margin-left: auto; margin-right: auto;
  color: #1f2a37; font-size: 1.08rem; line-height: 1.95;
}

.sala-article-content p { margin: 0 0 1.35em; }

.sala-article-content h2,
.sala-article-content h3,
.sala-article-content h4 {
  color: #081f44; margin: 1.8em 0 0.7em;
  line-height: 1.15; letter-spacing: -0.02em;
}

.sala-article-content h2 { font-size: 2rem; }
.sala-article-content h3 { font-size: 1.55rem; }

.sala-article-content ul,
.sala-article-content ol { padding-left: 1.4rem; margin: 0 0 1.35em; }
.sala-article-content li { margin-bottom: 0.55em; }

.sala-article-content blockquote {
  margin: 2em 0; padding: 1.2rem 1.4rem;
  border-left: 4px solid #315efb;
  background: #ffffff; border-radius: 0 16px 16px 0;
  color: #32435d; font-size: 1.08rem;
}

.sala-article-content img { max-width: 100%; height: auto; border-radius: 18px; }
.sala-article-content figure { margin: 2em 0; }
.sala-article-content figcaption { margin-top: 0.7rem; color: #6b7a91; font-size: 0.92rem; text-align: center; }

.sala-article-related { margin-top: 72px; }

.sala-article-related__title {
  font-family: "Montserrat", sans-serif;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.02; color: #081f44; margin-bottom: 24px;
}

.sala-article-related__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.sala-article-card {
  background: #fff; border: 1px solid #e4e8ef;
  border-radius: 24px; overflow: hidden;
  box-shadow: 0 10px 28px rgba(8, 31, 68, 0.05);
  transition: transform .25s ease, box-shadow .25s ease;
}

.sala-article-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 36px rgba(8, 31, 68, 0.10);
}

.sala-article-card__image img,
.sala-article-card__placeholder {
  width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block;
}

.sala-article-card__placeholder { background: linear-gradient(135deg, #e7ecf3, #f5f7fb); }
.sala-article-card__body { padding: 20px; }
.sala-article-card__meta { color: #6a7b93; font-size: 0.82rem; font-weight: 700; text-transform: uppercase; margin-bottom: 10px; }

.sala-article-card__title { margin: 0 0 12px; font-size: 1.35rem; line-height: 1.14; letter-spacing: -0.02em; }
.sala-article-card__title a { color: #081f44; text-decoration: none; }
.sala-article-card__title a:hover { color: #315efb; }
.sala-article-card__excerpt { color: #5b6e88; line-height: 1.7; margin-bottom: 14px; }
.sala-article-card__link { color: #081f44; font-weight: 700; text-decoration: none; }
.sala-article-card__link:hover { color: #315efb; }

/* =========================================
   RESPONSIVE
   ========================================= */
@media (max-width: 1024px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  .sala-article-related__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }

  .related ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .single-product .product { grid-template-columns: 1fr; gap: 30px; }
  .sala-article-related__grid { grid-template-columns: 1fr; }

  .sala-article-hero__title { font-size: 2.5rem; }
  .sala-article-hero__excerpt { font-size: 1.02rem; }
}

@media (max-width: 480px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: 1fr !important;
  }

  .related ul.products { grid-template-columns: 1fr !important; }
  .sala-article-page { padding: 28px 0 56px; }
  .sala-article-content { font-size: 1rem; line-height: 1.85; }
}


/* =========================================
   SHOP HERO — estilo como Blog
========================================= */

.sala-dynamic-hero--shop {
  position: relative;
  width: 100%;
  min-height: 520px;
  display: flex;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  border-bottom: 1px solid rgba(10, 42, 102, 0.08);
}

.sala-dynamic-hero--shop .sala-dynamic-hero__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(248,248,248,0.78) 0%,
      rgba(248,248,248,0.68) 30%,
      rgba(248,248,248,0.42) 58%,
      rgba(248,248,248,0.56) 100%
    );
  z-index: 1;
}

.sala-dynamic-hero--shop::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,0.16), transparent 35%),
    radial-gradient(circle at 80% 20%, rgba(255,255,255,0.08), transparent 28%);
  z-index: 2;
  pointer-events: none;
}

.sala-dynamic-hero--shop .sala-dynamic-hero__inner {
  position: relative;
  z-index: 3;
  width: min(90%, 1180px);
  max-width: 1180px;
  margin: 0 auto;
  padding: 58px 0 56px;
}

.sala-dynamic-hero--shop .sala-dynamic-hero__content {
  max-width: 720px;
}

.sala-dynamic-hero--shop .sala-dynamic-hero__eyebrow {
  display: inline-block;
  margin-bottom: 16px;
  font-size: 0.92rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #284a86;
}

.sala-dynamic-hero--shop .sala-dynamic-hero__title {
  margin: 0 0 18px;
  font-family: "Montserrat", sans-serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 0.96;
  letter-spacing: -0.03em;
  color: #031338;
  max-width: 11ch;
}

.sala-dynamic-hero--shop .sala-dynamic-hero__desc {
  margin: 0 0 26px;
  max-width: 720px;
  font-size: 1.08rem;
  font-weight: 400;
  line-height: 1.42;
  color: #32435d;
}

.sala-dynamic-hero--shop .sala-dynamic-hero__feature-card {
  max-width: 560px;
  padding: 22px 24px;
  border-radius: 18px;
  background: rgba(255,255,255,0.58);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow:
    0 12px 36px rgba(3, 19, 56, 0.08),
    0 2px 8px rgba(3, 19, 56, 0.04);
  border: 1px solid rgba(255,255,255,0.50);
}

.sala-dynamic-hero--shop .sala-dynamic-hero__meta {
  display: inline-block;
  margin-bottom: 12px;
  font-size: 0.95rem;
  font-weight: 600;
  color: #5a6d8d;
}

.sala-dynamic-hero--shop .sala-dynamic-hero__feature-title {
  margin: 0 0 14px;
  font-size: clamp(1.4rem, 1.8vw, 2rem);
  line-height: 1.08;
  color: #031338;
  letter-spacing: -0.02em;
  max-width: 16ch;
}

.sala-dynamic-hero--shop .sala-dynamic-hero__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  text-decoration: none;
  color: #0a2a66;
}

.sala-dynamic-hero--shop .sala-dynamic-hero__cta::after {
  content: "→";
}

/* Ajustar espaciado del shell debajo del hero */
.sala-shop-shell {
  width: min(92%, 1280px);
  margin: 0 auto;
  padding-top: 34px;
}

/* Ocultar título nativo duplicado */
.sala-shop-shell .woocommerce-products-header {
  display: none;
}

@media (max-width: 991px) {
  .sala-dynamic-hero--shop {
    min-height: 460px;
  }

  .sala-dynamic-hero--shop .sala-dynamic-hero__inner {
    width: min(92%, 1180px);
    padding: 52px 0 48px;
  }

  .sala-dynamic-hero--shop .sala-dynamic-hero__title {
    font-size: 40px;
    max-width: none;
  }

  .sala-dynamic-hero--shop .sala-dynamic-hero__desc {
    max-width: 100%;
    font-size: 1rem;
  }

  .sala-dynamic-hero--shop .sala-dynamic-hero__feature-card {
    max-width: 100%;
  }
}

@media (max-width: 640px) {
  .sala-dynamic-hero--shop {
    min-height: 420px;
  }

  .sala-dynamic-hero--shop .sala-dynamic-hero__inner {
    width: min(92%, 1180px);
    padding: 46px 0 42px;
  }

  .sala-dynamic-hero--shop .sala-dynamic-hero__title {
    font-size: 36px;
  }

  .sala-dynamic-hero--shop .sala-dynamic-hero__feature-card {
    padding: 18px;
    border-radius: 16px;
  }
}

/* ===== HERO LIBRERÍA: ajuste visual ===== */
.sala-dynamic-hero--shop {
  min-height: 430px;
}

.sala-dynamic-hero--shop .sala-dynamic-hero__inner {
  width: min(90%, 1180px);
  max-width: 1180px;
  margin: 0 auto;
  padding: 58px 0 56px;
}

.sala-dynamic-hero--shop .sala-dynamic-hero__content {
  max-width: 720px;
}

.sala-dynamic-hero--shop .sala-dynamic-hero__title {
  font-family: "Montserrat", sans-serif;
  font-size: 48px;
  line-height: 0.96;
  margin: 0 0 16px;
}

.sala-dynamic-hero--shop .sala-dynamic-hero__desc {
  max-width: 720px;
  font-size: 1.05rem;
  line-height: 1.4;
  color: #32435d;
}

.sala-dynamic-hero--shop .sala-dynamic-hero__feature-card {
  max-width: 520px;
}

/* ===== TARJETAS SHOP: texto con aire ===== */
.woocommerce ul.products li.product.sala-product-card,
.woocommerce-page ul.products li.product.sala-product-card {
  display: flex !important;
  flex-direction: column !important;
}

.sala-product-card__body {
  padding: 14px 18px 4px !important;
  text-align: center !important;
}

.sala-product-card__cat {
  margin: 0 0 6px !important;
  text-align: center !important;
}

.sala-product-card__title {
  margin: 0 0 10px !important;
  text-align: center !important;
  line-height: 1.25 !important;
}

.sala-product-card__price,
.sala-product-card__price .price {
  margin: 0 0 14px !important;
  text-align: center !important;
}

.sala-product-card__actions {
  padding: 0 18px 18px !important;
  display: flex !important;
  justify-content: center !important;
  margin-top: auto !important;
}

.sala-product-card__body {
  padding: 16px 22px 6px !important;
}

.sala-product-card__actions {
  padding: 0 22px 20px !important;
}

/* ===== HERO SHOP: fondo fijo al hacer scroll ===== */
.sala-dynamic-hero--shop {
  background-attachment: fixed !important;
  background-size: cover !important;
  background-position: center center !important;
}

@media (max-width: 991px) {
  .sala-dynamic-hero--shop {
    background-attachment: scroll !important;
  }
}

/* ===== SHOP HERO: fondo fijo al hacer scroll ===== */
.sala-dynamic-hero--shop {
  background-attachment: fixed !important;
  background-size: cover !important;
  background-position: center center !important;
}

.sala-dynamic-hero--shop .sala-dynamic-hero__overlay {
  background:
    linear-gradient(
      90deg,
      rgba(248,248,248,0.62) 0%,
      rgba(248,248,248,0.54) 30%,
      rgba(248,248,248,0.30) 58%,
      rgba(248,248,248,0.44) 100%
    ) !important;
}

@media (max-width: 991px) {
  .sala-dynamic-hero--shop {
    background-attachment: scroll !important;
  }
}

/* ===== SHOP TOPBAR ===== */
.sala-shop-topbar {
  display: flex;
  align-items: center;
  gap: 20px 28px;
  flex-wrap: wrap;
  margin: 28px 0 26px;
}

.sala-shop-topbar__breadcrumb {
  flex: 1 1 auto;
  min-width: 80px;
}

.sala-shop-topbar__count {
  flex: 0 0 auto;
  color: #617086;
  font-size: 0.95rem;
}

.sala-shop-topbar__sorting {
  flex: 0 0 auto;
  margin-left: auto;
}

.sala-shop-topbar .woocommerce-breadcrumb,
.sala-shop-topbar .woocommerce-result-count,
.sala-shop-topbar .woocommerce-ordering {
  margin: 0 !important;
  float: none !important;
}

.sala-shop-topbar .woocommerce-breadcrumb {
  color: #7a8494;
  font-size: 0.95rem;
}

.sala-shop-topbar .woocommerce-breadcrumb a {
  color: #7a8494;
  text-decoration: none;
}

.sala-shop-topbar .woocommerce-breadcrumb a:hover {
  color: #081f44;
}

.sala-shop-topbar .woocommerce-ordering select {
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid #d9e0ea;
  border-radius: 12px;
  background: #fff;
  color: #081f44;
  font-size: 0.95rem;
}

@media (max-width: 900px) {
  .sala-shop-topbar {
    align-items: stretch;
  }

  .sala-shop-topbar__breadcrumb,
  .sala-shop-topbar__count,
  .sala-shop-topbar__sorting {
    flex: 0 0 100%;
    margin-left: 0;
  }

  .sala-shop-topbar .woocommerce-ordering select {
    width: 100%;
  }
}

/* ===== HERO SHOP: fondo fijo al hacer scroll ===== */
.sala-dynamic-hero--shop {
  background-attachment: fixed !important;
  background-size: cover !important;
  background-position: center center !important;
}

@media (max-width: 991px) {
  .sala-dynamic-hero--shop {
    background-attachment: scroll !important;
  }
}

/* Result count en una sola línea */
.sala-shop-topbar .woocommerce-result-count,
.woocommerce-result-count {
  white-space: nowrap !important;
  display: inline-block !important;
}
@media (max-width: 640px) {
  .sala-shop-topbar .woocommerce-result-count,
  .woocommerce-result-count {
    white-space: normal !important;
  }
}

/* ===== SHOP: quitar espacios grises antes y después del hero ===== */

/* 1) quita el padding superior del contenedor principal en la tienda */
.post-type-archive-product #primary,
.tax-product_cat #primary,
.tax-product_tag #primary {
  padding-top: 0 !important;
}

/* 2) deja el hero pegado al header */
.post-type-archive-product .sala-dynamic-hero--shop,
.tax-product_cat .sala-dynamic-hero--shop,
.tax-product_tag .sala-dynamic-hero--shop {
  margin-top: 0 !important;
}

/* 3) quita el espacio sobrante justo después del hero */
.post-type-archive-product .sala-shop-shell,
.tax-product_cat .sala-shop-shell,
.tax-product_tag .sala-shop-shell {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* 4) controla la barra breadcrumb/resultados/orden */
.post-type-archive-product .sala-shop-topbar,
.tax-product_cat .sala-shop-topbar,
.tax-product_tag .sala-shop-topbar {
  margin-top: 18px !important;
  margin-bottom: 26px !important;
}

/* 5) si quieres todavía más pegado, usa estos valores en vez del bloque anterior */
/*
.post-type-archive-product .sala-shop-topbar,
.tax-product_cat .sala-shop-topbar,
.tax-product_tag .sala-shop-topbar {
  margin-top: 10px !important;
  margin-bottom: 22px !important;
}
*/
.sala-shop-topbar .woocommerce-breadcrumb,
.woocommerce-breadcrumb {
  white-space: nowrap;
}

.woocommerce ul.products,
.woocommerce-page ul.products {
  margin-bottom: 24px !important;
}

.woocommerce nav.woocommerce-pagination,
.woocommerce-page nav.woocommerce-pagination,
.sala-shop-pagination {
  margin-top: 24px !important;
}


/* =====================================================
   SINGLE PRODUCT — AJUSTE LIMPIO
===================================================== */

/* Contenedor general */
.single-product #primary,
.single-product .site-main {
  padding-top: 24px !important;
  padding-bottom: 56px !important;
}

.single-product div.product {
  display: grid !important;
  grid-template-columns: minmax(320px, 520px) minmax(320px, 1fr) !important;
  gap: 56px !important;
  align-items: start !important;
  width: min(90%, 1280px) !important;
  max-width: 1280px !important;
  margin: 0 auto 40px !important;
  float: none !important;
}

/* Columna izquierda: galería */
.single-product div.product div.images,
.single-product div.product .woocommerce-product-gallery {
  width: 100% !important;
  max-width: 520px !important;
  margin: 0 !important;
  float: none !important;
}

.single-product .woocommerce-product-gallery__wrapper {
  width: 100% !important;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image:first-child {
  width: 100% !important;
  max-height: none !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  background: #f8f8f8 !important;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image:first-child a {
  display: block !important;
  width: 100% !important;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image:first-child img {
  width: 100% !important;
  height: auto !important;
  max-height: 620px !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #f8f8f8 !important;
  border-radius: 18px !important;
}

/* Miniaturas */
.single-product .woocommerce-product-gallery .flex-control-thumbs {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin-top: 14px !important;
  padding: 0 !important;
  list-style: none !important;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li {
  width: calc(25% - 8px) !important;
  margin: 0 !important;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  border-radius: 10px !important;
  border: 2px solid transparent !important;
  cursor: pointer !important;
  background: #f7f7f7 !important;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active,
.single-product .woocommerce-product-gallery .flex-control-thumbs li img:hover {
  border-color: var(--sala-navy) !important;
}

/* Columna derecha: resumen */
.single-product div.product div.summary,
.single-product div.product .summary {
  width: 100% !important;
  max-width: 680px !important;
  margin: 0 !important;
  float: none !important;
  align-self: start !important;
  padding-top: 8px !important;
}

/* Título */
.single-product .product_title {
  font-family: "Montserrat", sans-serif !important;
  font-size: clamp(2rem, 3vw, 3rem) !important;
  line-height: 1.06 !important;
  font-weight: 700 !important;
  color: var(--sala-navy) !important;
  margin: 0 0 18px !important;
}

/* Precio */
.single-product div.product p.price,
.single-product div.product span.price {
  font-size: 1.7rem !important;
  font-weight: 700 !important;
  color: var(--sala-navy) !important;
  margin: 0 0 18px !important;
}

/* Descripción corta */
.single-product .woocommerce-product-details__short-description {
  font-size: 1rem !important;
  line-height: 1.7 !important;
  color: #444 !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  border: 0 !important;
  text-align: left !important;
}

/* Formulario compra */
.single-product form.cart {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin-bottom: 20px !important;
}

.single-product .quantity {
  margin: 0 !important;
}

.single-product .quantity input {
  width: 72px !important;
  height: 46px !important;
  border-radius: 10px !important;
  border: 1px solid #d8d8dc !important;
  padding: 6px !important;
  text-align: center !important;
  font-size: 15px !important;
}

.single-product .single_add_to_cart_button {
  min-height: 48px !important;
  padding: 0 28px !important;
  border-radius: 999px !important;
  background: var(--sala-navy) !important;
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  border: 0 !important;
}

.single-product .single_add_to_cart_button:hover {
  background: var(--sala-navy-hover) !important;
}

/* Meta */
.single-product .product_meta {
  margin-top: 18px !important;
  font-size: 0.96rem !important;
  color: #555 !important;
  line-height: 1.7 !important;
}

.single-product .product_meta > span {
  display: block !important;
  margin-bottom: 6px !important;
}

/* Tabs */
.single-product .woocommerce-tabs {
  width: min(90%, 1280px) !important;
  max-width: 1280px !important;
  margin: 34px auto 0 !important;
}

/* =====================================================
   RELACIONADOS — MÁS PEQUEÑOS
===================================================== */

.single-product .related.products {
  width: min(90%, 1280px) !important;
  max-width: 1280px !important;
  margin: 28px auto 0 !important;
}

.single-product .related.products > h2 {
  font-family: "Montserrat", sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--sala-navy) !important;
  margin: 0 0 18px !important;
}

.single-product .related ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.single-product .related ul.products li.product {
  background: #fff !important;
  border: 1px solid #e2e6ec !important;
  border-radius: 16px !important;
  padding: 0 !important;
  overflow: hidden !important;
  box-shadow: 0 6px 18px rgba(10, 42, 102, 0.05) !important;
}

.single-product .related ul.products li.product a img {
  width: 100% !important;
  height: 180px !important;
  object-fit: contain !important;
  background: #f7f7f7 !important;
  padding: 10px !important;
}

.single-product .related ul.products li.product .woocommerce-loop-product__title {
  font-size: 0.98rem !important;
  line-height: 1.2 !important;
  min-height: 2.4em !important;
  padding: 10px 12px 4px !important;
  text-align: center !important;
}

.single-product .related ul.products li.product .price {
  font-size: 0.95rem !important;
  padding: 0 12px 10px !important;
  text-align: center !important;
}

.single-product .related ul.products li.product a.button,
.single-product .related ul.products li.product a.add_to_cart_button,
.single-product .related a.sala-related-cart-btn {
  width: 42px !important;
  height: 42px !important;
  margin: 4px auto 14px !important;
}

/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 980px) {
  .single-product div.product {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .single-product div.product div.images,
  .single-product div.product .woocommerce-product-gallery,
  .single-product div.product div.summary,
  .single-product div.product .summary {
    max-width: 100% !important;
  }

  .single-product .related ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  .single-product .related ul.products {
    grid-template-columns: 1fr !important;
  }

  .single-product .woocommerce-product-gallery .woocommerce-product-gallery__image:first-child img {
    max-height: 420px !important;
  }
}

.single-product .related ul.products li.product a img {
  height: 180px !important;
}

.single-product .related ul.products li.product .woocommerce-loop-product__title {
  font-size: 0.98rem !important;
}

.single-product #secondary,
.single-product aside.widget-area { display: none !important; }