/* Full-width storefront header: 1024px changes navigation, 600px search cards. */
.vh-shell {
 --vh-cream:var(--wp--preset--color--blanco); --vh-ink:var(--wp--preset--color--berenjena); --vh-lilac:var(--wp--preset--color--beige); --vh-yellow:var(--wp--preset--color--amarillo);
 --vh-space:clamp(1rem,2.5vw,3rem); --vh-height:56px;
 color:var(--vh-ink); font-family:var(--wp--preset--font-family--body); position:relative; z-index:30;
 width:100%; margin-inline:0;
 background:var(--vh-cream); isolation:isolate;
}
.vh-shell *, .vh-shell *::before, .vh-shell *::after { box-sizing:border-box; }
.vh-shell a { color:inherit; }
.vh-shell button { font:inherit; color:inherit; cursor:pointer; }
.vh-shell :is(a,button,input,summary):focus-visible { outline:3px solid currentColor; outline-offset:5px; }
.vh-bar { min-height:var(--vh-height); display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; padding:5px var(--vh-space); gap:clamp(.5rem,2vw,2rem); position:relative; border-bottom:1px solid var(--vh-ink); transition:color .15s ease,border-color .6s ease; }
.vh-bar::before { content:""; position:absolute; inset:0; background:var(--vh-cream); z-index:-1; transform-origin:top; transition:opacity .35s ease,transform .75s cubic-bezier(.22,1,.36,1); }
.vh-shell.is-overlay { background:transparent; margin-bottom:calc(-1 * var(--vh-total-height,var(--vh-height))); }
.vh-shell.is-overlay .vh-bar { color:var(--vh-transparent,var(--vh-cream)); border-color:transparent; }
.vh-shell.is-overlay .vh-bar::before { opacity:0; transform:scaleY(0); }
.vh-shell.is-overlay:is(.has-panel,.is-scrolled) .vh-bar { color:var(--vh-ink); border-color:var(--vh-ink); }
.vh-shell.is-overlay:is(.has-panel,.is-scrolled) .vh-bar::before { opacity:1; transform:scaleY(1); }
.vh-brand { justify-self:center; line-height:1; text-align:center; }
.vh-wordmark { font-size:clamp(1.4rem,3.2vw,3.5rem); font-weight:400; font-style:italic; letter-spacing:-.07em; text-decoration:none; color:var(--vh-lilac)!important; transition:color .15s ease; }
.vh-shell.is-overlay:not(.has-panel):not(.is-scrolled) .vh-wordmark { color:var(--vh-cream)!important; }
.vh-brand img { display:block; width:auto; max-width:clamp(80px,9vw,var(--vh-logo-width,116px)); max-height:36px; object-fit:contain; }
.vh-actions,.vh-mobile-actions { display:flex; align-items:center; gap:clamp(.25rem,.5vw,.5rem); }
.vh-actions { justify-self:end; }
.vh-icon { width:44px; height:44px; min-width:44px; min-height:44px; border:1px solid var(--vh-ink); border-radius:50%; background:var(--vh-cream); color:var(--vh-ink)!important; display:inline-flex; align-items:center; justify-content:center; padding:10px; text-decoration:none; transition:background .25s ease,color .25s ease,transform .25s ease; flex-shrink:0; }
.vh-icon:hover { background:var(--vh-ink); color:var(--vh-cream)!important; transform:rotate(-5deg); }
.vh-icon svg { width:20px; height:20px; flex:none; }
.vh-menu-button { border:0; background:transparent; padding:0; min-height:44px; font-size:.875rem; text-decoration:none; }
.vh-desktop-nav,.vh-desktop-search { display:none; }
.vh-nav-list { display:flex; align-items:center; flex-wrap:wrap; gap:clamp(1rem,1.8vw,2.5rem); list-style:none; padding:0; margin:0; }
.vh-nav-item { display:flex; align-items:center; }
.vh-nav-link { font-size:calc(var(--vh-menu-size,.875rem) + 2px); font-weight:400; text-decoration:none; text-underline-offset:5px; text-decoration-thickness:1px; transition:opacity .2s ease; display:inline-flex; align-items:center; min-height:44px; }
.vh-nav-link:hover { opacity:.65; text-decoration:underline; }
.vh-submenu-toggle { background:transparent; border:0; padding:0 6px; min-width:44px; min-height:44px; }
.vh-mega { position:absolute; top:100%; left:0; right:0; background:var(--vh-cream); color:var(--vh-ink); border-bottom:1px solid var(--vh-ink); padding:clamp(1.5rem,2.5vw,3rem) var(--vh-space); display:grid; grid-template-columns:minmax(150px,.85fr) minmax(0,4fr); gap:2rem; visibility:hidden; opacity:0; transform:translateY(-8px); transition:opacity .25s ease,transform .35s ease,visibility .35s; max-height:calc(100dvh - var(--vh-height) - 32px); overflow-y:auto; }
.vh-nav-item.is-open .vh-mega { visibility:visible; opacity:1; transform:translateY(0); }
.vh-mega-links { display:flex; flex-direction:column; justify-content:space-between; gap:2rem; font-size:clamp(1.125rem,1.5vw,1.5rem); font-weight:400; line-height:1.2; }
.vh-mega-links ul { padding:0; margin:0; list-style:none; display:grid; gap:.75rem; }
.vh-mega-links a { text-decoration:none; }
.vh-mega-links a:hover { text-decoration:underline; }
.vh-product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(.75rem,1.3vw,1.75rem); align-content:start; }
.vh-product { display:block; min-width:0; text-decoration:none; line-height:1.3; }
.vh-product-media { display:block; position:relative; overflow:hidden; border-radius:clamp(16px,2vw,36px); background:var(--vh-cream); aspect-ratio: .72; }
.vh-product-image { display:block; width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.7,.2,1); }
.vh-product:hover .vh-product-image { transform:scale(1.035); }
.vh-product-name { display:block; margin-top:.8rem; font-size:clamp(.875rem,1vw,1rem); }
.vh-product-plus { display:none; }
.vh-empty { grid-column:1/-1; font-family:var(--wp--preset--font-family--body); font-size:1rem; font-weight:400; padding-block:2rem; }
.vh-shell dialog { color:var(--vh-ink); background:var(--vh-cream); border:0; padding:0; overscroll-behavior:contain; }
.vh-shell dialog::backdrop { background:color-mix(in srgb,var(--vh-ink) 50%,transparent); }
.vh-shell dialog[open] { animation:vh-enter .3s ease both; }
@keyframes vh-enter { from { opacity:0; transform:translateY(-12px); } to { opacity:1; transform:translateY(0); } }
html.vh-modal-open { overflow:hidden; scrollbar-gutter:stable; }
.vh-search { width:min(1000px,calc(100% - 2rem)); max-width:none; max-height:calc(100dvh - clamp(1rem,10vh,8rem) - 1rem); margin:clamp(1rem,10vh,8rem) auto auto; }
.vh-search-form { display:flex; align-items:center; gap:clamp(.5rem,1vw,1rem); padding:12px clamp(12px,2vw,28px); border-bottom:1px solid var(--vh-ink); position:sticky; top:0; background:var(--vh-cream); z-index:1; }
.vh-search-form input[type=search] { border:0; background:transparent; color:var(--vh-ink); border-radius:0; font:inherit; font-size:clamp(1rem,2vw,1.6rem); width:100%; min-width:0; min-height:44px; outline-offset:0; }
.vh-search-form input::placeholder { color:var(--vh-ink); opacity:1; }
.vh-search-submit { display:inline-flex; align-items:center; justify-content:center; border:0; padding:0; background:transparent; min-width:44px; min-height:44px; }
.vh-search-body { padding:clamp(1rem,2.5vw,2rem); }
.vh-search-heading { font-family:var(--wp--preset--font-family--body); font-size:.875rem; letter-spacing:.08em; margin:0 0 1.75rem; }
.vh-search .vh-product-media { aspect-ratio:1; border-radius:0; background:transparent; }
.vh-search .vh-product-image { width:100%; height:100%; object-fit:cover; object-position:center; }
.vh-search .vh-product-name,.vh-product-price { font-size:clamp(1rem,1.4vw,1.25rem); }
.vh-search-all { display:inline-flex; align-items:center; min-height:44px; margin-top:1.5rem; }
.vh-mobile-menu { inset:0; margin:0; width:100%; max-width:none; height:100dvh; max-height:none; padding:clamp(12px,3vw,32px)!important; }
.vh-mobile-top { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:clamp(24px,5vw,48px); }
.vh-pill { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:2px solid var(--vh-ink); background:transparent; border-radius:99px; padding:8px 14px; min-height:44px; text-decoration:none; font-size:clamp(.875rem,2vw,1.25rem); }
.vh-pill:hover { background:var(--vh-ink); color:var(--vh-cream); }
.vh-mobile-brand { color:var(--vh-lilac); font-size:clamp(1.125rem,4vw,2.5rem); font-style:italic; font-weight:400; letter-spacing:-.06em; }
.vh-mobile-section summary { display:flex; align-items:center; gap:12px; list-style:none; cursor:pointer; font-weight:400; font-size:clamp(1.5rem,4vw,2rem); line-height:1.1; padding-block:12px 24px; }
.vh-mobile-section summary::-webkit-details-marker { display:none; }
.vh-sun { color:var(--vh-yellow); -webkit-text-stroke:1px var(--vh-ink); font-size:.8em; }
.vh-expand { margin-left:auto; width:20px; height:20px; position:relative; flex:none; }
.vh-expand::before,.vh-expand::after { content:""; position:absolute; left:0; top:9px; width:20px; height:2px; background:var(--vh-ink); }
.vh-expand::after { transform:rotate(90deg); transition:transform .25s; }
.vh-mobile-section[open] .vh-expand::after { transform:rotate(0); }
.vh-mobile-menu .vh-product { position:relative; }
.vh-mobile-menu .vh-product-name { position:absolute; inset:auto 0 0; margin:0; padding:2rem .75rem 1rem; color:var(--vh-cream); background:linear-gradient(transparent,color-mix(in srgb,var(--vh-ink) 80%,transparent)); border-radius:0 0 16px 16px; text-align:center; font-size:clamp(1rem,3vw,2rem); font-weight:400; }
.vh-mobile-menu .vh-product-plus { position:absolute; right:12px; top:12px; display:grid; place-items:center; width:44px; height:44px; border:2px solid var(--vh-ink); border-radius:50%; background:var(--vh-cream); }
.vh-mobile-sublinks { list-style:none; padding:0; margin:1rem 0; font-size:clamp(1.25rem,3vw,2rem); }
.vh-mobile-sublinks a,.vh-section-all { display:inline-flex; align-items:center; min-height:44px; }
.vh-mobile-link { display:block; font-size:clamp(1.5rem,4vw,2rem); font-weight:400; text-decoration:none; line-height:1.2; padding-block:12px; }
.vh-yellow-link { display:flex; align-items:center; justify-content:center; text-align:center; padding:1rem; min-height:64px; margin-top:clamp(2rem,7vw,5rem); border:3px solid var(--vh-ink); border-radius:50%; background:var(--vh-yellow); text-transform:uppercase; font-size:clamp(1rem,2.5vw,1.75rem); }
@media (min-width:600px) { .vh-search .vh-product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (min-width:1024px) { .vh-mobile-actions { display:none; } .vh-desktop-nav { display:block; min-width:0; } .vh-desktop-search { display:inline-flex; } .vh-mega .vh-product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:374px) { .vh-bar { padding-inline:8px; gap:4px; } .vh-mobile-actions,.vh-actions { gap:4px; } .vh-wordmark { font-size:1.25rem; } .vh-mobile-brand { display:none; } }
@media (prefers-reduced-motion:reduce) { .vh-shell *, .vh-shell *::before,.vh-shell *::after { animation:none!important; transition:none!important; } }

/* A full-width Cover at the beginning of the home content supplies the backdrop. */
.wp-site-blocks > main.vh-hero-main { padding-top:0!important; margin-block-start:0; }
.vh-hero-main > .wp-block-post-title { display:none; }
.vh-hero-main > .wp-block-post-content { margin-block-start:0; }
.vh-hero-main .wp-block-post-content > :first-child { margin-block-start:0; }

/* Original high-resolution logos, blended without changing layout. */
.vh-logo { display:grid; width:clamp(80px,9vw,var(--vh-logo-width,116px)); min-height:44px; align-items:center; }
.vh-logo img { grid-area:1 / 1; display:block; width:100%; max-width:100%; height:auto; max-height:none; transition:opacity .15s ease; }
.vh-logo .vh-logo-light { opacity:0; }
.vh-logo .vh-logo-dark { opacity:1; }
.vh-shell.is-overlay:not(.has-panel):not(.is-scrolled) .vh-brand .vh-logo-light { opacity:1; }
.vh-shell.is-overlay:not(.has-panel):not(.is-scrolled) .vh-brand .vh-logo-dark { opacity:0; }
.vh-mobile-brand { display:block; }
.vh-mobile-brand .vh-logo { width:clamp(72px,17vw,160px); }
.vh-bar { position:relative; --vh-top:0px; top:auto; z-index:31; }
.vh-bar.is-fixed { position:fixed; top:var(--vh-top); left:0; right:0; }
.admin-bar .vh-bar { --vh-top:32px; }
@media (max-width:782px) { .admin-bar .vh-bar { --vh-top:46px; } }
@media (max-width:600px) { .admin-bar .vh-bar { --vh-top:0; } }
@media (max-width:374px) { .vh-brand .vh-logo { width:80px; } .vh-mobile-top .vh-pill { padding-inline:10px; gap:4px; } }
@media (prefers-reduced-motion:reduce) { .vh-logo img { transition:none; } }

/* Compact visible controls retain a 44px touch target. */
.vh-bar .vh-icon { color:inherit!important; transition:opacity .2s ease; position:relative; border:0; background:transparent; padding:13px; }
.vh-bar .vh-icon::before { content:""; position:absolute; inset:6px; border:1px solid currentColor; border-radius:50%; pointer-events:none; }
.vh-bar .vh-icon svg { width:18px; height:18px; }
.vh-bar .vh-icon:hover { background:transparent; color:inherit!important; opacity:.65; transform:none; }

/* Hover anywhere on the header reveals the same background as scrolling. */
@media (hover:hover) and (pointer:fine) {
 .vh-shell.is-overlay:hover .vh-bar { color:var(--vh-ink); border-color:var(--vh-ink); }
 .vh-shell.is-overlay:hover .vh-bar::before { opacity:1; transform:scaleY(1); }
 .vh-shell.is-overlay:hover:not(.has-panel):not(.is-scrolled) .vh-brand .vh-logo-light { opacity:0; }
 .vh-shell.is-overlay:hover:not(.has-panel):not(.is-scrolled) .vh-brand .vh-logo-dark { opacity:1; }
 .vh-shell.is-overlay:hover:not(.has-panel):not(.is-scrolled) .vh-wordmark { color:var(--vh-ink)!important; }
}

.vh-shell [hidden] { display:none!important; }
.vh-notice { display:flex; align-items:center; background:var(--vh-notice-bg); color:var(--vh-notice-fg); font-size:var(--vh-notice-size); min-height:44px; }
.vh-notice-window { flex:1; min-width:0; overflow:hidden; }
.vh-notice-track,.vh-notice-group { display:flex; width:max-content; align-items:center; }
.vh-notice-item { display:inline-flex; align-items:center; gap:.75rem; padding-inline:1.25rem; white-space:nowrap; line-height:1.4; }
.vh-notice-item svg { width:18px; height:18px; flex:none; }
.vh-notice-pause { flex:none; width:44px; min-height:44px; border:0; background:transparent; padding:0; }
.vh-notice.is-ready .vh-notice-track { animation:vh-ticker var(--vh-duration,25s) linear infinite; }
.vh-notice:is(:hover,:focus-within,.is-paused) .vh-notice-track { animation-play-state:paused; }
@keyframes vh-ticker { to { transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce) {
 .vh-notice-window { overflow:auto; }
 .vh-notice-group { flex-wrap:wrap; width:auto; gap:.5rem; padding-block:.5rem; }
 .vh-notice-item { white-space:normal; overflow-wrap:anywhere; }
 .vh-notice-pause { display:none; }
}

.vh-menu-button { font-size:calc(var(--vh-menu-size,.875rem) + 2px); }
.vh-shell.is-overlay:not(.has-panel):not(.is-scrolled) .vh-wordmark { color:var(--vh-transparent,var(--vh-cream))!important; }
.vh-mega { max-height:calc(100dvh - var(--vh-total-height,var(--vh-height)) - 32px); }

/* Compact chevron, while keeping the full 44px button target. */
.vh-submenu-toggle { display:inline-flex; align-items:center; justify-content:flex-start; padding:0 0 0 4px; }
.vh-submenu-toggle svg { width:16px; height:16px; transition:transform .15s ease; }
.vh-submenu-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }

/* Compact WooCommerce catalog navigation, shared with the mobile menu. */
.vh-mega.vh-mega--shop { background:var(--wp--preset--color--beige); grid-template-columns:minmax(0,1fr) minmax(220px,280px); gap:2rem; padding-block:1.5rem; }
.vh-catalog-navigation,.vh-catalog-group,.vh-menu-products { min-width:0; }
.vh-catalog-groups { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,145px),1fr)); gap:1.25rem; }
.vh-shell .vh-catalog-group h3,.vh-shell .vh-menu-products h3 { font-family:var(--wp--preset--font-family--heading); font-size:.75rem; font-weight:400; line-height:1.5; letter-spacing:.025em; text-transform:uppercase; margin:0 0 .65rem; color:var(--wp--preset--color--arcilla); overflow-wrap:anywhere; }
.vh-shell .vh-catalog-group ul,.vh-catalog-extra { list-style:none; padding:0; margin:0; }
.vh-shell .vh-catalog-group a,.vh-catalog-extra a { display:flex; align-items:center; min-height:44px; padding:.35rem 0; font-size:.875rem; line-height:1.4; text-decoration:none; overflow-wrap:anywhere; }
.vh-catalog-group a:hover,.vh-catalog-extra a:hover { text-decoration:underline; text-underline-offset:.25em; }
.vh-menu-products { border-top:1px solid var(--wp--preset--color--arena); padding-top:1.25rem; }
.vh-menu-product-list { display:grid; gap:.65rem; }
.vh-shell .vh-menu-product { display:grid; grid-template-columns:64px minmax(0,1fr); align-items:center; gap:.8rem; text-decoration:none; border-radius:10px; padding:.25rem; }
.vh-shell .vh-menu-product img { display:block; width:64px; height:72px; object-fit:cover; border-radius:8px; }
.vh-menu-product-name,.vh-menu-product-price { display:block; font-size:.875rem; line-height:1.5; overflow-wrap:anywhere; }
.vh-menu-product-price { font-size:.75rem; margin-top:.2rem; }
.vh-menu-product:hover { background:var(--wp--preset--color--arena); }
.vh-mobile-catalog { background:var(--wp--preset--color--beige); padding:1rem; border-radius:12px; margin-block:1rem; }
.vh-mobile-catalog .vh-menu-products { margin-top:1.25rem; }
@media(min-width:1024px) { .vh-mega--shop .vh-menu-products { border-top:0; border-left:1px solid var(--wp--preset--color--arena); padding-top:0; padding-left:1.5rem; } }

