/* ===========================================
   TECNOELITE COLOMBIA — Design System v4.0
   Child Theme: Astra
   Fuente Poppins + Header Pro + Footer Pro
   + Categorias corregidas + Hover mejorado
   =========================================== */


/* -------------------------------------------
   1. DESIGN TOKENS
   ------------------------------------------- */

:root {
  /* Corregir color-0 Astra default */
  --ast-global-color-0: #f1c40f;

  /* Brand */
  --te-yellow:          #ffe754;
  --te-yellow-dark:     #f1c40f;
  --te-yellow-hover:    #d4a90c;
  --te-yellow-light:    #fff9c4;
  --te-yellow-glow:     rgba(241, 196, 15, 0.25);

  /* Accents */
  --te-price:           #e67e22;
  --te-green:           #27ae60;
  --te-red:             #e74c3c;
  --te-dark:            #1a1a2e;

  /* Elevation */
  --te-shadow-sm:       0 2px 8px rgba(0, 0, 0, 0.08);
  --te-shadow-md:       0 4px 16px rgba(0, 0, 0, 0.12);
  --te-shadow-lg:       0 10px 30px rgba(0, 0, 0, 0.16);
  --te-shadow-yellow:   0 6px 20px rgba(241, 196, 15, 0.35);

  /* Radius */
  --te-radius-sm:       6px;
  --te-radius-md:       10px;
  --te-radius-lg:       14px;
  --te-radius-full:     9999px;

  /* Motion */
  --te-ease:            cubic-bezier(0.4, 0, 0.2, 1);
  --te-duration:        0.3s;
}


/* -------------------------------------------
   2. FUENTE POPPINS — Carga e implementacion
   ------------------------------------------- */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');

body,
.ast-button,
button,
input,
select,
textarea {
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}


/* -------------------------------------------
   3. BASE — Tipografia profesional
   ------------------------------------------- */

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.7 !important;
  color: var(--ast-global-color-2) !important;
}

h1, .entry-title {
  font-weight: 800 !important;
  letter-spacing: -0.5px !important;
  line-height: 1.2 !important;
}

h2 {
  font-weight: 700 !important;
  letter-spacing: -0.3px !important;
  line-height: 1.25 !important;
}

h3, h4 {
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

h5, h6 {
  font-weight: 600 !important;
}

a {
  transition: color var(--te-duration) var(--te-ease),
              opacity var(--te-duration) var(--te-ease);
}

a:hover {
  text-decoration: none;
}

::selection {
  background: var(--te-yellow) !important;
  color: var(--ast-global-color-8) !important;
}


/* -------------------------------------------
   4. HEADER — Profesional y sticky
   ------------------------------------------- */

/* Header principal */
.ast-primary-header-bar {
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06) !important;
  transition: box-shadow var(--te-duration) var(--te-ease) !important;
}

/* Logo */
.site-branding .site-title {
  font-weight: 800 !important;
  letter-spacing: -0.5px !important;
}

.site-branding .site-title a {
  color: var(--te-dark) !important;
}

/* Menu principal */
.ast-builder-menu .menu-item > a {
  font-weight: 500 !important;
  font-size: 0.9375rem !important;
  letter-spacing: 0.2px !important;
  padding: 8px 16px !important;
  border-radius: var(--te-radius-sm) !important;
  transition: color var(--te-duration) var(--te-ease),
              background-color var(--te-duration) var(--te-ease) !important;
}

.ast-builder-menu .menu-item > a:hover,
.ast-builder-menu .menu-item.current-menu-item > a {
  color: var(--te-dark) !important;
  background-color: var(--te-yellow-light) !important;
}

/* Submenu */
.ast-builder-menu .sub-menu {
  border-radius: var(--te-radius-md) !important;
  box-shadow: var(--te-shadow-lg) !important;
  border: 1px solid var(--ast-global-color-6) !important;
  border-top: 3px solid var(--te-yellow) !important;
  overflow: hidden !important;
}

