/*
Theme Name: HAYLOVIU (hijo de Astra)
Template: astra
Description: Retoque visual de hayloviu.com. Todo lo propio va aquí, para que las actualizaciones de Astra no lo borren.
Version: 0.8.4
Text Domain: hayloviu-child
*/

/* Vacío a propósito: los cambios se añaden paso a paso, según se aprueben. */

/* Cabecera: el logo ya dice HAYLOVIU, así que se oculta el texto «hayloviu.com» que Astra pone al lado.
   Se esconde a la vista pero se deja para lectores de pantalla. */
.site-branding .ast-site-title-wrap {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

/* ==========================================================================
   Colores y letras (propuesta 3 · «la web como una invitación»)
   papel #FBF7F1 · tinta #3A2F2A · salvia #5E6E5A · rubor #F2DCD6 · arena #D6BA96 · oro #A9864F
   ========================================================================== */
:root {
    --hv-papel: #FBF7F1;
    --hv-tinta: #3A2F2A;
    --hv-salvia: #5E6E5A;
    --hv-rubor: #F2DCD6;
    --hv-arena: #D6BA96;
    --hv-oro: #A9864F;       /* solo adornos: no llega al contraste para texto */
    --hv-titulos: 'Cormorant Infant', Georgia, serif;
}

/* Fondo y texto */
html body[class],
html body.ast-separate-container,
.ast-separate-container,
.ast-separate-container .site-content,
.ast-page-builder-template .site-content > .ast-container {
    background-color: var(--hv-papel);
}
body, p, li, td { color: var(--hv-tinta); }

/* Enlaces */
a, .entry-content a { color: var(--hv-salvia); }
a:hover, a:focus { color: var(--hv-tinta); }

/* Cabecera y pie */
.main-header-bar, .ast-primary-header-bar, .ast-above-header, .ast-below-header,
.ast-desktop .ast-primary-header-bar.main-header-bar {
    background-color: var(--hv-papel);
}
.site-footer, .ast-small-footer { background-color: #E5EBE1; } /* salvia claro */
.site-primary-footer-wrap[data-section], .site-below-footer-wrap[data-section], .site-above-footer-wrap[data-section] { background-color: transparent; }

/* El logo trae fondo blanco: sobre el papel se funde en vez de verse como una caja */
.custom-logo-link img, .site-logo-img img { mix-blend-mode: multiply; }

/* Títulos y nombres de producto en la letra de invitación */
h1, h2, h3, h4,
.entry-title, .page-title, .woocommerce-loop-product__title,
.woocommerce div.product .product_title, .widget-title,
.elementor-widget-heading .elementor-heading-title {
    font-family: var(--hv-titulos);
    font-weight: 600;
    color: var(--hv-tinta);
    letter-spacing: 0;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1.25rem; line-height: 1.25; }

/* Texto en Montserrat normal, no en negrita */
body, p, li, .entry-content { font-weight: 400; }

/* Botones: salvia con letra blanca (contraste 5,4 a 1). La forma de los botones se toca en el paso de las tarjetas. */
html :is(.woocommerce, .woocommerce-page) ul.products li.product .button.button,
html :is(.woocommerce, .woocommerce-page) a.button.button,
html :is(.woocommerce, .woocommerce-page) button.button.button,
html :is(.woocommerce, .woocommerce-page) input.button.button,
html body .ast-button, html body button.single_add_to_cart_button.button {
    background-color: var(--hv-salvia) !important;
    color: #fff !important;
}
html :is(.woocommerce, .woocommerce-page) ul.products li.product .button.button:hover,
html :is(.woocommerce, .woocommerce-page) a.button.button:hover,
html :is(.woocommerce, .woocommerce-page) button.button.button:hover,
html body button.single_add_to_cart_button.button:hover {
    background-color: var(--hv-tinta) !important;
    color: #fff !important;
}

/* Cesta: borde y burbuja en arena/salvia en lugar del beige apagado */
.ast-site-header-cart .ast-cart-menu-wrap .count { background-color: var(--hv-salvia); color: #fff; }

/* Los títulos de Elementor traen su propia letra; se les pone la de invitación */
.elementor-widget-heading .elementor-heading-title { font-family: var(--hv-titulos) !important; }

/* ==========================================================================
   Tarjetas de producto (propuesta 3): tarjeta blanca y redondeada, la foto arriba y,
   debajo, nombre y precio con la cesta en un círculo pequeño en la fila del precio.
   Nada depende del ratón; el círculo mide 44 px para el dedo.
   ========================================================================== */
:root { --hv-linea: #E9DFD2; --hv-salvia-claro: #E5EBE1; --hv-oferta: #9A4A4A; --hv-tinta-suave: #6B5F57; }

html :is(.woocommerce, .woocommerce-page) ul.products li.product {
    position: relative;
    background: #fff;
    border: 1px solid var(--hv-linea);
    border-radius: 14px;
    overflow: hidden;
    text-align: left;
    padding: 0;
    margin-bottom: 28px;
    transition: box-shadow .2s ease;
}
html :is(.woocommerce, .woocommerce-page) ul.products li.product:hover { box-shadow: 0 14px 30px -18px rgba(58, 47, 42, .35); }

/* Foto a todo el ancho de la tarjeta */
html :is(.woocommerce, .woocommerce-page) ul.products li.product .astra-shop-thumbnail-wrap { margin: 0; }
html :is(.woocommerce, .woocommerce-page) ul.products li.product .astra-shop-thumbnail-wrap img { width: 100%; height: auto; margin: 0; border-radius: 0; }

/* Nombre y precio */
html :is(.woocommerce, .woocommerce-page) ul.products li.product .astra-shop-summary-wrap { padding: 14px 16px 12px; }
html :is(.woocommerce, .woocommerce-page) ul.products li.product .woocommerce-loop-product__title {
    margin: 0 0 2px; padding: 0; font-size: 1.3rem; line-height: 1.15; text-align: left;
}
html :is(.woocommerce, .woocommerce-page) ul.products li.product .price {
    display: flex !important; align-items: center; justify-content: flex-start !important; gap: 6px; min-height: 44px; padding: 0 56px 0 0 !important; margin: 0 !important; text-align: left !important;
    font-size: .9rem; font-weight: 500; color: var(--hv-tinta-suave);
}
html :is(.woocommerce, .woocommerce-page) ul.products li.product .price del { color: var(--hv-tinta-suave); opacity: 1; }
html :is(.woocommerce, .woocommerce-page) ul.products li.product .price ins { text-decoration: none; color: var(--hv-oferta); font-weight: 600; }

/* Fuera el bloque grande de «Añadir al carrito» / «Seleccionar opciones» */
html :is(.woocommerce, .woocommerce-page) ul.products li.product a.button.button:not(.ast-on-card-button) { display: none !important; }

/* Cesta: círculo blanco con borde fino, abajo a la derecha, en la fila del precio */
html body ul.products li.product a.ast-on-card-button {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute;
    top: auto;
    right: 16px;
    bottom: 12px;
    z-index: 2;
    width: 44px;
    height: 44px;
    padding: 0;
    border-radius: 50%;
    border: 1px solid var(--hv-linea);
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235E6E5A' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d%3D'M3 4h2.4l1.9 10h9.6l1.7-7H6.4'/%3E%3Ccircle cx%3D'9.5' cy%3D'18.5' r%3D'1.1'/%3E%3Ccircle cx%3D'16' cy%3D'18.5' r%3D'1.1'/%3E%3Cpath d%3D'M12.5 8v4M10.5 10h4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 22px 22px;
    box-shadow: none;
    transition: background-color .2s ease, border-color .2s ease;
}
html body ul.products li.product a.ast-on-card-button:hover,
html body ul.products li.product a.ast-on-card-button:focus-visible {
    background-color: var(--hv-salvia);
    border-color: var(--hv-salvia);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d%3D'M3 4h2.4l1.9 10h9.6l1.7-7H6.4'/%3E%3Ccircle cx%3D'9.5' cy%3D'18.5' r%3D'1.1'/%3E%3Ccircle cx%3D'16' cy%3D'18.5' r%3D'1.1'/%3E%3Cpath d%3D'M12.5 8v4M10.5 10h4'/%3E%3C/svg%3E");
}
html body ul.products li.product a.ast-on-card-button::before,
html body ul.products li.product a.ast-on-card-button::after { content: none !important; display: none !important; } /* rótulo «Añadir al carrito» que pega otro CSS */
html body ul.products li.product a.ast-on-card-button .ahfb-svg-iconset,
html body ul.products li.product a.ast-on-card-button .ast-card-action-tooltip { display: none !important; }

/* Etiqueta de oferta: pastilla pequeña arriba a la izquierda, en lugar del círculo grande «Sale!» */
html body ul.products li.product .ast-onsale-card {
    display: block !important; visibility: visible !important; opacity: 1 !important;
    position: absolute; top: 12px; left: 12px; right: auto; bottom: auto; z-index: 2;
    width: auto; height: auto; min-width: 0; min-height: 0; margin: 0;
    padding: 4px 10px; border-radius: 999px; border: 0; box-shadow: none; line-height: 1.3;
    background: var(--hv-salvia-claro); color: var(--hv-salvia);
    font-size: 0; font-weight: 600; text-transform: none;
}
html body ul.products li.product .ast-onsale-card::before { content: none !important; }
html body ul.products li.product .ast-onsale-card::after { content: "Oferta" !important; display: inline !important; font-size: 11.5px; font-family: 'Montserrat', sans-serif; }

/* Nombre alineado a la izquierda (Astra lo centra) */
html :is(.woocommerce, .woocommerce-page) ul.products li.product .woocommerce-loop-product__title { display: block !important; text-align: left !important; justify-content: flex-start !important; }

/* Tienda y categorías: 3 columnas con aire (en tablet y móvil se mantienen las del diseñador) */
@media (min-width: 922px) {
    html body.archive.woocommerce ul.products {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 32px 28px;
    }
    html body.archive.woocommerce ul.products::before,
    html body.archive.woocommerce ul.products::after { display: none; }
    html body.archive.woocommerce ul.products li.product {
        width: auto !important;
        max-width: none;
        float: none;
        margin: 0;
    }
}

/* «Ver más productos» (propuesta 3): texto, barrita de progreso y botón redondo */
.hv-oculta { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.hv-mas { text-align: center; margin: 36px 0 12px; font-size: 13px; color: var(--hv-tinta-suave); }
.hv-mas__texto { margin: 0; }
.hv-mas__barra { width: 220px; height: 3px; background: var(--hv-linea); border-radius: 3px; margin: 8px auto 16px; overflow: hidden; }
.hv-mas__barra i { display: block; height: 100%; background: var(--hv-salvia); transition: width .3s ease; }
html body .hv-mas__boton {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 48px; padding: 0 28px; border-radius: 999px; cursor: pointer;
    font: 500 14px/1 'Montserrat', sans-serif; color: var(--hv-tinta); background: transparent;
    border: 1px solid var(--hv-tinta); transition: background-color .2s ease, color .2s ease;
}
html body .hv-mas__boton:hover:not(:disabled), html body .hv-mas__boton:focus-visible { background: var(--hv-tinta); color: #fff; }
html body .hv-mas__boton:disabled { opacity: .6; cursor: progress; }

/* Barra lateral estrecha (250 px, como en el boceto) y tarjetas más cuadradas */
@media (min-width: 922px) {
    html body:is(.archive, .single-product).woocommerce.ast-left-sidebar #secondary { width: 250px; padding-right: 0; }
    html body:is(.archive, .single-product).woocommerce.ast-left-sidebar #primary { width: calc(100% - 250px); }
    html body:is(.archive, .single-product).woocommerce.ast-left-sidebar #primary { padding-left: 34px; }
}
html :is(.woocommerce, .woocommerce-page) ul.products li.product .astra-shop-thumbnail-wrap img { aspect-ratio: 10 / 9; object-fit: cover; }
html :is(.woocommerce, .woocommerce-page) ul.products li.product .astra-shop-summary-wrap { padding: 12px 14px 6px; }
html :is(.woocommerce, .woocommerce-page) ul.products li.product .woocommerce-loop-product__title { font-size: 1.15rem; }
html :is(.woocommerce, .woocommerce-page) ul.products li.product .price { min-height: 40px; }
html body ul.products li.product a.ast-on-card-button { right: 14px; bottom: 10px; width: 40px; height: 40px; background-size: 20px 20px; }

/* ==========================================================================
   Árbol de categorías en la barra lateral (propuesta 3)
   ========================================================================== */
.hv-lateral { font-size: 14px; margin-top: 26px; }
.hv-lateral__titulo { font-family: var(--hv-titulos); font-size: 24px; font-weight: 600; margin: 0 0 8px; line-height: 1.15; }
.hv-lateral__titulo a { color: var(--hv-tinta); text-decoration: none; }
.hv-arbol ul { list-style: none; margin: 0; padding: 0; }
.hv-arbol > ul { border-top: 1px solid var(--hv-linea); }
.hv-arbol > ul > li { border-bottom: 1px solid var(--hv-linea); margin: 0; }
.hv-arbol a { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; text-decoration: none; padding-top: 9px; padding-bottom: 9px; color: #4F4540; }
.hv-arbol a { margin: 0 -6px; padding-left: 10px; padding-right: 10px; border-radius: 8px; transition: background-color .15s ease, color .15s ease; }
.hv-arbol a:hover, .hv-arbol a:focus-visible { background-color: #E5EBE1; color: var(--hv-tinta); }
.hv-arbol a:hover small, .hv-arbol a:focus-visible small { color: var(--hv-tinta); }
.hv-arbol a small { color: var(--hv-tinta-suave); font-size: 12px; flex: none; }
.hv-arbol li.aqui > a { color: var(--hv-tinta); font-weight: 600; }
.hv-arbol a[aria-current="page"] { color: var(--hv-tinta); font-weight: 600; }
.hv-arbol li ul { margin: 0 0 8px; padding: 0 0 0 12px; border-left: 2px solid var(--hv-rubor); }
.hv-arbol li ul a { padding-top: 6px; padding-bottom: 6px; font-size: 13.5px; }
.hv-arbol li ul li { border: 0; margin: 0; }
.hv-lateral__todas { margin: 14px 0 0; font-size: 13px; }
.hv-lateral__todas a { color: var(--hv-salvia); }

/* Pie de página en salvia claro: enlaces en tinta (el dorado no llega al contraste) */
.site-footer, .site-footer p, .site-footer .menu-link, .site-footer a { color: var(--hv-tinta); }
.site-footer a:hover, .site-footer a:focus-visible, .site-footer .menu-link:hover { color: var(--hv-salvia); }
.site-footer .menu-link { font-weight: 400; }

/* ==========================================================================
   Buscador de la barra lateral: pequeño, fino y de una sola línea
   ========================================================================== */
#secondary .wp-block-search { margin: 0 0 4px; }
#secondary .wp-block-search__label {
    position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; /* se queda para lectores de pantalla */
}
#secondary .wp-block-search__inside-wrapper {
    display: flex; align-items: center; gap: 0; position: relative;
    border: 1px solid var(--hv-linea); border-radius: 999px; background: #fff; padding: 0 4px 0 16px; min-height: 44px;
    transition: border-color .2s ease;
}
#secondary .wp-block-search__inside-wrapper:focus-within { border-color: var(--hv-salvia); }
#secondary .wp-block-search__input {
    flex: 1; min-width: 0; border: 0 !important; background: transparent !important; box-shadow: none !important; outline: 0;
    padding: 0 !important; height: 40px; font: 300 13.5px/1 'Montserrat', sans-serif; color: var(--hv-tinta);
}
#secondary .wp-block-search__input::placeholder { color: var(--hv-tinta-suave); opacity: 1; font-weight: 300; }
html body #secondary .wp-block-search__button {
    flex: none; width: 36px; height: 36px; padding: 0; margin: 0; border: 0; border-radius: 50%; cursor: pointer;
    font-size: 0; color: transparent; background-color: transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235E6E5A' stroke-width='1.5' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M16 16l4.5 4.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: center; background-size: 20px 20px;
    transition: background-color .2s ease;
}
html body #secondary .wp-block-search__button:hover, html body #secondary .wp-block-search__button:focus-visible { background-color: #E5EBE1; }
.site-footer .current-menu-item > .menu-link, .site-footer .current-menu-item > a { color: var(--hv-salvia); font-weight: 600; }

/* ==========================================================================
   Menú de la cabecera (propuesta 3): panel desplegable a todo el ancho, solo con CSS
   ========================================================================== */
@media (min-width: 922px) {
    .ast-desktop .ast-below-header-bar { position: relative; }
    .ast-desktop .main-header-menu > .menu-item { position: static; }

    .ast-desktop .main-header-menu > .menu-item > .menu-link {
        font-size: clamp(13.5px, 1.1vw, 15px); font-weight: 400; color: var(--hv-tinta);
        padding: 0 clamp(8px, 1.1vw, 16px); line-height: 48px; border-radius: 999px; white-space: nowrap;
        transition: background-color .15s ease;
    }
    .ast-desktop .main-header-menu > .menu-item:hover > .menu-link,
    .ast-desktop .main-header-menu > .menu-item:focus-within > .menu-link,
    .ast-desktop .main-header-menu > .menu-item.focus > .menu-link { background-color: #E5EBE1; color: var(--hv-tinta); }
    .ast-desktop .main-header-menu > .current-menu-item > .menu-link,
    .ast-desktop .main-header-menu > .current-menu-ancestor > .menu-link,
    .ast-desktop .main-header-menu > .current-menu-parent > .menu-link { box-shadow: inset 0 -2px 0 var(--hv-salvia); border-radius: 0; color: var(--hv-tinta); }

    /* Panel */
    .ast-desktop .main-header-menu > .menu-item > .sub-menu {
        position: absolute; left: 0; right: 0; top: 100%; width: auto; min-width: 0;
        display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 2px 28px; align-content: start;
        padding: 26px max(32px, calc((100% - 1200px) / 2)) 30px;
        background: #fff; border: 0; border-bottom: 1px solid var(--hv-linea); border-radius: 0;
        box-shadow: 0 24px 40px -24px rgba(58, 47, 42, .35);
    }
    .ast-desktop .main-header-menu > .menu-item:focus-within > .sub-menu { opacity: 1; visibility: visible; }
    .ast-desktop .main-header-menu .sub-menu > .menu-item { border: 0; margin: 0; }
    .ast-desktop .main-header-menu .sub-menu > .menu-item > .menu-link {
        display: block; border: 0; padding: 10px 12px; min-height: 44px; border-radius: 8px;
        font-size: 14.5px; font-weight: 400; line-height: 1.35; color: #4F4540; background: transparent;
    }
    .ast-desktop .main-header-menu .sub-menu > .menu-item > .menu-link:hover,
    .ast-desktop .main-header-menu .sub-menu > .menu-item > .menu-link:focus-visible { background-color: #E5EBE1; color: var(--hv-tinta); }
}

/* Franja de aviso encima de la cabecera */
.hv-aviso { background: var(--hv-salvia); color: #fff; text-align: center; font: 500 12.5px/1.4 'Montserrat', sans-serif; padding: 9px 16px; }

/* Referencia (SKU) discreta bajo el título de la ficha */
.hv-ref { margin: -4px 0 14px; font-size: 12.5px; letter-spacing: .03em; color: var(--hv-tinta-suave); }
.single-product .product_meta .sku_wrapper { display: none !important; }

/* ==========================================================================
   «Personalízame»: insignia con el corazón de la intranet y bloque de la ficha
   ========================================================================== */
.hv-pers {
    display: inline-flex; align-items: center; gap: 6px; padding: 4px 11px 4px 8px; border-radius: 999px;
    background: #fff; border: 1px solid var(--hv-linea); color: var(--hv-tinta);
    font: 600 12px/1.2 'Montserrat', sans-serif; letter-spacing: .01em; box-shadow: 0 1px 3px rgba(58, 47, 42, .12);
}
.hv-pers .hv-corazon { flex: none; }
html body ul.products li.product .hv-pers { position: absolute; top: 12px; left: 12px; z-index: 2; }
html body ul.products li.product.hv-es-pers .ast-onsale-card { top: 48px; }
.hv-pers-ficha { margin: 0 0 12px; }
.hv-pers-ficha .hv-pers { box-shadow: none; }

.hv-panel { margin: 18px 0; padding: 18px 18px 14px; background: #fff; border: 1px solid var(--hv-linea); border-radius: 14px; }
.hv-panel__cab { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.hv-panel__cab b { display: block; font-family: var(--hv-titulos); font-size: 24px; font-weight: 600; line-height: 1.1; color: var(--hv-tinta); }
.hv-panel__cab span { font-size: 13px; color: var(--hv-tinta-suave); }
.hv-pasos-ficha { list-style: none; margin: 0 0 14px; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.hv-pasos-ficha li { display: flex; gap: 8px; align-items: flex-start; font-size: 12.5px; line-height: 1.35; color: #4F4540; margin: 0; }
.hv-pasos-ficha b { flex: none; width: 22px; height: 22px; border-radius: 50%; background: var(--hv-salvia-claro); color: var(--hv-salvia); display: grid; place-items: center; font-size: 12px; }
.hv-pasos-ficha em { font-style: normal; color: var(--hv-tinta-suave); }
.hv-panel__nota { margin: 0 0 14px; padding: 10px 12px; background: var(--hv-papel); border-radius: 8px; font-size: 13px; color: var(--hv-tinta-suave); }
.hv-campos { margin-bottom: 8px; }
.hv-campo { margin: 0 0 12px; }
.hv-campo label { display: block; font-size: 13.5px; font-weight: 500; margin-bottom: 4px; color: var(--hv-tinta); }
.hv-campo small { font-weight: 400; color: var(--hv-tinta-suave); }
.hv-campo textarea, .hv-campo input[type=date] { width: 100%; border: 1px solid var(--hv-linea); border-radius: 8px; padding: 10px 12px; font: 400 14px/1.4 'Montserrat', sans-serif; background: var(--hv-papel); }
.hv-campo textarea:focus, .hv-campo input:focus { border-color: var(--hv-salvia); outline: 0; }
.hv-contador { display: block; text-align: right; font-size: 11.5px; color: var(--hv-tinta-suave); margin-top: 2px; }
.hv-minimo { margin: 6px 0; font-size: 13.5px; color: var(--hv-tinta); }
.hv-revisado { margin: 12px 0 6px; }
.hv-revisado label { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; font-weight: 500; color: var(--hv-tinta); cursor: pointer; }
.hv-revisado input { flex: none; width: 20px; height: 20px; margin-top: 1px; accent-color: var(--hv-salvia); }
.hv-panel__aviso { margin: 0 0 6px; font-size: 12px; line-height: 1.45; color: var(--hv-tinta-suave); }
.hv-panel__aviso a, .hv-panel__ayuda a { color: var(--hv-salvia); }
.hv-panel__ayuda { margin: 0; font-size: 13px; }
.hv-total { margin: 8px 0 0; font-size: 14px; color: var(--hv-tinta); }
@media (max-width: 600px) { .hv-pasos-ficha { grid-template-columns: 1fr; } }
.hv-campo abbr[title] { text-decoration: none; border: 0; color: var(--hv-oferta); cursor: help; }

/* ==========================================================================
   Filtros de la tienda (propuesta 3): celebración, precio y características
   ========================================================================== */
.hv-filtros { margin-top: 22px; font-size: 14px; }
.hv-filtros summary { cursor: pointer; font-family: var(--hv-titulos); font-size: 24px; font-weight: 600; padding: 4px 0 8px; list-style: none; }
.hv-filtros summary::-webkit-details-marker { display: none; }
.hv-filtros summary::after { content: "＋"; float: right; font-family: 'Montserrat', sans-serif; font-size: 16px; color: var(--hv-salvia); }
.hv-filtros details[open] summary::after { content: "－"; }
.hv-filtro { border: 0; border-top: 1px solid var(--hv-linea); margin: 0; padding: 12px 0; min-width: 0; }
.hv-filtro legend { padding: 0; float: left; width: 100%; font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--hv-tinta-suave); margin-bottom: 8px; }
.hv-filtro > *:not(legend) { clear: both; }
.hv-op { display: flex; align-items: center; gap: 10px; min-height: 40px; cursor: pointer; color: #4F4540; }
.hv-op input { width: 18px; height: 18px; flex: none; accent-color: var(--hv-salvia); margin: 0; }
.hv-op span { flex: 1; }
.hv-op small { color: var(--hv-tinta-suave); font-size: 12px; }
.hv-nota { margin: 10px 0 0; padding: 8px 10px; background: var(--hv-rubor); border-radius: 8px; font-size: 12px; line-height: 1.5; color: #4F4540; }
/* Agotados: atenuados */
html body ul.products li.product.outofstock img { opacity: .55; filter: grayscale(.6); }
html body ul.products li.product.outofstock :is(.woocommerce-loop-product__title, .price) { opacity: .6; }
.hv-rango { display: flex; align-items: center; gap: 8px; }
.hv-rango label { flex: 1; min-width: 0; }
.hv-rango input { width: 100%; border: 1px solid var(--hv-linea); border-radius: 8px; padding: 8px 10px; background: #fff; font: 400 13px/1.2 'Montserrat', sans-serif; color: var(--hv-tinta); min-height: 40px; }
.hv-rango input:focus { border-color: var(--hv-salvia); outline: 0; }
.hv-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.hv-chip { position: relative; margin: 0; cursor: pointer; }
.hv-chip input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.hv-chip span { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--hv-linea); background: #fff; font-size: 13px; color: #4F4540; transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.hv-chip:hover span { border-color: var(--hv-salvia); }
.hv-chip input:checked + span { background: var(--hv-tinta); border-color: var(--hv-tinta); color: #fff; }
.hv-chip input:focus-visible + span { outline: 2px solid var(--hv-salvia); outline-offset: 2px; }
.hv-filtros__pie { display: flex; align-items: center; gap: 14px; border-top: 1px solid var(--hv-linea); padding-top: 12px; }
html body .hv-filtros__aplicar { min-height: 40px; padding: 0 22px; border-radius: 999px; border: 1px solid var(--hv-tinta); background: transparent; color: var(--hv-tinta); font: 500 13px/1 'Montserrat', sans-serif; cursor: pointer; }
html body .hv-filtros__aplicar:hover, html body .hv-filtros__aplicar:focus-visible { background: var(--hv-tinta); color: #fff; }
.hv-filtros__pie a { color: var(--hv-salvia); font-size: 13px; }
.hv-activos { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 16px; font-size: 13px; color: var(--hv-tinta-suave); }
.hv-activo { display: inline-flex; gap: 6px; align-items: center; background: var(--hv-salvia-claro); color: var(--hv-salvia); border-radius: 999px; padding: 4px 12px; font-weight: 600; text-decoration: none; font-size: 12.5px; }
.hv-activo:hover { background: var(--hv-salvia); color: #fff; }
.hv-activos__todos { margin-left: 6px; color: var(--hv-salvia); }
.hv-rango input, .hv-chip input { box-sizing: border-box; }
.hv-rango label { display: block; margin: 0; }
.hv-filtros { padding-right: 12px; }
.hv-activos { clear: both; width: 100%; padding-top: 6px; }

/* ==========================================================================
   Carrito desplegable: botones centrados
   ========================================================================== */
.woocommerce-mini-cart__buttons { display: grid; gap: 10px; margin: 0; padding: 0; }
html body .woocommerce-mini-cart__buttons a.button, html body .woocommerce-mini-cart__buttons .button {
    display: flex !important; align-items: center; justify-content: center; width: 100%; box-sizing: border-box; min-height: 48px; height: auto !important; margin: 0 !important;
    padding: 0 20px !important; border-radius: 999px; font: 500 14px/1.2 'Montserrat', sans-serif; text-align: center; text-decoration: none; border: 1px solid var(--hv-salvia);
    background: var(--hv-salvia); color: #fff;
}
html body .woocommerce-mini-cart__buttons a.button:not(.checkout) { background: transparent !important; color: var(--hv-tinta) !important; border-color: var(--hv-tinta) !important; }
html body .woocommerce-mini-cart__buttons a.button:not(.checkout):hover { background: var(--hv-tinta) !important; color: #fff !important; }
html body .woocommerce-mini-cart__buttons a.button:hover { background: var(--hv-tinta); border-color: var(--hv-tinta); color: #fff; }
.woocommerce-mini-cart__total { font-size: 14.5px; }

/* ==========================================================================
   Artículos «solo consulta»
   ========================================================================== */
html body ul.products li.product.hv-consulta .ast-on-card-button, html body ul.products li.product.hv-consulta a.button:not(.hv-consultar-btn) { display: none !important; }
html body ul.products li.product.hv-consulta .price { padding-right: 118px; }
.hv-sin-precio { color: var(--hv-tinta-suave); font-style: italic; font-size: .92rem; font-weight: 400; }
.hv-consultar-btn {
    display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 18px; border-radius: 999px; border: 1px solid var(--hv-salvia);
    background: #fff; color: var(--hv-salvia) !important; font: 500 13px/1 'Montserrat', sans-serif; text-decoration: none; cursor: pointer; transition: background-color .2s ease, color .2s ease;
}
html body ul.products li.product > .astra-shop-summary-wrap ~ .hv-consultar-btn, html body ul.products li.product > .hv-consultar-btn { position: absolute; right: 14px; bottom: 10px; z-index: 2; }
.hv-consultar-btn:hover, .hv-consultar-btn:focus-visible { background: var(--hv-salvia); color: #fff !important; }
.hv-consultar-btn--grande { min-height: 50px; padding: 0 34px; font-size: 14.5px; background: var(--hv-salvia); color: #fff !important; }
.hv-consultar-btn--grande:hover { background: var(--hv-tinta); border-color: var(--hv-tinta); }
.hv-consulta-bloque { margin: 18px 0; padding: 20px 22px; background: #fff; border: 1px solid var(--hv-linea); border-radius: 14px; }
.hv-consulta-bloque p.hv-consulta-bloque__t { margin: 0 0 6px; font-family: var(--hv-titulos); font-size: 24px; font-weight: 600; color: var(--hv-tinta); line-height: 1.1; }
.hv-consulta-bloque p { font-size: 14px; color: #4F4540; margin: 0 0 14px; }
.hv-consulta-bloque__botones { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.hv-consulta-bloque .hv-consultar-wa { color: var(--hv-salvia); font-size: 14px; font-weight: 500; }

/* Iconos de línea delante de cada categoría del menú desplegable (por categoría) */
html body .main-header-menu .sub-menu > .menu-item > .menu-link, html body .main-navigation .sub-menu > .menu-item > .menu-link { display: flex !important; align-items: center; gap: 12px; }
.sub-menu > .menu-item > .menu-link::before { content: ''; flex: none; width: 20px; height: 20px; background-color: var(--hv-salvia); opacity: .85; transition: opacity .15s ease; -webkit-mask: var(--hv-ico) center / contain no-repeat; mask: var(--hv-ico) center / contain no-repeat; }
.sub-menu > .menu-item > .menu-link:hover::before, .sub-menu > .menu-item > .menu-link:focus-visible::before { opacity: 1; background-color: #4A5A47; }
.sub-menu > .menu-item > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%223%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-personalizados > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 20l1-4L16 5l3 3L8 19z%22/%3E%3Cpath d=%22M14 7l3 3%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-en-madera > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%228.5%22/%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%224.5%22/%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%22.6%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-con-luz-propia > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M9 18h6M10 21h4%22/%3E%3Cpath d=%22M12 3a6 6 0 0 0-4 10.5c.8.8 1 1.5 1 2.5h6c0-1 .2-1.7 1-2.5A6 6 0 0 0 12 3z%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-coleccion-hayloviu-bodas > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 4h12l3 5-9 12L3 9z%22/%3E%3Cpath d=%22M3 9h18%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-otras-colecciones-bodas > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%224%22 y=%224%22 width=%226.5%22 height=%226.5%22 rx=%221%22/%3E%3Crect x=%2213.5%22 y=%224%22 width=%226.5%22 height=%226.5%22 rx=%221%22/%3E%3Crect x=%224%22 y=%2213.5%22 width=%226.5%22 height=%226.5%22 rx=%221%22/%3E%3Crect x=%2213.5%22 y=%2213.5%22 width=%226.5%22 height=%226.5%22 rx=%221%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-recordatorios-comunion > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3v18M6.5 9h11%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-recordatorios-bautizo > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11z%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-sellos > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M8 14V9a4 4 0 1 1 8 0v5%22/%3E%3Cpath d=%22M5 14h14v3H5zM6 20h12%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-papeleria > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%226%22 width=%2218%22 height=%2212%22 rx=%221.5%22/%3E%3Cpath d=%22M3 7l9 6 9-6%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-detalles-ninos > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1L3.2 9.5l6.1-.9z%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-bebidas-y-delicatessen > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M7 3h10v5a5 5 0 0 1-10 0z%22/%3E%3Cpath d=%22M12 13v8M8 21h8%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-ceremonia > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%229%22 cy=%2214%22 r=%225%22/%3E%3Ccircle cx=%2215%22 cy=%2214%22 r=%225%22/%3E%3Cpath d=%22M9 6l1.5-2h3L15 6%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-figuras-tarta > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 20h16%22/%3E%3Cpath d=%22M6 20v-5h12v5%22/%3E%3Cpath d=%22M8.5 15v-4h7v4%22/%3E%3Cpath d=%22M12 11V7M12 5.2v.1%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-libros-arboles-corazones > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 5a2 2 0 0 1 2-2h13v16H6a2 2 0 0 0-2 2z%22/%3E%3Cpath d=%22M4 5v16%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-photocall-fiesta > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%227%22 width=%2218%22 height=%2213%22 rx=%222%22/%3E%3Ccircle cx=%2212%22 cy=%2213.5%22 r=%223.5%22/%3E%3Cpath d=%22M8 7l1.5-3h5L16 7%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-bienvenidos-guirnaldas > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 5c6 4 12 4 18 0%22/%3E%3Cpath d=%22M6 7.8l2.3 6 2.4-5.2%22/%3E%3Cpath d=%22M13.3 8.6l2.4 6 2.3-7%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-navidad > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3l5 7h-3l4 6H6l4-6H7z%22/%3E%3Cpath d=%22M12 16v5%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-san-valentin > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 20s-7-4.5-7-10a4 4 0 0 1 7-2.5A4 4 0 0 1 19 10c0 5.5-7 10-7 10z%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-dia-padre > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M10 3h4l-1 4 2 10-3 4-3-4 2-10z%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-dia-madre > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%222.2%22/%3E%3Ccircle cx=%2212%22 cy=%226%22 r=%223%22/%3E%3Ccircle cx=%2212%22 cy=%2218%22 r=%223%22/%3E%3Ccircle cx=%226%22 cy=%2212%22 r=%223%22/%3E%3Ccircle cx=%2218%22 cy=%2212%22 r=%223%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-profesores > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M2 9l10-5 10 5-10 5z%22/%3E%3Cpath d=%22M6 11.5V16c0 1.5 3 3 6 3s6-1.5 6-3v-4.5%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-agendas-libretas > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%225%22 y=%223%22 width=%2214%22 height=%2218%22 rx=%222%22/%3E%3Cpath d=%22M9 3v18M12 8h4M12 12h4%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-boligrafos-lapices > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 19l1-4L17 4a2 2 0 0 1 3 3L9 18z%22/%3E%3Cpath d=%22M5 19l-1 1%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-accesorios-moda > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 8h14l1 12H4z%22/%3E%3Cpath d=%22M9 8V6a3 3 0 0 1 6 0v2%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-hogar > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 11l8-7 8 7%22/%3E%3Cpath d=%22M6 10v10h12V10%22/%3E%3Cpath d=%22M10 20v-5h4v5%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-siempre-guapa > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3v5M12 16v5M3 12h5M16 12h5%22/%3E%3Cpath d=%22M6.5 6.5l2.5 2.5M15 15l2.5 2.5M17.5 6.5L15 9M9 15l-2.5 2.5%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-para-manitas > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M14 6a4 4 0 0 0 5 5l-9 9a2.1 2.1 0 0 1-3-3l9-9%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-sets-regalo > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%224%22 y=%229%22 width=%2216%22 height=%2211%22 rx=%221%22/%3E%3Cpath d=%22M3 9h18v-3H3zM12 6v14%22/%3E%3Cpath d=%22M12 6c-2-3-6-3-5-1s5 1 5 1zM12 6c2-3 6-3 5-1s-5 1-5 1z%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-tecnologia-gadgets > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%227%22 y=%223%22 width=%2210%22 height=%2218%22 rx=%222%22/%3E%3Cpath d=%22M11 18h2%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-juegos-entretenimiento > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%224%22 y=%224%22 width=%2216%22 height=%2216%22 rx=%223%22/%3E%3Ccircle cx=%229%22 cy=%229%22 r=%22.8%22/%3E%3Ccircle cx=%2215%22 cy=%2215%22 r=%22.8%22/%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%22.8%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-mesa-dulce > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 12h12l-1.5 8h-9z%22/%3E%3Cpath d=%22M6 12a6 5 0 0 1 12 0%22/%3E%3Cpath d=%22M12 5V3%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-presentacion-regalos > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 12c-4-5-8-4-8-1s4 4 8 1zM12 12c4-5 8-4 8-1s-4 4-8 1z%22/%3E%3Cpath d=%22M12 12l-3 8M12 12l3 8%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-mas-complementos > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%228.5%22/%3E%3Cpath d=%22M12 8v8M8 12h8%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-senalizacion > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3v18%22/%3E%3Cpath d=%22M5 5h11l3 3-3 3H5z%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-letras-corporeas > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 20L12 4l6 16M8.5 14h7%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-seatings-meseros > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%228%22 width=%2218%22 height=%223%22 rx=%221%22/%3E%3Cpath d=%22M6 11v9M18 11v9%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-mylovius > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 20s-7-4.5-7-10a4 4 0 0 1 7-2.5A4 4 0 0 1 19 10c0 5.5-7 10-7 10z%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-invitaciones-y-recordatorios > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%226%22 width=%2218%22 height=%2212%22 rx=%221.5%22/%3E%3Cpath d=%22M3 7l9 6 9-6%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-detalles-invitados > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%224%22 y=%229%22 width=%2216%22 height=%2211%22 rx=%221%22/%3E%3Cpath d=%22M3 9h18v-3H3zM12 6v14%22/%3E%3Cpath d=%22M12 6c-2-3-6-3-5-1s5 1 5 1zM12 6c2-3 6-3 5-1s-5 1-5 1z%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-ceremonia-celebraciones > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%229%22 cy=%2214%22 r=%225%22/%3E%3Ccircle cx=%2215%22 cy=%2214%22 r=%225%22/%3E%3Cpath d=%22M9 6l1.5-2h3L15 6%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-fechas-especiales > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%224%22 y=%225%22 width=%2216%22 height=%2215%22 rx=%222%22/%3E%3Cpath d=%22M4 10h16M8 3v4M16 3v4%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-ofertas-especiales > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 12V4h8l10 10-8 8z%22/%3E%3Ccircle cx=%227.5%22 cy=%228.5%22 r=%221%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-aniversarios > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%224%22 y=%225%22 width=%2216%22 height=%2215%22 rx=%222%22/%3E%3Cpath d=%22M4 10h16M8 3v4M16 3v4%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-cumpleanos > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 20h16%22/%3E%3Cpath d=%22M6 20v-5h12v5%22/%3E%3Cpath d=%22M8.5 15v-4h7v4%22/%3E%3Cpath d=%22M12 11V7M12 5.2v.1%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-dia-abuelos > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%222.2%22/%3E%3Ccircle cx=%2212%22 cy=%226%22 r=%223%22/%3E%3Ccircle cx=%2212%22 cy=%2218%22 r=%223%22/%3E%3Ccircle cx=%226%22 cy=%2212%22 r=%223%22/%3E%3Ccircle cx=%2218%22 cy=%2212%22 r=%223%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-jubilaciones > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%224%22 y=%225%22 width=%2216%22 height=%2215%22 rx=%222%22/%3E%3Cpath d=%22M4 10h16M8 3v4M16 3v4%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-vuelta-al-cole > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%225%22 y=%223%22 width=%2214%22 height=%2218%22 rx=%222%22/%3E%3Cpath d=%22M9 3v18M12 8h4M12 12h4%22/%3E%3C/svg%3E"); }

/* Outlet: enlace destacado en la barra */
.ast-desktop .main-header-menu > .hv-outlet > .menu-link,
.main-header-menu > .hv-outlet > .menu-link { color: #6F5326; font-weight: 600; display: inline-flex; align-items: center; gap: 7px; }
.main-header-menu > .hv-outlet > .menu-link::before { content: ''; width: 15px; height: 15px; background-color: var(--hv-oro, #A9864F); -webkit-mask: var(--hv-ico-outlet) center / contain no-repeat; mask: var(--hv-ico-outlet) center / contain no-repeat; }
.ast-desktop .main-header-menu > .hv-outlet > .menu-link { background-color: var(--hv-rubor, #F2DCD6); border-radius: 999px; padding-left: 14px; padding-right: 16px; }
.ast-desktop .main-header-menu > .hv-outlet:hover > .menu-link, .ast-desktop .main-header-menu > .hv-outlet.current-menu-item > .menu-link { background-color: #ECCFC7; color: #6F5326; box-shadow: none; }
.main-header-menu > .hv-outlet { --hv-ico-outlet: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 12V4h8l10 10-8 8z%22/%3E%3Ccircle cx=%227.5%22 cy=%228.5%22 r=%221%22/%3E%3C/svg%3E"); }

/* Iconos de las subcategorías añadidas después */
.sub-menu > .hvc-llaveros-detalles > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%228%22 cy=%2212%22 r=%224%22/%3E%3Cpath d=%22M12 12h9M18 12v4M15 12v3%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-para-brindar > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M5 8h11v7a4 4 0 0 1-4 4H9a4 4 0 0 1-4-4z%22/%3E%3Cpath d=%22M16 10h2a2 2 0 0 1 0 5h-2%22/%3E%3Cpath d=%22M8 4v1.5M11 4v1.5M14 4v1.5%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-mylovius-peques > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%228.5%22/%3E%3Cpath d=%22M9 14c1 1.5 5 1.5 6 0%22/%3E%3Ccircle cx=%229.3%22 cy=%2210%22 r=%22.6%22/%3E%3Ccircle cx=%2214.7%22 cy=%2210%22 r=%22.6%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-detalles-ninos > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%228.5%22/%3E%3Cpath d=%22M9 14c1 1.5 5 1.5 6 0%22/%3E%3Ccircle cx=%229.3%22 cy=%2210%22 r=%22.6%22/%3E%3Ccircle cx=%2214.7%22 cy=%2210%22 r=%22.6%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-cuidado-belleza > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M9 20v-6h6v6z%22/%3E%3Cpath d=%22M10 14v-3h4v3%22/%3E%3Cpath d=%22M10 11l1-6h2l1 6%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-abanicos-paipais > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 20L4 9a12 12 0 0 1 16 0z%22/%3E%3Cpath d=%22M12 20V6M12 20L8 7.5M12 20l4-12.5%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-paipais > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 20L4 9a12 12 0 0 1 16 0z%22/%3E%3Cpath d=%22M12 20V6M12 20L8 7.5M12 20l4-12.5%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-tarjetas-agradecimiento > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%225%22 width=%2218%22 height=%2214%22 rx=%222%22/%3E%3Cpath d=%22M12 15s-3-1.8-3-4a1.7 1.7 0 0 1 3-1 1.7 1.7 0 0 1 3 1c0 2.2-3 4-3 4z%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-etiquetas-regalos > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 12V4h8l10 10-8 8z%22/%3E%3Ccircle cx=%227.5%22 cy=%228.5%22 r=%221%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-porta-bengalas > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 21V10%22/%3E%3Cpath d=%22M12 10l-3-5M12 10l3-5M12 10V3M12 10l-5-2M12 10l5-2%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-momento-dulce > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 12h12l-1.5 8h-9z%22/%3E%3Cpath d=%22M6 12a6 5 0 0 1 12 0%22/%3E%3Cpath d=%22M12 5V3%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-minutas > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%226%22 y=%223%22 width=%2212%22 height=%2218%22 rx=%221.5%22/%3E%3Cpath d=%22M9 8h6M9 12h6M9 16h4%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-cuellos-botellas > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M10 3h4v5l2 3v9a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1v-9l2-3z%22/%3E%3Cpath d=%22M8 14h8%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-alianzas-y-arras > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%229%22 cy=%2214%22 r=%225%22/%3E%3Ccircle cx=%2215%22 cy=%2214%22 r=%225%22/%3E%3Cpath d=%22M9 6l1.5-2h3L15 6%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-lagrimas-de-felicidad > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11z%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-conos-y-bolsitas-de-arroz > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 21L6 5h12z%22/%3E%3Cpath d=%22M8 9h8%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-estuches-mochilas > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M8 8a4 4 0 0 1 8 0%22/%3E%3Crect x=%225%22 y=%228%22 width=%2214%22 height=%2213%22 rx=%223%22/%3E%3Cpath d=%22M9 14h6%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-juegos > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%224%22 y=%224%22 width=%2216%22 height=%2216%22 rx=%223%22/%3E%3Ccircle cx=%229%22 cy=%229%22 r=%22.8%22/%3E%3Ccircle cx=%2215%22 cy=%2215%22 r=%22.8%22/%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%22.8%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-libretas-escritura > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%225%22 y=%223%22 width=%2214%22 height=%2218%22 rx=%222%22/%3E%3Cpath d=%22M9 3v18M12 8h4M12 12h4%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-tazas-botellas > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M10 3h4v5l2 3v9a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1v-9l2-3z%22/%3E%3Cpath d=%22M8 14h8%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-mas-regalos-ninos > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%224%22 y=%229%22 width=%2216%22 height=%2211%22 rx=%221%22/%3E%3Cpath d=%22M3 9h18v-3H3zM12 6v14%22/%3E%3Cpath d=%22M12 6c-2-3-6-3-5-1s5 1 5 1zM12 6c2-3 6-3 5-1s-5 1-5 1z%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-bebidas > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M7 3h10v5a5 5 0 0 1-10 0z%22/%3E%3Cpath d=%22M12 13v8M8 21h8%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-aceites > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11z%22/%3E%3C/svg%3E"); }
.sub-menu > .hvc-productos-gourmet > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%226%22 y=%227%22 width=%2212%22 height=%2213%22 rx=%222%22/%3E%3Cpath d=%22M7 7V4h10v3M6 12h12%22/%3E%3C/svg%3E"); }

/* Decoración (antes Letras corpóreas) */
.sub-menu > .hvc-letras-corporeas > .menu-link { --hv-ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M9 3h6M10 3v3c0 2-4 3-4 8a6 6 0 0 0 12 0c0-5-4-6-4-8V3%22/%3E%3Cpath d=%22M12 10v1M9.5 14h5%22/%3E%3C/svg%3E"); }

/* Menú en pantallas medianas (tabletas en horizontal): que quepa en una sola línea */
@media (min-width: 922px) and (max-width: 1180px) {
    .ast-desktop .main-header-menu > .menu-item > .menu-link { padding-left: 6px; padding-right: 6px; font-size: 13px; }
    .ast-desktop .main-header-menu > .hv-outlet > .menu-link { padding-left: 10px; padding-right: 11px; gap: 5px; }
}
@media (min-width: 922px) and (max-width: 1040px) {
    .ast-desktop .main-header-menu > .menu-item > .menu-link .ast-icon { display: none; }
}

/* ==========================================================================
   Aviso de cookies (Complianz) con el estilo de la web: tarjeta crema abajo a la izquierda
   ========================================================================== */
html body .cmplz-cookiebanner {
    top: auto !important; left: 16px !important; right: auto !important; bottom: 16px !important; transform: none !important;
    width: min(420px, calc(100vw - 32px)) !important; max-width: none !important; max-height: calc(100vh - 32px); overflow-y: auto;
    background: var(--hv-crema, #FBF7F1) !important; color: var(--hv-tinta, #3A2F2A) !important;
    border: 1px solid var(--hv-linea, #E6DCCF) !important; border-radius: 16px !important; padding: 18px 20px 14px !important;
    box-shadow: 0 18px 44px -18px rgba(58, 47, 42, .45) !important; font-family: 'Montserrat', sans-serif !important;
}
html body .cmplz-cookiebanner .cmplz-header { margin: 0 0 6px !important; padding: 0 !important; grid-template-columns: 1fr auto !important; }
html body .cmplz-cookiebanner .cmplz-logo { display: none !important; }
html body .cmplz-cookiebanner .cmplz-title { font: 600 24px/1.1 'Cormorant Infant', Georgia, serif !important; color: var(--hv-tinta, #3A2F2A) !important; text-align: left !important; justify-self: start !important; }
html body .cmplz-cookiebanner .cmplz-close { opacity: .55; }
html body .cmplz-cookiebanner .cmplz-divider { display: none !important; }
html body .cmplz-cookiebanner .cmplz-message,
html body .cmplz-cookiebanner .cmplz-description { font-size: 12.5px !important; line-height: 1.55 !important; color: #5A4D46 !important; }
html body .cmplz-cookiebanner .cmplz-category { background: #fff !important; border: 1px solid var(--hv-linea, #E6DCCF) !important; border-radius: 10px !important; }
html body .cmplz-cookiebanner .cmplz-buttons { display: flex !important; flex-wrap: wrap; gap: 8px !important; margin: 12px 0 8px !important; padding: 0 !important; }
html body .cmplz-cookiebanner .cmplz-btn {
    flex: 1 1 calc(50% - 4px); min-height: 42px; margin: 0 !important; padding: 0 18px !important; border-radius: 999px !important;
    font: 600 13px/1 'Montserrat', sans-serif !important; letter-spacing: 0; cursor: pointer; transition: background-color .15s ease, color .15s ease;
}
html body .cmplz-cookiebanner .cmplz-btn.cmplz-accept,
html body .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences { background: var(--hv-salvia, #5E6E5A) !important; border: 1px solid var(--hv-salvia, #5E6E5A) !important; color: #fff !important; }
html body .cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover,
html body .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences:hover { background: #4A5A47 !important; }
html body .cmplz-cookiebanner .cmplz-btn.cmplz-deny { background: transparent !important; border: 1px solid var(--hv-salvia, #5E6E5A) !important; color: var(--hv-salvia, #5E6E5A) !important; }
html body .cmplz-cookiebanner .cmplz-btn.cmplz-deny:hover { background: var(--hv-salvia-claro, #E5EBE1) !important; }
html body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,
html body .cmplz-cookiebanner .cmplz-btn.cmplz-manage-options { flex-basis: 100%; background: transparent !important; border: 0 !important; color: #5A4D46 !important; text-decoration: underline; min-height: 32px; font-weight: 500 !important; }
html body .cmplz-cookiebanner .cmplz-links { margin: 0 !important; }
html body .cmplz-cookiebanner .cmplz-links ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 14px; margin: 0; padding: 0; list-style: none; }
html body .cmplz-cookiebanner .cmplz-links a,
html body .cmplz-cookiebanner .cmplz-link { font-size: 11.5px !important; color: #7A6B63 !important; text-decoration: underline; }
html body .cmplz-cookiebanner .cmplz-link.impressum { display: none !important; } /* aviso legal alemán: no aplica */
html body .cmplz-cookiebanner .cmplz-link.impressum, html body .cmplz-cookiebanner .cmplz-documents li:has(.impressum) { display: none !important; }
/* Botón flotante para volver a abrir las preferencias */
html body .cmplz-btn.cmplz-manage-consent { background: var(--hv-crema, #FBF7F1) !important; color: #5A4D46 !important; border: 1px solid var(--hv-linea, #E6DCCF) !important; border-radius: 999px !important; font: 500 11.5px/1 'Montserrat', sans-serif !important; padding: 8px 14px !important; }
@media (max-width: 600px) {
    html body .cmplz-cookiebanner { left: 10px !important; bottom: 10px !important; width: calc(100vw - 20px) !important; padding: 14px 16px 10px !important; }
    html body .cmplz-cookiebanner .cmplz-title { font-size: 21px !important; }
    html body .cmplz-cookiebanner .cmplz-btn.cmplz-accept, html body .cmplz-cookiebanner .cmplz-btn.cmplz-deny { flex: 1 1 calc(50% - 4px); padding: 0 10px !important; }
}
html body .cmplz-cookiebanner .cmplz-header { display: flex !important; justify-content: space-between; align-items: center; }
html body .cmplz-cookiebanner .cmplz-title { flex: 1; }
html body .cmplz-cookiebanner .cmplz-btn { width: auto !important; min-width: 0 !important; }
html body .cmplz-cookiebanner .cmplz-category-toggle { background: transparent !important; border: 0 !important; color: var(--hv-salvia, #5E6E5A) !important; }
html body .cmplz-cookiebanner .cmplz-category-toggle svg { fill: var(--hv-salvia, #5E6E5A) !important; }
html body .cmplz-cookiebanner .cmplz-banner-checkbox .cmplz-label { background-color: #D8CFC4 !important; }
html body .cmplz-cookiebanner .cmplz-banner-checkbox input:checked + .cmplz-label { background-color: var(--hv-salvia, #5E6E5A) !important; }
html body .cmplz-cookiebanner .cmplz-always-active { color: var(--hv-salvia, #5E6E5A) !important; font-weight: 600; }
html body .cmplz-cookiebanner .cmplz-banner-checkbox .cmplz-label::before { background-color: #fff !important; }
html body .cmplz-cookiebanner .cmplz-banner-checkbox input:checked + .cmplz-label::before { background-color: #fff !important; }
html body .cmplz-cookiebanner .cmplz-btn.cmplz-accept, html body .cmplz-cookiebanner .cmplz-btn.cmplz-deny { flex: 1 1 0; }
html body .cmplz-cookiebanner .cmplz-title { display: block !important; }
html body .cmplz-cookiebanner .cmplz-buttons { flex-direction: row !important; align-items: stretch; }
html body .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences { flex: 0 0 100% !important; width: 100% !important; order: 3; height: auto !important; }
html body .cmplz-cookiebanner .cmplz-btn.cmplz-accept { order: 1; }
html body .cmplz-cookiebanner .cmplz-btn.cmplz-deny { order: 2; }
html body .cmplz-cookiebanner .cmplz-btn.cmplz-accept, html body .cmplz-cookiebanner .cmplz-btn.cmplz-deny { height: auto !important; min-height: 42px; }
/* interruptores de las categorías */
html body .cmplz-cookiebanner .cmplz-banner-checkbox .cmplz-label { background-color: #E9E2D8 !important; border-color: #D8CFC4 !important; }
html body .cmplz-cookiebanner .cmplz-banner-checkbox input:checked + .cmplz-label { background-color: #CFD9CB !important; }
html body .cmplz-cookiebanner .cmplz-banner-checkbox .cmplz-label::before { background-color: #A59B93 !important; }
html body .cmplz-cookiebanner .cmplz-banner-checkbox input:checked + .cmplz-label::before { background-color: var(--hv-salvia, #5E6E5A) !important; }
html body .cmplz-cookiebanner .cmplz-category-header { display: flex !important; align-items: center; gap: 10px; }
html body .cmplz-cookiebanner .cmplz-category-title { flex: 1; font-weight: 600; font-size: 14px; }
html body .cmplz-cookiebanner .cmplz-category-header .cmplz-banner-checkbox { position: static !important; margin: 0 !important; flex: none; }
html body .cmplz-cookiebanner .cmplz-category-header .cmplz-always-active { flex: none; font-size: 12px; }
html body .cmplz-cookiebanner .cmplz-category-toggle { flex: none; width: 28px; padding: 0 !important; }
html body .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences { flex: 1 1 100% !important; order: 0; }

/* Textos legales: tabla de cookies y casillas de consentimiento */
.hv-tabla-cookies { overflow-x: auto; margin: 0 0 1.5em; }
.hv-tabla-cookies table { width: 100%; min-width: 760px; border-collapse: collapse; font-size: 14px; line-height: 1.45; }
.hv-tabla-cookies th, .hv-tabla-cookies td { border: 1px solid #E6DCCF; padding: 8px 10px; vertical-align: top; text-align: left; }
.hv-tabla-cookies td:first-child { overflow-wrap: anywhere; min-width: 190px; }
.hv-tabla-cookies th:nth-child(2), .hv-tabla-cookies th:nth-child(5) { min-width: 100px; }
.hv-tabla-cookies th { background: #F2DCD6; color: #3A2F2A; font-weight: 600; }
.hv-consent { margin: 0 0 .6em; }
.hv-consent label { display: flex; gap: 8px; align-items: flex-start; font-weight: 400; line-height: 1.45; }
.hv-consent input { margin-top: 4px; flex: none; }
.hv-consent a { color: #5E6E5A; text-decoration: underline; }
.hv-cf7-consent { margin: 4px 0 10px; font-size: 14px; }
.hv-cf7-consent .wpcf7-list-item { margin: 0; }
.hv-cf7-consent a { color: #5E6E5A; text-decoration: underline; }

/* Cabecera: sesión iniciada → «Hola, Nombre» bajo el icono de la persona (ordenador) o un puntito verde (móvil) */
@media (min-width: 922px) {
    body.logged-in .ast-header-account-link { display: inline-flex; flex-direction: column; align-items: center; gap: 2px; }
    body.logged-in .ast-header-account-link::after { content: var(--hv-saludo, ""); font: 500 11px/1.1 Montserrat, sans-serif; color: var(--hv-tinta-suave); max-width: 110px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}
@media (max-width: 921px) {
    body.logged-in .ast-header-account-link { position: relative; }
    body.logged-in .ast-header-account-link::after { content: ""; position: absolute; top: 0; right: -3px; width: 9px; height: 9px; border-radius: 50%; background: var(--hv-salvia); border: 2px solid #fff; }
}
