/* Retail-inspired interaction layer, scoped to the general homepage. */
.ovo-home .retail-header{transition:background .22s,color .22s;isolation:isolate}
.ovo-home .retail-header.retail-open{background:#fff8f8!important;color:#503741!important;box-shadow:0 3px 12px #39232b12}
.ovo-home .retail-header.retail-open .brand,.ovo-home .retail-header.retail-open .brand small{color:#503741!important}
.retail-search-button{position:absolute;left:28px;top:22px;display:flex;align-items:center;gap:10px;min-height:44px;border:0;border-bottom:1px solid currentColor;background:none;color:inherit;font:12px Manrope,Arial,sans-serif;cursor:pointer}
.ovo-home .retail-header .nav{position:static!important;display:flex;justify-content:center;gap:clamp(18px,2.5vw,34px);width:auto!important;padding:0 22px!important;min-height:56px;font-size:12px!important;letter-spacing:.045em;flex-wrap:nowrap}
.retail-header .retail-menu{position:static;display:block}
.retail-menu>summary{list-style:none;cursor:pointer;display:flex;align-items:center;min-height:56px;white-space:nowrap;border-bottom:2px solid transparent}
.retail-menu>summary::-webkit-details-marker{display:none}
.retail-menu[open]>summary{border-color:#ad647d}
.retail-menu>summary:focus-visible,.retail-panel a:focus-visible{outline:2px solid #ad647d;outline-offset:4px}
.retail-panel{position:absolute;top:100%;left:0;right:0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:36px;padding:32px max(5vw,24px) 38px;background:#fff8f8;color:#503741;border-top:1px solid #ecdce2;box-shadow:0 20px 28px #30202716;max-height:calc(100dvh - 160px);overflow:auto;text-transform:none;letter-spacing:0;animation:retail-enter .2s ease}
.retail-panel-intro p{font:12px/1.7 Manrope,Arial,sans-serif;max-width:300px;margin:0 0 16px;color:#7a626c;white-space:normal}
.retail-panel-intro p:first-child{font-size:10px;font-weight:600;letter-spacing:.14em}
.retail-panel-intro h2{font:36px/1.04 'Cormorant Garamond',Georgia,serif;margin:0 0 14px;letter-spacing:-.02em}
.retail-panel .retail-all,.retail-search-dialog .retail-all{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:99px;background:#f1d2dd;color:#503741;font:12px Manrope,Arial,sans-serif;text-decoration:none}
.retail-panel .retail-link-column{display:flex;flex-direction:column;align-items:flex-start}
.retail-link-column h3{font:600 11px Manrope,Arial,sans-serif;text-transform:uppercase;letter-spacing:.1em;margin:0 0 15px}
.retail-panel .retail-link-column a{font:15px/1.4 Manrope,Arial,sans-serif;padding:10px 0;min-height:42px;transition:color .15s,transform .15s;text-decoration:none}
.retail-panel a:hover{color:#a55373!important;transform:translateY(-2px)}
.retail-panel a::after{display:none!important}
.retail-feature{display:block;justify-self:end;width:220px;text-decoration:none;transition:transform .2s}
.retail-feature img{width:220px;height:210px;object-fit:cover;object-position:50% 32%;display:block;border-radius:3px}
.retail-feature>span{display:block;font:13px Manrope,Arial,sans-serif;margin-top:12px}
.retail-location-grid{grid-column:span 2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.retail-location{display:block;text-decoration:none;transition:transform .2s;white-space:normal!important}
.retail-location img{width:100%;height:135px;object-fit:cover;border-radius:3px;display:block;margin-bottom:14px}
.retail-location strong{display:block;font:25px Georgia,serif;margin-bottom:8px}
.retail-location small{display:block;font:11px/1.6 Manrope,Arial,sans-serif;white-space:normal;color:#7a626c}
.retail-shade{position:fixed;inset:0;background:#21151b45;z-index:39;backdrop-filter:blur(2px)}
.retail-shade[hidden]{display:none}
.ovo-home .retail-header{z-index:40!important}
.retail-search-dialog{width:min(680px,calc(100vw - 32px));max-height:85dvh;padding:32px;border:1px solid #ecdce2;border-radius:16px;background:#fff8f8;color:#503741;overflow:auto}
.retail-search-dialog::backdrop{background:#21151b70;backdrop-filter:blur(4px)}
.retail-search-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.retail-search-top h2{font:36px Georgia,serif;margin:0}
.retail-search-close{border:0;background:none;min-height:44px;color:inherit;cursor:pointer}
.retail-search-dialog label{display:block;font:13px Manrope,Arial,sans-serif;margin-bottom:10px}
.retail-search-dialog input{display:block;width:100%;padding:15px 18px;border:1px solid #bc8fa1;border-radius:99px;background:white;color:#503741;font:16px Manrope,Arial,sans-serif}
.retail-search-hint,.retail-search-count{font:12px/1.6 Manrope,Arial,sans-serif;color:#7a626c}
.retail-search-results{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;margin:16px 0}
.retail-search-results a{padding:12px;border-radius:5px;color:#503741;text-decoration:none;font:14px Manrope,Arial,sans-serif;min-height:44px}
.retail-search-results a:hover{background:#f4dde5}
.retail-phone-shop{border-top:1px solid #e5cbd5;border-bottom:1px solid #e5cbd5;margin:15px 0}
.retail-phone-shop summary{padding:18px 0;cursor:pointer;list-style:none;font:22px Georgia,serif}
.retail-phone-shop summary::-webkit-details-marker{display:none}
.retail-phone-shop>div{display:grid;padding-bottom:12px}
.retail-phone-shop a{padding:12px 8px;min-height:44px;font:15px Manrope,Arial,sans-serif;color:inherit}
@keyframes retail-enter{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(max-width:1100px) and (min-width:801px){.retail-search-button span{max-width:130px;text-align:left}.retail-panel{gap:22px}.retail-location-grid{gap:12px}.retail-location img{height:110px}.retail-location strong{font-size:22px}.ovo-home .retail-header .nav{font-size:10px!important;gap:18px}}
@media(max-width:800px){.ovo-home .retail-header{height:78px!important}.retail-search-button{left:auto;right:17px;top:17px;border:0;padding:8px}.retail-search-button span{display:none}.retail-search-dialog{padding:22px}.retail-search-top h2{font-size:28px}.retail-search-results{grid-template-columns:1fr}.retail-shade{display:none}}
@media(prefers-reduced-motion:reduce){.retail-panel{animation:none}.retail-header,.retail-panel a{transition:none!important}}

.retail-header .masthead>.utility>.boutique-picker{display:none!important}

.retail-search-open{overflow:hidden}.mobile-menu-links .boutique-picker>summary>[aria-hidden]{display:none}

/* Keep the panel mounted for its exit; returning to the header cancels it. */
.retail-panel{transition:opacity .28s ease,transform .28s cubic-bezier(.22,.61,.36,1);transform-origin:top}
.retail-shade{opacity:1;transition:opacity .28s ease}
.retail-header.retail-closing .retail-panel{animation:none;opacity:0;transform:translateY(-12px);pointer-events:none}
.retail-header.retail-closing+.retail-shade{opacity:0;pointer-events:none}
@media(prefers-reduced-motion:reduce){.retail-panel,.retail-shade{transition:none!important}}

/* A half-screen phone dropdown; expanded choices scroll within the sheet. */
@media(max-width:800px){
 .ovo-home .mobile-navigation[open]{inset:78px 10px auto;width:calc(100% - 20px);height:50dvh;max-height:50dvh;margin:0;border-radius:0 0 20px 20px;background:#fff7f8;box-shadow:0 18px 45px #50374130;animation:retail-enter .24s ease-out}
 .mobile-navigation::backdrop{background:#29172230;backdrop-filter:blur(2px)}
 .mobile-navigation .mobile-menu-heading{padding:8px 16px;min-height:56px}
 .mobile-navigation .mobile-menu-heading .mobile-menu-eyebrow,.mobile-navigation .mobile-menu-content>.mobile-menu-eyebrow{display:none}
 .mobile-navigation .mobile-menu-heading h2{font-size:23px;margin:0}
 .mobile-navigation .mobile-menu-close{border:0;background:#f5e0e7;width:40px;height:40px;min-width:44px;min-height:44px}
 .mobile-navigation .mobile-menu-content{padding:8px 16px 16px;scrollbar-width:thin;scrollbar-color:#d8aebb transparent}
 .mobile-navigation .language-switch{padding:0 0 6px;margin:0 0 4px;gap:6px}
 .mobile-navigation .language-switch:before{font-size:10px}
 .mobile-navigation .language-switch button{padding:7px 12px;min-height:44px}
 .mobile-navigation .retail-phone-shop,.mobile-navigation .mobile-menu-content>.boutique-picker{display:block;margin:0;border:0;border-bottom:1px solid #ecd8df}
 .mobile-navigation .retail-phone-shop>summary,.mobile-navigation .mobile-menu-content>.boutique-picker>summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:9px 0;gap:12px;font:600 14px/1.4 Manrope,Arial,sans-serif;list-style:none;cursor:pointer}
 .mobile-navigation .mobile-menu-content>.boutique-picker>summary strong{font:inherit}
 .mobile-navigation .mobile-menu-content>.boutique-picker>summary small,.mobile-navigation .mobile-link-number,.mobile-navigation summary>[aria-hidden]{display:none}
 .mobile-navigation .retail-phone-shop>summary:after,.mobile-navigation .mobile-menu-content>.boutique-picker>summary:after{content:'+';font-size:21px;font-weight:400}
 .mobile-navigation .retail-phone-shop[open]>summary:after,.mobile-navigation .mobile-menu-content>.boutique-picker[open]>summary:after{content:'−'}
 .mobile-navigation .boutique-picker-options{position:static;width:100%;margin:0 0 8px;box-shadow:none;border:0;background:#f9eaf0}
 .mobile-navigation .boutique-picker-options a,.mobile-navigation .retail-phone-shop a{display:flex;align-items:center;min-height:44px;padding:10px 12px;font:14px/1.4 Manrope,Arial,sans-serif;text-decoration:none}
 .mobile-navigation .retail-phone-shop>div{padding:0 0 8px;background:#f9eaf0}
 .mobile-navigation .mobile-menu-links{grid-template-columns:1fr 1fr;gap:0 14px;margin:4px 0 0}
 .mobile-navigation .mobile-menu-links>a{display:flex;min-height:44px;padding:8px 0;gap:0;font-size:13px}
 .mobile-navigation .mobile-menu-links strong,html[lang=es] .mobile-navigation .mobile-menu-links strong{font:500 13px/1.4 Manrope,Arial,sans-serif}
 .mobile-navigation .mobile-menu-links small,.mobile-navigation .mobile-menu-links [aria-hidden]{display:none}
 .mobile-navigation .mobile-menu-bottom{display:flex;flex-wrap:wrap;gap:4px 16px;margin:8px 0 0}
 .mobile-navigation .mobile-menu-bottom>a{display:flex;align-items:center;min-height:44px;font-size:12px;text-decoration:none}
 .mobile-navigation .mobile-menu-bottom>.mobile-visit-link,.mobile-navigation .mobile-menu-bottom>span{display:none}
 .mobile-navigation a:active,.mobile-navigation summary:active{background:#f4dde5}
}
@media(prefers-reduced-motion:reduce){.ovo-home .mobile-navigation[open]{animation:none}}

/* Keep the native dialog visible until its exit motion finishes. */
@keyframes phone-menu-in{from{opacity:0;transform:translateY(-18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes phone-menu-out{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-14px) scale(.99)}}
@keyframes phone-shade-in{from{opacity:0}to{opacity:1}}
@keyframes phone-shade-out{from{opacity:1}to{opacity:0}}
@media(max-width:800px){
 .ovo-home .mobile-navigation[open]{transform-origin:top center;animation:phone-menu-in .36s cubic-bezier(.22,1,.36,1) both}
 .ovo-home .mobile-navigation[open]::backdrop{animation:phone-shade-in .36s ease both}
 .ovo-home .mobile-navigation[open].is-closing{animation:phone-menu-out .26s cubic-bezier(.4,0,.2,1) both;pointer-events:none}
 .ovo-home .mobile-navigation[open].is-closing::backdrop{animation:phone-shade-out .26s ease both}
}
@media(prefers-reduced-motion:reduce){
 .ovo-home .mobile-navigation[open],.ovo-home .mobile-navigation[open]::backdrop,.ovo-home .mobile-navigation[open].is-closing,.ovo-home .mobile-navigation[open].is-closing::backdrop{animation:none}
}
