/*
Theme Name: Fitmeal Child
Theme URI: http://fitmeal.like-themes.com/
Template: fitmeal
Author: Like Themes
Author URI: http://like-themes.com/
Description: Fitmeal is a WordPress theme, created for health food delivery and shops. It has several professional design homepages, creative headers animations, Premium WPBakery Page Builder, and WooCommerce ready. Also the theme has color picker in customizer menu for changing all site colors to create unique color solution.
Tags: four-columns,right-sidebar,left-sidebar,full-width-template
Version: 1.2.6.1774870651
Updated: 2026-03-30 13:37:31

*/
/*********************************
  INNOTU
*********************************/

@media(max-width: 500px) {
  .zs-enabled.zoom-margin-top {
    padding-top: 60px;
  }
}
.product_cat-primeros_platos .entry-content,
.product_cat-segundos .entry-content,
.product_cat-postres .entry-content,
.product_cat-carne .entry-content,
.product_cat-pescado .entry-content {
  display: none;
}

/* pages */
body:not(.home) .margin-default {
  padding-top: 150px;
}

/* header */
.xoo-wsc-cart-trigger .xoo-wsc-icon-bag2 {
    color: #ffffff;
}
.xoo-wsc-cart-trigger .xoo-wsc-sc-count {
    background-color: #f09f23;
    width: 21px;
    height: 21px;
    line-height: 21px;
    right: -10px;
}
.ltx-navbar-icons .ltx-nav-profile a span {
    font-size: 24px;
}
.xoo-wsc-cart-trigger .xoo-wsc-sc-bki {
    font-size: 25px;
}
.ltx-navbar-icons .ltx-nav-profile a span {
    top: 0;
}
#nav-wrapper.navbar-layout-transparent nav.navbar.dark #navbar.navbar-desktop ul.navbar-nav > li > a,
#nav-wrapper.navbar-layout-transparent nav.navbar.dark #navbar.navbar-desktop ul.navbar-nav > li > a,
#nav-wrapper.navbar-layout-transparent .dark .ltx-nav-profile a span,
#nav-wrapper.navbar-layout-transparent .dark .xoo-wsc-icon-bag2 {
  color: #292d35 !important;
}
body:not(.home) .navbar.affix-top #navbar.navbar-desktop ul.navbar-nav > li > a,
body:not(.home) .navbar.affix-top #navbar.navbar-desktop ul.navbar-nav > li > a,
body:not(.home) .affix-top .ltx-nav-profile a span,
body:not(.home) .affix-top .xoo-wsc-icon-bag2 {
  color: #292d35 !important;
}
body:not(.home) .navbar.affix-top {
  background-color: #ffffff;
}
.transparent #nav-wrapper.navbar-layout-transparent nav.navbar.dark {
  background-color: #ffffff !important;
}
.ltx-navbar-icons li {
    margin-left: 20px;
}

/* home - intro */
@media (min-width: 992px) {
    .btn-wrap.btn-wrap-inline {
        margin-right: 20px;
    }
}

/* home - como funciona */
.ltx-block-icon.ltx-icon-top.layout-cols3 li:not(:last-child) .in:after {
  content: "";
  right: -55px;
  top: 50px;
  border-top: 2px solid rgba(0, 0, 0, 0.08);
  width: 80px;
  position: absolute;
}