/* Contained dropdown and editorial introduction. Keep the top flush for pointer access. */
.vh-mega.vh-mega--shop { width:calc(100% - 2 * var(--vh-space)); max-width:1180px; margin-inline:auto; box-sizing:border-box; padding:1.5rem; gap:1.5rem; border:1px solid var(--wp--preset--color--arena); border-radius:0 0 18px 18px; }
.vh-catalog-intro { grid-column:1 / -1; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.75rem 1.5rem; padding-bottom:1rem; border-bottom:1px solid var(--wp--preset--color--arena); min-width:0; }
.vh-shell .vh-catalog-intro p { margin:0 0 .35rem; font-family:var(--wp--preset--font-family--body); font-size:.6875rem; font-weight:200; line-height:1.5; letter-spacing:.025em; text-transform:uppercase; overflow-wrap:anywhere; }
.vh-shell .vh-catalog-intro h2 { margin:0; font-family:var(--wp--preset--font-family--heading); font-size:clamp(1.125rem,1.7vw,1.5rem); font-weight:400; line-height:1.25; letter-spacing:.025em; color:inherit; overflow-wrap:anywhere; }
.vh-catalog-intro > div { min-width:0; }
.vh-shell .vh-catalog-intro > a { display:inline-flex; align-items:center; min-height:44px; font-size:.8125rem; line-height:1.4; text-underline-offset:.25em; overflow-wrap:anywhere; }
.vh-mobile-catalog .vh-catalog-intro { margin-bottom:1rem; }