.ast-builder-menu .sub-menu .menu-item > a {
  font-size: 0.875rem !important;
  padding: 10px 18px !important;
  transition: background-color var(--te-duration) var(--te-ease),
              color var(--te-duration) var(--te-ease) !important;
}

.ast-builder-menu .sub-menu .menu-item > a:hover {
  background-color: var(--te-yellow-light) !important;
  color: var(--te-dark) !important;
}

/* Header sticky — sombra al hacer scroll */
.ast-primary-sticky-header-active .ast-primary-header-bar,
.ast-header-sticked .ast-primary-header-bar {
  box-shadow: var(--te-shadow-md) !important;
}

/* Iconos del header (carrito, cuenta) */
.ast-header-woo-cart .ast-cart-menu-wrap,
.ast-header-account-wrap {
  transition: opacity var(--te-duration) var(--te-ease) !important;
}

.ast-header-woo-cart .ast-cart-menu-wrap:hover,
.ast-header-account-wrap:hover {
  opacity: 0.75 !important;
}

/* Barra de busqueda del header */
.ast-search-box input.search-field {
  border-radius: var(--te-radius-full) !important;
  border: 2px solid var(--ast-global-color-6) !important;
  padding: 10px 20px !important;
  font-size: 0.9375rem !important;
  transition: border-color var(--te-duration) var(--te-ease),
              box-shadow var(--te-duration) var(--te-ease) !important;
}

.ast-search-box input.search-field:focus {
  border-color: var(--te-yellow-dark) !important;
  box-shadow: 0 0 0 4px var(--te-yellow-glow) !important;
  outline: none !important;
}


/* -------------------------------------------
   5. BOTONES — Hover amarillo, no gris
   ------------------------------------------- */

/* Todos los botones */
.ast-button,
button[type="submit"],
.single_add_to_cart_button,
.checkout-button,
.woocommerce #respond input#submit,
.woocommerce button.button.alt,
.woocommerce a.button,
.elementor-button {
  border-radius: var(--te-radius-md) !important;
  padding: 14px 32px !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  letter-spacing: 0.3px !important;
  cursor: pointer !important;
  transition: transform var(--te-duration) var(--te-ease),
              box-shadow var(--te-duration) var(--te-ease),
              background-color var(--te-duration) var(--te-ease),
              color var(--te-duration) var(--te-ease),
              filter var(--te-duration) var(--te-ease) !important;
}

/* Hover — amarillo oscuro en vez de gris */
.ast-button:hover,
button[type="submit"]:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce button.button.alt:hover,
.woocommerce a.button:hover,
.elementor-button:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--te-shadow-yellow) !important;
  background-color: var(--te-yellow-hover) !important;
  color: var(--ast-global-color-8) !important;
}

.ast-button:active,
button[type="submit"]:active,
.single_add_to_cart_button:active,
.checkout-button:active,
.add_to_cart_button:active {
  transform: translateY(0) scale(0.98) !important;
  box-shadow: none !important;
}

/* Grid product buttons */
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.add_to_cart_button {
  border-radius: var(--te-radius-md) !important;
  padding: 12px 22px !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  cursor: pointer !important;
  transition: transform var(--te-duration) var(--te-ease),
              box-shadow var(--te-duration) var(--te-ease),
              background-color var(--te-duration) var(--te-ease),
              color var(--te-duration) var(--te-ease) !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce-page ul.products li.product .button:hover,
.add_to_cart_button:hover {
  transform: translateY(-2px) scale(1.02) !important;
  box-shadow: var(--te-shadow-yellow) !important;
  background-color: var(--te-yellow-hover) !important;
  color: var(--ast-global-color-8) !important;
}


/* -------------------------------------------
   6. PRODUCT CARDS — Premium
   ------------------------------------------- */

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  border-radius: var(--te-radius-lg) !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: var(--te-shadow-sm) !important;
  border: 1px solid var(--ast-global-color-6) !important;
  padding-bottom: 12px !important;
  transition: transform var(--te-duration) var(--te-ease),
              box-shadow var(--te-duration) var(--te-ease),
              border-color var(--te-duration) var(--te-ease) !important;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
  transform: translateY(-6px) !important;
  box-shadow: var(--te-shadow-lg) !important;
  border-color: var(--te-yellow) !important;
}