/* home - productos */
.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img,
.woocommerce ul.products[class*="columns-"] li.product img,
.woocommerce-page[class*="columns-"] ul.products li.product img {
    border-radius: 0;
}
.woocommerce div.quantity,
.woocommerce div.product form.cart div.quantity,
.woocommerce-page div.product form.cart div.quantity {
    margin: 0;
    display: inline-block !important;
}
.woocommerce ul.products li.product > .item,
.woocommerce-page ul.products li.product > .item,
.woocommerce ul.products[class*="columns-"] li.product > .item,
.woocommerce-page[class*="columns-"] ul.products li.product > .item {
    padding: 0;
}
.woocommerce ul.products li.product > .item .ltx-item-descr {
  padding: 0 20px 20px 20px;
}
.woocommerce ul.products li.product > .item,
.woocommerce-page ul.products li.product > .item,
.woocommerce ul.products[class*="columns-"] li.product > .item,
.woocommerce-page[class*="columns-"] ul.products li.product > .item {
    text-align: left;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products[class*="columns-"] li.product .woocommerce-loop-product__title,
.woocommerce-page[class*="columns-"] ul.products li.product .woocommerce-loop-product__title {
    display: block;
    font-size: 18px;
}
.woocommerce ul.products li.product > .item .ltx-item-descr {
    flex: 1;
    display: flex;
    flex-direction: column;
}
.woocommerce form.cart {
    margin-top: auto;
}
.woocommerce ul.products li.product .add_to_cart_button {
    margin-top: 0 !important;
}
.woocommerce .product .quantity {
    margin-bottom: 0;
}
.woocommerce div.quantity,
.woocommerce div.product form.cart div.quantity,
.woocommerce-page div.product form.cart div.quantity {
    height: 38px;
    width: 80px;
    margin-right: 5px !important;
    flex-shrink: 0;
}
.single-product.woocommerce div.quantity,
.single-product.woocommerce div.product form.cart div.quantity,
.single-product.woocommerce-page div.product form.cart div.quantity {
    height: 45px;
    width: 100px;
    margin-right: 7px !important;
}
.woocommerce div.quantity span.more:before,
.woocommerce div.product form.cart div.quantity span.more:before,
.woocommerce-page div.product form.cart div.quantity span.more:before {
    font-size: 14px;
}
.woocommerce div.quantity span.less:before,
.woocommerce div.product form.cart div.quantity span.less:before,
.woocommerce-page div.product form.cart div.quantity span.less:before {
    font-size: 14px;
}
.woocommerce form.cart {
    display: flex;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price {
    color: var(--main);
}
.woocommerce .item .button.btn-second,
.woocommerce .item input[type="button"].btn-second,
.woocommerce .item input[type="submit"].btn-second,
.woocommerce .item .btn.btn-second {
    background-color: var(--main);
}
.woocommerce ul.products li.product > .item,
.woocommerce-page ul.products li.product > .item,
.woocommerce ul.products[class*="columns-"] li.product > .item,
.woocommerce-page[class*="columns-"] ul.products li.product > .item {
    border-radius: 6px;
}
.woocommerce .item .ltx-btn-wrap {
  flex-grow: 1;
}
.woocommerce .item .button.btn-xs,
.woocommerce .item input[type="button"].btn-xs,
.woocommerce .item input[type="submit"].btn-xs,
.woocommerce .item .btn.btn-xs {
  min-width: 100%;
  height: 36px;
  padding: 0;
}
.woocommerce button[name="update_cart"], 
.woocommerce input[name="update_cart"] {
    display: none;
}
.woocommerce ul.products li.product img:hover, .woocommerce-page ul.products li.product img:hover, .woocommerce ul.products[class*="columns-"] li.product img:hover, .woocommerce-page[class*="columns-"] ul.products li.product img:hover {
    -webkit-transform: none;
    -moz-transform: none;
    -ms-transform: none;
    -o-transform: none;
    transform: none;
}

/* shop - pag. carta */
.woocommerce .woocommerce-result-count {
  padding-left: 0;
}
.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-ordering {
    padding: 0;
}
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background-color: var(--main);
  min-width: 100%;
  height: 36px;
  padding: 0;
}
.cart .confirm_add {
  display: none;
}

/* footer */
.footer-widget-area .logo {
  max-width: 300px;
}

/* pag. producto */
.single-product .ltx-content-wrapper {
  background-color: var(--gray);
}
.single-product .woocommerce-info {
  display: none;
}
.woocommerce h1.product_title {
  font-size: 48px;
  line-height: 52px;
  margin-bottom: 0;
}
.woocommerce div.product .summary.entry-summary .price {
    font-size: 36px;
}
.descripcion-producto,
.info-adicional-producto {
  float: left;
  border-top: 1px solid #dddddd;
  padding-top: 30px;
}
.descripcion-producto h2 {
  font-size: 28px;
  line-height: 34px;
}

/* pag. producto - parte de abajo */
/* contenedor general a ancho completo */
.product-details-fullwidth {
  width: 100%;
  max-width: 1200px;
  margin: 40px auto;
  font-family: sans-serif;
  color: #333;
}
.details-section {
  margin-bottom: 50px;
  padding-top: 30px;
}
.details-section h3 {
  font-size: 1.5rem;
  margin-bottom: 5px;
  color: #111;
}
.subtitle {
  color: #666;
  font-size: 0.9rem;
  margin-bottom: 20px;
}
.single-product table.nutri-table {
  line-height: 1em;
}
.single-product table.nutri-table td {
  padding: 10px 12px !important;
}

/* 1. Estilos de ingredientes y alérgenos */
.ingredients-allergens {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
}
.ingredients-box {
  flex: 2;
  min-width: 300px;
}
.ingredients-box p {
  line-height: 1.6;
}
.allergens-box {
  flex: 1;
  min-width: 250px;
  background-color: #fff9f0;
  padding: 20px;
  border-radius: 8px;
  border: 1px solid #ffe6cc;
}
.allergens-list {
  padding-left: 20px;
  margin-bottom: 15px;
}
.cross-contamination-warning {
  font-size: 0.85rem;
  color: #777;
  border-top: 1px solid #ffe6cc;
  padding-top: 10px;
}

/* 2. estilos de nutrición */
.nutrition-summary-cards {
  display: flex;
  gap: 15px;
  margin-bottom: 25px;
  flex-wrap: wrap;
}
.nutri-card {
  flex: 1;
  min-width: 120px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 15px;
  text-align: center;
  background-color: #f9f9f9;
}
.nutri-card .label {
  display: block;
  font-size: 1.2rem;
  color: #666;
  margin-bottom: 5px;
}
.nutri-card .value {
  display: block;
  font-size: 1.2rem;
  font-weight: bold;
  color: #2e7d32; /* Verde ComeBien */
}

/* Acordeón y Tablas */
.nutrition-complete-details summary {
  text-align: center;
  list-style: none;
  cursor: pointer;
  padding: 12px;
  border: 2px solid #2e7d32;
  color: #2e7d32;
  border-radius: 5px;
  font-weight: bold;
  transition: all 0.3s;
}
.nutrition-complete-details summary:hover {
  background-color: #e8f5e9;
}
.nutrition-tables-wrapper {
  display: flex;
  gap: 30px;
  margin-top: 20px;
  flex-wrap: wrap;
}
.nutri-table {
  flex: 1;
  min-width: 300px;
  border-collapse: collapse;
}
.nutri-table th {
  text-align: left;
  padding: 10px;
  background-color: #f1f1f1;
  border-bottom: 2px solid #ddd;
}
.nutri-table td {
  padding: 8px 10px;
  border-bottom: 1px solid #eee;
  font-size: 0.9rem;
}
.nutri-table td.indent {
  padding-left: 25px;
  color: #666;
}

/* .variational-food-selection .wapf-field-container.wapf-field-multi-image-swatch {
    display: block;
} */

/* 1. ELEMENTOS OCULTOS */
.product_cat-menus .woocommerce-product-gallery,
.product_cat-menus .product_title.entry-title,
.product_cat-menus .price, 
.product_cat-menus .sku_wrapper,
.product_cat-menus .woovr-variations[class*="woovr-variations-grid"] .woovr-variation:before {
    display: none !important;
}

/* 2. ESTRUCTURA Y ANCHO COMPLETO */
.product_cat-menus .summary.entry-summary,
.product_cat-menus div.product {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    display: block !important;
    padding: 0 !important;
}

/* 3. TÍTULO PRINCIPAL CON FIRA SANS */
.product_cat-menus .woocommerce-product-details__short-description > p:first-child > strong:first-child {
    display: block !important;
    font-family: 'Fira Sans', sans-serif !important; /* TIPOGRAFÍA AÑADIDA */
    font-size: 42px !important;
    margin-bottom: 30px !important;
    font-weight: 800 !important;
	    color: #4a4a4a !important;
}

/* 4. CONTENEDOR DE VARIACIONES */
.product_cat-menus .woovr-variations.woovr-variations-grid-2 {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 20px !important;
    justify-content: center !important;
    margin-bottom: 10px !important;
    overflow: visible !important;
}

/* 5. DISEÑO DE BOTONES (VARIACIONES) */
.product_cat-menus .woovr-variation {
    flex: 1 !important;
    min-width: 150px !important;
    margin: 0 !important;
    cursor: pointer !important;
    background: #ffffff !important;
    border: 2px solid #f0f0f0 !important;
    border-radius: 20px !important;
    padding: 15px 15px !important;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    position: relative !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.03) !important;
}

