/* P3 only. Reuse the approved shell; no Homepage selectors. */
.yokocho-shell:has(.ykm-menu) .yk-header{position:sticky;top:0;background:linear-gradient(var(--yk-ink) 0%,var(--yk-deep) 100%)}
body.admin-bar:has(.ykm-menu) .yk-header{top:32px}
.ykm-menu{--ykm-header:136px;flex:1;min-width:0;background:var(--yk-deep)}
.yokocho-shell .ykm-intro{position:relative;display:grid;justify-items:center;align-items:end;height:214px;padding:0 20px 60px;text-align:center}
.ykm-intro::before{content:"";position:absolute;inset:0;background:url('../menu/title.webp') center top/374px auto no-repeat;pointer-events:none}
.yokocho-shell .ykm-intro h1{position:relative;font:400 clamp(32px,4.2vw,54px)/.8 var(--yk-extended);margin:0;text-transform:capitalize;letter-spacing:-.06em}
.ykm-tabs{position:sticky;z-index:19;top:var(--ykm-header);display:flex;justify-content:center;gap:20px;padding:10px 20px 0;margin:0 auto;background:var(--yk-deep);max-width:100%;overflow-x:auto;scrollbar-width:thin}
body.admin-bar .ykm-tabs{top:calc(var(--ykm-header) + 32px)}
.yokocho-shell .ykm-tabs a{flex:0 0 110px;min-height:65px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px solid var(--yk-menu-rule);border-bottom:3px solid var(--yk-menu-rule);font:700 9px/1.1 var(--yk-body);letter-spacing:2px;text-align:center;text-transform:uppercase;transition:background .2s,color .2s;text-decoration:none;padding:10px 6px;scroll-margin-inline:20px}
.ykm-tabs a>span[lang]{font:400 24px/1.1 serif;color:var(--yk-menu-rule);letter-spacing:0}
.yokocho-shell .ykm-tabs a[aria-current]{background:var(--yk-mid);border-bottom-color:var(--yk-gold)}
.ykm-tabs a[aria-current]>span[lang]{color:var(--yk-ink)}
.yokocho-shell .ykm-tabs a:hover{background:#23483c;border-color:var(--yk-gold)}
.ykm-content{width:min(1100px,calc(100% - 100px));margin:60px auto 0;scroll-margin-top:calc(var(--ykm-header) + 110px);min-height:400px}
.ykm-panel[hidden]{display:none!important}
@keyframes ykm-enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
.yokocho-shell .ykm-panel h2{margin:0 0 10px;font:400 clamp(32px,4.2vw,45px)/1.2 var(--yk-extended);letter-spacing:0;text-transform:capitalize;color:white}
.ykm-photo{margin:0;position:relative;min-width:0}
.ykm-photo img{display:block;width:100%;height:auto;max-width:100%}
.ykm-photo figcaption{font-size:12px;color:#b3c6bf;margin-top:8px}
.ykm-banner{margin-bottom:32px}
.ykm-banner img{height:225px;object-fit:cover}
.ykm-banner img{mask-image:none;-webkit-mask-image:none}
.ykm-banner::before,.ykm-banner::after{content:"";position:absolute;top:0;bottom:0;width:min(175px,16%);pointer-events:none;z-index:1;background:linear-gradient(90deg,var(--yk-deep),rgba(4,33,24,0))}
.ykm-banner::before{left:0}.ykm-banner::after{right:0;transform:rotate(180deg)}
.ykm-dessert-composition{display:grid;grid-template-columns:minmax(0,1fr) 35%;gap:0 40px;align-items:center;margin-top:58px}
.ykm-dessert-dishes,.ykm-dessert-dishes .ykm-group{display:contents}
.ykm-dessert-composition .ykm-group h3{grid-column:1/-1}
.yokocho-shell .ykm-dessert-composition .ykm-dishes{grid-template-columns:1fr;grid-column:1}
.ykm-dessert-art{display:block;width:100%;height:auto;max-width:100%;grid-column:2;grid-row:2;margin:50px 0}
@media(max-width:760px){.ykm-dessert-composition{grid-template-columns:1fr;gap:28px;margin-top:36px}.ykm-dessert-art{grid-column:1;grid-row:auto;width:65%;max-width:385px;justify-self:center;margin:0}}
.ykm-group{margin-top:58px}
.yokocho-shell .ykm-group h3{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 0 12px;margin:0;border-bottom:3px solid var(--yk-menu-rule);color:white;font:400 clamp(20px,2.6vw,27px)/1.2 var(--yk-extended);letter-spacing:0;text-transform:capitalize}
.ykm-group h3>span[lang]{font-family:serif;color:var(--yk-gold);letter-spacing:0}
.yokocho-shell .ykm-dishes{display:grid;grid-template-columns:1fr 1fr;grid-auto-flow:row;column-gap:46px;list-style:none;margin:0;padding:0}
.ykm-dish{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--yk-menu-rule);padding:20px 0;min-width:0;line-height:1.5}
.ykm-dish-name{display:block;letter-spacing:1.6px;text-transform:uppercase;font-weight:700;font-size:15px;overflow-wrap:anywhere}
.ykm-jp{display:block;font-family:serif;color:#639382;font-size:16px;margin-top:4px}
.ykm-price{white-space:nowrap;flex-shrink:0;letter-spacing:1.2px;font-size:16px;font-weight:700}
.ykm-item-note{display:block;color:#abc2b8;font-size:13px}
.ykm-signatures{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}
.ykm-signature{background:var(--yk-green);padding:20px;border:0;outline:1px solid var(--yk-ink);box-shadow:6px 6px var(--yk-ink);min-width:0}
.ykm-card-top,.ykm-card-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center}
.ykm-card-top{color:var(--yk-ink);font:400 16px/1.2 var(--yk-extended)}
.ykm-card-top>span[lang]{color:var(--yk-gold);font-family:serif;font-weight:700}
.yokocho-shell .ykm-signature h3{margin:60px 0;font:400 clamp(19px,2vw,21px)/1.2 var(--yk-extended);color:white;text-transform:capitalize;letter-spacing:0}
.ykm-card-bottom{border-top:1px solid var(--yk-menu-rule);padding-top:12px;font-weight:700;font-size:14px;line-height:1.2;letter-spacing:1.3px}
.ykm-card-bottom>span:first-child{color:#639382;font-size:11px;text-transform:uppercase}
.ykm-card-bottom>span:last-child{white-space:nowrap}
.ykm-weekly{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid var(--yk-menu-rule);margin-top:36px;padding:24px}
.ykm-weekly p{font-size:12px;letter-spacing:1.5px;color:#639382;margin:0 0 8px;text-transform:uppercase}
.yokocho-shell .ykm-weekly h3{font:400 18px/1.2 var(--yk-extended);margin:0;color:white;text-transform:capitalize}
.ykm-weekly>span{flex:0 0 150px;padding:15px 18px;background:var(--yk-gold);color:var(--yk-green);transform:rotate(3deg);font-weight:700;letter-spacing:2px;line-height:1.2;text-transform:uppercase;text-align:center}
.ykm-merch-composition{border-top:3px solid var(--yk-menu-rule);padding-top:47px;display:grid;grid-template-columns:45% 55%;align-items:center;gap:0}
.ykm-merch-copy{padding-left:48px}
.ykm-merch-composition+.ykm-merch-composition{margin-top:64px}
.ykm-merch-badge{font-weight:700;letter-spacing:2px;text-transform:uppercase;font-size:14px;line-height:1;margin:0 0 24px}
.yokocho-shell .ykm-merch-copy h3{font:400 clamp(32px,3.2vw,45px)/.9 var(--yk-extended);color:white;letter-spacing:0;margin:0 0 24px;text-transform:capitalize}
.ykm-merch-copy h3 span{display:block}.ykm-merch-copy h3 span+span{color:var(--yk-gold)}
.ykm-merch-composition .ykm-photo img{mask-image:linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent),linear-gradient(transparent,#000 25%,#000 75%,transparent);mask-composite:intersect}
.ykm-merch-price{font-weight:700;letter-spacing:0;font-size:23px;line-height:1;margin:0 0 24px}
.ykm-merch-copy article>p:last-child{font-size:14px;line-height:1;margin:0}
.ykm-merch-copy article+article{margin-top:40px;border-top:1px solid var(--yk-menu-rule);padding-top:32px}
.ykm-cta{display:flex;flex-direction:column;align-items:center;gap:12px;margin:120px 20px 0;text-align:center}
.ykm-cta .yk-button{padding:7px 18px;min-width:0;min-height:34px;border:0;font-size:18px;line-height:1.1}
.ykm-cta small{color:#9bb9ab;font-size:12px}.ykm-pending{opacity:.65}
.ykm-loading{height:0;margin:0;text-align:center;font-size:13px}
.ykm-review-note{font-size:11px;text-align:center;color:#8cab9e;margin:48px 20px 0}
@media(min-width:1700px){.yokocho-shell .ykm-intro h1{font-size:54px}.yokocho-shell .ykm-panel h2{font-size:45px}}
@media(max-width:1000px){.ykm-content{width:calc(100% - 56px)}.ykm-tabs{gap:16px}.ykm-merch-copy{padding-left:24px}.ykm-merch-copy h3{overflow-wrap:anywhere}}
@media(max-width:760px){
    .ykm-menu{--ykm-header:104px}
    .yokocho-shell .ykm-intro{height:186px;padding-bottom:30px}
    .ykm-intro::before{background-size:260px auto;background-position:center 12px}
    .ykm-tabs{justify-content:flex-start;gap:8px;padding:10px 16px 14px;scroll-snap-type:x proximity}
    .yokocho-shell .ykm-tabs a{flex:0 0 calc((100% - 24px)/4);min-width:0;min-height:68px;font-size:8px;letter-spacing:.6px;padding:8px 3px;scroll-snap-align:start}
    .ykm-tabs a>span[lang]{font-size:22px}
    .ykm-content{width:calc(100% - 32px);margin-top:32px;scroll-margin-top:calc(var(--ykm-header) + 104px)}
    .yokocho-shell .ykm-panel h2{font-size:clamp(22px,6.8vw,42px);margin-bottom:16px;overflow-wrap:anywhere}
    .ykm-banner img{height:clamp(155px,38vw,235px)}
    .ykm-group{margin-top:36px}.yokocho-shell .ykm-group h3{font-size:20px;gap:12px}
    .yokocho-shell .ykm-dishes{grid-template-columns:1fr;gap:0}.ykm-dish{padding:17px 0}.ykm-dish-name{font-size:13px;letter-spacing:1px}.ykm-price{font-size:14px}.ykm-jp{font-size:15px}
    .ykm-signatures{gap:14px;grid-template-columns:1fr}.ykm-signature{padding:20px;box-shadow:4px 4px var(--yk-ink)}.yokocho-shell .ykm-signature h3{margin:36px 0;font-size:22px}.ykm-card-bottom{font-size:15px}.ykm-card-bottom>span:first-child{font-size:10px;letter-spacing:1px}
    .ykm-weekly{align-items:flex-start;padding:20px;flex-direction:column;gap:20px}.yokocho-shell .ykm-weekly h3{font-size:18px}.ykm-weekly>span{flex-basis:auto;max-width:180px;align-self:flex-end;font-size:12px}
    .ykm-merch-composition{grid-template-columns:1fr;padding-top:28px;gap:28px}.ykm-merch-composition .ykm-photo{max-width:450px;margin:auto}.ykm-merch-copy{padding:0 8px}.yokocho-shell .ykm-merch-copy h3{font-size:clamp(32px,9.6vw,64px)}.ykm-merch-badge{font-size:12px;margin-bottom:20px}.ykm-merch-price{font-size:17px}
    .ykm-merch-copy article>p:last-child{line-height:1.5}
    .ykm-cta{margin-top:48px}.ykm-cta .yk-button{min-width:0;width:100%;max-width:360px;font-size:12px;padding:18px 20px}
}
@media(max-width:360px){.yokocho-shell .ykm-tabs a{font-size:7px;letter-spacing:.5px}.yokocho-shell .ykm-group h3{font-size:18px}}
@media(max-width:782px){body.admin-bar:has(.ykm-menu) .yk-header{top:46px}body.admin-bar .ykm-tabs{top:calc(var(--ykm-header) + 46px)}}
@media(max-width:600px){body.admin-bar:has(.ykm-menu) .yk-header{top:0}body.admin-bar .ykm-tabs{top:var(--ykm-header)}}
@media(prefers-reduced-motion:reduce){.ykm-panel{animation:none}.ykm-tabs a{transition:none}}
