/* =====================================================
   ASTRA CHILD – CUSTOM CSS (Consolidado)
   Theme: Astra Child
   ===================================================== */

/* =====================================================
   VARIABLES CSS
   ===================================================== */
:root {
  --ml-yellow: #ffe600;
  --ml-yellow-soft: #fff3a0;
  --ml-blue: #3483fa;
  --ml-blue-hover: #2968c8;
  --ml-green: #00a650;
  --ml-green-hover: #008e45;
  --ml-red: #e00034;
  --ml-text: #1f2937;
  --ml-text-light: #6b7280;
  --ml-border: rgba(0,0,0,.08);
  --ml-bg: #f5f5f5;
  --ml-card-shadow: 0 2px 6px rgba(0,0,0,.14);
  --ml-card-shadow-hover: 0 10px 22px rgba(0,0,0,.22);
}

/* =====================================================
   RESETS Y UTILIDADES
   ===================================================== */
.ast-container,
.ast-container-fluid {
  padding-left: 0;
  padding-right: 0;
}

/* Ocultar elementos genéricos */
.woocommerce-products-header,
.woocommerce-result-count,
.woocommerce-ordering,
.woocommerce ul.products li.product .star-rating,
#comments .comment-form-url,
#comments .comment-form-cookies-consent,
#comments .comment-notes,
.woocommerce-cart .coupon,
.ast-live-search-results {
  display: none !important;
}

/* =====================================================
   HEADER
   ===================================================== */
.site-header,
.main-header-bar,
header,
.wp-site-blocks header {
  font-family: 'Rubik', sans-serif;
  height: 75px;
}

.main-header-bar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  background: #ffffff;
  border-bottom: 2px solid #e5e7eb;
  backdrop-filter: saturate(180%) blur(6px);
  align-items: center;
  transition: background-color .25s ease, box-shadow .25s ease, border-color .25s ease;
}

body.scrolled .main-header-bar {
  box-shadow: 0 8px 24px rgba(0,0,0,0.2);
}

.ast-sticky-active .main-header-bar {
  background: rgba(255,255,255,.96);
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
}

.ast-primary-header-bar {
  background-color: #FFE600 !important;
  box-shadow: inset 0 -1px 0 rgba(0,0,0,.12);
  min-height: 64px;
  height: 76px;
  display: flex;
  align-items: center;
}

.ast-primary-header-bar,
.ast-primary-header-bar a,
.ast-primary-header-bar .astra-icon {
  color: #111827;
}

.ast-primary-header-bar a:hover {
  opacity: .8;
}

/* Logo */
.site-header .custom-logo,
.custom-logo {
  max-height: 100px;
  height: 100%;
  width: auto;
  object-fit: contain;
  display: block;
  transform: scale(1.3);
  transform-origin: left center;
}

/* Navegación */
.main-navigation a,
.wp-block-navigation a,
.main-header-menu a {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .2px;
  text-transform: none;
  padding: 8px 12px;
  border-radius: 10px;
  transition: background .15s ease;
}

.main-navigation a:hover,
.main-header-menu a:hover {
  background: rgba(0,0,0,.04);
  opacity: .75;
}

/* Iconos header */
.site-header i,
.site-header svg,
.ast-header-account,
.ast-header-cart {
  color: #374151;
  transition: color .2s ease, transform .2s ease;
  opacity: .85;
}

.site-header a:hover svg,
.site-header a:hover i,
.ast-header-account:hover,
.ast-header-cart:hover {
  opacity: 1;
  transform: scale(1.3);
  color: #111827;
}

/* Icono usuario en menú */
.menu-item a[href*="/my-account"] {
  display: flex;
  align-items: center;
  gap: 8px;
}

.menu-item a[href*="/my-account"]::before {
  content: "";
  width: 18px;
  height: 18px;
  display: inline-block;
  background-color: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12c2.7 0 5-2.3 5-5s-2.3-5-5-5-5 2.3-5 5 2.3 5 5 5zM4 20c0-3.3 3.6-6 8-6s8 2.7 8 6'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Carrito header */
.ast-site-header-cart {
  margin-left: 100px;
  position: relative;
  border-radius: 999px;
  transition: background-color .25s ease, box-shadow .25s ease, transform .15s ease;
}

.ast-site-header-cart:hover {
  background: rgba(0,0,0,.04);
}

.ast-site-header-cart a.cart-container {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 500;
  color: #111827;
}

.ast-site-header-cart svg {
  width: 22px;
  height: 22px;
  transition: transform .2s ease, color .2s ease;
}

.ast-site-header-cart a.cart-container:hover svg {
  transform: scale(1.05);
}

.ast-woo-header-cart-total {
  font-size: 14px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.astra-icon[data-cart-total]:after {
  content: attr(data-cart-total);
  position: absolute;
  top: -6px;
  right: -8px;
  min-width: 16px;
  height: 16px;
  font-size: 11px;
  line-height: 16px;
  border-radius: 999px;
  background: #ef4444;
  color: #fff;
  text-align: center;
}

/* Badge animación */
.ast-site-header-cart .count.pulse {
  animation: pulse 0.6s ease;
}

@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.4); }
  100% { transform: scale(1); }
}

/* Feedback carrito */
.ast-site-header-cart.cart-feedback {
  animation: cart-pop .45s cubic-bezier(.34,1.56,.64,1);
}

.ast-site-header-cart.cart-feedback::before {
  content: '';
  position: absolute;
  inset: -6px;
  border-radius: 999px;
  background: rgba(255,230,0,.35);
  opacity: 0;
  animation: cart-flash .45s ease;
  pointer-events: none;
}

@keyframes cart-pop {
  0%   { transform: scale(1); }
  40%  { transform: scale(1.12); }
  100% { transform: scale(1); }
}

@keyframes cart-flash {
  0%   { opacity: 0; }
  30%  { opacity: 1; }
  100% { opacity: 0; }
}

/* Buscador */
.dgwt-wcas-search-wrapp {
  background: #ffffff;
  border-radius: 8px;
  padding: 6px 10px;
  box-shadow: 0 1px 2px rgba(0,0,0,.12);
}

.dgwt-wcas-search-input {
  border: none !important;
  box-shadow: none !important;
  font-size: 15px;
  color: #111827;
  border-radius: 12px !important;
  border: 1px solid #e5e7eb !important;
  padding: 10px 14px !important;
}

.dgwt-wcas-search-input::placeholder {
  color: #6b7280;
}