.product_cat-menus .woovr-variation:hover {
    border-color: #8EC038 !important;
    transform: translateY(-8px);
    box-shadow: 0 12px 25px rgba(0,0,0,0.1) !important;
}

.product_cat-menus .woovr-variation-active {
    border-color: #8EC038 !important;
    background-color: #f9fff0 !important;
    box-shadow: 0 8px 20px rgba(137, 180, 67, 0.2) !important;
}

/* 6. TEXTOS Y GLOBO INFORMATIVO */
.product_cat-menus .woovr-variation-name label {
    font-size: 20px !important;
    font-weight: 800 !important;
    cursor: pointer !important;
}

.product_cat-menus .woovr-variation-description {
    font-weight: 700 !important;
    box-shadow: 0 5px 15px rgba(137, 180, 67, 0.4) !important;
}

.product_cat-menus .woovr-variation-info,
.product_cat-menus .woovr-variation-name {
    cursor: pointer !important;
}

/* 7. FORMULARIOS Y LABELS */
.product_cat-menus .woocommerce-product-search label, 
.wp-searchform label, 
form.post-password-form label, 
form.search-form label, 
form.wpcf7-form label, 
form.form label, 
form label {
    padding-left: 0;
}

/* 8. ADAPTACIÓN MÓVIL */
@media (max-width: 768px) {
    .product_cat-menus .woovr-variations.woovr-variations-grid-2 {
        flex-wrap: wrap !important;
        gap: 10px !important;
    }
    .product_cat-menus .woovr-variation {
        flex: 0 0 48% !important;
        min-width: 140px !important;
    }
    .product_cat-menus .woocommerce-product-details__short-description > p:first-child > strong:first-child {
        font-size: 30px !important;
    }
}

