/*
Theme Name: Storefront Child
Theme URI: https://woocommerce.com/storefront/
Template: storefront
Author: Automattic
Author URI: https://woocommerce.com/
Description: Storefront is the perfect theme for your next WooCommerce project. Designed and developed by WooCommerce Core developers, it features a bespoke integration with WooCommerce itself plus many of the most popular customer facing WooCommerce extensions. There are several layout &amp; color options to personalise your shop, multiple widget regions, a responsive design and much more. Developers will love its lean and extensible codebase making it a joy to customize and extend. Looking for a WooCommerce theme? Look no further!
Tags: e-commerce,two-columns,left-sidebar,right-sidebar,custom-background,custom-colors,custom-header,custom-menu,featured-images,full-width-template,threaded-comments,accessibility-ready,rtl-language-support,footer-widgets,sticky-post,theme-options,editor-style
Version: 4.3.5
Updated: 2023-07-07 21:16:12

*/

.woocommerce-content-order-failed .woocommerce-order-details, .woocommerce-content-order-failed  .woocommerce-customer-details {
	display: none;
}

/* Gutenberg wide/full alignment helpers */
.storefront-align-wide .entry-content > .alignfull,
.storefront-align-wide .entry-content .alignfull,
.storefront-align-wide .entry-content > *.alignfull,
.storefront-align-wide .alignfull:not(.wp-block-gallery) {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.storefront-align-wide .entry-content > .alignwide,
.storefront-align-wide .entry-content .alignwide {
	max-width: min(1200px, calc(100vw - 3rem));
	margin-left: auto;
	margin-right: auto;
}

.storefront-align-wide .entry-content > *.alignfull > * {
	width: 100%;
}


#right-header-navbar { display: flex !important; flex-direction: row; flex-wrap: nowrap; align-content: center; justify-content: space-between; align-items: center; border-top: none; }
#right-header-navbar .sentir-lang-inline { order: 1; }
#right-header-navbar .cart-and-user-icons { order: 2; }
#right-header-navbar .user-my-account-header {
	display: inline-flex !important;
	align-items: center;
	margin: 0;
}
#right-header-navbar .user-my-account-header .account-contents { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; min-height: 28px; }
#right-header-navbar .cart-and-user-icons {
	position: relative;
	z-index: 1;
}
#right-header-navbar .dgwt-wcas-search-icon.js-dgwt-wcas-search-icon-handler {
	position: relative;
	z-index: 2; /* ensure search icon is above cart hitbox */
}
#right-header-navbar .cart-and-user-icons a.cart-contents,
#right-header-navbar .cart-and-user-icons #site-header-cart,
#right-header-navbar .cart-and-user-icons #site-header-cart li {
	position: relative;
	z-index: 1;
}
#right-header-navbar .dgwt-wcas-search-wrapp {
	position: relative;
	z-index: 3; /* wrapper above cart */
}
#right-header-navbar .site-search { display: block; float: unset; clear: unset; }

/* Prevent cart overlay from blocking search icon clicks */
#right-header-navbar .cart-and-user-icons {
	position: relative;
	z-index: 1;
}
#right-header-navbar .cart-and-user-icons * {
	pointer-events: auto;
}
#right-header-navbar .dgwt-wcas-search-wrapp,
#right-header-navbar .dgwt-wcas-search-icon.js-dgwt-wcas-search-icon-handler {
	position: relative;
	z-index: 3;
}

/* Ancho máximo del sitio: 1200px, centrado siempre */
.col-full,
#sentir-topbar .sentir-topbar__inner {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}

@media (max-width: 1204px) {
    .col-full,
    #sentir-topbar .sentir-topbar__inner {
        padding-left: 2rem;
        padding-right: 2rem;
    }
    #masthead > div.col-full {
        padding-left: 2rem !important;
        padding-right: 2rem !important;
    }
}

/* Top bar: language switcher only (search moved into main header) */
#sentir-topbar { position: relative; z-index: 1000; padding-bottom: 4px; padding-top: 6px; }
#sentir-topbar .sentir-topbar__inner {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-left: 0;
    padding-right: 0;
}

/* Topbar legacy oculto — reemplazado por dropdown de idioma en el header */
#sentir-topbar { display: none !important; }

