/**
 * Vini WPCode Snippets CSS
 *
 * Migrated from WPCode plugin snippets to child theme
 * Original IDs: 13348, 13323, 11958, 11950, 8862, 8899, 7824, 7619, 7367
 */

/* ========================================
 * ID: 13348 - Menu 2026
 * ======================================== */
.shoptimizer-primary-navigation.col-full {
    display: block !important
}

.menu-primary-menu-container>ul>li>a span {
    color: #414651;
}

.menu-primary-menu-container>ul.menu:hover>li>a {
    opacity: 1 !important
}

.item-badge {
    position: relative;
    min-width: 260px
}

.menu-primary-menu-container>ul>li>a span:before,
.menu-primary-menu-container>ul>li.nolink>span:before {
    display: none
}

.main-menu-link {
    color: #414651;
    font-family: 'Plus Jakarta Sans';
    font-style: normal;
    font-weight: 600 !important;
    font-size: 16px !important;
    line-height: 1 !important;
    color: #414651;
    padding: 12px 10px !important
}

.menu-item {
    margin: 10px;
}

.menu-item {
    transition: all 0.2s ease
}

.menu-item:hover {
    color: #252B37
}

.menu-item:hover {
    background-color: #FAFAFA;
    border-radius: 6px
}

.menu-item:hover::before {
    display: none
}

.item-badge>a::after {
    content: "Descubre vinos";
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 500;
    color: #5925DC;
    background: #F4F3FF;
    border-radius: 40px;
    padding: 4px 12px 4px 32px;
    border: 2px solid rgba(89, 37, 220, 0.15);
    margin-left: 10px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    height: 28px;
    white-space: nowrap;
}

.item-badge>a::before {
    content: "";
    width: 14px;
    height: 14px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 145px !important;
    z-index: 100;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0)'%3E%3Cpath d='M3.25 6.5L3.64223 7.28446C3.77497 7.54995 3.84135 7.68269 3.93002 7.79772C4.0087 7.8998 4.1002 7.9913 4.20228 8.06998C4.31731 8.15865 4.45005 8.22503 4.71554 8.35777L5.5 8.75L4.71554 9.14223C4.45005 9.27497 4.31731 9.34135 4.20228 9.43002C4.1002 9.5087 4.0087 9.6002 3.93002 9.70228C3.84135 9.81731 3.77497 9.95005 3.64223 10.2155L3.25 11L2.85777 10.2155C2.72503 9.95005 2.65865 9.81731 2.56998 9.70228C2.4913 9.6002 2.3998 9.5087 2.29772 9.43002C2.18269 9.34135 2.04995 9.27497 1.78446 9.14223L1 8.75L1.78446 8.35777C2.04995 8.22503 2.18269 8.15865 2.29772 8.06998C2.3998 7.9913 2.4913 7.8998 2.56998 7.79772C2.65865 7.68269 2.72503 7.54995 2.85777 7.28446L3.25 6.5Z' stroke='%237A5AF8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M7.5 1L8.08931 2.53221C8.23032 2.89882 8.30082 3.08213 8.41046 3.23632C8.50763 3.37298 8.62702 3.49237 8.76368 3.58954C8.91787 3.69918 9.10118 3.76968 9.46779 3.91069L11 4.5L9.46779 5.08931C9.10118 5.23032 8.91787 5.30082 8.76368 5.41046C8.62702 5.50763 8.50763 5.62702 8.41046 5.76368C8.30082 5.91787 8.23032 6.10118 8.08931 6.46779L7.5 8L6.91069 6.46779C6.76968 6.10118 6.69918 5.91787 6.58954 5.76368C6.49237 5.62702 6.37298 5.50763 6.23632 5.41046C6.08213 5.30082 5.89882 5.23032 5.53221 5.08931L4 4.5L5.53221 3.91069C5.89882 3.76968 6.08213 3.69918 6.23632 3.58954C6.37298 3.49237 6.49237 3.37298 6.58954 3.23632C6.69918 3.08213 6.76968 2.89882 6.91069 2.53221L7.5 1Z' stroke='%237A5AF8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0'%3E%3Crect width='12' height='12' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

.vini-menu-item a:hover {
    color: #414651 !important
}

.vini-menu-item.active a {
    color: #E6532A !important
}

/* Ícono Mi Cuenta: gris sin sesión (requisito del cliente);
   coral cuando hay sesión o en páginas de Mi Cuenta */
.vini-account path {
    stroke: #717680
}

body.logged-in .vini-account path,
body.woocommerce-account .vini-account path {
    stroke: #E6532A !important
}

.footer a:hover {
    color: #E6532A !important
}

