/* Approved menu interior only. No header, logo, catalog or purchase rules. */
dialog#sf-menu, #sf-menu * { box-sizing:border-box }
dialog#sf-menu {
 --menu-ink:var(--bsu-green); --menu-line:#dddcd2; --menu-surface:#faf8f2;
 position:fixed; inset:0 0 0 auto; margin:0; width:min(400px,100%);
 max-width:100%; height:100dvh; max-height:100dvh; padding:14px 22px 24px;
 border:0; background:var(--menu-surface); color:var(--menu-ink);
 font-family:BaristaShell,BaristaAssistant,Arial,sans-serif;
 overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain;
 box-shadow:-12px 0 60px #0002; text-align:right; line-height:1.4;
}
#sf-menu::backdrop { background:#15271dc7 }
dialog#sf-menu:not([open]) { display:none }
#sf-menu .sf-menu-head { display:flex; justify-content:space-between; align-items:center; gap:12px; min-height:44px }
#sf-menu .sf-menu-head h2 { font:400 22px/1.3 BaristaShell,BaristaAssistant,Arial,sans-serif; margin:0 }
#sf-menu .sf-menu-head button { display:grid; place-items:center; width:44px; height:44px; min-width:44px; padding:0; background:transparent; border:0; color:inherit; font:300 29px/1 Arial,sans-serif; cursor:pointer }
#sf-menu .sf-menu-search { display:flex; gap:0; height:46px; min-height:46px; margin:10px 0 10px; border:1px solid #dcd9d0; border-radius:0; background:transparent }
#sf-menu .sf-menu-search input { display:block; width:100%; min-width:0; min-height:44px; padding:8px 11px; margin:0; border:0; border-radius:0; background:transparent; color:inherit; font:400 16px/1.4 BaristaShell,BaristaAssistant,Arial,sans-serif }
#sf-menu .sf-menu-search button { display:grid; place-items:center; width:44px; min-width:44px; min-height:44px; padding:0; border:0; background:transparent; color:inherit; cursor:pointer }
#sf-menu .sf-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0 }
#sf-menu a { color:inherit; text-decoration:none; margin:0 }
#sf-menu .sf-menu-shopping>a, #sf-menu summary, #sf-menu .sf-menu-service>a {
 display:flex; align-items:center; justify-content:space-between; min-height:44px;
 padding:7px 0; border:0; color:inherit; font-size:17px; font-weight:400; line-height:1.35;
}
#sf-menu summary { list-style:none; cursor:pointer }
#sf-menu summary::-webkit-details-marker { display:none }
#sf-menu summary::after { content:'+'; font-size:21px; font-weight:300; line-height:1 }
#sf-menu details[open]>summary::after { content:'−' }
#sf-menu .sf-menu-fold>div { padding:0 12px 4px 0; margin:0; border-inline-start:1px solid var(--menu-line); background:transparent }
#sf-menu .sf-menu-fold>div a { display:flex; align-items:center; min-height:44px; padding:6px 0; font-size:15px; line-height:1.35 }
#sf-menu .sf-menu-guidance { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:14px; row-gap:0; padding:10px 0 6px; margin:8px 0; border-block:1px solid var(--menu-line); background:transparent }
#sf-menu .sf-menu-guidance a { display:flex; align-items:center; justify-content:flex-start; min-height:44px; padding:6px 0; margin:0; font-size:15px; font-weight:400; line-height:1.35 }
#sf-menu .sf-menu-guidance a:first-child { grid-column:1/-1; justify-content:space-between; min-height:46px; padding:7px 12px; margin:0; background:var(--bsu-green-soft); font-size:16px; font-weight:400 }
#sf-menu .sf-menu-brands>div.sf-brand-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; padding:0 0 4px; border:0 }
#sf-menu .sf-brand-links a { justify-content:flex-start; min-width:0; min-height:44px; padding:7px 0; text-align:right }
#sf-menu .sf-brand-links bdi { font-size:15px; font-weight:400; letter-spacing:.045em; white-space:nowrap }
#sf-menu .sf-menu-service { padding-top:6px; margin-top:5px; border-top:1px solid var(--menu-line) }
#sf-menu .sf-menu-account { display:flex; flex-direction:column; gap:0; margin-top:8px; padding-top:6px; border-top:1px solid var(--menu-line) }
#sf-menu .sf-menu-account a { display:flex; align-items:center; min-height:44px; padding:6px 0; font-size:15px; line-height:1.35; text-decoration:none }
#sf-menu :is(a,button,input,summary):focus-visible { outline:2px solid var(--bsu-green); outline-offset:2px }
@media(max-width:350px) { dialog#sf-menu { padding-inline:18px } #sf-menu .sf-menu-guidance { column-gap:10px } }