/* FiboSearch grande en el header principal, como Marcombo */
.sentir-header-search {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    margin: 0 2rem;
}
.sentir-header-search .dgwt-wcas-search-wrapp {
    width: 100%;
    margin: 0;
    max-width: none;
}
.sentir-header-search .dgwt-wcas-search-form {
    width: 100%;
}
.sentir-header-search .dgwt-wcas-sf-wrapp {
    width: 100%;
}
@media (max-width: 767px) {
    .sentir-header-search {
        flex: 0 0 auto;
        width: 28px;
        margin: 0 18px 0 auto;
        overflow: hidden;
    }
    /* FiboSearch icon-flexible en mobile: el wrap tiene el ícono visible
     * (.dgwt-wcas-search-icon) + un disparador absoluto. Restringimos al
     * wrap a 28px y clippeamos lo que el layout flex de FiboSearch
     * desborde, para que el ícono no aterrice sobre el user icon. */
    .sentir-header-search .dgwt-wcas-search-wrapp {
        width: 28px !important;
        min-width: 28px !important;
        max-width: 28px !important;
        height: 28px;
        display: block !important;
        overflow: hidden;
    }
    /* El .dgwt-wcas-search-form (input+submit) se mantiene oculto. */
    .sentir-header-search .dgwt-wcas-search-form { display: none !important; }
    /* El ícono visible se centra en el wrap 28px. Hay una regla
     * `a.dgwt-wcas-search-icon.js-dgwt-wcas-search-icon-handler { margin: 40px !important }`
     * que lo desplaza fuera del wrap — la sobreescribimos con más specificity. */
    .sentir-header-search a.dgwt-wcas-search-icon.js-dgwt-wcas-search-icon-handler {
        position: static !important;
        width: 28px !important;
        height: 28px !important;
        margin: 0 !important;
        padding: 4px !important;
        box-sizing: border-box;
    }
    .sentir-header-search .dgwt-wcas-search-icon svg { width: 20px; height: 20px; }

    /* Separación entre lupa y los iconos de la derecha */
    #masthead .col-full #right-header-navbar { margin-left: 0; }
    #masthead .cart-and-user-icons { gap: 14px; }
}

/* Header: sin línea divisoria entre fila superior y nav */
#masthead.site-header,
.site-header { border-bottom: 0 !important; box-shadow: none !important; }

/* Storefront renderea un wp_page_menu fallback cuando no hay menu asignado al
 * theme location; Max Mega Menu ya cubre la navegación, así que ocultamos el duplicado. */
.storefront-primary-navigation #site-navigation > div.menu { display: none !important; }

/* Desktop: nav centrado (primera fila), breadcrumb debajo a la izquierda en una sola línea.
 * Mobile queda con el comportamiento default de Max Mega Menu. */
@media (min-width: 768px) {
    .storefront-primary-navigation { text-align: center; }
    .storefront-primary-navigation > .col-full {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .storefront-primary-navigation > .col-full > .storefront-breadcrumb {
        order: 2;
        width: 100%;
        text-align: left;
    }
    .storefront-primary-navigation > .col-full > .storefront-breadcrumb > .col-full {
        padding-left: 0;
        padding-right: 0;
        max-width: 100%;
    }
    .storefront-primary-navigation .storefront-breadcrumb .woocommerce-breadcrumb {
        white-space: nowrap;
        overflow-x: auto;
    }
    .storefront-primary-navigation #site-navigation,
    .storefront-primary-navigation .main-navigation {
        order: 1;
        float: none;
        width: 100%;
        max-width: 100%;
        display: flex !important;
        justify-content: center;
        align-items: center;
    }
    .storefront-primary-navigation #mega-menu-primary,
    .storefront-primary-navigation .main-navigation ul.menu,
    .storefront-primary-navigation .main-navigation > div > ul {
        width: auto !important;
        margin: 0 auto !important;
        display: inline-flex !important;
        justify-content: center;
        flex-wrap: wrap;
    }
}

/* Mobile: hamburguesa full-width (barra verde ocupa todo el ancho del container).
 * Breadcrumb va debajo del menú hamburguesa, no arriba. */
@media (max-width: 767px) {
    .storefront-primary-navigation > .col-full {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }
    .storefront-primary-navigation #site-navigation,
    .storefront-primary-navigation .main-navigation,
    .storefront-primary-navigation #mega-menu-wrap-primary {
        order: 1;
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
    }
    .storefront-primary-navigation > .col-full > .storefront-breadcrumb {
        order: 2;
        width: 100%;
    }
    .storefront-primary-navigation #mega-menu-wrap-primary .mega-menu-toggle { width: 100% !important; }

    /* Separación visual entre el menú hamburguesa y el contenido del producto. */
    .single-product .product .product_title,
    .single-product .product .pla-mobile-title {
        margin-top: 1.25rem;
    }

    /* Ocultar vídeo destacado y header del canal en mobile. */
    .ep-first-video,
    .channel-header {
        display: none !important;
    }
}