.dgwt-wcas-search-input:focus {
  outline: none;
}

/* Search form Astra */
.ast-header-search .search-form {
  background: transparent;
  border-radius: 999px;
}

.ast-header-search .search-field {
  width: 260px;
  padding: 12px 48px 12px 20px;
  border-radius: 999px;
  border: 1px solid #e6e6e6;
  background: #ffffff;
  font-size: 14px;
  transition: all 0.25s ease;
}

/* Mobile header */
@media (max-width: 768px) {
  .main-header-bar {
    box-shadow: 0 2px 10px rgba(0,0,0,.06);
    height: 96px;
  }
  
  .ast-mobile-header-content {
    background: #ffffff;
    border-top: 1px solid rgba(0,0,0,.05);
    position: fixed;
    top: 100px;
    width: 100%;
    height: 20px;
  }
  
  .ast-site-header-cart {
    margin: 0 !important;
    white-space: nowrap;
    max-width: 140px;
  }
  
  #masthead button:focus,
  #masthead button:focus-visible,
  #masthead button:active {
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
  }
}

/* =====================================================
   COMPENSACIÓN HEADER FIJO
   ===================================================== */
.site-content {
  padding-top: 2px;
}

.home .site-content,
.woocommerce-shop .site-content {
  padding-top: 0;
}

.woocommerce-notices-wrapper {
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}

.woocommerce-notices-wrapper:empty {
  display: none !important;
}

/* =====================================================
   FONDOS POR CONTEXTO
   ===================================================== */
body.woocommerce-shop,
body.ast-woo-shop-archive,
.tax-product_cat-cigarrillos,
.tax-product_cat-cigarrillos .site-content,
.tax-pwb-brand,
.tax-pwb-brand .site-content {
  background-color: #ffffff;
}

.archive.woocommerce .ast-woocommerce-container {
  background-color: #ffffff;
}

body:not(.woocommerce-shop):not(.ast-woo-shop-archive):not(.tax-product_cat-cigarrillos):not(.tax-pwb-brand) {
  background-color: var(--ml-bg);
}

body:not(.woocommerce-shop):not(.ast-woo-shop-archive):not(.tax-product_cat-cigarrillos):not(.tax-pwb-brand) .site-content {
  background-color: #ffffff;
  border-radius: 6px;
}

/* =====================================================
   HOME – ESTRUCTURA
   ===================================================== */
.home .site-content {
  background: #fafafa;
}

.home section,
.home .wp-block-group,
.home .wp-block-columns {
  margin-bottom: 40px;
}

.home-shop-top {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: 40px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
}

.home-shop-top > * {
  width: 100%;
}

/* Ocultar spacers fantasmas */
.woocommerce-shop .replib1,
.woocommerce-shop .replib2 {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
}

/* Ocultar home-shop-top en búsqueda */
body.search-active .home-shop-top {
  opacity: 0;
  display: none;
  transform: translateY(-10px);
  transition: all 0.2s ease;
}

/* =====================================================
   NAVEGACIÓN CATEGORÍAS
   ===================================================== */
.category-nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  padding: 18px 0;
  margin: 0 auto;
  align-items: center;
}

.category-nav .cat-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 10px;
  background: var(--ml-yellow);
  color: var(--ml-text);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  border: 1px solid var(--ml-border);
  transition: background-color .2s ease, box-shadow .2s ease, transform .15s ease;
}

.category-nav .cat-item svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  stroke: currentColor;
  transition: transform .2s ease;
}

.category-nav .cat-item:hover {
  background: var(--ml-yellow-soft);
  box-shadow: 0 4px 10px rgba(0,0,0,.08);
  transform: translateY(-1px);
}

.category-nav .cat-item:hover svg {
  transform: scale(1.1);
}

.category-nav .cat-item.is-active,
.category-nav .cat-item[aria-current="true"] {
  background: #fff;
  border-color: #e5c900;
  box-shadow: inset 0 0 0 1px #e5c900;
}

/* Responsive marcas */
@media (min-width: 576px) {
  .replib2 { display: none; }
}

@media (max-width: 575px) {
  .replib1 { display: none; }
}

/* Carousel marcas */
.slick-list {
  width: 100%;
}

.pwb-carousel.slick-initialized.slick-slider {
  width: auto !important;
}

.rl-wrapper-container {
  margin-bottom: 25px;
}

.rl-wrapper-container .pwb-carousel {
  max-width: 100%;
}

/* =====================================================
   BOTONES MARCAS MEDICAMENTOS
   ===================================================== */
.medicamentos-botones-marcas {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 25px;
}

.medicamentos-botones-marcas .marca-btn,
.medicamentos-botones-marcas button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  border-radius: 999px;
  border: 1px solid #ddd;
  background: #f8f8f8;
  color: #333;
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
}

.medicamentos-botones-marcas .marca-btn:hover,
.medicamentos-botones-marcas button:hover {
  background: #ececec;
}

.medicamentos-botones-marcas button.active {
  background: #0071a1;
  border-color: #0071a1;
  color: #fff;
}

.medicamentos-botones-marcas .count {
  font-size: 12px;
  opacity: 0.75;
}

.medicamentos-botones-marcas .ver-todos {
  background: transparent;
  border-style: dashed;
}

@media (max-width: 768px) {
  .medicamentos-botones-marcas {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 5px;
  }
  
  .medicamentos-botones-marcas button {
    white-space: nowrap;
  }
}

/* =====================================================
   LOOP PRODUCTOS – CARDS
   ===================================================== */
.woocommerce ul.products {
  gap: 16px;
}

.woocommerce ul.products li.product {
  background: #ffffff;
  border-radius: 16px;
  padding: 14px;
  position: relative;
  box-shadow: none !important;
  filter: drop-shadow(var(--ml-card-shadow));
  transition: transform .2s ease, filter .2s ease;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-4px);
  filter: drop-shadow(var(--ml-card-shadow-hover));
}

.woocommerce ul.products li.product img {
  border-radius: 12px;
  margin-bottom: 10px;
  position: relative;
  z-index: 1;
}

.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 14px;
  font-weight: 400;
  color: #111827;
  margin: 6px 0 4px;
  line-height: 1.3;
}

.woocommerce ul.products li.product .price {
  font-size: 18px;
  font-weight: 600;
  color: #111827;
  margin-bottom: 8px;
}

.woocommerce ul.products li.product .price del {
  color: #9ca3af;
  font-weight: 400;
  margin-right: 6px;
}

