/*
Theme Name: Abuda Child
Theme URI: https://www.portotheme.com/wordpress/porto
Author: P-THEMES
Author URI: https://www.portotheme.com/
Description: Porto Responsive WordPress + eCommerce Theme.
Version: 1.1
Template: porto
License: Commercial
License URI: http://themeforest.net/licenses/regular_extended
Tags: woocommerce, corporate, ecommerce, responsive, blue, black, green, white, light, dark, red, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, fixed-layout, responsive-layout, custom-menu, editor-style, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready, accessibility-ready
*/

/*************** ADD YOUR CUSTOM CSS HERE  ***************/
/* ===== ABUDA – Botones de Gravity Forms con estilo “pastilla azul” ===== */
/* ===== ABUDA – Enviar centrado, rectangular (no píldora) ===== */
/* ===== ABUDA – Colores y layout de botones (Gravity Forms) ===== */
:root{
  --abuda-blue:#0c89d9;           /* azul para "Selecciona archivos" */
  --abuda-blue-hover:#0a77bd;
  --abuda-red:#e53935;            /* rojo para "Enviar" */
  --abuda-red-hover:#c62828;
}

/* 1) Centrar la zona de botones del formulario */
.gform_wrapper .gform_footer,
.gform_wrapper .gform_page_footer{
  text-align:center !important;
}

/* 2) "Selecciona archivos" en AZUL (dropzone y multifile) */
.gform_wrapper .gform_button_select_files,
.gform_wrapper .gform_drop_area .gform_button_select_files,
.gform_wrapper .gform_fileupload_multifile .gform_button_select_files{
  background: var(--abuda-blue) !important;
  color:#fff !important;
  border:0 !important;
  border-radius:9999px !important;     /* mantiene pastilla */
  padding:12px 22px !important;
  font-weight:700 !important;
  display:inline-block !important;
}
.gform_wrapper .gform_button_select_files:hover{
  background: var(--abuda-blue-hover) !important;
}

/* 3) "Enviar" en ROJO, centrado, rectangular más ancho que alto */
.gform_wrapper .gform_footer input[type="submit"]{
  background: var(--abuda-red) !important;
  color:#fff !important;
  border:0 !important;
  border-radius:5px !important;       /* NO píldora */
  height:56px !important;
  padding:0 44px !important;           /* ancho horizontal */
  min-width:320px !important;          /* lo hace bien apaisado */
  font-weight:700 !important;
  font-size:20px !important;
  line-height:56px !important;         /* centra el texto vertical */
  box-shadow:0 2px 6px rgba(229,57,53,.25) !important;
  display:inline-block !important;     /* respeta centrado */
  margin:24px auto 8px !important;     /* centrado visual */
  cursor:pointer;
}
.gform_wrapper .gform_footer input[type="submit"]:hover{
  background: var(--abuda-red-hover) !important;
  transform: translateY(-1px);
  box-shadow:0 8px 18px rgba(229,57,53,.3) !important;
}
.gform_wrapper .gform_footer input[type="submit"]:focus{
  box-shadow:0 0 0 3px rgba(229,57,53,.35) !important;
  outline:none !important;
}

/* 4) Dropzone: borde azul para consistencia */
.gform_wrapper .gform_drop_area{
  border-color: var(--abuda-blue) !important;
  text-align:center !important;
}

/* 5) Responsive: full width en mobile si hace falta */
@media (max-width: 480px){
  .gform_wrapper .gform_footer input[type="submit"]{
    min-width: 100% !important;
  }
}

/* ===== ABUDA – Productos Sin Stock (Imágenes en Blanco y Negro SOLO en Catálogo/Tienda) ===== */
.woocommerce ul.products li.product.outofstock img,
.woocommerce ul.products li.product.out-of-stock img,
.woocommerce .products .product.outofstock img,
.woocommerce .products .product.out-of-stock img,
.porto-posts-grid .product.outofstock img,
.porto-posts-grid .product.out-of-stock img,
.product-col.outofstock img,
.product-col.out-of-stock img,
.products .product.outofstock .product-image-slider img,
.products .product.out-of-stock .product-image-slider img {
  filter: grayscale(100%) opacity(0.65) !important;
  -webkit-filter: grayscale(100%) opacity(0.65) !important;
  transition: filter 0.3s ease, opacity 0.3s ease;
}

.woocommerce ul.products li.product.outofstock:hover img,
.woocommerce .products .product.outofstock:hover img,
.product-col.outofstock:hover img {
  filter: grayscale(70%) opacity(0.85) !important;
  -webkit-filter: grayscale(70%) opacity(0.85) !important;
}

/* EXCLUIR PÁGINA INDIVIDUAL DE PRODUCTO (Single Product Page): Fotos a todo color */
.single-product div.product img,
.single-product .product-images img,
.single-product .woocommerce-product-gallery img,
.single-product .product-image-slider img,
.single-product .main-image img {
  filter: none !important;
  -webkit-filter: none !important;
  opacity: 1 !important;
}

/* Insignia / Cartel Sin stock en catálogo */
.woocommerce .product.outofstock .onsale,
.woocommerce .product.out-of-stock .onsale,
.woocommerce ul.products li.product.outofstock .onsale,
.woocommerce ul.products li.product.out-of-stock .onsale,
.product .badge-out-of-stock,
.product .out-of-stock-badge,
.onsale.out-of-stock,
.badge-out-of-stock {
  background-color: #666666 !important;
  color: #ffffff !important;
}

/* Cartel Sin Stock destacado en la ficha individual de producto */
.abuda-single-out-of-stock-notice {
  margin: 20px 0 !important;
  display: block !important;
}
.abuda-single-out-of-stock-notice .stock.out-of-stock {
  display: inline-block !important;
  background-color: #666666 !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  padding: 12px 24px !important;
  border-radius: 6px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
}

/* Ocultar botón de agregar al carrito, cantidades y variaciones en productos sin stock en ficha de producto */
.single-product .product.outofstock form.cart,
.single-product .product.out-of-stock form.cart,
.single-product .product.outofstock .single_add_to_cart_button,
.single-product .product.out-of-stock .single_add_to_cart_button,
.single-product .product.outofstock .quantity,
.single-product .product.out-of-stock .quantity,
.single-product .product.outofstock .variations_button,
.single-product .product.out-of-stock .variations_button,
.single-product .product.outofstock .add-to-cart,
.single-product .product.out-of-stock .add-to-cart,
.single-product .product.outofstock button.single_add_to_cart_button,
.single-product .product.out-of-stock button.single_add_to_cart_button {
  display: none !important;
}

/* ==========================================================================
   ABUDA – Optimización del Calculador de Envíos en la Página de Carrito
   ========================================================================== */
/* Ocultar únicamente el campo de país */
.woocommerce-cart .woocommerce-shipping-calculator #calc_shipping_country_field {
  display: none !important;
}

/* Aplicar flexbox al contenedor para reordenar los campos */
.woocommerce-cart .shipping-calculator-form,
.woocommerce-cart form.woocommerce-shipping-calculator {
  display: flex !important;
  flex-direction: column !important;
}

/* Código postal: arriba de todo (orden -10) y alineado con etiqueta via ::before */
.woocommerce-cart .woocommerce-shipping-calculator #calc_shipping_postcode_field {
  order: -10 !important;
  width: 100% !important;
  float: none !important;
  margin-bottom: 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* Inyectar la etiqueta del Código Postal de forma inmune a AJAX y sin paréntesis (CP) */
.woocommerce-cart .woocommerce-shipping-calculator #calc_shipping_postcode_field::before {
  content: "Código Postal:" !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  color: #333 !important;
  white-space: nowrap !important;
  margin: 0 !important;
}

/* Ocultar cualquier asterisco obligatorio (*) */
.woocommerce-cart .woocommerce-shipping-calculator #calc_shipping_postcode_field .required,
.woocommerce-cart .woocommerce-shipping-calculator #calc_shipping_postcode_field abbr {
  display: none !important;
}

.woocommerce-cart .woocommerce-shipping-calculator #calc_shipping_postcode {
  flex: 1 !important;
  padding: 10px 15px !important;
  border-radius: 6px !important;
  border: 1px solid #ccc !important;
  font-size: 14px !important;
  width: auto !important;
}