/* Quitar el box-shadow "recuadro" que se ve detrás de la imagen del producto
 * (originalmente definido en Customizer → CSS adicional). */
.woocommerce-product-gallery__wrapper img,
.woocommerce-product-gallery img {
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
}

/* Emojis de WP inline al tamaño del texto (el tema fuerza display:block en img). */
img.emoji,
img.wp-smiley {
    display: inline !important;
    width: 1em !important;
    height: 1em !important;
    max-width: 1em !important;
    max-height: 1em !important;
    vertical-align: -0.1em !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 .05em !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Dropdown de idioma compacto (solo bandera) junto al carrito */
.sentir-lang-switcher {
    position: relative;
    display: inline-flex;
    align-items: center;
    margin-left: 6px;
}
.sentir-lang-switcher__toggle {
    background: transparent;
    border: 0;
    padding: 6px 8px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    border-radius: 6px;
    color: #164b2e;
    line-height: 1;
    transition: background .15s ease;
}
.sentir-lang-switcher__toggle:hover,
.sentir-lang-switcher__toggle[aria-expanded="true"] {
    background: rgba(46, 107, 71, 0.1);
}
.sentir-lang-switcher__toggle:focus-visible {
    outline: 2px solid rgba(46, 107, 71, 0.5);
    outline-offset: 2px;
}
.sentir-lang-switcher .trp-flag-image {
    width: 22px;
    height: 16px;
    border-radius: 2px;
    display: block;
    flex-shrink: 0;
    box-shadow: 0 0 0 1px rgba(0,0,0,0.08);
}
.sentir-lang-switcher__caret {
    flex-shrink: 0;
    opacity: 0.55;
    margin-left: 2px;
}
.sentir-lang-switcher__menu {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    list-style: none;
    margin: 0;
    padding: 4px;
    min-width: 160px;
    background: #fff;
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    z-index: 1200;
    display: none;
}
.sentir-lang-switcher--open .sentir-lang-switcher__menu {
    display: block;
}
.sentir-lang-switcher__menu li { margin: 0; }
.sentir-lang-switcher__menu a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border-radius: 6px;
    color: #1d4a30;
    text-decoration: none;
    font-size: 14px;
    line-height: 1.2;
    white-space: nowrap;
}
.sentir-lang-switcher__menu a:hover,
.sentir-lang-switcher__menu a:focus-visible {
    background: rgba(46, 107, 71, 0.12);
    outline: none;
}
.sentir-lang-switcher__name { display: inline-block; }

/* Barra de idioma del topbar TRP floating: siempre oculta */
.trp-floating-switcher { display: none !important; }
#sentir-topbar .sentir-topbar__lang {
    /* flex sibling — sin absolute */
    position: static;
    transform: none;
    top: auto;
    right: auto;
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}
#sentir-topbar .sentir-topbar__lang * { font-size: 12px; }