.woocommerce ul.products li.product .price ins {
  text-decoration: none;
  color: #111827;
}

/* Botón agregar al carrito */
.woocommerce ul.products li.product .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .button.add_to_cart_button {
  background-color: var(--ml-blue);
  color: #ffffff !important;
  border-radius: 6px;
  padding: 10px 14px;
  font-size: 14px;
  font-weight: 500;
  text-transform: none;
  border: none;
  width: 100%;
  margin-top: 6px;
  text-align: center;
  transition: background-color .2s ease, transform .12s ease, box-shadow .15s ease;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
  background-color: var(--ml-blue-hover);
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(0,0,0,.12);
}

.woocommerce ul.products li.product .added_to_cart {
  display: inline-block;
  margin-top: 6px;
  font-size: 13px;
  color: #2563eb;
  font-weight: 500;
}

/* Estados botón */
.woocommerce a.button.loading,
.woocommerce button.add_but2.loading,
.woocommerce button.add_but3.loading {
  opacity: .7;
  cursor: wait;
}

.woocommerce a.button.added,
.woocommerce button.add_but2.added,
.woocommerce button.add_but3.added {
  background-color: var(--ml-green) !important;
  box-shadow: none;
}

.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce input.button:active {
  transform: scale(.97);
}

/* Animación card al agregar */
@keyframes ml-card-pulse {
  0% { box-shadow: 0 1px 3px rgba(0,0,0,.10); }
  50% { box-shadow: 0 0 0 3px rgba(52,131,250,.25); }
  100% { box-shadow: 0 1px 3px rgba(0,0,0,.10); }
}

.woocommerce ul.products li.product:has(a.added) {
  animation: ml-card-pulse .4s ease-out;
}

/* Badge "Nuevo" */
.woocommerce ul.products li.product.is-new::before {
  content: "Nuevo";
  position: absolute;
  top: 10px;
  right: 10px;
  background-color: var(--ml-blue);
  color: #ffffff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  padding: 6px 8px;
  border-radius: 4px;
  z-index: 99;
}

/* Badge Destacado */
.woocommerce ul.products li.product.featured::after {
  content: "⭐";
  position: absolute;
  bottom: 10px;
  left: 10px;
  background-color: #F5F5F5;
  color: #ffffff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  padding: 6px 8px;
  border-radius: 4px;
}

/* Badge oferta ML */
.woocommerce span.onsale {
  position: absolute;
  top: 10px;
  left: 10px;
  background-color: var(--ml-red);
  color: #ffffff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  padding: 6px 8px;
  border-radius: 4px;
  min-height: auto;
  min-width: auto;
  text-transform: none;
  box-shadow: none;
}

.woocommerce span.onsale::before,
.woocommerce span.onsale::after {
  display: none;
}

.woocommerce ul.products li.product:hover span.onsale {
  transform: scale(1.05);
}

/* Mobile productos */
@media (max-width: 768px) {
  .woocommerce ul.products li.product {
    padding: 12px;
  }
  
  .woocommerce ul.products li.product .button {
    width: 100%;
    text-align: center;
  }
  
  .woocommerce ul.products li.product.is-new::before,
  .woocommerce ul.products li.product.featured::after {
    font-size: 11px;
    padding: 5px 7px;
  }
  
  .woocommerce span.onsale {
    font-size: 11px;
    padding: 5px 7px;
  }
  
  .woocommerce ul.products li.product:has(a.added) {
    animation: none;
  }
}

/* =====================================================
   BOTONES GLOBALES
   ===================================================== */
button,
.button,
input[type="submit"],
input[type="button"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.ast-button,
.ast-custom-button {
  text-transform: none;
  letter-spacing: normal;
  font-weight: 500;
  transition: background-color .18s ease, transform .15s ease, box-shadow .15s ease;
}

button:hover,
.button:hover,
.woocommerce a.button:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(0,0,0,.08);
}

button:active,
.button:active,
.woocommerce a.button:active {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(0,0,0,.15);
}

/* Botón principal checkout */
.woocommerce .checkout-button,
.woocommerce button#place_order {
  background-color: var(--ml-green);
  font-size: 15px;
  padding: 14px;
  border-radius: 8px;
}

.woocommerce .checkout-button:hover,
.woocommerce button#place_order:hover {
  background-color: var(--ml-green-hover);
}

/* Botones secundarios */
.woocommerce a.button.alt,
.woocommerce ul.button.alt {
  background-color: #ffffff;
  color: var(--ml-blue) !important;
  border: 1px solid var(--ml-blue);
}

.woocommerce a.button.alt:hover,
.woocommerce ul.button.alt:hover {
  background-color: #f0f6ff;
}

/* Botones deshabilitados */
.woocommerce a.button.disabled,
.woocommerce a.button:disabled {
  background-color: #e5e7eb;
  color: #9ca3af !important;
  cursor: not-allowed;
  box-shadow: none;
  transform: none;
}

@media (max-width: 768px) {
  .woocommerce a.button,
  .woocommerce button.button {
    padding: 12px 16px;
    font-size: 15px;
  }
}

/* =====================================================
   CARRITO
   ===================================================== */
.woocommerce-cart-form {
  margin-top: 0 !important;
}

.woocommerce-cart-form table {
  border-collapse: separate;
  border-spacing: 0 10px;
}

.woocommerce-cart-form tbody tr {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
}

.woocommerce-cart-form td {
  padding: 12px 14px !important;
  vertical-align: middle;
}

.woocommerce-cart-form .product-remove {
  padding-right: 6px !important;
}

.woocommerce-cart-form .product-thumbnail img {
  max-width: 70px;
  border-radius: 8px;
}

/* Totales */
.woocommerce-cart .cart_totals {
  background: #f9fafb;
  border-radius: 16px;
  padding: 24px;
}

/* Botón repetir pedido */
.order-again a.button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0;
}

.order-again a.button::before {
  content: "";
  width: 16px;
  height: 16px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='1 4 1 10 7 10'/%3E%3Cpath d='M3.51 15a9 9 0 102.13-9.36L1 10'/%3E%3C/svg%3E") center / 16px no-repeat;
}

.order-again a.button::after {
  content: "Repetir Pedido";
  font-size: 14px;
  font-weight: 500;
}

.order-again a.button:hover::before {
  transform: rotate(360deg);
  transition: transform .6s ease;
}