/* Imagen hover */
@media (hover: hover) {
  .woocommerce ul.products li.product img,
  .woocommerce-page ul.products li.product img {
    transition: transform 0.5s var(--te-ease) !important;
  }

  .woocommerce ul.products li.product:hover img,
  .woocommerce-page ul.products li.product:hover img {
    transform: scale(1.05);
  }
}

/* Animacion de entrada escalonada */
.woocommerce ul.products li.product {
  animation: teCardIn 0.5s var(--te-ease) both;
}

.woocommerce ul.products li.product:nth-child(1) { animation-delay: 0s; }
.woocommerce ul.products li.product:nth-child(2) { animation-delay: 0.05s; }
.woocommerce ul.products li.product:nth-child(3) { animation-delay: 0.06s; }
.woocommerce ul.products li.product:nth-child(4) { animation-delay: 0.09s; }
.woocommerce ul.products li.product:nth-child(5) { animation-delay: 0.12s; }
.woocommerce ul.products li.product:nth-child(6) { animation-delay: 0.15s; }
.woocommerce ul.products li.product:nth-child(7) { animation-delay: 0.18s; }
.woocommerce ul.products li.product:nth-child(8) { animation-delay: 0.21s; }

@keyframes teCardIn {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Categoria dentro del card — un poco mas grande que antes */
.woocommerce ul.products li.product .ast-woo-product-category,
.woocommerce-page ul.products li.product .ast-woo-product-category {
  font-size: 0.8125rem !important;
  color: var(--ast-global-color-3) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 0.3em !important;
}

/* Titulo del producto en grid */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--ast-global-color-2) !important;
  line-height: 1.4 !important;
  margin-bottom: 0.4em !important;
}

/* Precios en grid */
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price {
  font-weight: 800 !important;
  font-size: 1.1rem !important;
  color: var(--ast-global-color-2) !important;
}

.woocommerce ul.products li.product .price ins,
.woocommerce-page ul.products li.product .price ins,
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
  color: var(--te-price) !important;
  text-decoration: none !important;
  font-weight: 800 !important;
}

.woocommerce ul.products li.product .price del,
.woocommerce-page ul.products li.product .price del,
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
  opacity: 0.4;
  font-size: 0.82em;
  font-weight: 400 !important;
}

/* Badge oferta */
.woocommerce span.onsale {
  border-radius: var(--te-radius-sm) !important;
  font-weight: 800 !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.8px !important;
  padding: 6px 14px !important;
  min-height: auto !important;
  min-width: auto !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
}


/* -------------------------------------------
   7. SINGLE PRODUCT — Pagina de producto
   ------------------------------------------- */

/* Titulo */
.woocommerce div.product .product_title {
  font-weight: 800 !important;
  font-size: 1.75rem !important;
  color: var(--ast-global-color-2) !important;
  line-height: 1.25 !important;
  letter-spacing: -0.3px !important;
  margin-bottom: 0.5em !important;
}

/* Precio grande */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-size: 2rem !important;
  font-weight: 800 !important;
  color: var(--te-price) !important;
  margin-bottom: 0.5em !important;
}

/* Galeria — borde sutil */
.woocommerce div.product div.images {
  border-radius: var(--te-radius-lg) !important;
  overflow: hidden !important;
}

.woocommerce div.product div.images img {
  border-radius: var(--te-radius-md) !important;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
  border-radius: var(--te-radius-sm) !important;
  border: 2px solid transparent !important;
  transition: border-color var(--te-duration) var(--te-ease) !important;
}