/* Topbar languages: inline with flags and proper spacing */
#sentir-topbar .sentir-topbar__lang .trp-inline {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
#sentir-topbar .sentir-topbar__lang .trp-inline .trp-lang {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    line-height: 1;
    color: #2e6b47;
    text-decoration: none;
    background: rgba(46, 107, 71, 0.12);
    transition: background .2s ease, color .2s ease, box-shadow .2s ease;
    white-space: nowrap;
}
#sentir-topbar .sentir-topbar__lang .trp-inline .trp-lang.is-active {
    background: rgba(46, 107, 71, 0.18);
    color: #205336;
    font-weight: 600;
    pointer-events: none;
}
#sentir-topbar .sentir-topbar__lang .trp-inline .trp-lang:hover {
    background: rgba(46, 107, 71, 0.22);
    color: #1d4a30;
}
#sentir-topbar .sentir-topbar__lang .trp-inline .trp-lang:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px rgba(46, 107, 71, 0.25);
}
#sentir-topbar .sentir-topbar__lang .trp-inline .trp-flag-image {
    width: 18px;
    height: 14px;
    border-radius: 2px;
    display: block;
    flex-shrink: 0;
}
#sentir-topbar .sentir-topbar__lang .trp-lang-name {
    display: inline;
}

/* Remove duplicate/dropped TP switchers elsewhere; keep only our topbar */
.trp-floating-switcher { display: none !important; }
#sentir-topbar .trp-language-switcher { margin-left: 10px; }
#sentir-topbar .trp-language-switcher.trp-ls-inline .trp-language-item { margin-left: 8px; text-decoration: none; }
#sentir-topbar .trp_language_switcher_shortcode .trp-ls-shortcode-language { display: inline-flex !important; width: auto !important; }
#sentir-topbar .trp_language_switcher_shortcode .trp-ls-shortcode-current-language { display: none !important; }
#sentir-topbar .trp_language_switcher_shortcode .trp-ls-shortcode-language a { margin-left: 10px; text-decoration: none; padding: 4px 10px; border-radius: 999px; font-size: 12px; background: rgba(46, 107, 71, 0.12); color: #2e6b47; display: inline-flex; align-items: center; gap: 6px; transition: background .2s ease, color .2s ease, box-shadow .2s ease; }
#sentir-topbar .trp_language_switcher_shortcode .trp-ls-shortcode-language a:hover { background: rgba(46, 107, 71, 0.22); color: #1d4a30; }
#sentir-topbar .trp_language_switcher_shortcode .trp-ls-shortcode-language a:focus-visible { outline: none; box-shadow: 0 0 0 2px rgba(46, 107, 71, 0.25); }
#sentir-topbar .trp_language_switcher_shortcode .trp-ls-shortcode-language a.trp-ls-disabled-language { pointer-events: none; background: rgba(46, 107, 71, 0.18); color: #205336; font-weight: 600; }
#sentir-topbar .trp-language-item__current { pointer-events: none; opacity: .8; }