/* Logo first in the reading order; centered desktop navigation with balanced sides. */
.vh-bar > .vh-brand { grid-column:2; grid-row:1; }
.vh-bar > .vh-mobile-actions { grid-column:1; grid-row:1; }
.vh-bar > .vh-actions { grid-column:3; grid-row:1; }
@media(min-width:1024px) {
 .vh-bar { grid-template-columns:minmax(200px,1fr) minmax(0,2fr) minmax(200px,1fr); }
 .vh-bar > .vh-brand { grid-column:1; justify-self:start; text-align:left; }
 .vh-bar > .vh-desktop-nav { grid-column:2; grid-row:1; width:100%; }
 .vh-desktop-nav .vh-nav-list { justify-content:center; }
 .vh-desktop-nav .vh-nav-link { overflow-wrap:anywhere; }
 .vh-desktop-nav .vh-nav-item { min-width:0; max-width:100%; }
}

/* Dim the page underneath the header while a desktop submenu is open. */
.vh-menu-backdrop { position:fixed; inset:0; z-index:0; background:color-mix(in srgb,var(--wp--preset--color--negro) 32%,transparent); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .25s ease,visibility .25s ease; }
.vh-notice { position:relative; z-index:1; }
@media(min-width:1024px) { .vh-shell.has-panel .vh-menu-backdrop { opacity:1; visibility:visible; pointer-events:auto; } }