.woocommerce div.product div.images .flex-control-thumbs li img:hover,
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active {
  border-color: var(--te-yellow) !important;
}

/* Categorias y tags en producto single — CORREGIDO tamaño */
.woocommerce div.product .product_meta {
  font-size: 0.9375rem !important;
  color: var(--ast-global-color-3) !important;
  line-height: 2.2 !important;
  padding-top: 1em !important;
  margin-top: 1em !important;
  border-top: 1px solid var(--ast-global-color-6) !important;
}

.woocommerce div.product .product_meta > span {
  display: block !important;
  margin-bottom: 0.3em !important;
}

.woocommerce div.product .product_meta a {
  color: var(--ast-global-color-2) !important;
  font-weight: 600 !important;
  padding: 2px 8px !important;
  background: var(--ast-global-color-4) !important;
  border-radius: var(--te-radius-sm) !important;
  font-size: 0.875rem !important;
  transition: background-color var(--te-duration) var(--te-ease),
              color var(--te-duration) var(--te-ease) !important;
}

.woocommerce div.product .product_meta a:hover {
  background-color: var(--te-yellow) !important;
  color: var(--te-dark) !important;
}

/* SKU */
.woocommerce div.product .product_meta .sku_wrapper .sku {
  font-weight: 600 !important;
  font-family: 'Courier New', monospace !important;
  background: var(--ast-global-color-4) !important;
  padding: 2px 8px !important;
  border-radius: var(--te-radius-sm) !important;
}

/* Tabs rediseñadas */
.woocommerce div.product .woocommerce-tabs {
  margin-top: 2.5em !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom: 2px solid var(--ast-global-color-6) !important;
  padding: 0 !important;
  margin-bottom: 1.5em !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: none !important;
  background: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--ast-global-color-3) !important;
  font-weight: 500 !important;
  font-size: 0.9375rem !important;
  padding: 12px 20px !important;
  border-bottom: 3px solid transparent !important;
  margin-bottom: -2px !important;
  transition: color var(--te-duration) var(--te-ease),
              border-color var(--te-duration) var(--te-ease) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--ast-global-color-2) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--te-dark) !important;
  font-weight: 700 !important;
  border-bottom-color: var(--te-yellow) !important;
}

/* Short description */
.woocommerce div.product .woocommerce-product-details__short-description {
  font-size: 1rem !important;
  line-height: 1.7 !important;
  color: var(--ast-global-color-3) !important;
}

/* --- Contenido de los tabs (Descripcion, Info adicional, Reseñas) --- */
.woocommerce div.product .woocommerce-Tabs-panel,
.woocommerce div.product .woocommerce-tabs .panel {
  font-size: 1rem !important;
  line-height: 1.8 !important;
  color: var(--ast-global-color-2) !important;
}

/* Parrafos dentro de la descripcion */
.woocommerce div.product .woocommerce-Tabs-panel p {
  font-size: 1rem !important;
  line-height: 1.8 !important;
  margin-bottom: 1em !important;
}

/* Headings dentro de la descripcion — escala proporcional */
.woocommerce div.product .woocommerce-Tabs-panel h2 {
  font-size: 1.375rem !important;
  font-weight: 700 !important;
  margin: 1.5em 0 0.6em !important;
  color: var(--ast-global-color-2) !important;
}

.woocommerce div.product .woocommerce-Tabs-panel h3 {
  font-size: 1.1875rem !important;
  font-weight: 700 !important;
  margin: 1.3em 0 0.5em !important;
  color: var(--ast-global-color-2) !important;
}

.woocommerce div.product .woocommerce-Tabs-panel h4 {
  font-size: 1.0625rem !important;
  font-weight: 600 !important;
  margin: 1.2em 0 0.4em !important;
}