/* Mobile carrito – VERSIÓN CONSOLIDADA */
@media (max-width: 768px) {
  body.woocommerce-cart {
    padding-bottom: 80px;
  }
  
  .woocommerce-cart .site-main {
    padding: 0 !important;
  }
  
  .woocommerce-cart-form {
    margin: 0 !important;
  }
  
  .woocommerce-cart-form table,
  .woocommerce-cart-form tbody,
  .woocommerce-cart-form tr,
  .woocommerce-cart-form td {
    display: block;
    padding: 0;
    margin: 0;
    border: 0;
  }
  
  .woocommerce-cart-form thead {
    display: none;
  }
  
  .woocommerce-cart-form td::before {
    display: none !important;
    content: none !important;
  }
  
  .woocommerce-cart-form tr.cart_item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    max-width: 420px;
    margin: 0 auto 12px;
    padding: 12px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 1px 4px rgba(0,0,0,.06);
  }
  
  .woocommerce-cart-form td.product-thumbnail {
    order: 1;
    flex-shrink: 0;
  }
  
  .woocommerce-cart-form td.product-thumbnail img {
    width: 42px;
    height: auto;
    border-radius: 6px;
    display: block;
  }
  
  .woocommerce-cart-form td.product-name {
    order: 2;
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  
  .woocommerce-cart-form td.product-name a {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.25;
    color: var(--ml-blue);
    text-decoration: none;
    white-space: normal;
  }
  
  .woocommerce-cart-form td.product-name a:hover {
    text-decoration: underline;
  }
  
  .woocommerce-cart-form td.product-price {
    order: 3;
    flex: 0 0 auto;
    white-space: nowrap;
    margin-right: 4px;
    font-size: 15px;
    font-weight: 600;
    color: #111827;
    text-align: left;
  }
  
  .woocommerce-cart-form td.product-quantity {
    order: 4;
    flex: 0 0 auto;
    margin-right: 0;
  }
  
  .woocommerce-cart-form .quantity input.qty {
    width: 48px;
    height: 36px;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    border-radius: 8px;
    border: 1px solid #d1d5db;
    background: #fff;
    appearance: none;
    -webkit-appearance: none;
    padding: 0;
  }
  
  .woocommerce-cart-form .quantity .minus,
  .woocommerce-cart-form .quantity .plus {
    display: none;
  }
  
  .woocommerce-cart-form td.product-remove {
    order: 99;
    flex-shrink: 0;
    margin-left: 8px;
  }
  
  .woocommerce-cart-form td.product-remove a {
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    color: #dc2626;
    background: #fee2e2;
    border-radius: 50%;
    padding: 0;
    margin: 0;
    text-decoration: none;
  }
  
  .woocommerce-cart-form td.product-remove a:hover {
    background: #fecaca;
    color: #b91c1c;
  }
  
  .woocommerce-cart-form td.product-subtotal {
    display: none !important;
  }
  
  /* Sticky bar totales */
  .woocommerce-cart .cart_totals {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 999;
    background: #ffffff;
    border-top: 1px solid #e5e7eb;
    box-shadow: 0 -6px 20px rgba(0,0,0,.15);
    padding: 10px 12px;
    text-align: center;
  }
  
  .woocommerce-cart .cart_totals h2,
  .woocommerce-cart .cart_totals table tr:not(.order-total) {
    display: none;
  }
  
  .woocommerce-cart .cart_totals table {
    margin: 0 auto 8px;
    display: block;
    width: 100%;
  }
  
  .woocommerce-cart .cart_totals table tr.order-total {
    display: block;
  }
  
  .woocommerce-cart .cart_totals table tr.order-total td {
    font-size: 16px;
    font-weight: 700;
    color: #111827;
    text-align: center;
  }
  
  .woocommerce-cart .cart_totals table tr.order-total th {
    display: none;
  }
  
  .woocommerce-cart .wc-proceed-to-checkout {
    display: flex;
    justify-content: center;
  }
  
  .woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    max-width: 420px;
    width: 100%;
    padding: 12px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 10px;
    text-align: center;
  }
  
  .woocommerce-cart .evowap_btn {
    display: flex;
    justify-content: center;
    max-width: 300px;
    width: 100%;
    margin: 0 auto 8px;
  }
}

/* =====================================================
   MINI CART / DRAWER
   ===================================================== */
.astra-mobile-cart-overlay {
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(2px);
}

#astra-mobile-cart-drawer {
  background: #ffffff;
  box-shadow: -8px 0 24px rgba(0,0,0,.18);
  animation: ml-cart-slide .25s ease-out;
}

@keyframes ml-cart-slide {
  from { transform: translateX(20px); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}

.astra-cart-drawer-header {
  background-color: #FFE600;
  color: #111827;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(0,0,0,.1);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.astra-cart-drawer-title {
  font-size: 16px;
  font-weight: 600;
}

.astra-cart-drawer-close {
  background: transparent !important;
  border: none;
  color: #111 !important;
  padding: 6px !important;
  width: auto !important;
  height: auto !important;
  box-shadow: none !important;
  border-radius: 50%;
  cursor: pointer;
  transition: background-color .15s ease;
}

.astra-cart-drawer-close:hover {
  background: rgba(0,0,0,.05);
}

.astra-cart-drawer-content {
  padding: 16px;
}

.widget_shopping_cart_content p {
  font-size: 14px;
  color: #6b7280;
  text-align: center;
}

/* Botones mini cart */
.astra-cart-drawer .woocommerce-mini-cart__buttons .button {
  display: block !important;
  width: 100% !important;
  margin-top: 10px !important;
  padding: 12px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-align: center !important;
  border-radius: 6px !important;
  text-transform: none !important;
  border: none !important;
  box-shadow: none !important;
  transition: background-color .2s ease !important;
}

.astra-cart-drawer .woocommerce-mini-cart__buttons .button.wc-forward:not(.checkout) {
  background-color: var(--ml-blue) !important;
  color: #ffffff !important;
}

.astra-cart-drawer .woocommerce-mini-cart__buttons .button.checkout {
  background-color: var(--ml-green) !important;
  color: #ffffff !important;
}

/* Subtotal */
.astra-cart-drawer .woocommerce-mini-cart__total {
  margin-top: 16px !important;
  padding-top: 12px !important;
  border-top: 1px solid #e5e7eb !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #111827 !important;
  display: flex !important;
  justify-content: space-between !important;
}

/* Imagen producto */
.astra-cart-drawer .woocommerce-mini-cart-item img {
  width: 48px !important;
  height: auto !important;
  border-radius: 6px !important;
  margin-right: 10px !important;
}

/* Links */
.astra-cart-drawer .woocommerce-mini-cart a:not(.button) {
  display: flex !important;
  margin-top: 1px !important;
  text-align: center !important;
  font-size: 16px !important;
  color: var(--ml-blue) !important;
  text-decoration: none !important;
}

.astra-cart-drawer .woocommerce-mini-cart a:not(.button):hover {
  text-decoration: underline !important;
}

/* Aislar estilos del drawer */
.home-shop-top a,
.category-nav a,
.brands-carousel a {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  text-align: left !important;
}

/* =====================================================
   CHECKOUT
   ===================================================== */
.woocommerce-checkout #customer_details {
  width: 100%;
}