/* Single-row mobile header and compact catalog dialog. */
@media(max-width:1023px) {
 .vh-shell .vh-bar { grid-template-columns:minmax(80px,1fr) auto auto; gap:4px; padding-inline:12px; }
 .vh-shell .vh-bar > .vh-brand { grid-column:1; grid-row:1; justify-self:start; }
 .vh-shell .vh-bar > .vh-mobile-actions { grid-column:2; grid-row:1; gap:0; }
 .vh-shell .vh-bar > .vh-actions { grid-column:3; grid-row:1; gap:0; }
 .vh-bar .vh-actions > .vh-wishlist,.vh-bar .vh-actions > a[aria-label="Mi cuenta"] { display:none; }
 .vh-bar .vh-menu-button { padding-inline:8px; min-width:44px; }
 .vh-shell .vh-mobile-menu { inset:0; width:calc(100% - 1rem); max-width:720px; height:auto; max-height:calc(100dvh - 1rem); margin:.5rem auto; padding:1rem!important; border:1px solid var(--wp--preset--color--arena); border-radius:16px; background:var(--wp--preset--color--beige); overflow-y:auto; }
 .vh-mobile-menu .vh-mobile-top { margin:0 0 .75rem; font-size:1rem; }
 .vh-mobile-menu .vh-mobile-catalog { padding:0; margin:1rem 0; border-radius:0; }
 .vh-mobile-primary ul { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:.25rem 1rem; }
 .vh-mobile-primary ul ul { padding-inline-start:.75rem; }
 .vh-mobile-primary a,.vh-mobile-utilities a { display:inline-flex; align-items:center; min-height:44px; font-size:.875rem; line-height:1.4; overflow-wrap:anywhere; text-decoration:none; }
 .vh-mobile-utilities { display:flex; flex-wrap:wrap; gap:.5rem 1rem; border-top:1px solid var(--wp--preset--color--arena); padding-top:.75rem; }
 .vh-mobile-primary a:hover,.vh-mobile-utilities a:hover { text-decoration:underline; }
}