.yith-wcan-filters {
    background: transparent !important;
}

.yith-wcan-filters .yith-wcan-filter {
    text-align: left !important;
}

.yith-wcan-filters .yith-wcan-filter .filter-items .filter-item > a:hover, .yith-wcan-filters .yith-wcan-filter .filter-items .filter-item > label > a:hover, .yith-wcan-filters .yith-wcan-filter .filter-items .filter-item.active > a, .yith-wcan-filters .yith-wcan-filter .filter-items .filter-item.active > label > a, .yith-wcan-filters .yith-wcan-filter .yith-wcan-dropdown .dropdown-wrapper .show-more {
	    color: #8EC038;
}

h4.filter-title {
	font-size: 20px;
}

.filters-container form {
	padding: 100px 0 0;
}

.filters-container form{
  display: flex;
  flex-direction: column;
	gap: 20px;
}

.radio input[type="radio"], .radio-inline input[type="radio"], .checkbox input[type="checkbox"], .checkbox-inline input[type="checkbox"] {
    top: 3px;
}

@media (max-width: 768px) {
	
	.filters-container form {
		padding: 30px 0 0;
	}
	
}
.ltx-block-icon.ltx-icon-h-right .header {
	padding: 0 0 0 15px !important;
}

#datos-contacto .in {
	display: flex;
	flex-direction: row;
  align-items: center;
}

.ltx-contact-form-7 .row > div, .ltx-contact-form-7 p {
	margin-bottom: 10px;
}

.woocommerce-additional-fields {
    width: 100% !important;
    float: left !important;
    clear: both !important;
    padding-top: 20px;
}

.woocommerce-checkout .col-2 {
    float: left !important;
    width: 100% !important;
}

#customer_details {
    display: flex;
    flex-direction: column;
}

@media (min-width: 992px) {
    
    .woocommerce-checkout form.checkout {
        display: grid !important;
        grid-template-columns: 47.5% 47.5% !important;
        column-gap: 5% !important;
        align-items: start !important;
    }

    #customer_details {
        grid-column: 1 !important;
        grid-row: 1 / span 10 !important;
    }

    #order_review_heading {
        grid-column: 2 !important;
        grid-row: 1 !important;
        margin-top: 0 !important;
    }

    #order_review {
        grid-column: 2 !important;
        grid-row: 2 !important;
        background-color: #fdfdfd !important;
        padding: 20px 0 !important;
        border-radius: 12px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .woocommerce-additional-fields {
        grid-column: 1 !important;
    }
	
	.woocommerce .col2-set .col-1, .woocommerce-page .col2-set .col-1{
		width: 100%;
	}
}