/* Header right area (account + cart) */
.cart-and-user-icons {
    display: inline-flex;
    gap: 8px;
    align-items: center;
}
.cart-and-user-icons .cart-contents,
.cart-and-user-icons .account-contents {
	position: relative;
	line-height: 1;
	color: #164b2e;
	padding: 0;
	border: none;
	background: transparent;
	width: 32px;
	outline: none !important;
	box-shadow: none !important;
}
.cart-and-user-icons .cart-contents::after {
	content: none !important; /* suppress Storefront default counter */
}
.cart-and-user-icons .cart-contents {
	width: 32px !important;
	padding: 0 !important;
	margin: 0 !important;
}
.cart-and-user-icons .account-contents {
	width: 32px;
	position: relative;
}
.header-actions { display: inline-flex; align-items: center; gap: 16px; }
.sentir-lang-inline { display: inline-flex; align-items: center; }
.sentir-lang-inline .trp-inline { display: inline-flex; gap: 8px; align-items: center; }
.sentir-lang-inline .trp-inline .trp-lang { font-size: 12px; line-height: 1; color: #2e6b47; text-decoration: none; padding: 4px 10px; border-radius: 999px; display: inline-flex; align-items: center; gap: 6px; background: rgba(46, 107, 71, 0.12); transition: background .2s ease, color .2s ease, box-shadow .2s ease; }
.sentir-lang-inline .trp-inline .trp-flag-image { width: 18px; height: 14px; border-radius: 2px; display: block; flex-shrink: 0; }
.sentir-lang-inline .trp-inline .trp-lang-name { display: inline-block; line-height: 1; }
.sentir-lang-inline .trp-inline .trp-lang.is-active { background: rgba(46, 107, 71, 0.18); color: #205336; font-weight: 600; pointer-events: none; }
.sentir-lang-inline .trp-inline a.trp-lang:hover { text-decoration: none; background: rgba(46, 107, 71, 0.22); color: #1d4a30; }
.sentir-lang-inline .trp-inline a.trp-lang:focus-visible { outline: none; box-shadow: 0 0 0 2px rgba(46, 107, 71, 0.25); }
.sentir-lang-inline .trp_language_switcher_shortcode .trp-ls-shortcode-language { display: inline-flex !important; width: auto !important; }
.sentir-lang-inline .trp_language_switcher_shortcode .trp-ls-shortcode-current-language { display: none !important; }
.sentir-lang-inline .trp_language_switcher_shortcode .trp-ls-shortcode-language a { margin-left: 10px; text-decoration: none; padding: 4px 10px; border-radius: 999px; font-size: 12px; background: rgba(46, 107, 71, 0.12); color: #2e6b47; display: inline-flex; align-items: center; gap: 6px; transition: background .2s ease, color .2s ease, box-shadow .2s ease; }
.sentir-lang-inline .trp_language_switcher_shortcode .trp-ls-shortcode-language a:hover { background: rgba(46, 107, 71, 0.22); color: #1d4a30; }
.sentir-lang-inline .trp_language_switcher_shortcode .trp-ls-shortcode-language a:focus-visible { outline: none; box-shadow: 0 0 0 2px rgba(46, 107, 71, 0.25); }
.sentir-lang-inline .trp_language_switcher_shortcode .trp-ls-shortcode-language a.trp-ls-disabled-language { pointer-events: none; background: rgba(46, 107, 71, 0.18); color: #205336; font-weight: 600; }
.cart-and-user-icons .account-contents .icon-account { display: block; outline: none; box-shadow: none; }
.cart-and-user-icons .account-contents,
.cart-and-user-icons .cart-contents {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    min-height: 28px;
    text-decoration: none;
}
.cart-and-user-icons .account-contents i,
.cart-and-user-icons .cart-contents i { font-size: 18px; }
#site-header-cart .widget_shopping_cart { margin-top: 8px; }
#right-header-navbar .cart-and-user-icons { gap: 8px; }
/* #right-header-navbar #site-header-cart { width: auto; } */
#right-header-navbar #site-header-cart .cart-contents { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; min-height: 28px; outline: none; box-shadow: none; padding: 0; width: 32px; }
#right-header-navbar #site-header-cart .cart-contents:focus, #right-header-navbar #site-header-cart .cart-contents:focus-visible { outline: none; box-shadow: none; }
#right-header-navbar #site-header-cart {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
	justify-content: space-around;
}
#right-header-navbar #site-header-cart > li { display: inline-flex; align-items: center; margin: 0 !important; }
.cart-and-user-icons svg {
	display: block;
	width: 20px;
	height: 20px;
}
.cart-and-user-icons .icon-account circle { fill: none !important; }
.cart-and-user-icons .count-cart-items {
	position: absolute;
	top: -6px;
	right: -9px;
	min-width: 18px;
	height: 18px;
	padding: 0 4px !important;
	border-radius: 999px;
	background-color: #164b2e;
	color: #ffffff;
	font-size: 11px;
	font-weight: 600;
	line-height: 18px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	text-align: center;
	box-sizing: border-box;
}
.cart-and-user-icons .account-contents:focus,
.cart-and-user-icons .account-contents:focus-visible,
.cart-and-user-icons .account-contents:hover,
.cart-and-user-icons .account-contents:active,
.cart-and-user-icons .cart-contents:focus,
.cart-and-user-icons .cart-contents:focus-visible,
.cart-and-user-icons .cart-contents:hover,
.cart-and-user-icons .cart-contents:active {
	outline: none !important;
	box-shadow: none !important;
	border: none !important;
}

/* Responsive adjustments */
@media (max-width: 1200px) {
    #sentir-topbar .sentir-topbar__lang .trp-inline .trp-lang-name {
        display: none;
    }
}

@media (max-width: 992px) {
    #sentir-topbar .sentir-topbar__inner {
        padding-top: 8px;
        padding-bottom: 8px;
    }

    #sentir-topbar .dgwt-wcas-search-wrapp {
        max-width: none;
        padding-right: 8px;
    }

    #sentir-topbar .sentir-topbar__lang .trp-inline .trp-lang {
        padding: 6px 10px;
        font-size: 11px;
        gap: 4px;
        min-height: 36px;
    }

    #sentir-topbar .sentir-topbar__lang .trp-inline .trp-lang-name {
        display: none;
    }

    /* Push user + cart icons to the right, aligned with the language flags */
    #right-header-navbar {
        padding-right: 0;
    }
    #right-header-navbar .cart-and-user-icons {
        justify-content: flex-end;
        gap: 8px;
    }
    #right-header-navbar #site-header-cart {
        width: 32px !important;
        min-width: 32px !important;
        overflow: visible;
    }

}