.vh-cart-label { display:none; }
@media(min-width:1024px) {
 .vh-bar { grid-template-columns:minmax(260px,1fr) minmax(0,2fr) minmax(260px,1fr); }
 .vh-bar .vh-cart-button { width:auto; min-height:44px; padding:0 .85rem; gap:.5rem; border:1px solid currentColor; border-radius:99px; transition:background-color .2s ease,color .2s ease,border-color .2s ease; }
 .vh-bar .vh-cart-button::before { content:none; }
 .vh-bar .vh-cart-label { display:inline; font-size:.8125rem; line-height:1.3; }
 .vh-bar .vh-cart-button:hover { background:var(--wp--preset--color--arcilla); border-color:var(--wp--preset--color--arcilla); color:var(--wp--preset--color--blanco)!important; opacity:1; }
}

/* Compact navigation spacing; submenu buttons keep a 44px touch target. */
.vh-desktop-nav .vh-nav-list { gap:1.25rem; }
.vh-desktop-nav .vh-nav-item { padding-right:0; }
.vh-desktop-nav .vh-submenu-toggle { position:relative; width:20px; min-width:20px; min-height:44px; padding:0; margin:0 0 0 2px; justify-content:center; }
.vh-desktop-nav .vh-submenu-toggle::after { content:""; position:absolute; width:44px; height:44px; top:0; right:-12px; }
.vh-mega.vh-mega--pages { width:calc(100% - 2 * var(--vh-space)); max-width:680px; margin-inline:auto; padding:1.25rem; grid-template-columns:minmax(0,1fr); gap:1rem; background:var(--wp--preset--color--beige); border:1px solid var(--wp--preset--color--arena); border-radius:0 0 18px 18px; }
.vh-pages-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.5rem 1rem; padding-bottom:.75rem; border-bottom:1px solid var(--wp--preset--color--arena); }
.vh-pages-heading h2 { margin:0; font:400 1.125rem/1.4 var(--wp--preset--font-family--heading); color:inherit; overflow-wrap:anywhere; }
.vh-pages-heading a { display:inline-flex; align-items:center; min-height:44px; font-size:.8125rem; text-underline-offset:.2em; }
.vh-pages-links { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr)); gap:.5rem 1rem; margin:0; padding:0; list-style:none; }
.vh-pages-links ul { list-style:none; margin:0; padding-inline-start:.75rem; }
.vh-pages-links a { display:flex; align-items:center; min-height:44px; padding:.5rem .75rem; border-radius:10px; text-decoration:none; font-size:.875rem; line-height:1.4; overflow-wrap:anywhere; }
.vh-pages-links a:hover { background:var(--wp--preset--color--arena); }
.vh-mobile-primary .vh-mobile-pages summary { min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:.75rem; cursor:pointer; list-style:none; font-size:.875rem; }
.vh-mobile-pages summary::-webkit-details-marker { display:none; }
.vh-mobile-pages summary::after { content:'+'; }
.vh-mobile-pages[open] summary::after { content:'−'; }
.vh-mobile-primary .vh-mobile-pages ul { display:grid; gap:.25rem; padding:.5rem; border-radius:10px; background:var(--wp--preset--color--blanco); }
@media(max-width:1023px) { .vh-mobile-primary > ul { display:grid; grid-template-columns:minmax(0,1fr); gap:0; } .vh-mobile-primary li { min-width:0; } }