/* Métodos de Pago: Transición Ultra-Fluida */
.woocommerce-checkout #payment ul.payment_methods li {
    background: #ffffff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    margin-bottom: 12px !important;
    padding: 0 !important; 
    position: relative;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    overflow: hidden !important;
}

/* Forzamos que la caja siempre sea "animable" */
.woocommerce-checkout #payment ul.payment_methods li .payment_box {
    display: block !important; /* Anula el slideUp/Down de WooCommerce */
    visibility: visible !important;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    padding: 0 20px 0 45px !important;
    margin: 0 !important;
    background-color: transparent !important;
    font-size: 0.9em !important;
    /* Suavizado de la expansión */
    transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1), 
                opacity 0.3s ease-out, 
                padding 0.5s ease-out !important;
}

/* Estado Expandido (Cuando está seleccionado) */
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) .payment_box {
    max-height: 350px; /* Suficiente para textos largos */
    opacity: 1;
    padding: 0 20px 25px 45px !important; /* Espacio inferior suave */
}

/* Mantenemos tus estilos de Label y Check */
.woocommerce-checkout #payment ul.payment_methods li label {
    display: block !important;
    padding: 20px 50px 20px 45px !important; 
    margin: 0 !important;
    cursor: pointer;
    width: 100%;
}

/* Radio e Imágenes fijas arriba para evitar que "salten" al expandirse */
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"],
.woocommerce-checkout #payment ul.payment_methods li img {
    position: absolute !important;
    top: 34px !important; 
    transform: translateY(-50%) !important;
}

/* Efectos de selección */
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) {
    border-color: #78a840 !important;
    background-color: #f9fff2 !important;
    box-shadow: 0 4px 12px rgba(120, 168, 64, 0.1) !important;
    transform: translateY(-2px);
}

.woocommerce-checkout #payment ul.payment_methods li img {
    position: absolute !important;
    right: 20px !important;
    top: 34px !important;
    transform: translateY(-50%) !important;
    max-height: 25px !important;
    width: auto !important;
}

.woocommerce-checkout-payment .wc_payment_method input.input-radio[name="payment_method"] + label::before {
	margin-left: 0;
}
@media (max-width: 1600px) {
	.ltx-swiper-slider-wrapper .ltx-products-sc + .ltx-arrows-sides-outside .ltx-arrow-left, .ltx-swiper-slider-wrapper .ltx-products-sc + .ltx-arrows-sides-outside .ltx-arrow-right {
			margin: 60px 20px 0px !important;
		}
}

@media (max-width: 1200px) {
    body.admin-bar .navbar.affix:not(.affix-top) {
        margin-top: 0 !important;
    }
    
    body.admin-bar .navbar.affix, body.admin-bar .navbar-fixed-top {
        position: inherit !important;
    }
    
    #nav-wrapper {
        position: fixed;
        width: 100%;
        top: 0;
        z-index: 9999;
    }

    .home .navbar.affix-top .navbar-toggle .icon-bar {
        background-color: #ffffff !important;
    }

    body:not(.home) .navbar-toggle .icon-bar {
        background-color: #78a840 !important;
    }

    .navbar.affix .navbar-toggle .icon-bar {
        background-color: #78a840 !important;
    }

    .navbar-toggle .icon-bar {
        transition: background-color 0.3s ease !important;
    }
	
	.ltx-block-icon.ltx-icon-top.layout-cols4 li:not(:last-child) .in:after, .ltx-block-icon.ltx-icon-top.layout-cols3 li:not(:last-child) .in:after {
		display: none;
	}
	
	.ltx-block-icon.ltx-icon-top .descr{
		padding: 12px 0;
	}
}
@media (max-width: 768px) {
.ltx-block-icon.ltx-icon-top .header {
        font-size: 18px;
    }
	
	body {
    overflow-x: clip !important;
    width: 100% !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
}
	
	.ltx-overlay-main-waves {
		height: 35px;
	}
	
	.ltx-footer-wrapper .ltx-overlay-main-waves {
		margin-top: -37px;
	}
	
	.ltx-overlay-black-waves {
		height: 36px;
	}
	
	.ltx-swiper-slider-wrapper .ltx-products-sc + .ltx-arrows-sides-outside .ltx-arrow-left, .ltx-swiper-slider-wrapper .ltx-products-sc + .ltx-arrows-sides-outside .ltx-arrow-right {
		margin: 60px 20px 0px !important;
	}
	
	.ltx-arrow-left.ltx-arrow-left:before, .ltx-arrow-right.ltx-arrow-left:before, .ltx-arrow-left.ltx-arrow-right:before, .ltx-arrow-right.ltx-arrow-right:before {
		font-size: 18px;
	}
	
	.ltx-arrow-left, .ltx-arrow-right {
		width: 50px;
    height: 50px;
   	line-height: 48px;
	}

.item .image, 
.item .image a {
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    overflow: hidden !important;
}
	
.woocommerce ul.products li.product img, 
.woocommerce-page ul.products li.product img, 
.woocommerce ul.products[class*="columns-"] li.product img, 
.woocommerce-page[class*="columns-"] ul.products li.product img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: cover !important;
}
	
	.postid-11062 .wapf-wrapper {
		margin: 0;
	}
	
	.woocommerce .woocommerce-ordering .select-wrap, .woocommerce-page .woocommerce-ordering .select-wrap {
        margin-left: 0;
    }

}