/* Provincia: orden 2, bloqueada y sin flechita */
.woocommerce-cart .woocommerce-shipping-calculator #calc_shipping_state_field {
  order: 2 !important;
  width: 100% !important;
  float: none !important;
  margin-bottom: 12px !important;
  pointer-events: none !important;
  opacity: 0.85 !important;
}
.woocommerce-cart .woocommerce-shipping-calculator #calc_shipping_state_field select,
.woocommerce-cart .woocommerce-shipping-calculator #calc_shipping_state_field .select2-container,
.woocommerce-cart .woocommerce-shipping-calculator #calc_shipping_state_field .chosen-container {
  background-color: #f7f7f7 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}

/* Ocultar flechitas de selección (Select2, Chosen y nativas) */
.woocommerce-cart .woocommerce-shipping-calculator #calc_shipping_state_field .select2-selection__arrow,
.woocommerce-cart .woocommerce-shipping-calculator #calc_shipping_state_field .chosen-container .chosen-single div,
.woocommerce-cart .woocommerce-shipping-calculator #calc_shipping_state_field select {
  display: none !important;
  background-image: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
}

/* Localidad/Ciudad: oculta en el carrito (se completa en segundo plano para el submit) */
.woocommerce-cart .woocommerce-shipping-calculator #calc_shipping_city_field {
  display: none !important;
}

/* Ocultar el botón manual "Actualizar" ya que se gatilla automáticamente al ingresar el CP */
.woocommerce-cart .woocommerce-shipping-calculator button[name="calc_shipping"] {
  display: none !important;
}

/* Asegurar que las columnas de facturación (col-1) y envío (col-2) ocupen el 100% de ancho y se apilen verticalmente */
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
  width: 100% !important;
  float: none !important;
}

/* Ocultar el título/checkbox nativo de "Enviar a una dirección diferente" */
.woocommerce-checkout #ship-to-different-address {
  display: none !important;
}

/* Asegurar que la dirección de envío esté siempre desplegada visualmente */
.woocommerce-checkout .shipping_address {
  display: block !important;
}

/* Ocultar las etiquetas "(opcional)" en el formulario de facturación */
#abuda-billing-wrapper .optional {
  display: none !important;
}


/* ==========================================================================
   ABUDA – Layout de Dos Columnas para el Checkout (Escritorio / Móvil)
   ========================================================================== */
@media (min-width: 768px) {
  .abuda-checkout-container {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 30px !important;
    align-items: flex-start !important;
    width: 100% !important;
  }
  .abuda-checkout-col-left {
    width: 67% !important;
    flex: 0 0 67% !important;
    max-width: 67% !important;
  }
  .abuda-checkout-col-right {
    width: 33% !important;
    flex: 0 0 33% !important;
    max-width: 33% !important;
    position: sticky !important;
    top: 100px !important;
  }
}