.woocommerce-checkout #customer_details .col-2 {
  display: none;
}

.woocommerce-checkout .form-row {
  margin-bottom: 12px;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
  border-radius: 10px;
  padding: 10px 12px;
  border: 1px solid #d1d5db;
  font-size: 14px;
}

.woocommerce-checkout label {
  font-size: 13px;
  font-weight: 600;
  color: #374151;
}

.woocommerce-billing-fields h3 {
  font-size: 18px;
  margin-bottom: 14px;
  padding-bottom: 6px;
  border-bottom: 2px solid #facc15;
}

.woocommerce-info a {
  color: #2563eb;
  font-weight: 600;
  text-decoration: none;
}

.woocommerce-info a:hover {
  text-decoration: underline;
}

body.woocommerce-checkout {
  background: #f3f4f6;
}

.woocommerce-checkout .site-content {
  background: #fff;
  border-radius: 14px;
  padding: 16px;
}

/* Notices checkout */
.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before {
  display: none !important;
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #f8f9fb;
  border: 1px solid #e5e7eb;
  border-left: 4px solid #2563eb;
  border-radius: 10px;
  padding: 14px 16px;
  margin-bottom: 16px;
  font-size: 14px;
  color: #1f2937;
  box-shadow: 0 4px 10px rgba(0,0,0,.04);
}

.woocommerce-info::after,
.woocommerce-message::after,
.woocommerce-error::after {
  font-size: 18px;
  flex-shrink: 0;
}

.woocommerce-info::after { content: "ℹ️"; }
.woocommerce-message::after { content: "✅"; }
.woocommerce-error::after { content: "⛔"; }

.woocommerce-message {
  border-left-color: #16a34a;
}

.woocommerce-error {
  border-left-color: #dc2626;
}

@media (max-width: 768px) {
  .woocommerce-checkout .col2-set,
  .woocommerce-checkout #customer_details {
    padding: 0;
    margin: 0;
  }
  
  .woocommerce-checkout .woocommerce-info {
    font-size: 13px;
    padding: 12px;
  }
}

/* =====================================================
   THANK YOU PAGE
   ===================================================== */
.woocommerce-order {
  max-width: 900px;
  margin: 0 auto;
}

.woocommerce-notice--success {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #ecfdf3;
  border: none;
  color: #0f5132;
  font-size: 17px;
  font-weight: 600;
  padding: 18px 20px;
  border-radius: 14px;
  margin-bottom: 24px;
}

.woocommerce-notice--success::before {
  content: "";
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='12' fill='%2322c55e'/%3E%3Cpath d='M7 12.5l3 3 7-7' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.woocommerce-order > p {
  background: #f8fafc;
  border-radius: 14px;
  padding: 16px 18px;
  font-size: 14px;
  color: #444;
  margin-top: 12px;
}

/* Order overview */
.woocommerce-order-overview {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 16px;
  margin: 24px 0 28px;
  padding: 0;
}

.woocommerce-order-overview li {
  list-style: none;
  background: #fff;
  border: none;
  border-radius: 14px;
  padding: 16px 18px;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #888;
}

.woocommerce-order-overview li strong {
  font-size: 17px;
  font-weight: 600;
  color: #111;
  line-height: 1.2;
  margin: 0;
}

.woocommerce-order-overview__total {
  background: #f5f9ff;
}

.woocommerce-order-overview__total strong {
  font-size: 20px;
  font-weight: 700;
  color: var(--ml-blue);
}

/* Order details */
.woocommerce-order-details {
  max-width: 880px;
  margin: 60px auto;
  padding: 0 10px;
}

.woocommerce-order-details__title {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 30px;
}

.woocommerce-order-details thead {
  display: none;
}

.woocommerce-order-details tbody {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.woocommerce-order-details tbody tr {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 18px;
  border-bottom: 1px solid #f0f0f0;
}

.woocommerce-order-details .product-name {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 15px;
}

.woocommerce-order-details .product-name a {
  font-weight: 600;
  color: #111;
  text-decoration: none;
}

.woocommerce-order-details .product-quantity {
  font-weight: 500;
  color: #666;
}

.woocommerce-order-details .product-name small {
  font-size: 12px;
  color: #888;
}

.woocommerce-order-details .product-total {
  font-weight: 600;
  font-size: 15px;
  text-align: right;
  white-space: nowrap;
}

.woocommerce-order-details tfoot {
  margin-top: 30px;
  border-top: 1px solid #eaeaea;
  padding-top: 20px;
}

.woocommerce-order-details tfoot tr {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  font-size: 14px;
}

.woocommerce-order-details tfoot th {
  font-weight: 500;
  color: #666;
}

.woocommerce-order-details tfoot td {
  font-weight: 600;
}

.woocommerce-order-details tfoot tr:last-child {
  margin-top: 8px;
  padding-top: 10px;
  border-top: 1px solid #ddd;
  font-size: 18px;
}

.woocommerce-order-details tfoot tr:last-child th,
.woocommerce-order-details tfoot tr:last-child td {
  font-weight: 700;
  color: #111;
}

.woocommerce-order-details tfoot tr:nth-last-child(2) td {
  font-weight: 500;
  color: #009ee3;
}

/* Botón boleta */
.order-actions-button {
  background: var(--ml-blue);
  color: #fff !important;
  border-radius: 10px;
  padding: 10px 18px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all .2s ease;
}

.order-actions-button:hover {
  background: var(--ml-blue-hover);
  transform: translateY(-1px);
}

@media (max-width: 600px) {
  .woocommerce-notice--success {
    font-size: 16px;
  }
  
  .woocommerce-table__product-total {
    text-align: left;
    margin-top: 8px;
  }
  
  .woocommerce-table--order-details tbody tr {
    box-shadow: 0 2px 8px rgba(0,0,0,.05);
  }
  
  .order-actions-button {
    width: 100%;
    justify-content: center;
  }
  
  .woocommerce-order-details tbody tr {
    flex-direction: column;
    gap: 8px;
  }
  
  .woocommerce-order-details .product-total {
    align-self: flex-end;
  }
}

/* =====================================================
   MY ACCOUNT
   ===================================================== */
.woocommerce-account:not(.logged-in) {
  background: #f5f6f7;
}

.woocommerce-account:not(.logged-in) #customer_login {
  background: #ffffff;
  border-radius: 12px;
  padding: 24px 20px;
  box-shadow: 0 3px 9px rgba(0,0,0,.03);
}

.woocommerce-account:not(.logged-in) h2 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 16px;
  color: #111;
}