@media (max-width: 425px) {
	.wapf-image-swatch-wrapper{
		--apf-col-width: 48% !important;
	}
}

span.fa.icon.icon-user:hover, i.fa.icon.icon-shopping-bag:hover {
	color: var(--second) !important;
}


.single_variation_wrap {
width: 100%;
}

/* CHECKOUT: Cupón de descuento */

/* 1. Ocultar CUALQUIER otro formulario de cupón nativo */
.woocommerce-form-coupon-toggle, 
.woocommerce-form-coupon {
    display: none !important;
}

/* 2. Contenedor principal del cupón lateral */
.custom-coupon-wrapper {
    background: #ffffff; /* Fondo blanco para limpieza */
    border: 1px solid #f0f0f0;
    border-radius: 20px; /* Más redondeado para encajar con tus otros campos */
    padding: 20px;
    margin: 25px 0;
    box-shadow: 0 4px 15px rgba(0,0,0,0.04); /* Sombra muy suave para dar relieve */
}

/* 3. Fila de input y botón */
.coupon-side-container {
    display: flex !important;
    gap: 8px; /* Espacio optimizado */
    align-items: center;
    flex-wrap: nowrap !important;
}

/* 4. Input de código (Estilo "Pill") */
#coupon_code_custom {
    flex: 2.5; /* El input tiene más peso visual */
    height: 48px !important;
    border-radius: 30px !important; 
    border: 1px solid #e2e2e2 !important;
    padding: 0 20px !important;
    font-size: 14px;
    width: 100%;
    background-color: #fff;
    transition: all 0.3s ease;
}

#coupon_code_custom:focus {
    border-color: #f6a935 !important; /* Resalte en tu color corporativo */
    outline: none;
    box-shadow: 0 0 0 2px rgba(246, 169, 53, 0.1);
}

/* 5. Botón Aplicar (Estilo "Pill" Naranja) */
#apply_coupon_custom {
    flex: 1;
    height: 48px !important;
    background-color: #f6a935 !important;
    color: white !important;
    border-radius: 30px !important;
    border: none !important;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase; /* Toque más profesional */
    letter-spacing: 0.5px;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

#apply_coupon_custom:hover {
    background-color: #e59824 !important;
    box-shadow: 0 4px 8px rgba(246, 169, 53, 0.2);
}

/* 6. Mensajes de éxito/error personalizados */
#coupon-message-custom .woocommerce-error, 
#coupon-message-custom .woocommerce-message {
    margin: 15px 0 0 0 !important;
    border-radius: 12px;
    font-size: 13px;
    padding: 12px 15px !important;
    border: none !important;
    list-style: none !important;
}

#coupon-message-custom .woocommerce-message {
    background-color: #f0f9eb !important; /* Verde éxito */
    color: #67c23a !important;
}

#coupon-message-custom .woocommerce-error {
    background-color: #fef0f0 !important; /* Rojo error */
    color: #f56c6c !important;
}