/* Vernalia search: an editorial, progressively revealed catalog window. */
.vh-shell .vh-search{width:min(1120px,calc(100% - 24px));max-height:calc(100dvh - 32px);margin:16px auto;padding:clamp(20px,4vw,52px);border-radius:clamp(20px,3vw,32px);overflow-y:auto;box-shadow:0 24px 90px color-mix(in srgb,var(--vh-ink) 24%,transparent)}
.vh-search::backdrop{backdrop-filter:blur(7px)}
.vh-search-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:28px}
.vh-search-intro>div{min-width:0}.vh-search-eyebrow{font-size:.7rem;letter-spacing:.12em;margin:0 0 12px;line-height:1.5}
.vh-search-intro h2{font-family:var(--wp--preset--font-family--heading);font-size:clamp(1.8rem,4vw,3.2rem);font-weight:400;line-height:1.12;letter-spacing:.025em;margin:0;text-wrap:balance;overflow-wrap:anywhere}
.vh-search .vh-search-close{width:48px;height:48px;flex:none;border:1px solid color-mix(in srgb,var(--vh-ink) 45%,transparent);border-radius:50%;background:transparent;transition:transform .3s,background .3s}
.vh-search .vh-search-form{position:relative;top:auto;padding:8px 10px 8px 16px;border:1px solid var(--vh-ink);border-radius:16px;gap:12px;transition:box-shadow .3s,border-color .3s}
.vh-search-form>svg{flex:none;width:22px;height:22px}.vh-search .vh-search-form:focus-within{border-color:var(--wp--preset--color--arcilla);box-shadow:0 0 0 4px color-mix(in srgb,var(--wp--preset--color--arena) 55%,transparent)}
.vh-search .vh-search-form input[type=search]{font-size:clamp(1rem,1.8vw,1.25rem);outline:none;min-height:48px}
.vh-search .vh-search-submit{border-radius:12px;background:var(--wp--preset--color--arcilla);color:var(--vh-cream);width:48px;flex:none;transition:background .3s,transform .3s}
.vh-search-help{font-size:.85rem;font-weight:200;line-height:1.6;margin:14px 0 28px;letter-spacing:.025em}
.vh-search-discover{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;margin-block:28px}.vh-search-discover[hidden]{display:none}
.vh-search-discover h3{font-size:.8rem;letter-spacing:.08em;font-weight:400;margin:0 0 16px;text-transform:uppercase}.vh-search-discover p{font-weight:200;line-height:1.6;letter-spacing:.025em;margin:20px 0 0;max-width:36ch}
.vh-search-chips{display:flex;flex-wrap:wrap;gap:10px}.vh-search-chips button{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;max-width:100%;border:1px solid color-mix(in srgb,var(--vh-ink) 30%,transparent);border-radius:99px;background:transparent;padding:12px 18px;text-align:left;font-size:.95rem}
.vh-search-chips span,.vh-search-collections span{min-width:0;overflow-wrap:anywhere}.vh-search-chips svg,.vh-search-collections svg{width:22px;height:22px;flex:none;transition:transform .4s}
.vh-search-collections{display:grid;gap:10px}.vh-search-collections a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;min-height:60px;border-radius:14px;background:var(--wp--preset--color--beige);text-decoration:none}.vh-search-collections a:nth-child(2){background:var(--wp--preset--color--arena)}
.vh-search-chips button,.vh-search-collections a{transition:background .3s,transform .3s,box-shadow .3s}
.vh-search .vh-search-body{padding:28px 0 0;border-top:1px solid color-mix(in srgb,var(--vh-ink) 20%,transparent)}
.vh-search .vh-product-media{border-radius:14px;background:var(--wp--preset--color--beige)}
.vh-shell .vh-search[open]{animation:vh-search-arrive .55s cubic-bezier(.22,1,.36,1) both}
.vh-search[open]::backdrop{animation:vh-search-backdrop .45s ease both}
.vh-search[open] :is(.vh-search-intro,.vh-search-form,.vh-search-help,.vh-search-discover,.vh-search-body){animation:vh-search-content .6s cubic-bezier(.22,1,.36,1) both}
.vh-search[open] .vh-search-form{animation-delay:80ms}.vh-search[open] .vh-search-help{animation-delay:140ms}.vh-search[open] .vh-search-discover{animation-delay:210ms}.vh-search[open] .vh-search-body{animation-delay:280ms}
.vh-shell .vh-search.is-closing{animation:vh-search-leave .22s ease both}.vh-search.is-closing::backdrop{animation:vh-search-backdrop .22s ease reverse both}
@keyframes vh-search-arrive{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
@keyframes vh-search-content{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes vh-search-backdrop{from{opacity:0}to{opacity:1}}
@keyframes vh-search-leave{to{opacity:0;transform:translateY(12px) scale(.99)}}
@media(min-width:782px){.vh-search-discover{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}.vh-shell .vh-search{margin:clamp(16px,5vh,56px) auto;max-height:calc(100dvh - clamp(32px,10vh,112px))}}
@media(hover:hover) and (pointer:fine){.vh-search-chips button:hover,.vh-search-collections a:hover{background:var(--wp--preset--color--arena);transform:translateY(-2px);box-shadow:0 6px 18px color-mix(in srgb,var(--vh-ink) 10%,transparent)}.vh-search-chips button:hover svg{transform:rotate(45deg)}.vh-search-collections a:hover svg{transform:translateX(4px)}.vh-search .vh-search-close:hover{transform:rotate(90deg);background:var(--wp--preset--color--beige)}.vh-search .vh-search-submit:hover{background:var(--vh-ink)}}
@media(prefers-reduced-motion:reduce){.vh-shell .vh-search,.vh-search::backdrop,.vh-search *{animation:none!important;transition:none!important}.vh-search a:hover,.vh-search button:hover,.vh-search svg{transform:none!important}}

/* Keep the search close icon legible on its light hover background. */
.vh-shell .vh-search .vh-search-close:is(:hover,:focus-visible){color:var(--wp--preset--color--arcilla);border-color:var(--wp--preset--color--arcilla);background:var(--wp--preset--color--beige)}
