/* Shared interaction geometry. Color and typography come from jade-site.css. */
.yw-shell { margin-inline:auto; max-width:var(--yw-shell); width:calc(100% - 2 * var(--yw-gutter)); }
.yw-header { position:relative; z-index:40; }
.yw-header__inner { display:grid; align-items:center; position:relative; margin-inline:auto; }
.yw-brand { display:inline-flex; align-items:center; text-decoration:none; }
.yw-nav { justify-self:center; }
.yw-nav:focus { outline:0!important; box-shadow:none!important; }
.yw-nav :is(a,button):is(:focus,:focus-visible),
.yw-menu-toggle:is(:focus,:focus-visible),
.yw-mobile-menu__close:is(:focus,:focus-visible),
.yw-mobile-tabs :is(a,button):is(:focus,:focus-visible) { outline:0!important; box-shadow:none!important; }
.yw-nav .menu { display:flex; align-items:center; list-style:none; margin:0; padding:0; }
.yw-nav .menu > li { display:flex; align-items:center; margin:0; }
.yw-nav a { display:block; text-decoration:none; }
.yw-nav .menu > li > a { position:relative; white-space:nowrap; }
.yw-nav .menu > li > a::after { content:''; position:absolute; bottom:22px; left:0; width:100%; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
.yw-nav .menu > li > a:hover::after,.yw-nav .current-menu-item > a::after { transform:scaleX(1); }
.yw-submenu-toggle { display:flex; align-items:center; justify-content:center; padding:0; border:0; background:transparent; cursor:pointer; min-height:44px; }
.yw-submenu-toggle:hover { background:transparent; }
.yw-submenu-toggle span { display:block; flex:0 0 18px; width:18px; height:18px; color:inherit; background:currentColor; mask:url('../icons/chevron-down.svg') center/16px 16px no-repeat; -webkit-mask:url('../icons/chevron-down.svg') center/16px 16px no-repeat; transform:rotate(0deg); transform-origin:50% 50%; transition:transform .2s ease; }
.yw-submenu-toggle[aria-expanded=true] span { transform:rotate(180deg); }
.yw-submenu { position:absolute; top:100%; right:0; min-width:0; border:1px solid var(--yw-border); }
.yw-submenu--editorial { display:grid; max-width:100%; max-height:calc(100dvh - 160px); overflow-y:auto; }
.yw-submenu--wide { left:0; width:100%; }
.yw-submenu__links { display:grid; gap:32px; }
.yw-submenu strong { display:block; margin-bottom:12px; }
.yw-header__actions { display:flex; align-items:center; }
.yw-icon-link { position:relative; display:inline-flex; align-items:center; justify-content:center; padding:0; background:transparent; border:0; text-decoration:none; cursor:pointer; }
.yw-ui-icon { display:block; width:24px; height:24px; background:currentColor; mask:var(--icon) center/contain no-repeat; -webkit-mask:var(--icon) center/contain no-repeat; }
.yw-cart-count { display:grid; place-items:center; position:absolute; right:-2px; top:1px; min-width:14px; height:14px; font:10px/1 var(--yw-font-sans); padding:1px 3px; }
.yw-cart-count[data-empty],.yw-cart-count:empty { display:none; }
.yw-menu-toggle { display:none; border:0; background:transparent; padding:0; min-width:44px; min-height:44px; align-items:center; justify-content:center; }
.yw-menu-toggle:hover { background:transparent; }
.yw-menu-toggle__label { position:absolute; clip-path:inset(50%); width:1px; height:1px; overflow:hidden; }
.yw-menu-toggle__icon { display:grid; gap:5px; width:20px; }
.yw-menu-toggle__icon span { display:block; width:20px; height:1px; background:currentColor; transition:transform .2s; }
.yw-menu-toggle[aria-expanded=true] .yw-menu-toggle__icon span:first-child { transform:translateY(3px) rotate(45deg); }
.yw-menu-toggle[aria-expanded=true] .yw-menu-toggle__icon span:last-child { transform:translateY(-3px) rotate(-45deg); }
.yw-menu-backdrop { position:fixed; inset:0; z-index:39; background:#160e0870; }
.yw-mobile-menu__heading { display:none; }
.yw-header-search { display:flex; gap:12px; margin:0 auto; }
.yw-header-search input { flex:1; min-width:0; padding:10px 14px; }
.yw-header-search button { min-height:44px; padding:8px 24px; }
.yw-mobile-utilities { display:none; }
.yw-mobile-tabs { display:none; }
.yw-toast { display:flex; align-items:center; gap:6px 24px; flex-wrap:wrap; position:fixed; z-index:90; bottom:24px; left:50%; transform:translate(-50%,8px); max-width:min(460px,calc(100% - 32px)); width:max-content; padding:14px 22px; color:var(--yw-on-dark); background:var(--yw-footer); border:1px solid #b9a17a; font:14px/1.6 var(--yw-font-ui); opacity:0; pointer-events:none; visibility:hidden; transition:opacity .2s,transform .2s; }
.yw-toast.is-visible { opacity:1; pointer-events:auto; visibility:visible; transform:translate(-50%,0); }
.yw-toast a { color:inherit; display:inline-flex; align-items:center; min-height:44px; }
.yw-outline,.yw-primary,.yw-button { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:48px; padding:11px 28px; border:1px solid var(--yw-accent); color:var(--yw-accent-strong); background:transparent; text-decoration:none!important; font:400 17px/1.5 var(--yw-font-display); letter-spacing:.06em; transition:background .2s,color .2s; }
.yw-primary,.yw-button { background:var(--yw-footer); color:var(--yw-on-dark); border-color:var(--yw-footer); }
.yw-outline:hover,.yw-primary:hover,.yw-button:hover { background:#6e5130; border-color:#6e5130; color:#f7ecd8; }
.yw-seal { display:inline-grid; place-items:center; border:1px solid #a0865d; border-radius:50%; width:20px; height:32px; color:#977447; font:400 11px/1 var(--yw-font-display); text-align:center; vertical-align:middle; }
.yw-short-rule { display:block; width:56px; height:1px; background:var(--yw-border); }
.yw-kicker { color:#8a6b43; font:400 13px/1.6 var(--yw-font-ui); letter-spacing:.18em; margin:0 0 18px; }
.yw-demo-note { font:12px/1.8 var(--yw-font-sans); color:var(--yw-text-muted); }
.yw-form-status { margin:0; color:var(--yw-accent-strong); }
.yw-form-status:empty { display:none; }
@media(min-width:721px) {
 /* Keep the hover area continuous from each trigger to the header's lower edge. */
 .yw-nav,.yw-nav > .menu,.yw-nav .menu > li { height:100%; }
 .yw-nav .menu > li { position:relative; }
 .yw-nav .menu > .yw-nav-item--wide { position:static; }
 .yw-nav .yw-submenu:not(.yw-submenu--wide) { left:50%; right:auto; translate:-50% 0; max-width:calc(100vw - 32px); }
}
@media(max-width:720px) {
 body.yw-menu-is-open { overflow:hidden; }
 .yw-menu-toggle { display:flex; }
 .yw-nav { position:fixed; z-index:2; inset:0 auto calc(64px + env(safe-area-inset-bottom)) 0; width:min(88vw,370px); }
 .yw-mobile-menu__heading { display:flex; align-items:center; justify-content:space-between; min-height:72px; border-bottom:1px solid #90764e55; }
 .yw-mobile-menu__heading > span { display:flex; align-items:baseline; gap:9px; letter-spacing:.08em; }
 .yw-mobile-menu__heading b { font:400 22px/1 var(--jade-latin); letter-spacing:.06em; }
 .yw-mobile-menu__close { display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; color:inherit; background:transparent; font:300 30px/1 var(--yw-font-sans); }
 .yw-nav .menu { display:block; width:100%; }
 .yw-nav .menu > li { display:grid; grid-template-columns:1fr auto; border-bottom:1px solid #90764e55; }
 .yw-nav .menu > li > a::after { display:none; }
 .yw-submenu { position:static; grid-column:1/-1; max-height:none; }
	body { padding-bottom:calc(66px + env(safe-area-inset-bottom)); }
 .yw-mobile-tabs { display:grid; position:fixed; z-index:70; left:0; right:0; bottom:0; grid-template-columns:repeat(5,minmax(0,1fr)); padding:5px 5px calc(5px + env(safe-area-inset-bottom)); background:#f5f0e6f5; border-top:1px solid #b59a73; box-shadow:0 -4px 22px #22170a14; backdrop-filter:blur(14px); }
 .yw-mobile-tabs :is(a,button) { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; min-width:0; min-height:54px; padding:3px; border:0; color:#7a684f; background:transparent; text-decoration:none; font:12px/1.3 var(--yw-font-sans); }
	.yw-mobile-tabs :is(a,button)[aria-current],.yw-mobile-tabs button[aria-expanded=true] { color:#402d1b; }
	.yw-mobile-tabs .yw-ui-icon { width:21px; height:21px; }
 .yw-menu-backdrop { z-index:39; bottom:calc(64px + env(safe-area-inset-bottom)); }
 .yw-toast { bottom:calc(76px + env(safe-area-inset-bottom)); }
 .yw-primary,.yw-outline,.yw-button { font-size:16px; }
}