@media (max-width: 767px) {
  .abuda-checkout-container {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
  }
  .abuda-checkout-col-left,
  .abuda-checkout-col-right {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  .abuda-checkout-col-right {
    margin-top: 25px !important;
  }
}

/* ==========================================================================
   ABUDA – Estilos para la Ficha de Información de Pago (Pedido Completado / BACS)
   ========================================================================== */
.woocommerce-bacs-bank-details {
  margin: 30px 0 !important;
  padding: 0 !important;
}

/* Título H2 único: "Información de pago" centrado */
.woocommerce-bacs-bank-details .wc-bacs-bank-details-heading {
  text-align: center !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #222222 !important;
  margin-bottom: 20px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

/* Eliminar subtítulos secundarios (H3 "Realizar la transferencia a...", etc.) */
.woocommerce-bacs-bank-details .wc-bacs-bank-details-account-name,
.woocommerce-bacs-bank-details h3,
.woocommerce-order-details .wc-bacs-bank-details-account-name,
section.woocommerce-bacs-bank-details > h3,
.bacs_details_heading {
  display: none !important;
}

/* Formato Ficha/Tarjeta elegante */
.woocommerce-bacs-bank-details .wc-bacs-bank-details.order_details,
.woocommerce-bacs-bank-details .bacs_details {
  list-style: none !important;
  margin: 0 auto !important;
  padding: 24px 30px !important;
  max-width: 550px !important;
  background-color: #fdfdfd !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

/* Filas de datos en formato ficha */
.woocommerce-bacs-bank-details .wc-bacs-bank-details.order_details li,
.woocommerce-bacs-bank-details .bacs_details li {
  margin: 0 !important;
  padding: 8px 0 !important;
  border-bottom: 1px dashed #e2e8f0 !important;
  font-size: 15px !important;
  color: #4a5568 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  word-break: break-word !important;
}

.woocommerce-bacs-bank-details .wc-bacs-bank-details.order_details li:last-child,
.woocommerce-bacs-bank-details .bacs_details li:last-child {
  border-bottom: none !important;
}

/* Formato de etiquetas en negrita y valores al lado con peso visual uniforme */
.woocommerce-bacs-bank-details .wc-bacs-bank-details.order_details li strong,
.woocommerce-bacs-bank-details .bacs_details li strong {
  font-weight: 700 !important;
  color: #1a202c !important;
  .abuda-bacs-layout-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    margin: 20px 0 !important;
    width: 100% !important;
  }
  .abuda-bacs-col-left,
  .abuda-bacs-col-right {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  .abuda-bacs-col-right .woocommerce-bacs-bank-details {
    margin: 0 !important;
  }
}


/* ==========================================================================
   ABUDA – Ocultar leyenda "Enviar a..." en el resumen del carrito
   ========================================================================== */
.woocommerce-shipping-destination,
p.woocommerce-shipping-destination {
  display: none !important;
}

/* ==========================================================================
   ABUDA – Transición Suave a 2da Imagen de Galería en Grilla de Catálogo
   ========================================================================== */
.product-image-link .inner.has-hover-image {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  overflow: hidden !important;
}

.product-image-link .inner.has-hover-image img.primary-image {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  transition: opacity 250ms ease-in-out !important;
  opacity: 1 !important;
}

.product-image-link .inner.has-hover-image img.hover-image {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  z-index: 2 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 250ms ease-in-out !important;
}

.product-image-link:hover .inner.has-hover-image img.primary-image,
.product-col:hover .product-image-link .inner.has-hover-image img.primary-image {
  opacity: 0 !important;
}

.product-image-link:hover .inner.has-hover-image img.hover-image,
.product-col:hover .product-image-link .inner.has-hover-image img.hover-image {
  opacity: 1 !important;
}

/* ==========================================================================
   ABUDA – Disposición de Filas de Formulario de Checkout (Grid 2 y 3 cols)
   ========================================================================== */
.abuda-form-row {
  width: 100%;
  clear: both;
  margin-bottom: 10px;
}

.abuda-form-row-split {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

.abuda-form-row-split .abuda-field-col {
  flex: 1 1 calc(50% - 8px);
  min-width: 240px;
}

.abuda-form-row-triple {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.abuda-form-row-triple .abuda-field-col-3 {
  flex: 1 1 calc(33.333% - 8px);
  min-width: 140px;
}

.abuda-form-row .form-row {
  width: 100% !important;
  float: none !important;
  margin-bottom: 12px !important;
}

@media (max-width: 767px) {
  .abuda-form-row-split .abuda-field-col,
  .abuda-form-row-triple .abuda-field-col-3 {
    flex: 1 1 100% !important;
    min-width: 100% !important;
  }
}

/* ==========================================================================
   ABUDA – Color de Estrellas de Reseñas / Calificaciones (#e8b943)
   ========================================================================== */
.woocommerce .star-rating span::before,
.woocommerce-page .star-rating span::before,
.star-rating span::before,
.stars a.active::before,
.stars a:hover::before,
p.stars a.active::before,
p.stars a:hover::before,
.comment-form-rating .stars a:hover::before,
.comment-form-rating .stars a.active::before,
.rating-wrap .star-rating span::before,
.product-summary-wrap .star-rating span::before,
ul.products li.product .star-rating span::before {
  color: #e8b943 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

/* Filas de datos en formato ficha */
.woocommerce-bacs-bank-details .wc-bacs-bank-details.order_details li,
.woocommerce-bacs-bank-details .bacs_details li {
  margin: 0 !important;
  padding: 8px 0 !important;
  border-bottom: 1px dashed #e2e8f0 !important;
  font-size: 15px !important;
  color: #4a5568 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  word-break: break-word !important;
}

.woocommerce-bacs-bank-details .wc-bacs-bank-details.order_details li:last-child,
.woocommerce-bacs-bank-details .bacs_details li:last-child {
  border-bottom: none !important;
}

/* Formato de etiquetas en negrita y valores al lado con peso visual uniforme */
/* ==========================================================================
   ABUDA – Ocultar leyenda "Enviar a..." en el resumen del carrito
   ========================================================================== */
.woocommerce-shipping-destination,
p.woocommerce-shipping-destination {
  display: none !important;
}

/* ==========================================================================
   ABUDA – Transición Suave a 2da Imagen de Galería en Grilla de Catálogo
   ========================================================================== */
.product-image-link .inner.has-hover-image {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  overflow: hidden !important;
}

.product-image-link .inner.has-hover-image img.primary-image {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  transition: opacity 250ms ease-in-out !important;
  opacity: 1 !important;
}

.product-image-link .inner.has-hover-image img.hover-image {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  z-index: 2 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 250ms ease-in-out !important;
}

.product-image-link:hover .inner.has-hover-image img.primary-image,
.product-col:hover .product-image-link .inner.has-hover-image img.primary-image {
  opacity: 0 !important;
}

.product-image-link:hover .inner.has-hover-image img.hover-image,
.product-col:hover .product-image-link .inner.has-hover-image img.hover-image {
  opacity: 1 !important;
}

/* ==========================================================================
   ABUDA – Disposición de Filas de Formulario de Checkout (Grid 2 y 3 cols)
   ========================================================================== */
.abuda-form-row {
  width: 100%;
  clear: both;
  margin-bottom: 10px;
}

.abuda-form-row-split {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

.abuda-form-row-split .abuda-field-col {
  flex: 1 1 calc(50% - 8px);
  min-width: 240px;
}

.abuda-form-row-triple {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.abuda-form-row-triple .abuda-field-col-3 {
  flex: 1 1 calc(33.333% - 8px);
  min-width: 140px;
}

.abuda-form-row .form-row {
  width: 100% !important;
  float: none !important;
  margin-bottom: 12px !important;
}

@media (max-width: 767px) {
  .abuda-form-row-split .abuda-field-col,
  .abuda-form-row-triple .abuda-field-col-3 {
    flex: 1 1 100% !important;
    min-width: 100% !important;
  }
}

/* ==========================================================================
   ABUDA – Color de Estrellas de Reseñas / Calificaciones (#e8b943)
   ========================================================================== */
.woocommerce .star-rating span::before,
.woocommerce-page .star-rating span::before,
.star-rating span::before,
.stars a.active::before,
.stars a:hover::before,
p.stars a.active::before,
p.stars a:hover::before,
.comment-form-rating .stars a:hover::before,
.comment-form-rating .stars a.active::before,
.rating-wrap .star-rating span::before,
.product-summary-wrap .star-rating span::before,
ul.products li.product .star-rating span::before {
  color: #e8b943 !important;
}

p.stars:hover a::before {
  color: #e8b943 !important;
}
p.stars a:hover ~ a::before {
  color: #ccc !important;
}

/* ==========================================================================
   ABUDA – Diseñador CTA Bloque de Opiniones de Producto
   ========================================================================== */
.abuda-product-rating-block {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-bottom: 15px !important;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
}

/* Remover absolutamente cualquier raya, borde, o pseudo-elemento del bloque de rating */
.abuda-product-rating-block::after,
.abuda-product-rating-block:after,
.abuda-product-rating-block::before,
.abuda-product-rating-block:before,
.woocommerce-product-rating::after,
.woocommerce-product-rating:after,
.woocommerce-product-rating::before,
.woocommerce-product-rating:before,
.abuda-product-rating-block *,
.abuda-product-rating-block *::after,
.abuda-product-rating-block *::before,
.woocommerce-product-rating *,
.woocommerce-product-rating *::after,
.woocommerce-product-rating *::before {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.abuda-product-rating-block::after,
.abuda-product-rating-block:after,
.woocommerce-product-rating::after,
.woocommerce-product-rating:after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
}

.abuda-product-rating-block .star-rating {
  margin-right: 0 !important;
  float: none !important;
  font-size: 14px !important;
}

.abuda-product-rating-block .abuda-rating-count {
  color: #777 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  margin-right: 8px !important;
}

.abuda-product-rating-block .abuda-write-review-cta {
  color: var(--porto-primary-color, var(--abuda-blue)) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  transition: all 0.2s ease-in-out !important;
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  align-items: center !important;
  cursor: pointer !important;
  border: none !important;
  box-shadow: none !important;
}

.abuda-product-rating-block .abuda-write-review-cta:hover,
.abuda-product-rating-block .abuda-write-review-cta:focus {
  color: var(--porto-primary-hover-color, var(--porto-primary-dark-color, var(--abuda-blue-hover))) !important;
  text-decoration: underline !important;
}

/* ==========================================================================
   ABUDA – Rediseño Completo Sección de Opiniones (2 Columnas & Desglose)
   ========================================================================== */
.abuda-reviews-wrapper {
  margin-top: 25px !important;
  margin-bottom: 40px !important;
  font-family: inherit !important;
}

.abuda-reviews-container {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 40px !important;
  align-items: flex-start !important;
}

/* --- Columna Izquierda (Resumen & Barras) --- */
.abuda-reviews-summary-col {
  flex: 0 0 320px !important;
  max-width: 320px !important;
  width: 320px !important;
  padding-right: 20px !important;
  border-right: 1px solid var(--porto-border-color, #eef0f2) !important;
}

.abuda-reviews-main-title {
  font-size: 22px !important;
  font-weight: 700 !important;
  margin-bottom: 15px !important;
  color: var(--porto-heading-color, #222529) !important;
}

.abuda-reviews-avg-box {
  margin-bottom: 25px !important;
}

.abuda-avg-stars .star-rating {
  font-size: 22px !important;
  margin-bottom: 8px !important;
  float: none !important;
}

.abuda-avg-label {
  font-size: 14px !important;
  color: #666 !important;
}

/* Desglose de Barras de Estrellas */
.abuda-stars-breakdown {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.abuda-star-bar-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 14px !important;
  color: #555 !important;
}

.abuda-star-label {
  width: 35px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

.abuda-bar-track {
  flex: 1 !important;
  height: 8px !important;
  background-color: var(--porto-bg-secondary, #e9ecef) !important;
  border-radius: 9999px !important;
  overflow: hidden !important;
  position: relative !important;
}

.abuda-bar-fill {
  height: 100% !important;
  background-color: var(--porto-primary-color, var(--abuda-blue, #0c89d9)) !important;
  border-radius: 9999px !important;
  transition: width 0.4s ease-in-out !important;
}

.abuda-bar-pct {
  width: 40px !important;
  text-align: right !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  color: #777 !important;
}


/* --- Columna Derecha (Filtros & Opiniones) --- */
.abuda-reviews-content-col {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

/* Toolbar de Filtros */
.abuda-reviews-toolbar {
  display: flex !important;
  gap: 15px !important;
  margin-bottom: 25px !important;
  flex-wrap: wrap !important;
}

.abuda-filter-group .abuda-select-control {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-color: #fff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23555555' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 12px 12px !important;
  border: 1px solid var(--porto-border-color, #ccc) !important;
  border-radius: 6px !important;
  padding: 8px 32px 8px 12px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #333 !important;
  cursor: pointer !important;
  outline: none !important;
}

.abuda-filter-group .abuda-select-control::-ms-expand {
  display: none !important;
}

.abuda-filter-group .abuda-select-control:focus {
  border-color: var(--porto-primary-color, var(--abuda-blue, #0c89d9)) !important;
}


/* Listado de Opiniones */
.abuda-reviews-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.abuda-review-item {
  padding: 20px 0 !important;
  border-bottom: 1px solid var(--porto-border-color, #eee) !important;
}

.abuda-review-item:last-child {
  border-bottom: none !important;
}

.abuda-review-stars .star-rating {
  font-size: 15px !important;
  margin-bottom: 8px !important;
  float: none !important;
}

.abuda-review-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--porto-heading-color, #111) !important;
  margin: 4px 0 8px 0 !important;
  line-height: 1.3 !important;
  text-transform: capitalize !important;
}

/* Meta línea: Comprador verificado, fecha y autor */
.abuda-review-meta-line {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  font-size: 13px !important;
  color: #777 !important;
  margin-bottom: 12px !important;
}

.abuda-verified-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  color: #666 !important;
  font-weight: 600 !important;
}

.abuda-verified-badge svg {
  stroke: #666 !important;
}

.abuda-review-date-author {
  color: #777 !important;
}

.abuda-review-body {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #444 !important;
}

.abuda-review-body.is-truncated {
  max-height: 110px !important;
  overflow: hidden !important;
  position: relative !important;
}

.abuda-toggle-more-btn {
  background: none !important;
  border: none !important;
  color: var(--porto-primary-color, var(--abuda-blue, #0c89d9)) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  cursor: pointer !important;
  padding: 4px 0 !important;
  margin-top: 6px !important;
  text-decoration: underline !important;
}

.abuda-toggle-more-btn:hover {
  color: var(--porto-primary-hover-color, var(--porto-primary-dark-color, var(--abuda-blue-hover))) !important;
}

.abuda-no-reviews-msg {
  margin-bottom: 12px !important;
  color: #666 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.abuda-review-form-wrapper {
  margin-top: 35px !important;
  padding-top: 25px !important;
  border-top: 1px solid var(--porto-border-color, #eee) !important;
}

.abuda-no-reviews-msg + .abuda-review-form-wrapper {
  margin-top: 15px !important;
  padding-top: 15px !important;
  border-top: 1px dashed var(--porto-border-color, #eee) !important;
}


/* Responsive */
@media (max-width: 767px) {
  .abuda-reviews-container {
    flex-direction: column !important;
    gap: 30px !important;
  }
  .abuda-reviews-summary-col {
    flex: 1 1 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    padding-right: 0 !important;
    border-right: none !important;
    border-bottom: 1px solid var(--porto-border-color, #eef0f2) !important;
    padding-bottom: 25px !important;
  }
}

/* --- Disposición de Reseña: Texto e Imágenes a la derecha --- */
.abuda-review-content-row {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 20px !important;
}

.abuda-review-content-row .abuda-review-body {
  flex: 1 1 auto !important;
}

.abuda-review-gallery {
  flex: 0 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, 60px) !important;
  gap: 8px !important;
}

.abuda-lightbox-link {
  display: block !important;
  width: 60px !important;
  height: 60px !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  border: 1px solid var(--porto-border-color, #e0e0e0) !important;
  transition: transform 0.2s ease, border-color 0.2s ease !important;
}

.abuda-lightbox-link:hover {
  transform: scale(1.05) !important;
  border-color: var(--porto-primary-color, var(--abuda-blue, #0c89d9)) !important;
}

.abuda-lightbox-link img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* Campos de Formulario: Título opcional y Carga de Imágenes */
.comment-form-title input[type="text"],
.comment-form-images input[type="file"] {
  width: 100% !important;
  padding: 8px 12px !important;
  border: 1px solid var(--porto-border-color, #ccc) !important;
  border-radius: 6px !important;
  font-size: 14px !important;
}

span.optional {
  font-weight: 400 !important;
  font-size: 12px !important;
  color: #888 !important;
  margin-left: 4px !important;
}

/* Visor Lightbox Modal */
.abuda-lightbox-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background-color: rgba(0, 0, 0, 0.85) !important;
  z-index: 999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.25s ease, visibility 0.25s ease !important;
}

.abuda-lightbox-overlay.active {
  opacity: 1 !important;
  visibility: visible !important;
}

.abuda-lightbox-modal {
  position: relative !important;
  max-width: 90vw !important;
  max-height: 90vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.abuda-lightbox-img-wrapper img {
  max-width: 85vw !important;
  max-height: 85vh !important;
  object-fit: contain !important;
  border-radius: 8px !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.5) !important;
}

.abuda-lightbox-close {
  position: absolute !important;
  top: -40px !important;
  right: -10px !important;
  background: none !important;
  border: none !important;
  color: #fff !important;
  font-size: 32px !important;
  cursor: pointer !important;
  line-height: 1 !important;
}

.abuda-lightbox-prev,
.abuda-lightbox-next {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: rgba(0,0,0,0.5) !important;
  color: #fff !important;
  border: none !important;
  font-size: 24px !important;
  padding: 12px 16px !important;
  cursor: pointer !important;
  border-radius: 50% !important;
  transition: background 0.2s ease !important;
}

.abuda-lightbox-prev:hover,
.abuda-lightbox-next:hover {
  background: var(--porto-primary-color, var(--abuda-blue, #0c89d9)) !important;
}

.abuda-lightbox-prev { left: -60px !important; }
.abuda-lightbox-next { right: -60px !important; }

@media (max-width: 767px) {
  .abuda-review-content-row {
    flex-direction: column !important;
    gap: 15px !important;
  }
  .abuda-review-gallery {
    grid-template-columns: repeat(auto-fill, minmax(60px, 1fr)) !important;
    width: 100% !important;
  }
  .abuda-lightbox-prev { left: 10px !important; }
  .abuda-lightbox-next { right: 10px !important; }
}

/* --- Formulario de Opinión: Fila Nombre & Correo (50%/50%) --- */
.abuda-comment-fields-row {
  display: flex !important;
  gap: 20px !important;
  width: 100% !important;
  margin-bottom: 10px !important;
}

.abuda-comment-fields-row .comment-form-author,
.abuda-comment-fields-row .comment-form-email {
  flex: 1 1 50% !important;
  width: 50% !important;
  min-width: 0 !important;
  margin-bottom: 0 !important;
}

.abuda-comment-fields-row input[type="text"],
.abuda-comment-fields-row input[type="email"] {
  width: 100% !important;
  padding: 8px 12px !important;
  border: 1px solid var(--porto-border-color, #ccc) !important;
  border-radius: 6px !important;
  font-size: 14px !important;
}

.abuda-email-notes {
  font-weight: 400 !important;
  font-size: 13px !important;
  color: #777 !important;
  margin-left: 6px !important;
}

/* Paginación de Opiniones */
.abuda-reviews-pagination {
  margin-top: 25px !important;
  margin-bottom: 20px !important;
  text-align: center !important;
}

.abuda-reviews-pagination ul.page-numbers {
  display: inline-flex !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: 6px !important;
}

.abuda-reviews-pagination ul.page-numbers li a,
.abuda-reviews-pagination ul.page-numbers li span {
  display: block !important;
  padding: 6px 12px !important;
  border: 1px solid var(--porto-border-color, #ddd) !important;
  border-radius: 4px !important;
  color: #444 !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: 14px !important;
}

.abuda-reviews-pagination ul.page-numbers li span.current {
  background-color: var(--porto-primary-color, var(--abuda-blue, #0c89d9)) !important;
  color: #fff !important;
  border-color: var(--porto-primary-color, var(--abuda-blue, #0c89d9)) !important;
}

@media (max-width: 767px) {
  .abuda-comment-fields-row {
    flex-direction: column !important;
    gap: 15px !important;
  }
  .abuda-comment-fields-row .comment-form-author,
  .abuda-comment-fields-row .comment-form-email {
    flex: 1 1 100% !important;
    width: 100% !important;
  }

  /* Ajustes del formulario de opiniones en móviles */
  .abuda-review-form-wrapper form {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }

  .comment-form-rating {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    margin-bottom: 18px !important;
    gap: 8px !important;
  }

  .comment-form-rating label {
    display: block !important;
    margin-bottom: 6px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
  }

  .comment-form-rating p.stars,
  .comment-form-rating .stars {
    margin: 4px 0 10px 0 !important;
    float: none !important;
    clear: both !important;
    display: inline-block !important;
  }

  .comment-form-author,
  .comment-form-email,
  .comment-form-comment,
  .comment-form-images {
    margin-bottom: 16px !important;
    width: 100% !important;
  }

  .comment-form-comment textarea {
    margin-top: 6px !important;
    min-height: 120px !important;
  }

  .abuda-review-form-wrapper form .form-submit input[type="submit"] {
    width: 100% !important;
    padding: 12px 20px !important;
    margin-top: 10px !important;
  }
}

/* Ocultar leyendas informativas extra sobre el formulario */
.abuda-review-form-wrapper .comment-notes,
.abuda-review-form-wrapper p.comment-notes {
  display: none !important;
}

/* ==========================================================================
   ABUDA – Override de Especificidad para Extracto Corto (Short Description)
   ========================================================================== */
.single-product div.product .summary .woocommerce-product-details__short-description,
.single-product div.product .summary .woocommerce-product-details__short-description p,
.single-product div.product .summary .woocommerce-product-details__short-description ul,
.single-product div.product .summary .woocommerce-product-details__short-description ol,
.single-product div.product .summary .woocommerce-product-details__short-description li,
.single-product div.product .summary .woocommerce-product-details__short-description span,
.single-product div.product .summary .woocommerce-product-details__short-description strong,
.single-product div.product .summary .woocommerce-product-details__short-description a,
.single-product div.product .product-summary-wrap .description,
.single-product div.product .product-summary-wrap .description p,
.single-product div.product .product-summary-wrap .description ul,
.single-product div.product .product-summary-wrap .description ol,
.single-product div.product .product-summary-wrap .description li,
.single-product div.product .product-summary-wrap .description span,
.single-product div.product .product-summary-wrap .description strong,
.single-product div.product .product-summary-wrap .description a,
.single-product .tab-content .description.woocommerce-product-details__short-description,
.single-product .tab-content .description.woocommerce-product-details__short-description p,
.single-product .tab-content .description.woocommerce-product-details__short-description ul,
.single-product .tab-content .description.woocommerce-product-details__short-description ol,
.single-product .tab-content .description.woocommerce-product-details__short-description li,
.single-product .tab-content .description.woocommerce-product-details__short-description span,
.single-product .tab-content .description.woocommerce-product-details__short-description strong,
.single-product .tab-content .description.woocommerce-product-details__short-description a {
  font-size: 14px;
}

/* ==========================================================================
   ABUDA – Tamaño de Título de Producto en Móviles (< 768px)
   ========================================================================== */
@media (max-width: 767px) {
  .single-product h1.product_title,
  .single-product .product_title,
  h1.product_title,
  .product_title {
    font-size: 22px !important;
    line-height: 1.2 !important;
  }
}

/* ==========================================================================
   ABUDA – Grilla de Productos WooCommerce (Títulos completos & Botón al Pie)
   ========================================================================== */
/* 1. Asegurar flexbox únicamente en páginas de tienda nativas (excluyendo carruseles/sliders) */
.post-type-archive-product ul.products:not(.owl-carousel):not(.products-slider),
.tax-product_cat ul.products:not(.owl-carousel):not(.products-slider),
.tax-product_tag ul.products:not(.owl-carousel):not(.products-slider),
.page-id-7573 ul.products:not(.owl-carousel):not(.products-slider),
.abuda-shop-page ul.products:not(.owl-carousel):not(.products-slider) {
  display: flex !important;
  flex-wrap: wrap !important;
}

/* 1. Grilla padre uniforme en catálogo */
.post-type-archive-product ul.products:not(.owl-carousel):not(.products-slider),
.tax-product_cat ul.products:not(.owl-carousel):not(.products-slider),
.tax-product_tag ul.products:not(.owl-carousel):not(.products-slider),
.page-id-7573 ul.products:not(.owl-carousel):not(.products-slider),
.abuda-shop-page ul.products:not(.owl-carousel):not(.products-slider) {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
}

/* 2. Tarjeta principal flex (.product-col, li.product) para igualar altura en catálogo */
.post-type-archive-product ul.products:not(.owl-carousel):not(.products-slider) li.product-col,
.post-type-archive-product ul.products:not(.owl-carousel):not(.products-slider) li.product,
.tax-product_cat ul.products:not(.owl-carousel):not(.products-slider) li.product-col,
.tax-product_cat ul.products:not(.owl-carousel):not(.products-slider) li.product,
.tax-product_tag ul.products:not(.owl-carousel):not(.products-slider) li.product-col,
.tax-product_tag ul.products:not(.owl-carousel):not(.products-slider) li.product,
.page-id-7573 ul.products:not(.owl-carousel):not(.products-slider) li.product-col,
.page-id-7573 ul.products:not(.owl-carousel):not(.products-slider) li.product,
.abuda-shop-page ul.products:not(.owl-carousel):not(.products-slider) li.product {
  display: flex !important;
  flex-direction: column !important;
  float: none !important;
}

.post-type-archive-product ul.products:not(.owl-carousel):not(.products-slider) li.product-col .product-inner,
.post-type-archive-product ul.products:not(.owl-carousel):not(.products-slider) li.product .product-inner,
.tax-product_cat ul.products:not(.owl-carousel):not(.products-slider) li.product-col .product-inner,
.tax-product_cat ul.products:not(.owl-carousel):not(.products-slider) li.product .product-inner,
.tax-product_tag ul.products:not(.owl-carousel):not(.products-slider) li.product-col .product-inner,
.tax-product_tag ul.products:not(.owl-carousel):not(.products-slider) li.product .product-inner,
.page-id-7573 ul.products:not(.owl-carousel):not(.products-slider) li.product-col .product-inner,
.page-id-7573 ul.products:not(.owl-carousel):not(.products-slider) li.product .product-inner,
.abuda-shop-page ul.products:not(.owl-carousel):not(.products-slider) li.product .product-inner {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  height: auto !important;
  width: 100% !important;
}

/* 3. Cuerpo de contenido de la tarjeta (.product-content) */
ul.products li.product-col .product-content,
ul.products li.product .product-content,
.woocommerce ul.products li.product-col .product-content,
.woocommerce ul.products li.product .product-content,
.woocommerce .products .product .product-content,
.woocommerce .products .product .product-details,
.porto-posts-grid .product-col .product-content {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  height: auto !important;
}

/* Zona Superior Flexible (Título + Reseñas + Badges) */
.product-details-top {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  flex: 0 0 auto !important;
}

/* Zona Inferior Anclada (Precio + CTA juntos al pie) */
.product-details-bottom {
  margin-top: auto !important; /* Absorbe el pequeño espacio sobrante dentro de la altura de la fila */
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  flex: 0 0 auto !important;
}

/* 4. Enlace del título y h3 (.product-loop-title & .woocommerce-loop-product__title) */
ul.products li.product-col .product-loop-title,
ul.products li.product .product-loop-title,
.woocommerce ul.products li.product .product-loop-title,
.product-loop-title {
  display: block !important;
  width: 100% !important;
}

ul.products li.product-col .woocommerce-loop-product__title,
ul.products li.product-col h3,
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h3,
.woocommerce ul.products li.product-col .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce .products .product .woocommerce-loop-product__title,
.woocommerce .products .product h3,
.product-loop-title .woocommerce-loop-product__title,
h3.woocommerce-loop-product__title {
  display: block !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  overflow: visible !important;
  text-overflow: unset !important;
  white-space: normal !important;
  height: auto !important;
  min-height: 0 !important;
  margin-bottom: 6px !important;
  word-wrap: break-word !important;
  text-align: left !important;
}

/* Ocultar bloque de rating si está vacío o no tiene reseñas */
.woocommerce ul.products li.product .rating-wrap,
.woocommerce .products .product .rating-wrap {
  display: block !important;
  margin-bottom: 4px !important;
}

.woocommerce ul.products li.product .rating-wrap:empty,
.woocommerce .products .product .rating-wrap:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}

/* Contenedor del Badge de Descuento (Ubicado inmediatamente sobre el precio) */
.abuda-card-badge-wrap {
  margin-top: 2px !important;
  margin-bottom: 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-height: 0 !important; /* Colapsar automáticamente cuando no haya descuento */
}

.abuda-card-badge-wrap:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
}

/* Badge de Descuento (Integrado en el contenido por encima del precio) */
.abuda-card-badge-wrap .abuda-discount-badge,
ul.products li.product .abuda-discount-badge,
.woocommerce ul.products li.product .abuda-discount-badge {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #d43d3f !important; /* Rojo Abuda #d43d3f */
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 0.72rem !important;
  line-height: 1 !important;
  padding: 4px 8px !important;
  border-radius: 4px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  box-shadow: none !important;
  z-index: 1 !important;
}

/* Bloque de Precios */
ul.products li.product .price,
.woocommerce ul.products li.product .price,
.woocommerce .products .product .price {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  margin-top: 0 !important;
  margin-bottom: 8px !important;
  min-height: 0 !important;
  text-align: left !important;
}

/* Prefijo 'Desde' */
.abuda-from-prefix {
  display: inline-block !important;
  margin-right: 2px !important;
}

/* Precio en oferta (ins) primero */
ul.products li.product .price ins,
.woocommerce ul.products li.product .price ins,
.woocommerce .products .product .price ins {
  order: 1 !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  display: inline-block !important;
  background: transparent !important;
}

/* Precio original tachado (del) inmediatamente a la derecha */
ul.products li.product .price del,
.woocommerce ul.products li.product .price del,
.woocommerce .products .product .price del {
  order: 2 !important;
  font-weight: 400 !important;
  opacity: 0.65 !important;
  text-decoration: line-through !important;
  display: inline-block !important;
}

/* Botón CTA al pie de ancho completo - Ubicado inmediatamente debajo del precio */
ul.products li.product-col .add-links-wrap,
ul.products li.product .add-links-wrap,
.woocommerce ul.products li.product-col .add-links-wrap,
.woocommerce ul.products li.product .add-links-wrap,
.woocommerce .products .product .add-links-wrap,
.porto-posts-grid .product-col .add-links-wrap {
  margin-top: 10px !important;
  padding-top: 0 !important;
  width: 100% !important;
  display: block !important;
}

ul.products li.product-col .add-links,
ul.products li.product .add-links,
.woocommerce ul.products li.product-col .add-links,
.woocommerce ul.products li.product .add-links,
.woocommerce .products .product .add-links {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Botones Unificados de la Grilla (.abuda-grid-btn / .add_to_cart_button / Ver opciones) */
ul.products li.product a.abuda-grid-btn,
.woocommerce ul.products li.product a.abuda-grid-btn,
.woocommerce .products .product a.abuda-grid-btn,
ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce .products .product .add_to_cart_button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 42px !important;
  height: 42px !important;
  padding: 0 16px !important;
  border-radius: 6px !important;
  border: 2px solid var(--porto-primary-color, #0088cc) !important;
  background-color: transparent !important;
  color: var(--porto-primary-color, #0088cc) !important;
  font-family: inherit !important;
  font-weight: 600 !important;
  font-size: 0.84rem !important;
  line-height: 1 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  box-shadow: none !important;
  transition: all 0.25s ease !important;
  box-sizing: border-box !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

ul.products li.product a.abuda-grid-btn:hover,
.woocommerce ul.products li.product a.abuda-grid-btn:hover,
.woocommerce .products .product a.abuda-grid-btn:hover,
ul.products li.product .add_to_cart_button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover,
.woocommerce .products .product .add_to_cart_button:hover {
  background-color: var(--porto-primary-color, #0088cc) !important;
  border-color: var(--porto-primary-color, #0088cc) !important;
  color: #ffffff !important;
}

/* Ocultar primer icono residual de Porto (::before) en los botones de la grilla */
ul.products li.product a.abuda-grid-btn::before,
.woocommerce ul.products li.product a.abuda-grid-btn::before,
.woocommerce .products .product a.abuda-grid-btn::before,
ul.products li.product .add_to_cart_button::before,
.woocommerce ul.products li.product .add_to_cart_button::before,
.woocommerce .products .product .add_to_cart_button::before,
.abuda-btn-add-cart::before {
  display: none !important;
  content: none !important;
}

/* Iconos SVG dentro de los botones de la grilla */
.abuda-btn-icon {
  margin-right: 8px !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
  vertical-align: middle !important;
  stroke: currentColor !important;
  transition: transform 0.2s ease !important;
}

ul.products li.product a.abuda-grid-btn:hover .abuda-btn-icon,
.woocommerce .products .product .add_to_cart_button:hover .abuda-btn-icon {
  transform: scale(1.1) !important;
}

/* ==========================================================================
   UNIFICACIÓN DEL BLOQUE DE PRECIOS EN LA FICHA INDIVIDUAL DE PRODUCTO
   ========================================================================== */

/* 1. Ocultar el badge "Sale!" nativo de Porto en la página de producto individual */
.single-product .onsale:not(.abuda-discount-badge) {
  display: none !important;
}

/* 2. Contenedor del Badge de Descuento (Ubicado inmediatamente sobre el precio) */
.abuda-single-badge-wrap {
  margin-top: 5px !important;
  margin-bottom: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
}

/* 3. Badge de Descuento (Estilo idéntico a la grilla de la tienda) */
.abuda-single-badge-wrap .abuda-discount-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #d43d3f !important; /* Rojo Abuda #d43d3f */
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 0.75rem !important; /* Estilo fiel a la grilla */
  line-height: 1 !important;
  padding: 4px 8px !important;
  border-radius: 4px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  box-shadow: none !important;
}

/* 4. Bloque de Precios (Nivelación horizontal y flexbox) */
.single-product .summary .price,
.single-product div.product .price,
.single-product .product-summary-wrap .price,
.single-product .single_variation .price,
.single-product .single_variation_wrap .price,
.single-product .price,
.product-summary .price {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  margin-top: 0 !important;
  margin-bottom: 15px !important;
  text-align: left !important;
}

/* 5. Precio Actual en oferta (ins) primero -> A la izquierda */
.single-product .summary .price ins,
.single-product div.product .price ins,
.single-product .product-summary-wrap .price ins,
.single-product .single_variation .price ins,
.single-product .single_variation_wrap .price ins,
.single-product .price ins,
.product-summary .price ins {
  order: 1 !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  display: inline-block !important;
  background: transparent !important;
}

/* 6. Precio original tachado (del) inmediatamente a la derecha */
.single-product .summary .price del,
.single-product div.product .price del,
.single-product .product-summary-wrap .price del,
.single-product .single_variation .price del,
.single-product .single_variation_wrap .price del,
.single-product .price del,
.product-summary .price del {
  order: 2 !important;
  font-weight: 400 !important;
  opacity: 0.65 !important;
  text-decoration: line-through !important;
  display: inline-block !important;
}

/* ==========================================================================
   ABUDA – Corrección Responsiva Fila / Secciones WPBakery (Tablet y Móvil)
   ========================================================================== */
@media (min-width: 768px) and (max-width: 991px) {
  /* Prevenir desfasajes de imágenes en columnas en vista tablet */
  .vc_row .vc_column_container,
  .vc_row .vc_column-inner,
  .vc_row .wpb_single_image,
  .vc_row .vc_single_image-wrapper {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .vc_row .vc_single_image-wrapper img,
  .vc_row .wpb_single_image img {
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    display: block !important;
  }
}

@media (max-width: 767px) {
  .porto-ultimate-carousel .slick-slide,
  .porto-carousel-wrapper .slick-slide {
    text-align: center !important;
  }

  .porto-ultimate-carousel .vc_row.vc_inner.row,
  .porto-carousel-wrapper .vc_row.vc_inner.row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
  }

  .porto-ultimate-carousel .vc_column_container,
  .porto-ultimate-carousel .wpb_wrapper,
  .porto-ultimate-carousel .vc_column-inner,
  .porto-carousel-wrapper .vc_column_container,
  .porto-carousel-wrapper .wpb_wrapper,
  .porto-carousel-wrapper .vc_column-inner {
    text-align: center !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .porto-ultimate-carousel .wpb_single_image,
  .porto-ultimate-carousel .vc_single_image-wrapper,
  .porto-carousel-wrapper .wpb_single_image,
  .porto-carousel-wrapper .vc_single_image-wrapper {
    display: block !important;
    text-align: center !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
  }

  .porto-ultimate-carousel img.vc_single_image-img,
  .porto-carousel-wrapper img.vc_single_image-img,
  .porto-ultimate-carousel img,
  .porto-carousel-wrapper img {
    display: inline-block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
    max-width: 100% !important;
    height: auto !important;
  }

  .porto-ultimate-carousel .vc_custom_heading,
  .porto-ultimate-carousel .vc_custom_heading h1,
  .porto-ultimate-carousel .vc_custom_heading h2,
  .porto-ultimate-carousel .vc_custom_heading h3,
  .porto-ultimate-carousel .vc_custom_heading a,
  .porto-carousel-wrapper .vc_custom_heading,
  .porto-carousel-wrapper .vc_custom_heading h1,
  .porto-carousel-wrapper .vc_custom_heading a {
    display: block !important;
    text-align: center !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ============================================================
   ABUDA – Ajuste armónico de distancia entre carrusel de Envíos/Servicios y "¿Qué estás buscando?"
   ============================================================ */
.vc_custom_1786032934370,
div.vc_row.vc_custom_1786032934370,
.porto-carousel-wrapper,
.porto-ultimate-carousel {
  margin-bottom: 0px !important;
  padding-bottom: 0px !important;
}

.porto-carousel-wrapper .slick-slider,
.porto-ultimate-carousel .slick-slider {
  margin-bottom: 5px !important;
}

.porto-carousel-wrapper .slick-dots,
.porto-ultimate-carousel .slick-dots {
  position: relative !important;
  bottom: auto !important;
  margin-top: 6px !important;
  margin-bottom: 6px !important;
}

.porto-sicon-box.custom-services {
  margin-bottom: 0px !important;
  padding-bottom: 5px !important;
}

.vc_custom_1786032757923,
div.vc_row.vc_custom_1786032757923,
.vc_custom_1785978344448,
div.porto-u-heading.vc_custom_1785978344448 {
  margin-top: 15px !important;
  padding-top: 0px !important;
}

.porto-u-heading.vc_custom_1785978344448 {
  margin-top: 0px !important;
  margin-bottom: 15px !important;
}

/* ============================================================
   ABUDA STORE – Mega Menú Réplica Exacta Estilo Parfumerie (Desktop > 991px)
   ============================================================ */
@media (min-width: 992px) {
  /* Contenedor relativo principal */
  .header-wrapper .main-menu,
  #header .main-menu,
  .mega-menu {
    position: relative !important;
  }

  /* El elemento li con submenú se comporta como punto de referencia full width */
  .mega-menu > li.menu-item-has-children,
  .mega-menu > li.has-sub {
    position: static !important;
  }

  /* Panel desplegable desplegado de borde a borde del header */
  .mega-menu > li.menu-item-has-children > .popup,
  .mega-menu > li.has-sub > .popup {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    top: 100% !important;
    margin-top: 0 !important;
    background-color: #ffffff !important;
    border-radius: 0 !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.06) !important;
    border: none !important;
    border-top: 1px solid #eef0f2 !important;
    padding: 30px 40px 35px 40px !important;
    box-sizing: border-box !important;

    /* Animación limpia al hover */
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(4px) !important;
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease !important;
    pointer-events: none !important;
    z-index: 99999 !important;
  }

  /* Apertura al pasar el mouse por el ítem */
  .mega-menu > li.menu-item-has-children:hover > .popup,
  .mega-menu > li.has-sub:hover > .popup {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
  }

  /* Quitar estilos nativos de porto inner */
  .mega-menu .popup > .inner {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
  }

  /* Grilla de Columnas horizontales limpias */
  .mega-menu .popup ul.sub-menu,
  .mega-menu .popup ul.porto-narrow-sub-menu {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 40px 55px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Columna individual */
  .mega-menu .popup ul.sub-menu > li {
    flex: 0 0 auto !important;
    min-width: 170px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
  }

  /* Título de Columna (Nivel 2) - Estilo Parfumerie: Mayúsculas, Sans-serif limpia, Bold */
  .mega-menu .popup ul.sub-menu > li > a {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #111111 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    padding: 0 !important;
    margin-bottom: 14px !important;
    border: none !important;
    display: block !important;
    cursor: default !important;
    pointer-events: none !important;
    text-decoration: none !important;
    font-family: inherit !important;
  }

  /* Lista interna de subcategorías (Nivel 3) */
  .mega-menu .popup ul.sub-menu > li > ul.sub-menu {
    display: flex !important;
    flex-direction: column !important;
    gap: 9px !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .mega-menu .popup ul.sub-menu > li > ul.sub-menu > li {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  /* Enlaces de Subcategoría (Nivel 3 > A) - Estilo Parfumerie: Mayúsculas, Gris sutil, Limpio */
  .mega-menu .popup ul.sub-menu > li > ul.sub-menu > li > a {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #555555 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    padding: 2px 0 !important;
    display: block !important;
    transition: color 0.15s ease !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    text-decoration: none !important;
    font-family: inherit !important;
  }

  .mega-menu .popup ul.sub-menu > li > ul.sub-menu > li > a:hover {
    color: #000000 !important;
    transform: none !important;
  }
}

/* ==========================================================================
   ABUDA – Módulo de Promociones de Pago (Transferencia y Cuotas Sin Interés)
   ========================================================================== */

/* Asegurar que el contenedor .price sea flex wrap para que las promociones se posicionen abajo */
.price,
.single-product .summary .price,
.single-product div.product .price,
.product-details .price,
.product-loop .price,
ul.products li.product .price {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
}

/* Jerarquía de Precio Principal */
.single-product .summary .price,
.single-product p.price {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #111111 !important;
  margin-bottom: 8px !important;
  line-height: 1.2 !important;
}

/* Contenedor General de Beneficios: Forzar SIEMPRE ancho completo (100%) y orden al final (999) */
.abuda-promo-benefits {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  flex-basis: 100% !important;
  order: 999 !important;
  clear: both !important;
  gap: 6px !important;
  margin-top: 8px !important;
  margin-bottom: 14px !important;
  font-family: inherit !important;
  text-align: left !important;
}

/* Ficha individual de Producto Variable: Oculto por defecto en estado 'Desde $X' */
.abuda-promo-variable {
  display: none !important;
}

/* Mostrado únicamente cuando se selecciona una variante (.active) */
.abuda-promo-variable.active {
  display: flex !important;
}

/* En el Loop de la Tienda */
.abuda-promo-benefits.abuda-promo-loop {
  width: 100% !important;
  flex-basis: 100% !important;
  order: 999 !important;
  clear: both !important;
  margin-top: 4px !important;
  margin-bottom: 2px !important;
  gap: 3px !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

/* Línea de Promoción Individual */
.abuda-promo-line {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  color: #333333 !important;
}

.abuda-promo-loop .abuda-promo-line {
  font-size: 12px !important;
}

/* Iconos de Beneficios */
.abuda-promo-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #d43d3f !important; /* Rojo Abuda #d43d3f */
  flex-shrink: 0 !important;
}

.abuda-promo-icon svg {
  stroke: #d43d3f !important;
}

/* Texto y Montos Destacados */
.abuda-promo-text {
  font-weight: 400 !important;
}

.abuda-promo-text strong {
  font-weight: 700 !important;
  color: #d43d3f !important; /* Rojo Abuda #d43d3f */
}

/* Responsivo Móvil */
@media (max-width: 575px) {
  .single-product .summary .price {
    font-size: 22px !important;
  }

  .abuda-promo-line {
    font-size: 12px !important;
  }
}

/* Ocultar botones residuales de Vista Rápida / Quickview en productos de la grilla y simples */
ul.products li.product .quickview,
.woocommerce ul.products li.product .quickview,
ul.products li.product .porto-quickview,
.woocommerce ul.products li.product .porto-quickview,
li.product.product-type-simple .quickview,
li.product.product-type-simple .porto-quickview,
li.product.product-type-simple a.quickview,
.product-type-simple .quickview,
.product-type-simple .porto-quickview {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* ===== ABUDA – Alineación y Cercanía del Icono de Usuario ("Muñeco") y Carrito ===== */
/* 1. Resetear floats y forzar Flexbox en header-right y bloques contenedores */
.header-wrapper .header-right,
.header-main .header-right,
#header .header-right,
.porto-block .header-right,
.header-right .wpb_wrapper,
.header-right .vc_column-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 4px !important;
}

/* 2. Neutralizar floats, margenes y posiciones en TODOS los formatos de usuario y carrito */
.my-account,
a.my-account,
a[href*="my-account"],
a[href*="account"],
a[href*="cuenta"],
.header-icon,
a.header-icon,
.porto-icon-user,
i.porto-icon-user,
i.fa-user,
#mini-cart,
.mini-cart,
.cart-toggle,
a.cart-toggle {
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  align-self: center !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  position: relative !important;
  top: 0 !important;
  line-height: 1 !important;
  vertical-align: middle !important;
}

/* 3. Iconos internos SVG o de fuente */
.my-account i,
.my-account svg,
.my-account:before,
a[href*="account"] i,
a[href*="account"] svg,
a[href*="my-account"] i,
a[href*="my-account"] svg,
.porto-icon-user,
#mini-cart i,
#mini-cart svg,
.mini-cart i,
.mini-cart svg,
.cart-toggle i,
.cart-toggle svg {
  display: inline-flex !important;
  align-items: center !important;
  vertical-align: middle !important;
  line-height: 1 !important;
}

/* 4. Mover el muñeco hacia la derecha (más cerca del carrito) y nivelar verticalmente */
a[href*="my-account"],
a[href*="account"],
a[href*="cuenta"],
.my-account,
.porto-icon-user {
  transform: translateY(2px) translateX(12px) !important;
}

/* ===== ABUDA – Centrado del Logo entre el Inicio de la Línea Blanca y el Buscador ===== */
.header-left,
#header .header-left,
.header-main .header-left,
#header .header-main .logo,
#header .logo,
.logo,
.logo a,
.logo img {
  transform: translateX(11.5px) !important;
}

/* ==========================================================================
   ABUDA – Alineación Exclusiva para Tarjetas de Productos Vinculados
   ========================================================================== */

/* 1. Carrusel estirado a la misma altura (Equal Height en Owl Carousel) */
.related.products .owl-stage,
.upsells.products .owl-stage,
.cross-sells .owl-stage,
.linked-products .owl-stage,
.product-linked .owl-stage,
.porto-related-products .owl-stage,
.single-product .related .owl-stage,
.single-product .upsells .owl-stage {
  display: flex !important;
  align-items: stretch !important;
}

.related.products .owl-item,
.upsells.products .owl-item,
.cross-sells .owl-item,
.linked-products .owl-item,
.product-linked .owl-item,
.porto-related-products .owl-item,
.single-product .related .owl-item,
.single-product .upsells .owl-item {
  display: flex !important;
  height: auto !important;
  align-items: stretch !important;
}

/* 2. Tarjetas y contenido en flex vertical 100% de altura */
.related.products .product-col,
.related.products .product,
.upsells.products .product-col,
.upsells.products .product,
.cross-sells .product-col,
.cross-sells .product,
.linked-products .product-col,
.product-linked .product-col,
.porto-related-products .product-col,
.single-product .related .product-col,
.single-product .upsells .product-col {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 100% !important;
  height: 100% !important;
  width: 100% !important;
}

.related.products .product-inner,
.upsells.products .product-inner,
.cross-sells .product-inner,
.linked-products .product-inner,
.product-linked .product-inner,
.porto-related-products .product-inner,
.single-product .related .product-inner,
.single-product .upsells .product-inner {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 100% !important;
  height: 100% !important;
  width: 100% !important;
}

.related.products .product-content,
.upsells.products .product-content,
.cross-sells .product-content,
.linked-products .product-content,
.product-linked .product-content,
.porto-related-products .product-content,
.single-product .related .product-content,
.single-product .upsells .product-content {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 100% !important;
  height: 100% !important;
  width: 100% !important;
}

/* 3. Bloque superior del título (.product-details-top) homologado a 44px en Vinculados */
.related.products .product-details-top,
.upsells.products .product-details-top,
.cross-sells .product-details-top,
.linked-products .product-details-top,
.product-linked .product-details-top,
.porto-related-products .product-details-top,
.single-product .related .product-details-top,
.single-product .upsells .product-details-top {
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  margin-bottom: 6px !important;
  overflow: hidden !important;
}

/* 4. Enlace y H3 del título dentro de vinculados */
.related.products .product-loop-title,
.related.products a.product-loop-title,
.upsells.products .product-loop-title,
.upsells.products a.product-loop-title,
.cross-sells .product-loop-title,
.cross-sells a.product-loop-title,
.linked-products .product-loop-title,
.product-linked .product-loop-title,
.porto-related-products .product-loop-title,
.single-product .related .product-loop-title,
.single-product .related a.product-loop-title,
.single-product .upsells .product-loop-title,
.single-product .upsells a.product-loop-title {
  display: block !important;
  width: 100% !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  overflow: hidden !important;
}

.related.products .woocommerce-loop-product__title,
.related.products h3,
.upsells.products .woocommerce-loop-product__title,
.upsells.products h3,
.cross-sells .woocommerce-loop-product__title,
.cross-sells h3,
.linked-products .woocommerce-loop-product__title,
.product-linked .woocommerce-loop-product__title,
.porto-related-products .woocommerce-loop-product__title,
.single-product .related .woocommerce-loop-product__title,
.single-product .related h3,
.single-product .upsells .woocommerce-loop-product__title,
.single-product .upsells h3 {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: normal !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  line-height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  word-wrap: break-word !important;
  text-align: left !important;
}

/* 5. Zona inferior (.product-details-bottom), promociones y botón anclado abajo */
.related.products .product-details-bottom,
.upsells.products .product-details-bottom,
.cross-sells .product-details-bottom,
.linked-products .product-details-bottom,
.product-linked .product-details-bottom,
.porto-related-products .product-details-bottom,
.single-product .related .product-details-bottom,
.single-product .upsells .product-details-bottom {
  margin-top: auto !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}

.related.products .abuda-promo-benefits,
.upsells.products .abuda-promo-benefits,
.cross-sells .abuda-promo-benefits,
.linked-products .abuda-promo-benefits,
.product-linked .abuda-promo-benefits,
.porto-related-products .abuda-promo-benefits,
.single-product .related .abuda-promo-benefits,
.single-product .upsells .abuda-promo-benefits {
  min-height: 48px !important;
  margin-top: 4px !important;
  margin-bottom: 6px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

.related.products .add-links-wrap,
.upsells.products .add-links-wrap,
.cross-sells .add-links-wrap,
.linked-products .add-links-wrap,
.product-linked .add-links-wrap,
.porto-related-products .add-links-wrap,
.single-product .related .add-links-wrap,
.single-product .upsells .add-links-wrap {
  margin-top: auto !important;
  padding-top: 8px !important;
  width: 100% !important;
  display: block !important;
}








/* ==========================================================================
   Alineación EXCLUSIVA para el Bloque de Productos Relacionados
   ========================================================================== */

/* 1. Diapositivas/Contenedores de Productos Relacionados (Flexbox igual altura) */
.single-product .related.products .owl-stage,
.porto-related-products .owl-stage,
.related.products .owl-stage {
  display: flex !important;
}

.single-product .related.products .owl-item,
.porto-related-products .owl-item,
.related.products .owl-item {
  display: flex !important;
  height: auto !important;
}

.single-product .related.products .owl-item > div,
.porto-related-products .owl-item > div,
.related.products .owl-item > div,
.single-product .related.products .product,
.porto-related-products .product,
.related.products .product,
.single-product .related.products .product-col,
.porto-related-products .product-col,
.related.products .product-col {
  height: 100% !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

/* 2. Estructura interna de Productos Relacionados */
.single-product .related.products .product-inner,
.porto-related-products .product-inner,
.related.products .product-inner {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  height: 100% !important;
}

.single-product .related.products .product-content,
.porto-related-products .product-content,
.related.products .product-content {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  height: 100% !important;
}

/* 3. Título de Productos Relacionados (estandarizado a 2 líneas para alinear precios) */
.single-product .related.products .woocommerce-loop-product__title,
.porto-related-products .woocommerce-loop-product__title,
.related.products .woocommerce-loop-product__title,
.single-product .related.products .product-loop-title,
.porto-related-products .product-loop-title,
.related.products .product-loop-title {
  min-height: 2.8em !important;
  line-height: 1.4 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  margin-bottom: 8px !important;
}

/* 4. Botón CTA ("VER OPCIONES") alineado al pie de la tarjeta únicamente en Productos Relacionados */
.single-product .related.products .add-links-wrap,
.porto-related-products .add-links-wrap,
.related.products .add-links-wrap,
.single-product .related.products .product-details-bottom,
.porto-related-products .product-details-bottom,
.related.products .product-details-bottom {
  margin-top: auto !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  padding-top: 10px !important;
}

.single-product .related.products .add-links-wrap .button,
.porto-related-products .add-links-wrap .button,
.related.products .add-links-wrap .button,
.single-product .related.products .add-links a.button,
.porto-related-products .add-links a.button,
.related.products .add-links a.button {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

/* 5. Ocultar íconos de favoritos (Corazón) de las tarjetas */
.abuda-wishlist-wrap,
.abuda-wishlist-btn,
.yith-wcwl-add-to-wishlist,
.add-links .wishlist,
.wishlist-button,
a.add_to_wishlist,
.woosw-btn,
.grid-product-actions .wishlist,
.product-image .abuda-wishlist-wrap {
  display: none !important;
}