/* Listas dentro de la descripcion */
.woocommerce div.product .woocommerce-Tabs-panel ul,
.woocommerce div.product .woocommerce-Tabs-panel ol {
  font-size: 1rem !important;
  line-height: 1.8 !important;
  padding-left: 1.5em !important;
  margin-bottom: 1em !important;
}

.woocommerce div.product .woocommerce-Tabs-panel li {
  margin-bottom: 0.4em !important;
}

/* Tablas dentro de la descripcion (specs, atributos) */
.woocommerce div.product .woocommerce-Tabs-panel table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 1em 0 1.5em !important;
  font-size: 0.9375rem !important;
}

.woocommerce div.product .woocommerce-Tabs-panel table th,
.woocommerce div.product .woocommerce-Tabs-panel table td {
  padding: 10px 14px !important;
  border-bottom: 1px solid var(--ast-global-color-6) !important;
  text-align: left !important;
}

.woocommerce div.product .woocommerce-Tabs-panel table th {
  font-weight: 600 !important;
  background: var(--ast-global-color-4) !important;
  color: var(--ast-global-color-2) !important;
  font-size: 0.875rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}

.woocommerce div.product .woocommerce-Tabs-panel table tr:hover td {
  background: var(--ast-global-color-5) !important;
}

/* Additional information tab (atributos WooCommerce) */
.woocommerce div.product .woocommerce-Tabs-panel .shop_attributes th {
  font-weight: 600 !important;
  font-size: 0.9375rem !important;
  width: 35% !important;
}

.woocommerce div.product .woocommerce-Tabs-panel .shop_attributes td {
  font-size: 0.9375rem !important;
}

.woocommerce div.product .woocommerce-Tabs-panel .shop_attributes td p {
  margin: 0 !important;
}

/* Imagenes dentro de la descripcion */
.woocommerce div.product .woocommerce-Tabs-panel img {
  border-radius: var(--te-radius-md) !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 1em 0 !important;
}

/* Reviews tab */
.woocommerce div.product .woocommerce-Tabs-panel #reviews .comment-text {
  font-size: 0.9375rem !important;
  line-height: 1.7 !important;
}

.woocommerce div.product .woocommerce-Tabs-panel #reviews .woocommerce-review__author {
  font-weight: 600 !important;
  font-size: 1rem !important;
}

/* Quantity input */
.woocommerce .quantity .qty {
  border-radius: var(--te-radius-sm) !important;
  border: 2px solid var(--ast-global-color-6) !important;
  padding: 12px 14px !important;
  width: 75px !important;
  text-align: center !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  transition: border-color var(--te-duration) var(--te-ease),
              box-shadow var(--te-duration) var(--te-ease) !important;
}

.woocommerce .quantity .qty:focus {
  border-color: var(--te-yellow-dark) !important;
  outline: none !important;
  box-shadow: 0 0 0 4px var(--te-yellow-glow) !important;
}

/* Related products / Upsells heading */
.woocommerce div.product .related > h2,
.woocommerce div.product .upsells > h2,
.woocommerce div.product .cross-sells > h2 {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  margin-bottom: 1em !important;
  padding-bottom: 0.5em !important;
  border-bottom: 2px solid var(--ast-global-color-6) !important;
}


/* -------------------------------------------
   8. FORMS — Inputs profesionales
   ------------------------------------------- */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="search"],
input[type="number"],
textarea,
select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border-radius: var(--te-radius-sm) !important;
  border: 2px solid var(--ast-global-color-6) !important;
  padding: 12px 16px !important;
  font-size: 0.9375rem !important;
  transition: border-color var(--te-duration) var(--te-ease),
              box-shadow var(--te-duration) var(--te-ease) !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
textarea:focus,
select:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--te-yellow-dark) !important;
  outline: none !important;
  box-shadow: 0 0 0 4px var(--te-yellow-glow) !important;
}

/* Labels */
.woocommerce form .form-row label,
.woocommerce-checkout .form-row label {
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  margin-bottom: 6px !important;
  color: var(--ast-global-color-2) !important;
}


