/*
Theme Name:     Zilly Child Theme
Template:       zilly
Theme URI:      http://radiustheme.com/demo/wordpress/themes/zilly
Author:         RadiusTheme
Author URI:     http://radiustheme.com
Description:    Zilly is an Responsive Grocery Store WooCommerce WordPress Theme.
Version:        1.0
Text Domain:    zilly
Tags: 			theme-options, featured-images, post-formats, one-column, two-columns, right-sidebar, custom-background, custom-header, editor-style, sticky-post, threaded-comments, translation-ready
License:   	  	Envato split License
License URI:  	https://themeforest.net/licenses/terms/regular
*/

/* =============================================
   BENEFIT ICONS BAR — desktop
   ============================================= */

/* 1. Contenedor flex (d21e1b5): cada widget arranca desde arriba */
.elementor-element-d21e1b5.e-con {
  align-items: flex-start !important;
}
.elementor-element-d21e1b5 > .elementor-element {
  align-self: flex-start !important;
}

/* 2. Cada info-box: fila con icono+texto alineados arriba */
.elementor-element-d21e1b5 .rt-info-style1 .rt-info-item {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  column-gap: 14px !important;
}

/* 3. Bloque del ícono: sin márgenes extra, arriba */
.elementor-element-d21e1b5 .rt-info-item .rt-media {
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

/* 4. El ícono en sí: tamaño y línea controlada */
.elementor-element-d21e1b5 .rt-info-item .rt-icon {
  display: block !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-element-d21e1b5 .rt-info-item .rt-icon i {
  display: block !important;
  line-height: 1 !important;
  vertical-align: top !important;
}

/* 5. Texto: sin margen superior */
.elementor-element-d21e1b5 .rt-info-item .rt-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.elementor-element-d21e1b5 .rt-info-item .rt-title {
  margin-top: 0 !important;
  padding-top: 0 !important;
  line-height: 1.3 !important;
}

/* =============================================
   BENEFIT ICONS BAR — mobile
   ============================================= */
@media (max-width: 767px) {
  .elementor-element-d21e1b5 {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: 8px !important;
    padding: 12px 16px !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
  }
  .elementor-element-d21e1b5 > .elementor-element {
    min-width: 110px !important;
    max-width: 130px !important;
    flex-shrink: 0 !important;
    scroll-snap-align: start;
  }
  .elementor-element-d21e1b5 .rt-info-item {
    flex-direction: column !important;
    text-align: center !important;
    gap: 4px !important;
  }
  .elementor-element-d21e1b5 .rt-media {
    margin: 0 auto !important;
  }
  .elementor-element-d21e1b5 .rt-icon i {
    font-size: 28px !important;
  }
  .elementor-element-d21e1b5 .rt-title {
    font-size: 11px !important;
    line-height: 1.3 !important;
    margin: 0 !important;
  }
  .elementor-element-d21e1b5 .rt-text {
    font-size: 9px !important;
    line-height: 1.2 !important;
  }
  .elementor-element-da9097d {
    padding: 0 !important;
  }
}

/* =============================================
   OTROS FIXES
   ============================================= */

/* Fix preloader */
#preloader { display: none !important; }

/* Logo air */
.header-menu .menu-full-wrap .site-branding {
  margin-left: 70px !important;
}
.header-menu .menu-full-wrap .site-branding a img,
.site-header .site-branding a img {
  max-width: 141px !important;
}
@media (max-width: 992px) {
  .header-menu .menu-full-wrap .site-branding {
    margin-left: 20px !important;
  }
}

/* Banner derecho: Stockeate - título blanco */
.elementor-element-0ebdf65 .rt-hero-banner .entry-title {
  color: #FFFFFF !important;
}

/* Ad banner Tendencia */
.elementor-element-d5c37d9 .rt-image img {
  object-fit: cover !important;
  height: 418px !important;
  width: 100% !important;
}
/* Banner Más Vendidos: retrato, misma altura que Destacados */
.elementor-element-mvbanner1 .rt-image img {
  object-fit: cover !important;
  width: 100% !important;
  height: 418px !important;
  display: block !important;
}

/* Dropdown categorías: íconos más grandes */
.cat-img-link .rt-img img,
.cat-img-link .rt-img svg {
  width: 107px !important;
  height: 103px !important;
}

.menu-product-category ul li img {
  max-width: 40px !important;
  max-height: 40px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

/* Categorías dropdown: nombre en una línea */
.menu-product-category ul li a {
  white-space: nowrap !important;
}

/* Categorías slider home: nombre no se corta */
.rt-woo-category .cat-title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Más Vendidos: botón mismo tamaño que antes, texto en una sola línea */
.elementor-element-mv015f79 .rtsb-cart .rtsb-action-btn {
  white-space: nowrap !important;
}
/* Más Vendidos: slider misma altura que el banner retrato */
.elementor-element-mvright1 {
  min-height: 418px !important;
  align-content: center;
}

/* Todos los sliders: botón carrito en una línea */
.elementor-element-1f3122c .rtsb-cart .rtsb-action-btn,
.elementor-element-06855e6 .rtsb-cart .rtsb-action-btn {
  white-space: nowrap !important;
}

/* Columnas de sliders: no estirar al alto del banner */
.elementor-element-3cf85f1,
.elementor-element-mvright1,
.elementor-element-b2a6e53 {
  align-self: flex-start !important;
  height: auto !important;
}
/* Cards no se estiran */
.elementor-element-1f3122c .swiper-slide,
.elementor-element-mv015f79 .swiper-slide,
.elementor-element-06855e6 .swiper-slide {
  height: auto !important;
}
.elementor-element-1f3122c .swiper-wrapper,
.elementor-element-mv015f79 .swiper-wrapper,
.elementor-element-06855e6 .swiper-wrapper {
  align-items: flex-start !important;
}

/* Fix directo: columnas slider no se estiran al alto del banner */
.elementor-element-3cf85f1,
.elementor-element-b2a6e53 {
  height: auto !important;
  align-self: flex-start !important;
}
/* Cards no estiran al alto del contenedor */
.elementor-element-3cf85f1 .swiper-slide,
.elementor-element-b2a6e53 .swiper-slide {
  height: auto !important;
  align-self: flex-start !important;
}

/* Oferta de la Semana: botón visible sin depender de .rtsb-product ancestor */
.elementor-element-123913f .rtsb-action-buttons.horizontal-floating-btn.after-content,
.elementor-element-4ff94c4 .rtsb-action-buttons.horizontal-floating-btn.after-content {
  opacity: 1 !important;
  visibility: visible !important;
  position: static !important;
  transform: none !important;
  margin-top: 12px !important;
  padding: 0 !important;
}

/* Cards Destacados: swiper-wrapper altura auto para romper herencia del banner */
.elementor-element-1f3122c .swiper-wrapper,
.elementor-element-mv015f79 .swiper-wrapper,
.elementor-element-06855e6 .swiper-wrapper {
  height: auto !important;
  align-items: flex-start !important;
}
/* Producto content: anular min-height de Elementor inline */
.elementor-element-1f3122c .rtsb-product-content,
.elementor-element-mv015f79 .rtsb-product-content,
.elementor-element-06855e6 .rtsb-product-content {
  min-height: unset !important;
}

/* ===================================================
   OFERTA DE LA SEMANA — layout4 y layout5
   Wishlist arriba a la derecha, botón carrito full
   (igual que sliders layout1)
   =================================================== */

/* Estilo del botón add-to-cart en .rtsb-buttons-area para layout4 y layout5 */
.rtsb-zilly-grid-layout4 .rtsb-buttons-area .rtsb-cart .rtsb-action-btn,
.rtsb-zilly-grid-layout5 .rtsb-buttons-area .rtsb-cart .rtsb-action-btn {
    display: flex;
    align-items: center;
    column-gap: 10px;
    border-radius: 50px;
    padding: 10px 18px;
    height: auto;
    width: auto;
    font-size: 14px;
    font-weight: 500;
}
.rtsb-zilly-grid-layout4 .rtsb-buttons-area,
.rtsb-zilly-grid-layout5 .rtsb-buttons-area {
    margin-top: 12px;
}

/* Íconos de wishlist/compare/quickview arriba a la derecha */
.rtsb-zilly-grid-layout4 .rtsb-action-buttons.top-part.preset6,
.rtsb-zilly-grid-layout5 .rtsb-action-buttons.top-part.preset6 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}
.rtsb-zilly-grid-layout4 .rtsb-shop-meta .rtsb-action-btn,
.rtsb-zilly-grid-layout5 .rtsb-shop-meta .rtsb-action-btn {
    background-color: transparent;
    color: var(--zilly-body-color);
    padding: 5px;
    width: auto;
    height: auto;
}
.rtsb-zilly-grid-layout4 .rtsb-shop-meta .rtsb-action-btn:hover,
.rtsb-zilly-grid-layout5 .rtsb-shop-meta .rtsb-action-btn:hover {
    color: var(--zilly-primary-color);
}

/* Fix color botón carrito layout4/5 — igual que slider-layout1 */
.rtsb-zilly-grid-layout4 .rtsb-item-default .rtsb-buttons-area .rtsb-action-btn,
.rtsb-zilly-grid-layout5 .rtsb-item-default .rtsb-buttons-area .rtsb-action-btn {
    color: var(--zilly-primary-color);
    background: var(--zilly-light-color);
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 8px;
    border-radius: 50px;
    padding: 10px 18px;
    height: auto;
    width: 100%;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.21s ease-in-out;
}
.rtsb-zilly-grid-layout4 .rtsb-item-default .rtsb-buttons-area .rtsb-action-btn:hover,
.rtsb-zilly-grid-layout5 .rtsb-item-default .rtsb-buttons-area .rtsb-action-btn:hover {
    background-color: var(--zilly-primary-color);
    color: var(--zilly-white-color);
}

/* Forzar texto del botón visible en layout4/5 (override no-cart-text) */
.rtsb-zilly-grid-layout4 .rtsb-buttons-area .rtsb-action-btn .text,
.rtsb-zilly-grid-layout5 .rtsb-buttons-area .rtsb-action-btn .text {
    display: inline-block !important;
    visibility: visible !important;
}

/* Override forzado — botón carrito layout4/5 */
.rtsb-zilly-grid-layout4 .rtsb-buttons-area .rtsb-action-btn,
.rtsb-zilly-grid-layout4 .rtsb-buttons-area .rtsb-action-btn:not(:hover),
.rtsb-zilly-grid-layout5 .rtsb-buttons-area .rtsb-action-btn,
.rtsb-zilly-grid-layout5 .rtsb-buttons-area .rtsb-action-btn:not(:hover) {
    background-color: var(--zilly-light-color, #f0f8f4) !important;
    color: var(--zilly-primary-color, #1B8057) !important;
    border: 1px solid transparent !important;
}
.rtsb-zilly-grid-layout4 .rtsb-buttons-area .rtsb-action-btn:hover,
.rtsb-zilly-grid-layout5 .rtsb-buttons-area .rtsb-action-btn:hover {
    background-color: var(--zilly-primary-color, #1B8057) !important;
    color: #fff !important;
}
/* Mostrar texto aunque container tenga no-cart-text */
.rtsb-zilly-grid-layout4 .rtsb-buttons-area .rtsb-action-btn .text,
.rtsb-zilly-grid-layout5 .rtsb-buttons-area .rtsb-action-btn .text {
    display: inline-block !important;
    margin-left: 6px !important;
}

/* =====================================================
   OFERTA DE LA SEMANA — botón igual al slider-layout1
   ===================================================== */

/* Color base: primario sobre light-color (igual que slider) */
.rtsb-zilly-grid-layout4 .rtsb-item-default .rtsb-action-btn,
.rtsb-zilly-grid-layout5 .rtsb-item-default .rtsb-action-btn {
    color: var(--zilly-primary-color) !important;
    background: var(--zilly-light-color) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}
.rtsb-zilly-grid-layout4 .rtsb-item-default .rtsb-action-btn:hover,
.rtsb-zilly-grid-layout5 .rtsb-item-default .rtsb-action-btn:hover {
    background-color: var(--zilly-primary-color) !important;
    color: var(--zilly-white-color) !important;
}

/* Forma pill del botón carrito (igual que .rtsb-zilly-slider-layout1 .rtsb-cart .rtsb-action-btn) */
.rtsb-zilly-grid-layout4 .rtsb-buttons-area .rtsb-cart .rtsb-action-btn,
.rtsb-zilly-grid-layout5 .rtsb-buttons-area .rtsb-cart .rtsb-action-btn {
    display: flex !important;
    align-items: center !important;
    column-gap: 10px !important;
    border-radius: 50px !important;
    padding: 10px 18px !important;
    height: auto !important;
    width: auto !important;
}

/* Wishlist/compare/quickview en top-part: sin fondo, ícono en primary-color */
.rtsb-zilly-grid-layout4 .rtsb-shop-meta .rtsb-action-btn,
.rtsb-zilly-grid-layout5 .rtsb-shop-meta .rtsb-action-btn {
    background: transparent !important;
    box-shadow: none !important;
    color: var(--zilly-meta-color) !important;
    width: auto !important;
    height: auto !important;
    padding: 4px !important;
}
.rtsb-zilly-grid-layout4 .rtsb-shop-meta .rtsb-action-btn:hover,
.rtsb-zilly-grid-layout5 .rtsb-shop-meta .rtsb-action-btn:hover {
    color: var(--zilly-primary-color) !important;
    background: transparent !important;
}

/* Fix: evitar que el texto del botón se parta en dos líneas */
.rtsb-zilly-grid-layout4 .rtsb-buttons-area .rtsb-cart .rtsb-action-btn,
.rtsb-zilly-grid-layout5 .rtsb-buttons-area .rtsb-cart .rtsb-action-btn {
    white-space: nowrap !important;
}

/* Fix: Instagram icon vertical alignment in footer social icons */
.fa-instagram {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
}

/* Fix: Instagram icon vertical alignment in footer */
.footer-social li a .fa-instagram,
.tophead-social li a .fa-instagram {
    position: relative;
    top: 1px;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
}

.footer-social li:nth-child(5) {
    margin-left: 10px !important;
}

/* Checkout: link cupón en azul */
.woocommerce-form-coupon-toggle .showcoupon,
.woocommerce-info .showcoupon {
    color: #1a73e8 !important;
    text-decoration: underline !important;
}
/* Checkout: ocultar campo Población */
#billing_city_field,
.wc-block-components-address-form__city {
    display: none !important;
}

/* Ocultar campo ciudad en Blocks Checkout */
.wc-block-components-address-form .wc-block-components-address-form__city,
.wc-block-checkout__billing-fields .wc-block-components-address-form__city,
#billing-city,
.wc-block-components-address-form__city {
    display: none !important;
}

/* ── Fix: layout5 (6 cards pequeñas Oferta de la Semana) — botón muy alto pisa la foto */
.rtsb-zilly-grid-layout5 .rtsb-buttons-area .rtsb-cart .rtsb-action-btn,
.rtsb-zilly-grid-layout5 .rtsb-item-default .rtsb-buttons-area .rtsb-action-btn,
.rtsb-zilly-grid-layout5 .rtsb-buttons-area .rtsb-action-btn,
.rtsb-zilly-grid-layout5 .rtsb-buttons-area .rtsb-action-btn:not(:hover) {
    padding: 6px 12px !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    column-gap: 6px !important;
}
.rtsb-zilly-grid-layout5 .rtsb-buttons-area {
    margin-top: 6px !important;
}

/* Fix layout5: más aire alrededor de la imagen del producto */
.rtsb-zilly-grid-layout5 .rtsb-product-img {
    margin-bottom: 10px !important;
}
.rtsb-zilly-grid-layout5 .rtsb-item-default {
    padding: 10px !important;
}

/* Ocultar toast "Product Added" del ShopBuilder */
#toast-container,
.toast-container {
    display: none !important;
}

/* ── Fix: texto botón carrito tras agregar (el truco ::after no lo actualiza el JS) */
.rtsb-add-to-cart-btn.success .text::after,
.rtsb-add-to-cart-btn.success .text:after {
    content: "Ya en el carrito" !important;
}

/* ── Fix: más margen/aire alrededor de la imagen en cards layout5 */
.rtsb-zilly-grid-layout5 .rtsb-product-img {
    margin-bottom: 8px !important;
    margin-top: 4px !important;
}
.rtsb-zilly-grid-layout5 .rtsb-item-default {
    padding: 12px !important;
    display: flex !important;
    flex-direction: column !important;
}

/* ── Fix: layout5 — categoría/wishlist flotan sobre la card (no empujan la imagen) */
.rtsb-zilly-grid-layout5 .rtsb-item-default {
    position: relative !important;
}
.rtsb-zilly-grid-layout5 .rtsb-cat-meta-wrap.top-part {
    position: absolute !important;
    top: 8px !important;
    left: 8px !important;
    right: 8px !important;
    width: auto !important;
    margin: 0 !important;
    z-index: 2 !important;
}
/* Más espacio para la imagen (dejar pasar la etiqueta flotante) */
.rtsb-zilly-grid-layout5 .rtsb-product-img {
    margin-top: 32px !important;
    margin-bottom: 8px !important;
}

/* ════════════════════════════════════════════════════════════
   OFERTA DE LA SEMANA — LAYOUT EQUILIBRADO
   6 cards derecha = altura de 1 card grande izquierda
   ════════════════════════════════════════════════════════════ */

/* 1. Columnas se estiran para igualar altura */
.elementor-element-1a24db4 > .e-con-inner {
    align-items: stretch !important;
}
.elementor-element-f09b4b3,
.elementor-element-7f5f7f3 {
    align-self: stretch !important;
    height: 100% !important;
}

/* 2. Card grande izquierda: llenar su columna */
.elementor-element-f09b4b3 .rtsb-elementor-container,
.elementor-element-f09b4b3 .rtsb-row,
.elementor-element-f09b4b3 .rtsb-col-grid,
.elementor-element-123913f,
.elementor-element-123913f .rtsb-elementor-container,
.elementor-element-123913f .rtsb-row,
.elementor-element-123913f .rtsb-col-grid {
    height: 100% !important;
}
.elementor-element-123913f .rtsb-item-default {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}
.elementor-element-123913f .rtsb-product-img {
    flex: 1 1 auto !important;
    overflow: hidden !important;
    min-height: 0 !important;
}
.elementor-element-123913f .rtsb-product-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}

/* 3. Columna derecha y widget layout5: llenar columna */
.elementor-element-7f5f7f3,
.elementor-element-4ff94c4 {
    height: 100% !important;
}
.elementor-element-4ff94c4 .rtsb-elementor-container,
.elementor-element-4ff94c4 .rtsb-elementor-container .rtsb-row {
    height: 100% !important;
}

/* 4. Grid 3x2 con filas iguales (cada fila = 50% de la altura total) */
.elementor-element-4ff94c4 .rtsb-elementor-container .rtsb-row {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    grid-template-rows: 1fr 1fr !important;
    flex-wrap: unset !important;
    gap: 8px !important;
}
.elementor-element-4ff94c4 .rtsb-col-grid {
    height: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 5. Cada card pequeño: flex column, imagen ocupa espacio disponible */
.elementor-element-4ff94c4 .rtsb-item-default {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 10px !important;
}
.elementor-element-4ff94c4 .rtsb-product-img {
    flex: 1 1 auto !important;
    overflow: hidden !important;
    min-height: 0 !important;
    margin: 0 0 6px 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.elementor-element-4ff94c4 .rtsb-product-img img {
    max-height: 100% !important;
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}
.elementor-element-4ff94c4 .rtsb-product-content,
.elementor-element-4ff94c4 .rtsb-buttons-area {
    flex-shrink: 0 !important;
}


/* ── Títulos banners hero — Inter como el resto de la web */
.elementor-element-033d876 .rt-hero-banner .entry-title,
.elementor-element-35f382c .rt-hero-banner .entry-title,
.elementor-element-56db0b4 .rt-hero-banner .entry-title {
    font-family: Inter, sans-serif !important;
    font-style: normal !important;
    font-weight: 700 !important;
}

/* === Botón ya en carrito — tienda/WC estándar === */
.add_to_cart_button.added span,
.add_to_cart_button.matu-in-cart span {
    /* texto cambiado por JS a "Ya en el carrito" */
}
.add_to_cart_button.added,
.add_to_cart_button.matu-in-cart {
    opacity: 0.85;
    pointer-events: auto;
}