/* Ícono del carrito — Material Symbols (mismo que chill-n-go) */
.vini-cart-glyph {
    font-size: 22px;
    color: #fff;
    line-height: 1;
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* Contador del carrito — círculo en la esquina superior derecha del ícono,
   igual que la referencia chill-n-go: 4px encima del ícono, sobresale a la derecha. */
.vini-cart-icon {
    position: relative;
    display: inline-flex;
}

.vini-cart-icon::after {
    content: attr(data-cart-label);
    position: absolute;
    top: -4px;
    right: -6px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    box-sizing: border-box;
    border-radius: 999px;
    background: var(--vini-dark, #181D27);
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
    white-space: nowrap;
    display: none;
    z-index: 2;
}

.vini-cart-icon[data-cart-count]:not([data-cart-count="0"])::after {
    display: block;
}

/* ========================================
 * ID: 13323 - Estilos hover state cards home
 * ======================================== */
.elementor-12818 .elementor-element.elementor-element-22eeebc>*,
.elementor-12818 .elementor-element.elementor-element-c54d817>*,
.elementor-12818 .elementor-element.elementor-element-2a2479f>*,
.elementor-12818 .elementor-element.elementor-element-fe1b579>* {
    transition: all 0.5s ease;
}

.elementor-widget-container,
.img-card {
    overflow: hidden;
    border-radius: 14px
}

.elementor-12818 .elementor-element.elementor-element-22eeebc:hover img,
.elementor-12818 .elementor-element.elementor-element-c54d817:hover img,
.elementor-12818 .elementor-element.elementor-element-2a2479f:hover img,
.elementor-12818 .elementor-element.elementor-element-fe1b579:hover img {
    transform: scale(1.1);
}

.elementor-12818 .elementor-element.elementor-element-22eeebc img,
.elementor-12818 .elementor-element.elementor-element-c54d817 img,
.elementor-12818 .elementor-element.elementor-element-2a2479f img,
.elementor-12818 .elementor-element.elementor-element-fe1b579 img {
    transition: transform 0.5s ease;
    transform: scale(1);
}


.elementor-12818 .elementor-element.elementor-element-22eeebc h3 a,
.elementor-12818 .elementor-element.elementor-element-c54d817 h3 a,
.elementor-12818 .elementor-element.elementor-element-2a2479f h3 a,
.elementor-12818 .elementor-element.elementor-element-fe1b579 h3 a {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0;
    transition: gap 0.3s ease;
    color: #000 !important;
    font-weight: 600;
}

.elementor-12818 .elementor-element.elementor-element-22eeebc h3 a::after,
.elementor-12818 .elementor-element.elementor-element-c54d817 h3 a::after,
.elementor-12818 .elementor-element.elementor-element-2a2479f h3 a::after,
.elementor-12818 .elementor-element.elementor-element-fe1b579 h3 a::after {
    content: "";
    width: 24px;
    height: 24px;
    background-image: url('https://soyvini.test/wp-content/uploads/2025/11/arrow-right.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0;
    transform: translateX(4px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.elementor-12818 .elementor-element.elementor-element-22eeebc:hover h3 a,
.elementor-12818 .elementor-element.elementor-element-c54d817:hover h3 a,
.elementor-12818 .elementor-element.elementor-element-2a2479f:hover h3 a,
.elementor-12818 .elementor-element.elementor-element-fe1b579:hover h3 a {
    gap: 6px;
}

.elementor-12818 .elementor-element.elementor-element-22eeebc:hover h3 a::after,
.elementor-12818 .elementor-element.elementor-element-c54d817:hover h3 a::after,
.elementor-12818 .elementor-element.elementor-element-2a2479f:hover h3 a::after,
.elementor-12818 .elementor-element.elementor-element-fe1b579:hover h3 a::after {
    opacity: 1;
    transform: translateX(0);
}


/* ========================================
 * ID: 8862 - CSS Navbar
 * ======================================== */
.main-navigation ul li.menu-item-has-children.full-width>.sub-menu-wrapper>.container>ul.sub-menu>li,
.main-navigation ul li.menu-item-has-children.full-width>.sub-menu-wrapper>.container>ul.sub-menu>li:last-child {
    padding: 0px;
    border: none;
}

body .main-navigation ul.menu li.menu-item-has-children.full-width>.sub-menu-wrapper li {
    margin-bottom: 16px;
}

.vinos-por-comida>a {
    visibility: hidden !important;
}

.comidas span {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
}

#nav-menu-item-8865>div>.container>.sub-menu {
    justify-content: flex-start;
    border: none;
    padding: 0 30px;
}

.vinos-por-comida {
    margin-top: 0 !important;
}


/* ========================================
 * ID: 8899 - CSS Footer
 * ======================================== */
.footer-f,
.footer-final {
    display: flex;
    align-items: center;
    gap: 15px;
}

.text-footer:hover {
    color: #FF5E33
}

.elementor-location-footer h5 {
    font-size: 16px;
    font-weight: 600;
}

.elementor-location-footer .elementor-element .elementor-widget-container a {
    color: #000;
}

.elementor-location-footer .elementor-element .elementor-widget-container a:hover {
    color: #ff5e33;
}

.footer-final {
    justify-content: flex-start;
}

.footer-final .desc span {
    color: #000;
    font-size: 12px;
}

@media only screen and (max-width: 768px) {
    .footer-final {
        flex-direction: column;
    }
}


/* ========================================
 * ID: 7824 - CSS PLP
 * ======================================== */
.widget a {
    color: #000;
}

.widget a:hover {
    text-decoration: underline;
}

.widget_layered_nav ul li {
    line-height: 16px;
}

span.gamma.widget-title {
    font-size: 18px;
}

.widget_layered_nav_filters .chosen a:after {
    display: inline-block;
    content: "x";
    color: var(--e-global-color-accent);
    padding: 4px;
    margin-left: 4px;
    background: #f3f3f3;
    border-radius: 50%;
    height: 15px;
    line-height: 0.4;
}

.widget_layered_nav_filters .chosen {
    display: inline-block;
    margin-right: 10px;
    margin-bottom: 0;
}

.price_slider_amount .button {
    order: 2;
}

.price_slider_amount {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Página de tags */
.tax-product_tag header.woocommerce-products-header {
    background: none;
    display: block;
    margin-bottom: 30px;
}

/* Ocultar banners PLP */
.elementor-7768 .elementor-element.elementor-element-7297c1b:not(.elementor-motion-effects-element-type-background) {
    display: none;
}

.site-main ul.products li.product:focus-within::before,
.site-main ul.products li.product:hover::before {
    display: none;
}

ul.products.columns-3 {
    row-gap: 0 !important;
}

.star-rating {
    display: none;
}

/* Fix error hover images PLP */
.woocommerce-image__wrapper a {
    width: 150px;
    margin: 0 auto !important;
}

.woocommerce.columns-3 div.columns-3 {
    border-top: 0px solid #d4d6d9 !important;
}

/* border-right y border-bottom de celdas manejados en style.css (PRODUCT GRID WITH BORDERS) */

@media only screen and (max-width: 768px) {

    .m-search-bh.sticky-m .mobile-filter,
    .m-search-toggled.sticky-m .mobile-filter,
    .m-search-bh.sticky-m #cgkitpf-horizontal,
    .m-search-toggled.sticky-m #cgkitpf-horizontal {
        top: 69.5px;
        margin-left: 0 !important
    }
}


/* ========================================
 * ID: 7619 - CSS Inicio
 * ======================================== */
.term-uva {
    display: flex;
    align-items: center;
    gap: 10px;
    list-style: none;
    margin: 0;
    overflow: auto;
    height: 70px;
}

.term-uva li a {
    display: inline-block;
    width: max-content;
}

.term-uva-content {
    display: flex;
    justify-content: center;
    padding: 8px 12px;
    border-radius: 8px;
    border: 1px solid #7E7E7E;
}

/* Ajustes de scrollbar horizontal */
.term-uva::-webkit-scrollbar {
    height: 4px;
}

.term-uva::-webkit-scrollbar-track {
    background-color: #F4F4F4;
}

.term-uva::-webkit-scrollbar-thumb {
    background-color: #C4C4C4;
    border-radius: 5px;
}

/* Categorias */
.vinos-home {
    display: flex;
    background: #F3F3FD;
    border-radius: 100%;
    width: 120px !important;
    height: 120px;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}

.vinos-home a img[src$=".svg"] {
    width: 62px;
}

/* NUEVO HOME */
.vinos-cat .elementor-column.elementor-col-25.elementor-top-column.elementor-element:first-child {
    border: none;
}

.info>div {
    row-gap: 11px;
    font-weight: 500;
}

.info .elementor-widget-container {
    display: flex;
    align-content: center;
    flex-direction: row;
    align-items: center;
    gap: 8px;
}

.titulos p {
    margin-bottom: 0;
}

@media only screen and (max-width: 768px) {
    .vinos-home {
        width: 80px !important;
        height: 80px;
    }

    .vinos-home a img[src$=".svg"] {
        width: 40px;
    }

    .woocommerce-loop-product__title a {
        font-size: 12px;
    }

    .elementor-element.elementor-products-grid.mobile-scroll ul.products,
    .term-uva,
    .mobile-scroll>.elementor-container.elementor-column-gap-default {
        width: calc(100% + 30px);
        position: relative;
        left: -15px;
        padding-left: 15px;
        padding-right: 15px;
    }

    .banner-desk .swiper-slide-bg {
        background-image: none !important;
    }

    .vinos-cat .elementor-column.elementor-col-25.elementor-top-column.elementor-element,
    .vinos-cat .elementor-column.elementor-col-33.elementor-top-column.elementor-element {
        border-bottom: 1px solid #d4d6d9 !important;
    }

    .vinos-cat .elementor-column.elementor-col-25.elementor-top-column.elementor-element:nth-child(n+3):nth-child(-n+4),
    .vinos-cat .elementor-column.elementor-col-33.elementor-top-column.elementor-element:nth-child(n+3):nth-child(-n+4),
    li.product.type-product:nth-child(n+3):nth-child(-n+4) {
        border-bottom: none !important;
    }

    body.static-cta-buttons ul.products.elementor-grid li.product:not(.product-category) {
        padding-left: 15px !important;
    }

    .elementor-element.elementor-wc-products ul.products {
        grid-column-gap: 15px !important;
    }

    .mobile-scroll>.elementor-container.elementor-column-gap-default {
        flex-wrap: nowrap;
        overflow-x: scroll;
        scroll-snap-type: x mandatory;
        overscroll-behavior-x: contain;
    }

    .mobile-scroll.test>.elementor-container.elementor-column-gap-default>div {
        max-width: 70% !important;
        min-width: 70% !important;
    }
}

@media only screen and (min-width: 768px) {
    .woocommerce-card__header {
        min-height: 156px !important;
    }

    .elementor-container .titulos {
        width: calc(100% - 40px);
        margin: 0 auto;
        max-width: 92vw;
    }

    .main-header.col-full,
    .shoptimizer-primary-navigation.col-full {
        padding-left: 0;
        padding-right: 0;
        max-width: 92vw;
        width: 1440px;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1000px) {
    .info .elementor-widget-container {
        flex-direction: column;
    }
}


/* ========================================
 * ID: 7367 - CSS All Pages
 * ======================================== */
* {
    box-sizing: border-box !important
}

/* Buscador */
.commercekit-ajs-view-all-holder a {
    background: #ff5e33;
    color: #fff;
}

/* Slider */
.sina-content-slider section.elementor-section {
    left: auto !important;
}

.elementor-column-gap-default>.elementor-col-100>.elementor-element-populated {
    padding: 0;
}

/* Minicart */
.ckobp-actions>.ckobp-button button {
    border-radius: 8px;
    border: 1px solid #FF5E33;
    color: #FF5E33;
    font-size: 12px;
    font-weight: 600;
    padding: 8px 21px;
    text-shadow: none;
}

.ckobp-actions>.ckobp-button button:hover {
    background: #FF5E33;
    color: #fff;
}

.commercekit-order-bumps .commercekit-order-bump {
    border: none;
    padding: 0 0 10px;
}

/* Lista de productos */
.result-container {
    display: flex;
    gap: 8px;
    order: 1;
    z-index: 10;
    flex-wrap: wrap;
}

.shoptimizer-plp-image-wrapper {
    display: flex;
    flex-direction: column;
}

.result-container span.result-match {
    text-transform: none;
    font-size: 16px;
    font-weight: 500;
}

i.icon.gemelas {
    content: url("data:image/svg+xml,%3Csvg%20width%3D%2222%22%20height%3D%2221%22%20viewBox%3D%220%200%2022%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M10.9932%203.51081C8.9938%201.1734%205.65975%200.544643%203.15469%202.68501C0.649644%204.82538%200.296968%208.40398%202.2642%2010.9354C3.89982%2013.0401%208.84977%2017.4791%2010.4721%2018.9158C10.6536%2019.0766%2010.7444%2019.1569%2010.8502%2019.1885C10.9426%2019.2161%2011.0437%2019.2161%2011.1361%2019.1885C11.2419%2019.1569%2011.3327%2019.0766%2011.5142%2018.9158C13.1365%2017.4791%2018.0865%2013.0401%2019.7221%2010.9354C21.6893%208.40398%2021.3797%204.80287%2018.8316%202.68501C16.2835%200.567157%2012.9925%201.1734%2010.9932%203.51081Z%22%20stroke%3D%22%23079455%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
}

i.icon.quimica {
    content: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyMSAyMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEzIDMuMzc1VjEuMzc1TTEzIDE1LjM3NVYxMy4zNzVNNiA4LjM3NUg4TTE4IDguMzc1SDIwTTE1LjggMTEuMTc1TDE3IDEyLjM3NU0xNS44IDUuNTc1TDE3IDQuMzc1TTEgMjAuMzc1TDEwIDExLjM3NU0xMC4yIDUuNTc1TDkgNC4zNzUiIHN0cm9rZT0iI0ZGNDQwNSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+");
}

i.icon.cita {
    content: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2225%22%20viewBox%3D%220%200%2024%2025%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M21%208.375H3M16%202.375V5.375M8%202.375V5.375M7.8%2022.375H16.2C17.8802%2022.375%2018.7202%2022.375%2019.362%2022.048C19.9265%2021.7604%2020.3854%2021.3015%2020.673%2020.737C21%2020.0952%2021%2019.2552%2021%2017.575V9.175C21%207.49484%2021%206.65476%2020.673%206.01303C20.3854%205.44854%2019.9265%204.9896%2019.362%204.70198C18.7202%204.375%2017.8802%204.375%2016.2%204.375H7.8C6.11984%204.375%205.27976%204.375%204.63803%204.70198C4.07354%204.9896%203.6146%205.44854%203.32698%206.01303C3%206.65476%203%207.49484%203%209.175V17.575C3%2019.2552%203%2020.0952%203.32698%2020.737C3.6146%2021.3015%204.07354%2021.7604%204.63803%2022.048C5.27976%2022.375%206.11984%2022.375%207.8%2022.375ZM11.9973%2012.7056C11.1975%2011.7966%209.8639%2011.5521%208.86188%2012.3844C7.85986%2013.2168%207.71879%2014.6085%208.50568%2015.5929C9.077%2016.3077%2010.6593%2017.7147%2011.4833%2018.4319C11.662%2018.5874%2011.7513%2018.6652%2011.856%2018.696C11.9466%2018.7227%2012.0479%2018.7227%2012.1386%2018.696C12.2432%2018.6652%2012.3325%2018.5874%2012.5112%2018.4319C13.3353%2017.7147%2014.9175%2016.3077%2015.4888%2015.5929C16.2757%2014.6085%2016.1519%2013.2081%2015.1326%2012.3844C14.1134%2011.5608%2012.797%2011.7966%2011.9973%2012.7056Z%22%20stroke%3D%22%23EAAA08%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
}

i.icon.suerte {
    content: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2225%22%20viewBox%3D%220%200%2024%2025%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M16.25%208.125H16.255M12%2012.125H12.005M7.75%2016.625H7.755M7.8%2021.375H16.2C17.8802%2021.375%2018.7202%2021.375%2019.362%2021.048C19.9265%2020.7604%2020.3854%2020.3015%2020.673%2019.737C21%2019.0952%2021%2018.2552%2021%2016.575V8.175C21%206.49484%2021%205.65476%2020.673%205.01303C20.3854%204.44854%2019.9265%203.9896%2019.362%203.70198C18.7202%203.375%2017.8802%203.375%2016.2%203.375H7.8C6.11984%203.375%205.27976%203.375%204.63803%203.70198C4.07354%203.9896%203.6146%204.44854%203.32698%205.01303C3%205.65476%203%206.49484%203%208.175V16.575C3%2018.2552%203%2019.0952%203.32698%2019.737C3.6146%2020.3015%204.07354%2020.7604%204.63803%2021.048C5.27976%2021.375%206.11984%2021.375%207.8%2021.375ZM16.5%208.125C16.5%208.26307%2016.3881%208.375%2016.25%208.375C16.1119%208.375%2016%208.26307%2016%208.125C16%207.98693%2016.1119%207.875%2016.25%207.875C16.3881%207.875%2016.5%207.98693%2016.5%208.125ZM12.25%2012.125C12.25%2012.2631%2012.1381%2012.375%2012%2012.375C11.8619%2012.375%2011.75%2012.2631%2011.75%2012.125C11.75%2011.9869%2011.8619%2011.875%2012%2011.875C12.1381%2011.875%2012.25%2011.9869%2012.25%2012.125ZM8%2016.625C8%2016.7631%207.88807%2016.875%207.75%2016.875C7.61193%2016.875%207.5%2016.7631%207.5%2016.625C7.5%2016.4869%207.61193%2016.375%207.75%2016.375C7.88807%2016.375%208%2016.4869%208%2016.625Z%22%20stroke%3D%22%23F04438%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
}

.vinos-cat .elementor-column.elementor-col-25.elementor-top-column.elementor-element,
.vinos-cat .elementor-column.elementor-col-33.elementor-top-column.elementor-element {
    border-left: 1px solid #d4d6d9;
}

body.static-cta-buttons ul.products.elementor-grid li.product .button {
    /* width: 90%!important; */
}

body.static-cta-buttons ul.products.elementor-grid li.product .button.added {
    display: block !important;
}

.elementor-element.elementor-wc-products ul.products {
    grid-column-gap: 0 !important;
}

ul.products li.product:hover::before {
    display: none;
}

.site .elementor-products-grid ul.products.elementor-grid li.product {
    padding-bottom: 20px !important;
    padding-top: 20px;
}

.woocommerce-loop-product__title {
    width: 100%;
}

ul.products li.product .star-rating {
    font-size: 18px;
}

.star-rating>span:before {
    background-color: #000;
}

li.product.type-product:hover {
    background: #FAEAE8;
}

.related.products ul.products li.product {
    border-right: none;
    overflow: hidden;
}

.static-cta-buttons ul.products li.product .added_to_cart,
.static-cta-buttons ul.products li.product .button {
    opacity: 1;
}

.static-cta-buttons ul.products li.product:hover .added_to_cart,
.static-cta-buttons ul.products li.product:hover .button {
    opacity: 1;
}

/* Quiz results page: botones siempre visibles en todos los cards */
.page-slug-quiz .static-cta-buttons ul.products li.product .added_to_cart,
.page-slug-quiz .static-cta-buttons ul.products li.product .button,
body:has(.vini-rec) .static-cta-buttons ul.products li.product .added_to_cart,
body:has(.vini-rec) .static-cta-buttons ul.products li.product .button,
.page-slug-quiz ul.products li.product .added_to_cart,
.page-slug-quiz ul.products li.product .button {
    opacity: 1 !important;
}

li.product:not(.product-category):hover .woocommerce-image__wrapper img {
    transform: scale(1.1);
}

ul.products li.product .button {
    border-radius: 24px;
}

.woocommerce-card__header {
    display: flex !important;
    flex-wrap: wrap;
    gap: 6;
    flex-direction: row !important;
    min-height: 155px;
    margin-top: 5px;
}

ul.products li.product .price,
ul.products li.product-type-grouped .price .amount {
    font-size: 20px;
    font-weight: 600;
    margin-top: 0 !important;
}

ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2 {
    padding: 0 !important;
}

.ckit-badge_wrapper {
    left: -5px;
}

.woocommerce-card__header .star-rating {
    margin-top: -13px;
}

.star-rating {
    order: 5;
}

.woocommerce-card__header {
    gap: 2px;
    margin-bottom: 5px;
}

ul.products li.product .button {
    margin-bottom: 0;
}

ul.products li.product .price {
    margin-bottom: 0;
    margin-top: 5px;
}

img.attachment-woocommerce_thumbnail.size-woocommerce_thumbnail {
    max-width: 145px;
}

.mini_cart_item img.size-woocommerce_thumbnail {
    width: 44px;
}

.woocommerce-loop-product__title a {
    overflow: hidden;
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
}

ul.products li.product .woocommerce-LoopProduct-link .sale-item.product-label.type-bubble {
    display: none;
}

ul.products li.product:hover .commercekit-wishlist.mini,
ul.products li.product:focus-within .commercekit-wishlist.mini {
    background: #FFEEEA;
}

.woocommerce-LoopProduct-link .result-match-container,
.woocommerce-card__header .taste-wizard-match-score {
    position: absolute;
    display: flex;
    top: 0;
    right: 0;
    background: #ff5e33;
    color: #fff;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
}

.woocommerce-LoopProduct-link .result-match-container p {
    margin: 0;
}

.woocommerce-LoopProduct-link .result-match,
.woocommerce-card__header .taste-wizard-match-score span:nth-child(2) {
    font-size: 10px;
    text-transform: lowercase;
}

.woocommerce-LoopProduct-link .result-match:first-letter,
.woocommerce-card__header .taste-wizard-match-score span:nth-child(2):first-letter {
    text-transform: uppercase;
}

.commercekit-wishlist.mini {
    right: 20px !important;
    top: 10px !important;
}

.commercekit-wishlist.mini.special-class {
    top: 55px !important;
}

.woocommerce-loop-product__title {
    min-height: 51px;
}

ul.products.elementor-grid {
    display: grid;
}

ul.products.elementor-grid.columns-3 {
    grid-template-columns: repeat(3, 1fr);
}

ul.products.elementor-grid.columns-4 {
    grid-template-columns: repeat(4, 1fr);
}

ul.products.elementor-grid li {
    width: 100% !important;
}

.woocommerce-loop-product__title {
    order: 4;
    padding: 0 !important;
    line-height: normal;
}

.woocommerce-card__header .price {
    order: 3;
    width: -webkit-fill-available;
    margin-top: 0 !important;
    line-height: 1;
}

.woocommerce-card__header a.add_to_cart_button,
.woocommerce-card__header a.added_to_cart.wc-forward,
.woocommerce-card__header a.button.product_type_simple {
    order: 5;
}

li.product .woocommerce-image__wrapper img {
    margin: 0 auto !important;
}

/* Flotante whatsapp */
#whatsapp {
    position: fixed;
    bottom: 40px;
    right: 20px;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    z-index: 999;
}

i.fusion-li-icon.fa-whatsapp.fab {
    font-size: 30px;
    color: #fff;
}

/* Checkout */
a.showlogin {
    text-decoration: underline;
}

a.checkout-button.button.alt.wc-forward br {
    display: none;
}

.woocommerce-privacy-policy-text p,
.woocommerce-privacy-policy-text a {
    font-size: 13px;
}

.page .entry-content .woocommerce-checkout-review-order-table a {
    color: #ff5e33;
}

.cky-btn-revisit-wrapper.cky-revisit-bottom-left {
    display: none;
}

/* Menu */
a.cart-contents {
    display: flex !important;
}

.shoptimizer-cart-icon svg {
    width: 20px;
    height: 20px;
}

.shoptimizer-cart-text {
    font-size: 14px;
    color: #1D2939;
    font-weight: 600;
}

.main-navigation ul li.menu-item-has-children.full-width>.sub-menu-wrapper {
    border-top: 1px solid rgba(119, 130, 141, 0.2);
}

body .main-navigation ul li.menu-item-has-children.full-width>.sub-menu-wrapper::before {
    display: none;
}

/* Button Colors */
.ckit-ats-wrapper .ckit-ats-btn.ckit-ats-primary-btn {
    background: #F45A2F;
}

.ckit-ats-btn.ckit-ats-secondary-btn {
    background: #fff !important;
    color: #000 !important;
}

.shoptimizer-myaccount>a {
    display: none;
}

/* Modal Mobile Menu */
@media only screen and (max-width: 768px) {
    ul.products.elementor-grid.columns-3 {
        grid-template-columns: repeat(2, 1fr);
    }

    ul.products.elementor-grid.columns-4 {
        grid-template-columns: repeat(2, 1fr);
    }

    .col-full-nav ul.menu>li>a.nolink-menu,
    .col-full-nav ul.menu>li>a {
        font-size: 16px !important;
        border-bottom: 1px solid rgba(119, 130, 141, 0.2);
    }

    .col-full-nav li.open-sub ul.sub-menu li a {
        font-size: 14px;
    }

    .col-full-nav ul.menu>li>a {
        font-weight: 600;
    }

    .col-full-nav li.menu-item-has-children.open-sub>a:after {
        transform: rotate(180deg);
    }

    .col-full-nav li.menu-item-has-children>a:after {
        content: "";
        background: url("data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M4%206L8%2010L12%206%22%20stroke%3D%22%23717680%22%20stroke-width%3D%221.33333%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
        background-size: cover;
        width: 16px;
        height: 16px;
        position: absolute;
        right: 16px;
    }

    /* Mover item-badge al final del menú en móvil */
    .col-full-nav ul.menu>li.item-badge {
        order: 999;
    }
}


/* ========================================
 * ID: 11958 - CSS Conectado (logged_in users only)
 * This CSS is for logged-in users mobile menu
 * ======================================== */
body.logged-in .menu-login {
    margin-left: -15px;
    margin-right: -15px;
    background: #FF5E33;
    color: #fff;
    margin-bottom: 15px;
}

body.logged-in .menu-1 {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 15px;
}

body.logged-in .menu-login .icono {
    flex-basis: 50px;
    padding: 0 6px;
    background: #FFEEEA;
    text-align: center;
    color: #FF5E3380;
    border-radius: 50%;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media only screen and (max-width: 768px) {
    body.logged-in .mobile-toggled .toggle {
        visibility: hidden;
    }

    body.logged-in .mobile-toggled .col-full-nav {
        z-index: 100;
    }

    body.logged-in .col-full-nav {
        z-index: 100;
        left: -100%;
        width: 100%;
    }

    body.logged-in header#masthead {
        z-index: 101;
    }

    body.logged-in .mobile-overlay {
        display: none;
    }

    body.logged-in span.user-initials {
        font-weight: 600;
        font-size: 20px;
        color: #FF5E33;
    }

    body.logged-in .menu-login .mensaje span {
        font-size: 16px;
        font-weight: 600;
    }

    body.logged-in .menu-login .mensaje p {
        font-size: 13px;
        margin-bottom: 0;
    }

    body.logged-in .menu-login .mensaje a {
        color: #fff;
    }

    body.logged-in ul#menu-menu_2 {
        display: flex;
        flex-direction: column;
    }

    body.logged-in li.menu-item.recomendados {
        order: 6;
    }

    body.logged-in li#nav-menu-item-11304 {
        order: 8;
    }

    body.logged-in li#nav-menu-item-11303 {
        order: 7;
    }
}


/* ========================================
 * ID: 11950 - CSS Desconectado (logged_out users only)
 * This CSS is for logged-out users mobile menu
 * ======================================== */
body:not(.logged-in) .menu-logout {
    margin-left: -15px;
    margin-right: -15px;
    background: #FF5E33;
    color: #fff;
    margin-bottom: 15px;
    min-height: 143px;
}

body:not(.logged-in) .menu-1,
body:not(.logged-in) .menu-2 {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 15px;
}

body:not(.logged-in) .menu-logout .icono {
    flex-basis: 50px;
    padding: 0 6px;
    background: #FFEEEA;
    text-align: center;
    color: #FF5E3380;
    border-radius: 50%;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media only screen and (max-width: 768px) {
    body:not(.logged-in) .mobile-toggled .toggle {
        visibility: hidden;
    }

    body:not(.logged-in) .mobile-toggled .col-full-nav {
        z-index: 100;
    }

    body:not(.logged-in) .col-full-nav {
        z-index: 100;
        left: -100%;
        width: 100%;
    }

    body:not(.logged-in) header#masthead {
        z-index: 101;
    }

    body:not(.logged-in) .mobile-overlay {
        display: none;
    }

    body:not(.logged-in) .menu-logout .mensaje span {
        font-size: 16px;
        font-weight: 600;
    }

    body:not(.logged-in) .menu-logout .mensaje p {
        font-size: 13px;
        margin-bottom: 0;
    }

    body:not(.logged-in) .menu-2 .login {
        flex-basis: 50%;
    }

    body:not(.logged-in) .menu-2 .account {
        flex-basis: 50%;
    }

    body:not(.logged-in) .menu-2 .login a {
        background: #fff;
        display: block;
        text-align: center;
        padding: 4px 16px;
        font-weight: 600;
        border-radius: 4px;
    }

    body:not(.logged-in) .menu-2 .account a {
        border: 1px solid #fff;
        color: #fff;
        display: block;
        text-align: center;
        padding: 4px 16px;
        font-weight: 600;
        border-radius: 4px;
    }
}


/* ========================================
 * VINI Product Card - New Structure
 * Order: Match > Price > Title > Country > Rating > Delivery
 * Spacing based on design specs
 * ======================================== */
.vini-product-info {
    display: flex;
    flex-direction: column;
    padding: 0 17px;
    /* 17px + 15px del contenedor padre = 32px */
    height: 200px;
    margin-bottom: 12px;
}

/* Botón añadir al carrito - mismo ancho que info */
.vini-product-info+.button,
.vini-product-info+a.add_to_cart_button,
li.product .button.add_to_cart_button {
    margin: 0 17px;
    width: auto !important;
}

/* 1. Match Score - 16px bottom margin */
.vini-product-info .result-container {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    order: 0;
    z-index: 1;
    flex-wrap: nowrap;
}

.vini-product-info .result-container .result-match {
    font-size: 16px;
    font-weight: 500;
    text-transform: none;
}

/* Match label colors - same as SVG icons */
.vini-product-info .result-container .result-match.gemelas {
    color: #079455;
    /* Verde - Almas gemelas */
}

.vini-product-info .result-container .result-match.quimica {
    color: #FF4405;
    /* Naranja - Tienen química */
}

.vini-product-info .result-container .result-match.cita {
    color: #EAAA08;
    /* Amarillo - Dale una cita */
}

.vini-product-info .result-container .result-match.suerte {
    color: #F04438;
    /* Rojo - Prueba suerte */
}

/* 2. Price - 12px bottom margin */
.vini-product-price {
    margin-bottom: 8px;
}

.vini-product-price .price {
    color: #181D27;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: 1;
    margin: 0;
    height: 24px
}

.vini-product-price .price .woocommerce-Price-amount {
    display: inline;
}

.vini-product-price .price bdi {
    display: inline;
}

.vini-product-price del bdi {
    color: #535862 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}

.vini-product-price .price del {
    color: #98A2B3;
    font-size: 16px;
    font-weight: 400;
}

.vini-product-price .price ins {
    text-decoration: none;
}

.vini-product-price .price .woocommerce-Price-currencySymbol {
    font-size: inherit;
}

.vini-product-price .woocommerce-price-suffix {
    display: none;
}

/* 3. Title - 8px bottom margin */
.vini-product-title {
    margin: 0 0 8px 0;
}

/* 4. Country - 8px bottom margin */
.vini-product-country {
    color: #535862;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px;
    margin-bottom: 8px;
}

/* 5. Rating - 6px bottom margin */
.vini-product-rating {
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.vini-stars {
    display: flex;
    align-items: center;
    gap: 2px;
}

.vini-stars svg {
    display: block;
    width: 16px;
    height: 16px;
}

.vini-review-count {
    color: #535862;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    margin-left: 2px;
}

/* 6. Delivery Time */
.vini-product-delivery {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #414651;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px;
}

.vini-product-delivery .delivery-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 12px;
    height: 12px;
    flex-shrink: 0;
}

.vini-product-delivery .delivery-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.vini-product-delivery .delivery-time {
    font-weight: 500;
}

/* Hide old woocommerce-card__header since we're using vini-product-info */
.product .woocommerce-card__header {
    display: none !important;
}

/* Responsive adjustments */
@media only screen and (max-width: 768px) {
    .vini-product-info {
        padding: 0;
        /* min-height: 215px */
    }

    .vini-product-info .result-container .result-match {
        font-size: 14px
    }

    i.icon {
        width: 16px;
    }

    .vini-product-match {
        margin-bottom: 12px;
    }

    .vini-product-price {
        margin-bottom: 8px;
    }

    .vini-product-price .price {
        font-size: 20px;
    }

    .vini-product-title {
        font-size: 14px;
        margin-bottom: 6px;
    }

    .vini-product-country {
        font-size: 13px;
        margin-bottom: 6px;
    }
}


/* ========================================
 * VINI Price Filter Widget
 * Custom design with inputs and checkboxes
 * ======================================== */
.vini-price-filter-form .price_slider_wrapper {
    padding: 0;
}

/* Min/Max Inputs Container */
.vini-price-inputs {
    display: flex;
    gap: 12px;
    margin: 16px 0;
    width: 100%;
}

.vini-price-input-group {
    flex: 1;
}

.vini-price-input-group label {
    display: block;
    font-size: 14px;
    font-weight: 400;
    color: #535862;
    margin-bottom: 6px;
}

.vini-price-input-wrapper {
    display: flex;
    align-items: center;
    border: 1px solid #D5D7DA;
    border-radius: 8px;
    padding: 10px 12px;
    background: #fff;
}

.vini-price-input-wrapper:focus-within {
    border-color: #FF5E33;
    box-shadow: 0 0 0 2px rgba(255, 94, 51, 0.1);
}

.vini-price-currency {
    font-size: 16px;
    color: #535862;
    margin-right: 4px;
}

.vini-price-input-wrapper input {
    border: none;
    outline: none;
    font-size: 16px;
    font-weight: 400;
    color: #181D27;
    width: 100%;
    padding: 0;
    background: transparent;
}

.vini-price-input-wrapper input {
    box-shadow: none;
}

.vini-price-input-wrapper input::placeholder {
    color: #98A2B3;
}

/* Price Range Checkboxes */
.vini-price-ranges {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 16px;
    width: 100%;
}

.vini-price-ranges * {
    font-size: 16px !important
}

.vini-price-range-option {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 14px;
    color: #181D27;
}

.vini-price-range-option:hover {
    color: #FF5E33;
}

.vini-price-range-checkbox {
    width: 18px;
    height: 18px;
    border: 1px solid #D5D7DA;
    border-radius: 4px;
    cursor: pointer;
    accent-color: #FF5E33;
}

.vini-price-range-label {
    flex: 1;
    font-weight: 400;
}

.vini-price-range-count {
    color: #535862;
    font-size: 14px;
}

/* Hide default WooCommerce price filter elements */
.vini-price-filter-form .price_slider_amount>label.screen-reader-text,
.vini-price-filter-form .price_slider_amount>input[type="text"]:not(.vini-price-input-wrapper input),
.vini-price-filter-form .price_slider_amount>.button {
    display: none;
}

/* Custom slider styles */
.vini-price-filter-form .price_slider.ui-slider {
    background: #E4E7EC;
    height: 8px;
    border: none;
    border-radius: 2px;
    margin: 16px 0;
    width: 90%;
    margin: 20px auto;
}

.widget.woocommerce,
.widget_layered_nav {
    border-top: 0 !important;
}

.vini-price-filter-form .price_slider .ui-slider-range {
    background: #FF5E33;
    border-radius: 2px;
}

.vini-price-filter-form .price_slider .ui-slider-handle {
    width: 20px;
    height: 20px;
    border: 2px solid #FF5E33;
    border-radius: 50%;
    background: #fff !important;
    background-color: #fff !important;
    top: 0px !important;
    cursor: pointer;
    outline: none;
}

.vini-price-filter-form .price_slider .ui-slider-handle:focus,
.vini-price-filter-form .price_slider .ui-slider-handle:hover {
    background: #FFF5F3;
}


/* ========================================
 * VINI PLP Layout - Full Width Header
 * Title and sorting above sidebar/content
 * ======================================== */

/* Full-width header wrapper - sits above the main content */
.vini-plp-header-wrapper {
    width: 100%;
    background: transparent;
    border-bottom: 1px solid #E9EAEB;
    margin-bottom: 0;
    padding-top: 30px;
    padding-bottom: 30px
}

/* Header content container */
.vini-plp-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    gap: 24px;
}

/* Title section */
.vini-plp-title-section {
    flex: 1;
}

.vini-plp-title {
    color: #181D27;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 24px;
    font-style: normal;
    font-weight: 600;
    line-height: 32px;
    margin: 0 !important;
    padding: 0;
}

/* Sorting section */
.vini-plp-sorting-section {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

/* Mobile filter toggle button */
.vini-mobile-filter-toggle {
    display: none;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: transparent !important;
    border: 1px solid #E6532A;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #E6532A !important;
    cursor: pointer;
    transition: all 0.2s ease;
}

.vini-mobile-filter-toggle:hover {
    border-color: #c9421f;
    color: #c9421f;
}

.vini-mobile-filter-toggle svg {
    flex-shrink: 0;
}

.vini-mobile-filter-toggle:hover svg path {
    stroke: #c9421f;
}

/* Sorting dropdown styles */
.vini-plp-sorting-section .woocommerce-ordering {
    margin: 0;
}

.vini-plp-sorting-section .woocommerce-ordering select {
    padding: 10px 40px 10px 16px;
    border: 1px solid #D5D7DA;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #414651;
    background-color: #fff;
    cursor: pointer;
    min-width: 200px;
    /* Custom arrow */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23717680' stroke-width='1.66667' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 20px 20px;
}

.vini-plp-sorting-section .woocommerce-ordering select:hover,
.vini-plp-sorting-section .woocommerce-ordering select:focus {
    border-color: #FF5E33;
    outline: none;
}

/* Remove default arrow in IE */
.vini-plp-sorting-section .woocommerce-ordering select::-ms-expand {
    display: none;
}

.cg-main-swiper {
    height: auto !important;
    background-color: transparent !important
}

/* Active filters section */
.vini-active-filters {
    padding-top: 16px;
    padding-left: 0;
    padding-right: 0;
    /* border-bottom: 1px solid #E9EAEB; */
    background: #FAFAFA;
}

.vinos-cat .elementor-widget:not(:last-child) {
    margin-block-end: 4px !important;
}

.vini-active-filters-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.vinos-cat a {
    display: block
}

/* Individual active filter tag */
.vini-active-filter {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: transparent;
    border-radius: var(--radius-full, 9999px);
    border: 1.5px solid var(--Component-colors-Utility-Gray-utility-gray-600, #535862);
    font-size: 14px;
    color: #414651;
}

.vini-filter-label,
.vini-filter-value {
    color: var(--Component-colors-Utility-Gray-utility-gray-700, #414651);
    text-align: center;

    /* Text sm/Medium */
    font-family: var(--Font-family-font-family-body, "Plus Jakarta Sans");
    font-size: var(--Font-size-text-sm, 14px);
    font-style: normal;
    font-weight: 500;
    line-height: var(--Line-height-text-sm, 20px);
    /* 142.857% */
}

.vini-active-filter .vini-filter-remove {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 12px !important;
    height: 12px !important;
    line-height: 0;
    border-radius: 50%;
    background: #F5F5F5;
    color: #717680 !important;
    text-decoration: none;
    transition: all 0.2s ease;
    margin-left: 2px;
}

.vini-active-filter .vini-filter-remove:hover {
    background: #FF5E33;
    color: #fff;
}

.vini-active-filter .vini-filter-remove svg {
    display: block;
    flex-shrink: 0;
    width: 10px;
    height: 10px;
}

/* Clear all filters link */
.vini-clear-all-filters {
    font-size: 14px;
    font-weight: 500;
    color: #FF5E33;
    text-decoration: none;
    padding: 6px 12px;
    transition: all 0.2s ease;
}

.vini-clear-all-filters:hover {
    text-decoration: underline;
}

/* Result count wrapper - inside sorting section */
.vini-plp-sorting-section .vini-result-count-wrapper {
    margin: 0;
}

.vini-plp-sorting-section .vini-result-count-wrapper .woocommerce-result-count {
    color: #535862;
    font-size: 16px;
    font-weight: 400;
    margin: 0;
    white-space: nowrap;
}

.vini-plp-sorting-section .vini-result-count-wrapper .woocommerce-result-count .screen-reader-text {
    display: none;
}

/* Hide default sorting wrapper from theme */
.shoptimizer-sorting {
    display: none !important;
}

/* Hide default archive title from theme */
.woocommerce-products-header__title.page-title:not(.vini-plp-title) {
    display: none !important;
}

/* Hide the placeholder archive-header we added to fix DOM structure */
.archive-header.vini-hidden {
    display: none !important;
}

/* Hide Elementor heading titles on PLP (category/shop pages) */
.woocommerce.archive .elementor-widget-heading .elementor-heading-title,
.woocommerce.tax-product_cat .elementor-widget-heading .elementor-heading-title,
.woocommerce.tax-product_tag .elementor-widget-heading .elementor-heading-title,
.post-type-archive-product .elementor-widget-heading .elementor-heading-title {
    display: none !important;
}

/* Responsive */
@media only screen and (max-width: 992px) {
    .vini-plp-header {
        flex-wrap: wrap;
        padding: 16px 0;
    }

    .vini-plp-title {
        font-size: 20px;
        line-height: 28px;
    }

    .vini-plp-sorting-section {
        width: 100%;
        justify-content: space-between;
        margin-top: 12px;
    }

    .vini-result-count-wrapper {
        display: none;
    }

    .vini-mobile-filter-toggle {
        display: flex;
        flex-direction: row;
        row-gap: 4px;
    }
}

@media only screen and (max-width: 768px) {
    .vini-plp-header-wrapper {

        padding: 16px
    }

    .vini-plp-sorting-section {
        margin-top: 0 !important
    }

    .vini-plp-header {
        padding: 12px 0;
    }

    .vini-plp-title {
        font-size: 18px;
        line-height: 24px;
    }

    .vini-plp-sorting-section .woocommerce-ordering select {
        min-width: 150px;
        padding: 8px 32px 8px 12px;
        font-size: 13px;
    }

    .vini-active-filters {
        margin-left: -15px;
        margin-right: -15px;
        padding-left: 15px;
        padding-right: 15px;
    }

    .vini-active-filter {
        padding: 4px 10px;
        font-size: 13px;
    }

    .vini-mobile-filter-toggle {
        padding: 8px 12px;
        font-size: 13px;
    }
}


/* ========================================
 * FIX: Duplicate Sidebar and Mobile Filter Button
 * Resolves issues with double sidebar rendering
 * and duplicate filter buttons on different breakpoints
 * ======================================== */

/* Desktop: Hide the secondary sidebar (element 3086d8f) since 8be61f2 is shown */
@media only screen and (min-width: 1025px) {
    .elementor-element-3086d8f#secondary {
        display: none !important;
    }
}

/* Tablets (768px - 1024px): Show only #secondary, hide the other */
@media only screen and (min-width: 768px) and (max-width: 1024px) {

    /* Hide the desktop sidebar (8be61f2) - should already be hidden by Elementor classes */
    .elementor-element-8be61f2.elementor-hidden-tablet {
        display: none !important;
    }

    /* Show and properly size the secondary sidebar */
    .elementor-element-3086d8f#secondary {
        display: block !important;
        width: 280px !important;
        min-width: 280px !important;
        flex-shrink: 0 !important;
    }

    /* Ensure the sidebar container has proper width */
    .elementor-element-3086d8f .elementor-widget-container {
        width: 100% !important;
    }
}

/* Small desktops (1024px - 1200px): Adjust sidebar width */
@media only screen and (min-width: 1025px) and (max-width: 1200px) {
    .elementor-element-8be61f2 .elementor-widget-container {
        width: 240px !important;
        min-width: 240px !important;
    }
}

/* Mobile: Hide both desktop sidebars, show only mobile filter button */
@media only screen and (max-width: 767px) {

    .elementor-element-8be61f2,
    .elementor-element-3086d8f#secondary {
        display: none !important;
    }
}

/* Hide Shoptimizer's native mobile filter button when using custom vini filter */
.shoptimizer-mobile-toggle:not(.vini-mobile-filter-toggle) {
    display: none !important;
}

/* Ensure only one mobile filter button shows */
@media only screen and (max-width: 992px) {

    /* Hide duplicate mobile filter buttons from theme */
    .mobile-filter:not(.vini-mobile-filter-toggle) {
        display: none !important;
    }

    /* Show our custom filter button */
    .vini-mobile-filter-toggle.mobile-filter {
        display: flex !important;
    }
}


/* ========================================
 * Vini Pagination Styles
 * ======================================== */

.vini-pagination-wrapper {
    width: 100%;
    padding: 40px 0;
}

.vini-pagination-wrapper .woocommerce-pagination {
    width: 100%;
}

.vini-pagination-wrapper .woocommerce-pagination ul.page-numbers {
    display: flex;
    justify-content: center;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 8px;
}

.vini-pagination-wrapper .woocommerce-pagination ul.page-numbers li {
    margin: 0;
    padding: 0;
}

/* Order: prev first, numbers middle, next last */
.vini-pagination-wrapper .woocommerce-pagination ul.page-numbers li:has(.prev) {
    order: -1;
}

.vini-pagination-wrapper .woocommerce-pagination ul.page-numbers li:has(.next) {
    order: 1;
}

/* Number buttons */
.vini-pagination-wrapper .woocommerce-pagination ul.page-numbers li a,
.vini-pagination-wrapper .woocommerce-pagination ul.page-numbers li span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border: 1px solid #D5D7DA;
    border-radius: 8px;
    background: #fff;
    color: #181D27;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s ease;
}

.vini-pagination-wrapper .woocommerce-pagination ul.page-numbers li a:hover {
    border-color: #F45A2F;
    color: #F45A2F;
}

.vini-pagination-wrapper .woocommerce-pagination ul.page-numbers li span.current {
    background: #F45A2F;
    border-color: #F45A2F;
    color: #fff;
}

/* Prev/Next buttons - replace arrows with text */
.vini-pagination-wrapper .woocommerce-pagination ul.page-numbers li a.prev,
.vini-pagination-wrapper .woocommerce-pagination ul.page-numbers li a.next {
    font-size: 0;
    /* Hide original arrow text */
    padding: 0 16px;
    gap: 8px;
}

.vini-pagination-wrapper .woocommerce-pagination ul.page-numbers li a.prev::before {
    content: "← Anterior";
    font-size: 14px;
    font-weight: 500;
}

.vini-pagination-wrapper .woocommerce-pagination ul.page-numbers li a.next::after {
    content: "Siguiente →";
    font-size: 14px;
    font-weight: 500;
}

/* Push prev to left edge, next to right edge */
.vini-pagination-wrapper .woocommerce-pagination ul.page-numbers li:has(.prev) {
    margin-right: auto;
}

.vini-pagination-wrapper .woocommerce-pagination ul.page-numbers li:has(.next) {
    margin-left: auto;
}

/* Responsive pagination */
@media only screen and (max-width: 767px) {
    .vini-pagination-wrapper {
        padding: 24px 0;
    }

    .vini-pagination-wrapper .woocommerce-pagination ul.page-numbers li a,
    .vini-pagination-wrapper .woocommerce-pagination ul.page-numbers li span {
        min-width: 36px;
        height: 36px;
        font-size: 13px;
    }

    .vini-pagination-wrapper .woocommerce-pagination ul.page-numbers li a.prev::before {
        content: "←";
        font-size: 14px;
    }

    .vini-pagination-wrapper .woocommerce-pagination ul.page-numbers li a.next::after {
        content: "→";
        font-size: 14px;
    }
}

.swiper-wrapper.cg-psp-gallery {
    min-height: 720px;
}