/* -------------------------------------------
   9. SEARCH
   ------------------------------------------- */

.ast-search-menu-icon .search-field {
  border-radius: var(--te-radius-full) !important;
  border: 2px solid var(--ast-global-color-6) !important;
  padding: 10px 20px !important;
  font-size: 0.9375rem !important;
  transition: border-color var(--te-duration) var(--te-ease),
              box-shadow var(--te-duration) var(--te-ease) !important;
}

.ast-search-menu-icon .search-field:focus {
  border-color: var(--te-yellow-dark) !important;
  box-shadow: 0 0 0 4px var(--te-yellow-glow) !important;
}


/* -------------------------------------------
   10. CART — Carrito flotante y sidebar
   ------------------------------------------- */

.vi-wcaio-sidebar-cart-icon {
  border-radius: 50% !important;
  box-shadow: var(--te-shadow-md) !important;
  transition: transform var(--te-duration) var(--te-ease),
              box-shadow var(--te-duration) var(--te-ease) !important;
}

.vi-wcaio-sidebar-cart-icon:hover {
  transform: scale(1.12) !important;
  box-shadow: var(--te-shadow-lg) !important;
}

.vi-wcaio-sidebar-cart .vi-wcaio-sidebar-cart-footer a,
.vi-wcaio-sidebar-cart .vi-wcaio-sidebar-cart-footer button {
  border-radius: var(--te-radius-md) !important;
  font-weight: 600 !important;
}

.woocommerce-cart table.cart td.actions .coupon .input-text {
  border-radius: var(--te-radius-sm) !important;
  border: 2px solid var(--ast-global-color-6) !important;
  padding: 12px 16px !important;
}


/* -------------------------------------------
   11. CHECKOUT — Mas limpio y claro
   ------------------------------------------- */

/* Secciones del checkout */
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
  background: #fff !important;
  padding: 1.5em !important;
  border-radius: var(--te-radius-lg) !important;
  border: 1px solid var(--ast-global-color-6) !important;
  margin-bottom: 1.5em !important;
}

/* Order review box */
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading {
  background: var(--ast-global-color-4) !important;
  padding: 1.5em !important;
  border-radius: var(--te-radius-lg) !important;
}

/* Place order button — grande y prominente */
.woocommerce #place_order {
  font-size: 1.125rem !important;
  padding: 16px 40px !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  width: 100% !important;
  text-transform: uppercase !important;
}


/* -------------------------------------------
   12. NOTICES — WooCommerce + ShopEngine
   ------------------------------------------- */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.shopengine .woocommerce-message,
.shopengine .woocommerce-info {
  border-radius: var(--te-radius-md) !important;
  padding: 16px 22px !important;
  margin-bottom: 1.5rem !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
}

.woocommerce-message,
.shopengine .woocommerce-message {
  border-top-color: var(--te-green) !important;
}

.woocommerce-info,
.shopengine .woocommerce-info {
  border-top-color: var(--te-yellow-dark) !important;
}

.woocommerce-error {
  border-top-color: var(--te-red) !important;
}


/* -------------------------------------------
   13. BREADCRUMBS
   ------------------------------------------- */

.ast-breadcrumbs,
.woocommerce .woocommerce-breadcrumb {
  font-size: 0.8125rem !important;
  color: var(--ast-global-color-3) !important;
  padding: 0.75em 0 !important;
}

.ast-breadcrumbs a,
.woocommerce .woocommerce-breadcrumb a {
  color: var(--ast-global-color-2) !important;
  font-weight: 500 !important;
  transition: color var(--te-duration) var(--te-ease) !important;
}

.ast-breadcrumbs a:hover,
.woocommerce .woocommerce-breadcrumb a:hover {
  color: var(--te-yellow-dark) !important;
}