/* ── Navbar improvements ──────────────────────────────────────────── */

/* Sticky masthead */
#masthead.site-header {
    position: sticky;
    top: 0;
    z-index: 998;
    background: #fff;
    transition: box-shadow .2s ease;
}
#masthead.site-header.is-scrolled {
    box-shadow: 0 2px 12px rgba(0,0,0,.08);
}

/* Desktop: flex row so logo, nav, icons align in one line */
#masthead > div.col-full {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    min-height: 64px;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}
#masthead .site-branding {
    float: none !important;
    width: auto !important;
    margin: 0 2rem 0 0 !important;
    flex-shrink: 0;
}
.storefront-primary-navigation {
    float: none !important;
    flex: 1 1 auto;
    clear: none !important;
    width: auto !important;
    margin: 0 !important;
}

/* Push icons to far right */
#right-header-navbar {
    margin-left: auto;
    flex-shrink: 0;
}

/* Nav links — refined editorial typography */
.storefront-primary-navigation .main-navigation ul > li > a,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
    font-family: 'Raleway', sans-serif !important;
    font-size: 0.8125rem !important;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-weight: 600 !important;
    padding: 0.5rem 0.75rem !important;
    position: relative;
    text-decoration: none !important;
}
.storefront-primary-navigation .main-navigation ul > li > a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0.75rem;
    right: 0.75rem;
    height: 1.5px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .22s ease;
}
.storefront-primary-navigation .main-navigation ul > li:hover > a::after,
.storefront-primary-navigation .main-navigation ul > li.current-menu-item > a::after {
    transform: scaleX(1);
}
.storefront-primary-navigation .main-navigation ul > li.current-menu-item > a,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link {
    font-weight: 600 !important;
}

/* Scroll shadow via JS */
#masthead.site-header { transition: box-shadow .25s ease; }

/* Nav bar: drop below logo+icons row on mobile, full width */
@media (max-width: 1000px) {
    .site-header {
        padding-bottom: 0 !important;
        border-bottom: none !important;
    }
    #masthead > div.col-full {
        flex-wrap: wrap !important;
        justify-content: space-between !important;
        height: auto !important;
        min-height: 56px;
        margin: 0 !important;
    }
    #masthead .site-branding {
        width: auto !important;
        margin-left: 0 !important;
        margin-right: auto !important;
        flex: 0 0 auto !important;
    }
    #right-header-navbar {
        margin-left: 0;
        flex-shrink: 0;
    }
    .storefront-primary-navigation {
        order: 1;
        flex-basis: 100%;
        flex: 0 0 100% !important;
    }
}

@media (max-width: 480px) {
    #sentir-topbar .sentir-topbar__inner {
        padding-top: 6px;
        padding-bottom: 6px;
    }

    #sentir-topbar .dgwt-wcas-search-wrapp {
        padding-right: 6px;
    }

    #sentir-topbar .sentir-topbar__lang .trp-inline .trp-lang {
        padding: 5px 8px;
        min-height: 32px;
    }

    #sentir-topbar .sentir-topbar__lang .trp-inline .trp-flag-image {
        width: 16px;
        height: 12px;
    }
}

/* Footer: stack widget columns on small screens */
@media (max-width: 767px) {
    .site-footer .footer-widgets {
        flex-direction: column;
        align-items: center;
    }
    .site-footer .footer-widgets .block {
        width: 100% !important;
        max-width: none;
    }
    /* Keep logo at its desktop size */
    .site-footer .footer-widgets .block.footer-widget-1 {
        max-width: 170px !important;
    }
    /* Center social icons */
    .site-footer .footer-widgets .block.footer-widget-5 ul {
        justify-content: center;
    }
}