.woocommerce-account:not(.logged-in) input[type="text"],
.woocommerce-account:not(.logged-in) input[type="email"],
.woocommerce-account:not(.logged-in) input[type="password"] {
  border-radius: 8px;
  padding: 12px 14px;
  border: 1px solid #d1d5db;
  font-size: 14px;
}

.woocommerce-account:not(.logged-in) button,
.woocommerce-account:not(.logged-in) .button {
  width: 100%;
  border-radius: 10px;
  padding: 12px;
  font-weight: 600;
  background: var(--ml-blue);
  color: #ffffff;
  border: none;
}

.woocommerce-account:not(.logged-in) button:hover {
  background: var(--ml-blue-hover);
}

.woocommerce-account:not(.logged-in) .woocommerce-LostPassword {
  text-align: center;
  margin-top: 12px;
  font-size: 13px;
}

/* Fix show password */
.woocommerce-account .password-input {
  position: relative;
}

.woocommerce-account .password-input .show-password-input {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 20px !important;
  height: 20px !important;
  padding: 0 !important;
  background: transparent !important;
  color: #6b7280;
  border: none !important;
  box-shadow: none !important;
  cursor: pointer;
}

.woocommerce-account .password-input .show-password-input:hover {
  color: #111827;
}

@media (max-width: 768px) {
  .woocommerce-account:not(.logged-in) .woocommerce {
    max-width: 420px;
    margin: 0 auto;
  }
}

@media (min-width: 769px) {
  body.woocommerce-account .woocommerce {
    max-width: 1100px;
    margin: 0 auto;
  }
}

/* =====================================================
   COMENTARIOS
   ===================================================== */
#comments #respond {
  margin-top: 30px;
}

#comments #reply-title {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 16px;
}

#comments .comment-form {
  display: flex;
  flex-direction: column;
}

#comments .comment-form-comment {
  order: 1;
  position: relative;
}

#comments .ast-comment-formwrap {
  order: 0;
  display: flex;
  gap: 16px;
  margin-bottom: 16px;
}

#comments .comment-form-author,
#comments .comment-form-email {
  flex: 1;
  position: relative;
}

#comments .form-submit {
  order: 3;
}

#comments .comment-form input[type="text"],
#comments .comment-form input[type="email"],
#comments .comment-form input[type="url"],
#comments .comment-form textarea {
  width: 100%;
  border-radius: 14px !important;
  border: 1px solid #ddd !important;
  padding: 20px 16px 10px !important;
  font-size: 14px;
  background: #fafafa !important;
  box-shadow: none !important;
}

#comments .comment-form textarea {
  min-height: 140px;
  padding: 26px 16px 12px !important;
}

#comments .comment-form input:focus,
#comments .comment-form textarea:focus {
  border-color: #111 !important;
  background: #fff !important;
  outline: none;
}

/* Labels flotantes */
#comments .comment-form label {
  position: absolute;
  top: 14px;
  left: 16px;
  font-size: 13px;
  color: #777;
  pointer-events: none;
  background: transparent;
  transition: all .2s ease;
}

#comments .comment-form-comment label {
  top: 18px;
}

#comments .comment-form .is-filled + label,
#comments .comment-form input:focus + label,
#comments .comment-form textarea:focus + label,
#comments .comment-form-comment.is-filled label,
#comments .comment-form-comment textarea:focus + label,
#comments .comment-form-comment textarea:focus ~ label {
  top: 6px;
  font-size: 11px;
  color: #111;
}

/* Botón comentarios */
#comments .comment-form .submit,
#comments .comment-form input[type="submit"] {
  background: var(--ml-blue) !important;
  color: #fff !important;
  border-radius: 999px !important;
  padding: 12px 22px !important;
  font-size: 14px !important;
  font-weight: 600;
  border: 0 !important;
  box-shadow: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  min-height: auto !important;
  transition: all .2s ease;
}

#comments .comment-form .submit:hover {
  transform: translateY(-1px);
}

@media (max-width: 768px) {
  #comments .ast-comment-formwrap {
    display: block;
    flex-direction: column;
  }
}

/* =====================================================
   PAGINACIÓN
   ===================================================== */
.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul li {
  border: 0;
  background: transparent;
  margin: 0;
  padding: 0;
}

.page-numbers,
.page-numbers a,
.page-numbers span {
  all: unset;
}

.page-numbers {
  display: inline-block;
  margin: 0 6px;
  font-size: 14px;
  font-weight: 400;
  color: var(--ml-blue);
  cursor: pointer;
  line-height: 32px;
}

.page-numbers:not(.current):hover {
  text-decoration: underline;
  background: var(--ml-blue) !important;
}

.page-numbers.current {
  background: var(--ml-blue) !important;
  color: #fff;
  border-radius: 6px;
  padding: 0 10px;
  font-weight: 600;
  cursor: default;
}

.page-numbers.prev,
.page-numbers.next {
  font-size: 16px;
  font-weight: 600;
}

.page-numbers.disabled {
  color: #bbb;
  pointer-events: none;
}

@media (max-width: 768px) {
  .page-numbers {
    margin: 0 4px;
    font-size: 13px;
  }
}

/* =====================================================
   PRODUCTO SIMPLE
   ===================================================== */