/* -------------------------------------------
   14. PAGINATION
   ------------------------------------------- */

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.ast-pagination a,
.ast-pagination span {
  border-radius: var(--te-radius-sm) !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  padding: 8px 14px !important;
  transition: background-color var(--te-duration) var(--te-ease),
              color var(--te-duration) var(--te-ease),
              box-shadow var(--te-duration) var(--te-ease) !important;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.ast-pagination a:hover {
  box-shadow: var(--te-shadow-sm) !important;
}

.woocommerce nav.woocommerce-pagination ul li span.current,
.ast-pagination .current {
  font-weight: 700 !important;
}


/* -------------------------------------------
   15. WIDGETS — Sidebar / filtros
   ------------------------------------------- */

.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
  border-radius: var(--te-radius-full) !important;
}

.widget_product_categories ul li a {
  color: var(--ast-global-color-2) !important;
  font-size: 0.9375rem !important;
  transition: color var(--te-duration) var(--te-ease),
              padding-left var(--te-duration) var(--te-ease) !important;
}

.widget_product_categories ul li a:hover {
  color: var(--te-yellow-dark) !important;
  padding-left: 6px !important;
}

.widget .widget-title,
.wp-block-heading {
  font-weight: 700 !important;
  font-size: 1.125rem !important;
  letter-spacing: -0.2px !important;
}


/* -------------------------------------------
   16. STAR RATINGS
   ------------------------------------------- */

.woocommerce .star-rating span::before {
  color: var(--te-yellow-dark) !important;
}


/* -------------------------------------------
   17. SHOPENGINE — Categorias homepage
   ------------------------------------------- */

.shopengine-product-category-lists .shopengine-category-list-item {
  border-radius: var(--te-radius-md) !important;
  overflow: hidden !important;
  transition: transform var(--te-duration) var(--te-ease),
              box-shadow var(--te-duration) var(--te-ease) !important;
}

.shopengine-product-category-lists .shopengine-category-list-item:hover {
  transform: translateY(-3px) !important;
  box-shadow: var(--te-shadow-md) !important;
}

.shopengine-product-category-lists .category-title {
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
}


/* -------------------------------------------
   18. ELEMENTOR ICON-BOX
   ------------------------------------------- */

.elementor-widget-icon-box .elementor-icon-box-title {
  font-weight: 700 !important;
}

.elementor-widget-icon-box .elementor-icon-box-description {
  font-size: 0.8125rem !important;
  line-height: 1.5 !important;
  color: var(--ast-global-color-3) !important;
}


/* -------------------------------------------
   19. FOOTER — Profesional con personalidad
   ------------------------------------------- */

.site-footer {
  border-top: 3px solid var(--te-yellow) !important;
}

.ast-footer-overlay {
  font-size: 0.9375rem !important;
}

/* Footer widgets */
.site-footer .widget-title {
  font-weight: 700 !important;
  font-size: 1rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  margin-bottom: 1.2em !important;
  padding-bottom: 0.8em !important;
  border-bottom: 2px solid var(--te-yellow) !important;
}

.site-footer a {
  transition: color var(--te-duration) var(--te-ease) !important;
}

.site-footer a:hover {
  color: var(--te-yellow-dark) !important;
}

/* Copyright bar */
.ast-small-footer {
  font-size: 0.8125rem !important;
  letter-spacing: 0.3px !important;
}

.ast-small-footer a {
  font-weight: 600 !important;
  transition: color var(--te-duration) var(--te-ease) !important;
}

.ast-small-footer a:hover {
  color: var(--te-yellow-dark) !important;
}


/* -------------------------------------------
   20. SCROLLBAR
   ------------------------------------------- */

@media (hover: hover) {
  ::-webkit-scrollbar {
    width: 8px;
  }

  ::-webkit-scrollbar-track {
    background: var(--ast-global-color-4);
  }

  ::-webkit-scrollbar-thumb {
    background: var(--ast-global-color-6);
    border-radius: var(--te-radius-full);
  }

  ::-webkit-scrollbar-thumb:hover {
    background: var(--ast-global-color-3);
  }
}