/* Newsletter CTA (Sentir) */
:root {
    --sentir-green: #b5d491; /* keep site color */
    --sentir-green-dark: #7a8f1f; /* readable on white */
}

/* News page layout */
.news-page__intro,
.news-featured,
.news-grid,
.news-list {
	max-width: min(1200px, 100%);
	margin: 0 auto;
	padding: 0 1.5rem;
}

.news-page__intro {
	margin-top: 2.5rem;
	margin-bottom: 2.5rem;
}

.news-page__intro-header {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-bottom: 1.25rem;
}

.news-page__title {
	font-size: clamp(2.2rem, 5vw, 3rem);
	line-height: 1.1;
	margin: 0;
}

.news-page__subtitle {
	font-size: 1.2rem;
	line-height: 1.4;
	color: #4f4f4f;
	margin: 0;
}

.news-page__content > *:first-child {
	margin-top: 0;
}

.news-grid .news-card.hentry {
	margin: 0;
}

.news-grid {
	margin-bottom: 3.5rem;
}

.news-card--hero {
	grid-column: span 2;
}

.news-card--hero .news-card__media {
	aspect-ratio: 21 / 9;
}

.news-card--hero .news-card__title {
	font-size: 1.3rem;
	-webkit-line-clamp: 3;
}

@media (max-width: 767px) {
	.news-card--hero {
		grid-column: span 1;
	}
	.news-card--hero .news-card__media {
		aspect-ratio: 16 / 9;
	}
}

.news-grid__items {
	display: grid;
	gap: 1.75rem;
	grid-template-columns: repeat(3, 1fr);
}