@media (max-width: 768px) {
  .single-product .site-main {
    padding: 0;
  }
  
  .single-product .ast-container {
    padding: 0 12px;
  }
  
  .single-product .woocommerce-product-gallery {
    margin-bottom: 8px !important;
  }
  
  .single-product .single-product-category {
    margin-bottom: 2px !important;
    font-size: 13px;
    opacity: .7;
  }
  
  .single-product h1.product_title {
    font-size: 18px;
    line-height: 1.25;
    margin: 0 0 6px !important;
  }
  
  .single-product .price {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 6px !important;
  }
  
  .single-product form.cart {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
  }
  
  .single-product .quantity {
    margin-right: 8px;
    margin-bottom: 0 !important;
  }
  
  .single-product .quantity input.qty {
    width: 64px;
    height: 38px;
    font-size: 16px;
  }
  
  .single-product .single_add_to_cart_button {
    height: 40px;
    font-size: 15px;
    padding: 0 14px;
  }
  
  .single-product .custom-add-multi {
    margin-top: 6px !important;
    padding: 10px;
    font-size: 14px;
  }
  
  .single-product .product_meta {
    margin-top: 6px !important;
    margin-bottom: 0 !important;
    font-size: 13px;
    opacity: .7;
  }
  
  .single-product .woocommerce-tabs {
    margin-top: 10px !important;
  }
  
  .single-product .woocommerce-tabs ul.tabs {
    margin-bottom: 4px !important;
  }
  
  .single-product .woocommerce-Tabs-panel {
    padding-top: 4px !important;
  }
  
  .single-product .woocommerce-Tabs-panel h2,
  .single-product .woocommerce-Tabs-panel h3 {
    margin-top: 4px !important;
    margin-bottom: 4px !important;
  }
  
  .single-product .woocommerce-product-gallery__image img {
    border-radius: 10px;
  }
}

/* =====================================================
   PÁGINA CONTACTO (page-id-120)
   ===================================================== */
.page-id-120 .site-main {
  max-width: 1000px;
  margin: 0 auto;
}

.page-id-120 .entry-content > * {
  margin-bottom: 12px;
}

.page-id-120 .uagb-container-inner-blocks-wrap > div,
.page-id-120 .srfm-form-container {
  background: #ffffff;
  border-radius: 12px;
  padding: 2px;
  box-shadow: none !important;
  border: 1px solid #e5e7eb;
}

.page-id-120 a[href*="wa.me"] {
  display: flex !important;
  justify-content: center;
  width: 100%;
  border-radius: 10px !important;
}

.page-id-120 .uagb-ifb-desc {
  font-size: 15px;
  text-align: center;
  font-weight: 500;
}

.page-id-120 .srfm-form-container {
  margin-top: 2px;
  --srfm-row-gap-between-fields: 10px;
  --srfm-col-gap-between-fields: 10px;
  --srfm-input-field-margin-top: 4px;
  --srfm-input-field-margin-bottom: 4px;
}

.page-id-120 .srfm-block-single {
  margin-bottom: 2px !important;
}

.page-id-120 .srfm-input-common {
  height: 38px;
  font-size: 15px;
}

.page-id-120 .srfm-input-textarea {
  min-height: 80px;
}

.page-id-120 .srfm-submit-container {
  margin-top: 10px;
}

.page-id-120 .srfm-submit-button {
  width: 100%;
  border-radius: 10px;
  font-weight: 600;
}

.page-id-120 .wp-block-uagb-separator {
  margin: 10px 0;
}

@media (max-width: 768px) {
  .page-id-120 .site-main {
    padding: 0 2px;
  }
  
  .page-id-120 .entry-content > * {
    margin-bottom: 20px;
  }
}

/* =====================================================
   FOOTER
   ===================================================== */
.site-footer {
  background: #111;
  color: #eee;
  margin-top: 80px;
}

.site-primary-footer-wrap {
  padding: 60px 0;
}

.site-footer a {
  color: #eee;
  text-decoration: none;
}

.site-footer a:hover {
  text-decoration: underline;
}

.site-footer .widget-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 16px;
}

.site-footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.site-footer ul li {
  font-size: 14px;
  margin-bottom: 10px;
  line-height: 1.5;
}

.site-footer img {
  max-width: 140px;
  height: auto;
}

.site-below-footer-wrap {
  border-top: 1px solid rgba(255,255,255,.1);
  padding: 20px 0;
  font-size: 13px;
  color: #aaa;
}

.ast-footer-copyright p,
.site-footer .ast-builder-html-element p {
  margin: 0;
}

@media (max-width: 768px) {
  .site-primary-footer-wrap {
    padding: 40px 20px;
    text-align: center;
  }
  
  .site-below-footer-wrap {
    text-align: center;
  }
}

/* =====================================================
   WFPL (Wishlist/Price List)
   ===================================================== */
.woocommerce-js .wfpl-price {
  width: 200px !important;
  max-width: 100% !important;
}

.wfpl-ui .wfpl-product {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px dashed #e5e7eb;
}

.wfpl-ui .wfpl-name-text,
.wfpl-ui .wfpl-product-link {
  flex: 1 1 auto;
  min-width: 0;
}

.wfpl-ui .wfpl-quick-icons {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
}

.wfpl-ui .wfpl-price-text {
  flex: 0 0 auto;
  margin-left: auto;
  white-space: nowrap;
  text-align: right;
}

.wfpl-ui .wfpl-price,
.wfpl-ui .wfpl-cost {
  width: 90px;
  flex: 0 0 90px;
  text-align: right;
}

@media (max-width: 768px) {
  .woocommerce-js .wfpl-product {
    grid-template-columns: 1fr;
    gap: 5px;
  }
  
  .woocommerce-js .wfpl-product:has(.wfpl-price-text) {
    grid-template-columns: 1fr auto;
    align-items: center;
  }
}

/* =====================================================
   MERCADO PAGO – CHECKOUT TRANSFERENCIA
   ===================================================== */
.mp-clean-box {
  max-width: 520px;
  margin: 40px auto;
  padding: 30px;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 15px 40px rgba(0,0,0,0.08);
  font-family: -apple-system, BlinkMacSystemFont, sans-serif;
  animation: mpFadeIn 0.5s ease-out forwards;
  opacity: 0;
  transform: translateY(15px);
}

@keyframes mpFadeIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.mp-header h2 {
  margin: 0;
  font-size: 22px;
}

.mp-order {
  font-size: 14px;
  color: #777;
  margin-top: 5px;
}

.mp-total-box {
  margin: 25px 0;
  padding: 20px;
  background: #f4f6f9;
  border-radius: 16px;
  text-align: center;
}

.mp-total-box span {
  display: block;
  font-size: 14px;
  color: #666;
  margin-bottom: 8px;
}

.mp-total {
  font-size: 28px;
  font-weight: 700;
  animation: mpPulse 2s ease-in-out infinite alternate;
}

@keyframes mpPulse {
  from { transform: scale(1); }
  to { transform: scale(1.03); }
}