/* -------------------------------------------
   21. RESPONSIVE — Breakpoints Astra
   ------------------------------------------- */

/* Tablet */
@media (max-width: 921px) {
  .single_add_to_cart_button,
  .checkout-button,
  .woocommerce button.button.alt {
    padding: 12px 24px !important;
    font-size: 0.9375rem !important;
  }

  .woocommerce ul.products li.product .button,
  .woocommerce-page ul.products li.product .button,
  .add_to_cart_button {
    padding: 10px 18px !important;
    font-size: 0.8125rem !important;
  }

  .woocommerce div.product .product_title {
    font-size: 1.5rem !important;
  }

  .woocommerce div.product p.price,
  .woocommerce div.product span.price {
    font-size: 1.5rem !important;
  }

  /* Checkout stack */
  .woocommerce-checkout #customer_details .col-1,
  .woocommerce-checkout #customer_details .col-2 {
    padding: 1em !important;
  }

  /* Description tabs content */
  .woocommerce div.product .woocommerce-Tabs-panel,
  .woocommerce div.product .woocommerce-Tabs-panel p {
    font-size: 0.9375rem !important;
    line-height: 1.75 !important;
  }

  .woocommerce div.product .woocommerce-Tabs-panel h2 {
    font-size: 1.25rem !important;
  }

  .woocommerce div.product .woocommerce-Tabs-panel h3 {
    font-size: 1.125rem !important;
  }
}

/* Mobile */
@media (max-width: 544px) {
  body {
    line-height: 1.6 !important;
  }

  /* Cards sin hover en touch */
  .woocommerce ul.products li.product:hover {
    transform: none !important;
    box-shadow: var(--te-shadow-sm) !important;
    border-color: var(--ast-global-color-6) !important;
  }

  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product {
    border-radius: var(--te-radius-md) !important;
  }

  /* Single product */
  .woocommerce div.product .product_title {
    font-size: 1.3rem !important;
  }

  .woocommerce div.product p.price,
  .woocommerce div.product span.price {
    font-size: 1.5rem !important;
  }

  /* Botones full width */
  .single_add_to_cart_button,
  .checkout-button,
  .woocommerce #place_order {
    width: 100% !important;
    text-align: center !important;
    padding: 14px 20px !important;
    font-size: 1rem !important;
  }

  /* Notices */
  .woocommerce-message,
  .woocommerce-info,
  .woocommerce-error {
    border-radius: var(--te-radius-sm) !important;
    padding: 12px 16px !important;
    font-size: 0.875rem !important;
  }

  /* Grid */
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 0.875rem !important;
  }

  .woocommerce ul.products li.product .price {
    font-size: 1rem !important;
  }

  /* Headings */
  h1, .entry-title {
    font-size: 1.5rem !important;
  }

  h2 {
    font-size: 1.25rem !important;
  }

  /* Description tabs content mobile */
  .woocommerce div.product .woocommerce-Tabs-panel,
  .woocommerce div.product .woocommerce-Tabs-panel p {
    font-size: 0.9375rem !important;
    line-height: 1.7 !important;
  }

  .woocommerce div.product .woocommerce-Tabs-panel h2 {
    font-size: 1.125rem !important;
  }

  .woocommerce div.product .woocommerce-Tabs-panel h3 {
    font-size: 1rem !important;
  }

  .woocommerce div.product .woocommerce-Tabs-panel table th,
  .woocommerce div.product .woocommerce-Tabs-panel table td {
    padding: 8px 10px !important;
    font-size: 0.8125rem !important;
  }

  /* Product meta */
  .woocommerce div.product .product_meta {
    font-size: 0.8125rem !important;
  }

  .woocommerce div.product .product_meta a {
    font-size: 0.75rem !important;
    padding: 2px 6px !important;
  }

  /* Footer */
  .site-footer .widget-title {
    font-size: 0.875rem !important;
  }
}