@media (min-width: 768px) and (max-width: 1023px) {
	.news-grid__items {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.news-grid__items {
		grid-template-columns: 1fr;
	}
}

.news-card {
	background-color: #ffffff;
	border-radius: 18px;
	box-shadow: 0 18px 38px rgba(24, 91, 56, 0.12);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.news-card__media {
	margin: 0;
	overflow: hidden;
	aspect-ratio: 16 / 9;
}

/* Placeholder cuando no hay imagen destacada */
.news-card__media--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #f5f2ec;
	padding: 2.5rem 2rem;
	min-height: 160px;
}

.news-card__image--placeholder {
	width: auto;
	max-width: 55%;
	height: auto;
	opacity: 0.55;
}

.news-card__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.news-card__body {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	flex: 1;
	padding: 1.25rem;
}

.news-card__title {
	font-size: 1.05rem;
	line-height: 1.3;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.news-card__title a {
	color: inherit;
	text-decoration: none;
}

.news-card__title a:hover,
.news-card__title a:focus {
	color: #2e6b47;
}

.news-card__excerpt {
	font-size: 0.9rem;
	line-height: 1.5;
	color: #444444;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.news-card__excerpt p {
	margin: 0;
}

.news-card__cta {
	margin-top: auto;
	font-weight: 600;
	color: #2e6b47;
	text-decoration: none;
	transition: color 0.2s ease;
}

.news-card__cta:hover,
.news-card__cta:focus {
	color: #205336;
	text-decoration: underline;
}

.news-list {
	margin-bottom: 4rem;
	max-width: min(960px, 100%);
}

.news-list__items {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.news-list__item {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.85rem 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.news-list__link {
	font-weight: 600;
	color: #212121;
	text-decoration: none;
}

.news-list__link:hover,
.news-list__link:focus {
	color: #2e6b47;
	text-decoration: underline;
}

.news-list__date {
	font-size: 0.95rem;
	color: #606060;
}

/* ── Scroll infinito: sentinel y skeletons ─────────────────────────────── */

#news-grid-sentinel {
	height: 1px;
	margin-top: 1rem;
}

@keyframes sentir-shimmer {
	0%   { background-position: 200% 0; }
	100% { background-position: -200% 0; }
}

.news-card--skeleton {
	pointer-events: none;
}

.news-card__media--skel {
	aspect-ratio: 4 / 3;
	background: linear-gradient(90deg, #efefef 25%, #e2e2e2 50%, #efefef 75%);
	background-size: 200% 100%;
	animation: sentir-shimmer 1.4s ease-in-out infinite;
	margin: 0;
}

.news-card__skel-line {
	height: 14px;
	border-radius: 4px;
	background: linear-gradient(90deg, #efefef 25%, #e2e2e2 50%, #efefef 75%);
	background-size: 200% 100%;
	animation: sentir-shimmer 1.4s ease-in-out infinite;
	margin-bottom: 10px;
}

.news-card__skel-line--title {
	height: 20px;
	width: 80%;
}

.news-card__skel-line--short {
	width: 55%;
	margin-bottom: 0;
}


@media (max-width: 599px) {
	.news-page__intro,
	.news-grid,
	.news-list {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.news-card__body {
		padding: 1rem;
	}
}

.wp-block-group.has-background {
	padding-bottom: 0;
}

.carousel-slider__post-image {
	background-size: contain;
	background-repeat: no-repeat;
}

/* ── Archive sidebar en mobile: ancho completo debajo del contenido ───── */
@media (max-width: 767px) {
	body.archive .site-content,
	body.woocommerce .site-content,
	body.post-type-archive-product .site-content {
		display: flex;
		flex-direction: column;
	}
	body.archive #primary,
	body.woocommerce #primary,
	body.post-type-archive-product #primary {
		width: 100% !important;
		float: none !important;
		margin: 0 !important;
	}
	body.archive #secondary,
	body.woocommerce #secondary,
	body.post-type-archive-product #secondary {
		width: 100% !important;
		float: none !important;
		margin: 2rem 0 0 0 !important;
		padding: 0 1rem;
		box-sizing: border-box;
		order: 2;
	}
	body.archive #secondary .widget,
	body.woocommerce #secondary .widget,
	body.post-type-archive-product #secondary .widget {
		margin-bottom: 1.5rem;
	}
}

/* ── Página "Canjear mi regalo" (template page-obsequio.php) ──────────── */
.page-obsequio {
	max-width: min(780px, 100%);
	margin: 0 auto;
	padding: 2.5rem 1.5rem;
}
.page-obsequio__header {
	text-align: center;
	margin-bottom: 1.5rem;
}
.page-obsequio__title {
	font-size: clamp(2rem, 4vw, 2.6rem);
	line-height: 1.15;
	margin: 0;
}
.page-obsequio__content {
	margin: 0 auto 2rem;
	max-width: 560px;
	text-align: center;
	color: #3c3c3c;
	line-height: 1.55;
}
.page-obsequio__form {
	margin: 0 auto;
	width: 100%;
	max-width: 560px;
}
.page-obsequio__form iframe {
	width: 100%;
	min-height: 520px;
	border: 0;
}
@media (max-width: 600px) {
	.page-obsequio {
		padding: 2rem 1rem;
	}
	.page-obsequio__form iframe {
		min-height: 620px;
	}
}

/* ── Carousel Slider: post cards — limitar altura de título y descripción ── */
.carousel-slider__post-title h2 {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.carousel-slider__post-excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ── Home front: Novedades "Ver todas" alineación en mobile ───────────── */
/* El botón vive dentro de .wp-block-buttons.is-content-justification-right
 * que usa justify-content: flex-end en desktop. En mobile stack → alinear
 * a la izquierda para quedar debajo del heading. */
@media (max-width: 767px) {
	.wp-block-genesis-blocks-gb-column .wp-block-buttons.is-content-justification-right {
		justify-content: flex-start !important;
	}
	.wp-block-genesis-blocks-gb-column .wp-block-buttons .wp-block-button__link.has-text-align-right {
		text-align: left !important;
	}
	.gb-block-layout-column-inner > .wp-block-heading {
		text-align: left;
	}
}

/* ── Home: bloque "Colecciones" en mobile ─────────────────────────────
 * El front tiene dos bloques gemelos: #desktop-colecciones (oculto en mobile
 * por CSS original) y #mobile-colecciones (vacío). Mostramos el de desktop
 * también en mobile y ocultamos el vacío. */
@media (max-width: 767px) {
	body #desktop-colecciones,
	html body #desktop-colecciones { display: block !important; }
	body #mobile-colecciones { display: none !important; }
}