/* Ajuste para móviles */
@media (max-width: 480px) {
    .page-id-12275 .coupon-side-container {
        flex-direction: column !important;
    }
    .page-id-12275 #apply_coupon_custom, #coupon_code_custom {
        width: 100% !important;
        flex: none;
    }
}

/* CHECKOUT: Página más ancha */

@media (min-width: 1600px) {
    .page-id-12275 .page-template-default.page-id-616 .col-xl-9 {
        width: 100%;
    }
}

@media (min-width: 1200px) {
    .page-id-12275 .page-template-default.page-id-616 .col-lg-8 {
        width: 100%;
    }
}

/* CARTA: Columnas de la lista de productos */

/* 2. TABLET (601px a 1024px) -> 2 Columnas */
@media (min-width: 601px) and (max-width: 1024px) {
    .page-id-12275 ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px;
    }
}

/* 3. PORTÁTIL (1025px a 1440px) -> 3 Columnas */
@media (min-width: 1025px) and (max-width: 1440px) {
    .page-id-12275 ul.products {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 25px;
    }
}

/* 4. MONITOR GRANDE (Más de 1441px) -> 4 Columnas */
@media (min-width: 1441px) {
    .page-id-12275 ul.products {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 30px;
    }
}

.page-id-12275 ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
}

.page-id-12275 ul.products::before, ul.products::after {
    display: none !important;
}

/* ICONOS */
.berocket_better_labels.berocket_better_labels_image {
    position: static !important;
}
div.br_alabel > span {
    height: 27px !important;
    width: 27px !important;
    margin-left: 0 !important;
    display: block !important;
}
.berocket_better_labels .berocket_better_labels_position_right {
    text-align: left;
    float: left;
    clear: right;
}
.berocket_better_labels {
    margin-bottom: 20px !important;
}
.berocket_better_labels .berocket_better_labels_position .berocket_better_labels_inline {
    gap: 6px !important;
}
.berocket_better_labels .berocket_better_labels_position .berocket_better_labels_line {
    z-index: 0;
}

/* Activamos el contenedor flexible para ordenar los bloques */
.wapf-wrapper {
    display: flex !important;
    flex-direction: column !important;
}

/* Movemos el grupo de producto (marcado) a la penúltima posición */
.wapf-wrapper [data-group="p_11062"] {
    order: 3 !important;
}

/* Aseguramos que el grupo 12847 se quede el último de todos */
.wapf-wrapper [data-group="12847"] {
    order: 2 !important;
}







/***************************************
* BOTON CON SELECTOR CANTIDAD AJAX
***************************************/
.custom-ajax-cart-wrapper {
    margin-top: auto;
    display: inline-block;
}
.init-add-to-cart {
    width: 100%;
}
.quantity-ajax-controls {
    display: flex;
    align-items: center;
    border: 1px solid #ccc;
    border-radius: 4px;
    overflow: hidden;
    max-width: 120px;
    margin: 0 auto;
}
.quantity-btn {
    background: #f4f4f4 !important;
    color: #333 !important;
    border: none !important;
    width: 35px !important;
    height: 35px !important;
    cursor: pointer;
    font-size: 18px !important;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
}
.quantity-btn:hover {
    background: #e0e0e0 !important;
}
.quantity-ajax-controls .qty {
    width: 50px !important;
    height: 35px !important;
    border: none !important;
    text-align: center !important;
    font-size: 14px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #fff;
    -moz-appearance: textfield;
}
.quantity-ajax-controls .qty::-webkit-outer-spin-button,
.quantity-ajax-controls .qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
/* 1. Ocultar el formulario nativo con sus spans de diseño por completo */
.single-product .product:not(.product_cat-menus) form.cart:not(.custom-ajax-cart-wrapper) {
    display: none !important;
}
.init-add-to-cart {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 28px;
    border-radius: 999px;
    background: #F6A21A;
    color: #fff;
    border: none;
    cursor: pointer;
    overflow: hidden;
    z-index: 1;
    transition: color 0.3s ease;
}
.init-add-to-cart::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 300%;
    height: 300%;
    background: #8EC038;
    transform: translate(-50%, -50%) scale(0);
    border-radius: 50%;
    transition: transform 0.5s ease;
    z-index: -1;
}
.init-add-to-cart:hover::before {
    transform: translate(-50%, -50%) scale(1);
}
.init-add-to-cart:hover {
    color: #fff;
}