.mp-account {
  margin-bottom: 20px;
}

.mp-row {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  font-size: 14px;
  border-bottom: 1px solid #eee;
}

.mp-row:last-child {
  border-bottom: none;
}

.mp-copy-btn {
  width: 100%;
  padding: 14px;
  border-radius: 12px;
  border: none;
  background: #009ee3;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: 0.2s ease;
}

.mp-copy-btn:hover {
  opacity: 0.9;
}

.mp-copy-btn.copiado {
  background: #28a745;
}

.mp-copy-btn:active {
  transform: scale(0.97);
}

.mp-note {
  margin-top: 18px;
  font-size: 13px;
  color: #666;
  text-align: center;
}

.mp-badge {
  display: inline-block;
  background: #e6f7ed;
  color: #1e7e34;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 10px;
  border-radius: 20px;
  margin-bottom: 10px;
}

.mp-total-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}

.mp-copy-total {
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  border-radius: 8px;
  opacity: 0.6;
  transition: 0.2s ease;
  position: relative;
}

.mp-copy-total:hover {
  opacity: 1;
  background: rgba(0,0,0,0.04);
}

.mp-copy-total:active {
  transform: scale(0.92);
}

.mp-icon {
  width: 18px;
  height: 18px;
  color: black;
}

.mp-copy-total::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: -26px;
  left: 50%;
  transform: translateX(-50%);
  background: #111;
  color: #fff;
  font-size: 11px;
  padding: 4px 8px;
  border-radius: 6px;
  opacity: 0;
  pointer-events: none;
  transition: 0.2s ease;
  white-space: nowrap;
}

.mp-copy-total:hover::after {
  opacity: 1;
}

.mp-copy-total.copiado {
  color: #28a745;
  opacity: 1;
}

/* =====================================================
   WHATSAPP BUTTON
   ===================================================== */
.whatsapp-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background-color: #25D366;
  color: #ffffff;
  padding: 14px 22px;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
}

.whatsapp-btn:hover {
  background-color: #1ebe5d;
}

.whatsapp-icon {
  width: 22px;
  height: 22px;
  background-color: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M19.11 17.36c-.27-.14-1.6-.79-1.85-.88-.25-.09-.43-.14-.61.14-.18.27-.7.88-.86 1.06-.16.18-.32.2-.59.07-.27-.14-1.15-.42-2.19-1.34-.81-.72-1.36-1.6-1.52-1.87-.16-.27-.02-.42.12-.56.12-.12.27-.32.41-.48.14-.16.18-.27.27-.45.09-.18.05-.34-.02-.48-.07-.14-.61-1.47-.84-2.01-.22-.53-.45-.46-.61-.46h-.52c-.18 0-.48.07-.73.34-.25.27-.96.94-.96 2.29 0 1.35.98 2.65 1.12 2.83.14.18 1.93 2.95 4.67 4.13.65.28 1.15.45 1.54.57.65.21 1.24.18 1.7.11.52-.08 1.6-.65 1.83-1.28.23-.63.23-1.17.16-1.28-.07-.11-.25-.18-.52-.32zM16.04 3C9.41 3 4 8.4 4 15.03c0 2.64.86 5.07 2.32 7.04L4 29l7.2-2.29a12.93 12.93 0 004.84.94c6.63 0 12.03-5.4 12.03-12.03C28.07 8.4 22.67 3 16.04 3z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* =====================================================
   IMÁGENES SUGERENCIAS BÚSQUEDA
   ===================================================== */
img.attachment-dgwt-wcas-product-suggestion.size-dgwt-wcas-product-suggestion {
  width: 85px !important;
  height: auto !important;
  max-width: none;
}

/* =====================================================
   ANIMACIONES GLOBALES
   ===================================================== */
@keyframes header-cart-feedback {
  0%   { box-shadow: 0 0 0 rgba(0,0,0,0); }
  40%  { box-shadow: 0 6px 16px rgba(0,0,0,.18); }
  100% { box-shadow: 0 0 0 rgba(0,0,0,0); }
}

@keyframes cart-pulse {
  0%   { transform: scale(1); }
  40%  { transform: scale(1.06); }
  100% { transform: scale(1); }
}

@keyframes header-bounce {
  0%   { transform: translateY(0); }
  30%  { transform: translateY(-3px); }
  60%  { transform: translateY(1px); }
  100% { transform: translateY(0); }
}

@keyframes badge-pop {
  0%   { transform: scale(.6); opacity: .5; }
  60%  { transform: scale(1.15); }
  100% { transform: scale(1); opacity: 1; }
}

.added-anim {
  animation: cart-pulse .35s ease;
}

.header-cart-anim {
  animation: header-bounce .4s ease;
}

.cart-badge-anim {
  animation: badge-pop .35s ease;
}

.site-header.cart-feedback {
  animation: header-cart-feedback .45s ease;
}

/* =====================================================
   UAGB FIXES
   ===================================================== */
.wp-block-uagb-container.uagb-block-dc340946.default {
  padding-top: 0px;
}
/* =====================================================
   FIX: ESPACIO HEADER → CATEGORÍAS (HOME)
   ===================================================== */

.home .site-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.home #primary,
.home #main,
.home .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.home .home-shop-top {
  margin-top: 0 !important;
  margin-bottom: 20px !important;
  padding-top: 0 !important;
}

.home .category-nav {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 12px !important;
}

.home .home-shop-top > *:first-child,
.home .entry-content > .home-shop-top:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.home .ast-primary-header-bar {
  position: fixed;
}

/* Desktop: header 75px */
.home .site-main,
.home main.site-main {
  margin-top: 75px !important;
}

.home.ast-plain-container .site-content,
.home.ast-page-builder-template .site-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Mobile: header 96px */
@media (max-width: 768px) {
  .home .site-header{
    margin-top: 30px !important;
  }
}

/* Category nav pegado arriba */
.home .category-nav {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 12px !important; /* solo separación entre botones y carousel */
}

/* Si hay algún bloque/spacer fantasma antes */
.home .home-shop-top > *:first-child,
.home .entry-content > .home-shop-top:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Forzar que el header no empuje con su altura */
.home .ast-primary-header-bar {
  position: fixed;
}

/* Compensación mínima: solo lo que ocupa el header fijo */
.home .site-main,
.home main.site-main {
  margin-top: 75px !important; /* altura del header */
}

/* Eliminar cualquier margin-top heredado de Astra en la home */
.home.ast-plain-container .site-content,
.home.ast-page-builder-template .site-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}