/* Sushi King: charcoal, rice white and wasabi green */
@import url("ambience.css");
:root{--bg:#101511;--surface:#1a241c;--gold:#b9d58c;--text:#f5f8f0;--muted:#a8b5a7;--line:#b9d58c26}
body{background:radial-gradient(ellipse at 95% 35%,#233b242b,transparent 45%),var(--bg)}
h1{color:var(--text)}
.header{position:absolute;top:0;left:0;right:0;z-index:2;height:100px}
.header .brand{color:#f5f8f0}
.brand small{color:var(--gold)}
.desktop-nav{color:#e1e8da}
.languages{background:#101a15d9;border-color:#d4e8bf38;backdrop-filter:blur(14px);border-radius:13px}
.languages button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:8px 10px;font-weight:600}
.languages img{width:22px;height:16px;border-radius:2px;object-fit:cover;flex-shrink:0}
.languages button.active{background:#dbe8ce;color:#142016}
.hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:570px;width:100%;padding:130px 0 65px;margin:0;overflow:hidden}
.hero-copy{position:relative;z-index:1}
.hero-copy h1{font-size:clamp(42px,4.5vw,65px);max-width:650px;margin:22px 0}
.hero-desc{color:#d0dbcc;max-width:360px}
.hero-visual{position:absolute;inset:0;height:100%;z-index:-1;opacity:1}
.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:70% 52%;border-radius:0;box-shadow:none;filter:brightness(.85)}
.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0c130cf2 0%,#0c130cc9 31%,#0c130c20 75%),linear-gradient(0deg,var(--bg),transparent 42%)}
.hero-location{color:#b5c6ae}
.hero-actions .text-link i{width:24px;height:24px;flex-basis:24px}
.button{background:var(--gold);color:#142014}
.button:hover{background:#cee9a2}
.eyebrow>span{display:none}
.menu-section{padding-top:35px}
.menu-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 240px;align-items:center;gap:35px}
.categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:5px;width:100%;margin:0;background:#1b261d;border:1px solid var(--line);border-radius:16px;overflow:visible}
.categories button{white-space:normal;text-align:center;justify-content:center;min-width:0;min-height:53px;padding:10px 12px;line-height:1.3;font-size:12px;border:0;border-radius:11px;color:#d8e2d3;gap:9px}
.categories button[data-category=all]{grid-column:1/-1;min-height:43px;border-bottom:1px solid var(--line)}
.categories button.active{background:var(--gold);color:#172316}
.categories i{width:22px;height:22px;flex-basis:22px}
.search{max-width:none;width:100%;color:var(--muted)}
.dish{background:linear-gradient(140deg,#1d291f,#172019);border-color:var(--line)}
.dish:hover{border-color:#b9d58c80}
.dish-photo{height:235px;background:#080a08}
.dish-photo>.food-photo{display:block;width:100%;height:100%;max-width:none}
.dish h3{color:var(--text)}
.dish-price{color:var(--gold)}
.dish-price small{color:var(--muted)}
.contact-heading>i{color:var(--gold)}
.contact-phone{gap:14px}
.contact-phone>i{width:28px;height:28px;flex-basis:28px}
.contact-info>a>i:first-child,.contact-info>div>i:first-child{width:27px;height:27px;flex-basis:27px}
.contact-info .socials{gap:14px}
.socials a{display:grid;place-items:center;width:54px;height:54px;border:1px solid #b9d58c40;border-radius:50%;background:#b9d58c08;color:var(--gold);transition:background .2s,transform .2s}
.socials a:hover{background:#b9d58c20;transform:translateY(-2px)}
.socials i{width:27px;height:27px;flex-basis:27px;margin:0}
dialog{background:#152018;border-color:#b9d58c40}
dialog::backdrop{background:#070d09ed}
.close,.round{border-color:#b9d58c50;background:#b9d58c0b}
#viewer-media:has(>.food-photo){background:#080a08;border-radius:12px;overflow:hidden}
#viewer-media>.food-photo{display:block;width:100%;height:min(55dvh,480px)}
@media(max-width:900px){
 .header{gap:18px}
 .hero{min-height:550px}
 .hero-copy h1{font-size:47px}
 .menu-toolbar{grid-template-columns:minmax(0,1fr);gap:18px}
 .search{max-width:300px;justify-self:end}
 .dish-photo{height:190px}
}
@media(max-width:600px){
 .header{height:80px;gap:8px}
 .brand{font-size:12px;gap:4px;letter-spacing:.06em}
 .brand small{font-size:5px;letter-spacing:.12em}
 .brand-art{width:34px;height:40px}
 .brand-art img{width:59px;left:-9px;top:-26px}
 .languages{padding:3px;gap:0;border-radius:11px}
 .languages button{padding:7px 6px;gap:4px;font-size:9px;min-height:38px}
 .languages img{width:19px;height:14px}
 .hero{min-height:510px;padding:195px 0 36px;align-items:end}
 .hero-copy{width:calc(100% - 36px)}
 .hero-copy h1{font-size:clamp(33px,8.7vw,46px);max-width:100%;margin:15px 0;line-height:1.19}
 .hero-visual{inset:0;height:100%;opacity:1}
 .hero-visual>img{object-position:64% 28%;filter:brightness(.9)}
 .hero-visual:after{background:linear-gradient(0deg,var(--bg) 0%,#101511d9 27%,#10151155 64%,#10151160 100%),linear-gradient(90deg,#10151155,transparent)}
 .hero-desc{font-size:11px;color:#d3decd;max-width:290px;line-height:1.7}
 .hero-actions{gap:22px;margin-top:20px}
 .hero-location{margin-top:16px}
 .menu-section{padding-top:23px}
 .section-head{align-items:center}
 .categories{width:100%;margin:0;padding:4px;gap:3px;border-radius:14px}
 .categories button{flex-direction:column;gap:5px;font-size:11px;padding:9px 4px;min-height:68px}
 .categories button[data-category=all]{flex-direction:row;min-height:42px;gap:8px}
 .categories i{width:23px;height:23px;flex-basis:23px}
 .search{max-width:none;width:100%}
 .dish{grid-template-columns:125px minmax(0,1fr)}
 .dish-photo{height:100%;min-height:132px}
 .dish-photo>.food-photo{width:100%;height:100%;min-height:132px}
 .dish-content{padding:13px 12px;min-height:132px}
 .dish h3{font-size:20px;overflow-wrap:anywhere}
 .dish-description{font-size:9px}
 .dish-price{padding-top:12px}
 .contact-phone{font-size:21px}
 .socials a{width:54px;height:54px}
 #viewer-media>.food-photo{height:min(52dvh,390px)}
}
@media(max-width:350px){
 .brand small{display:none}
 .brand{font-size:11px}
 .languages button{padding:7px 5px;font-size:8px}
 .languages img{width:17px;height:13px}
 .dish{grid-template-columns:108px minmax(0,1fr)}
 .dish-content{padding:11px}
 .dish h3{font-size:18px}
 .categories button{font-size:10px}
}

/* Compact language menu and a complete, rounded search field */
.brand-art{width:78px;height:74px;overflow:visible;mix-blend-mode:normal}
.brand-art img{position:static;width:100%;height:100%;max-width:100%;object-fit:contain}
.language-picker{position:relative;flex-shrink:0}
.language-picker summary{display:flex;align-items:center;gap:10px;padding:11px 14px;min-height:46px;border:1px solid #e2f0ce38;border-radius:24px;background:#142019b3;backdrop-filter:blur(18px);cursor:pointer;font-size:12px;color:#f1f7e9;list-style:none}
.language-picker summary::-webkit-details-marker{display:none}
.language-picker summary>img{width:24px;height:17px;object-fit:cover;border-radius:3px}
.language-picker summary>i{width:16px;height:16px;flex-basis:16px;transition:transform .2s}
.language-picker[open] summary>i{transform:rotate(180deg)}
.language-picker summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.language-picker .languages{position:absolute;right:0;top:calc(100% + 10px);width:200px;display:grid;gap:4px;padding:7px;background:#16231af5;border:1px solid #b9d58c35;box-shadow:0 18px 48px #0007;border-radius:18px}
.language-picker .languages button{justify-content:start;gap:11px;min-height:46px;border-radius:11px;padding:10px 12px;font-size:12px}
.language-picker .languages button>span{margin-left:auto;font-size:9px;opacity:.6}
.language-picker .languages button.active{background:#b9d58c1c;color:var(--gold)}
.language-picker .languages button:hover{background:#b9d58c2a}
.language-picker .languages img{width:24px;height:17px}
.hero{min-height:470px;padding-bottom:54px}
.menu-toolbar{grid-template-columns:minmax(0,1fr) minmax(250px,320px)}
.search{min-height:58px;padding:6px 8px 6px 7px;gap:12px;border:1px solid #b9d58c38;border-radius:18px;background:linear-gradient(120deg,#223024,#18231b);box-shadow:0 8px 24px #0002;transition:border-color .2s,box-shadow .2s;max-width:none}
.search:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px #b9d58c14}
.search-symbol{width:42px;height:42px;display:grid;place-items:center;flex-shrink:0;border-radius:13px;background:#b9d58c14;color:var(--gold);cursor:text}
.search input{height:44px;font-size:12px;outline:none;flex:1}
.search input::placeholder{color:#a8bba3;opacity:1}
.search input::-webkit-search-cancel-button{display:none}
#clear-search{width:40px;height:40px;flex-shrink:0;display:grid;place-items:center;border-radius:12px;color:var(--muted)}
#clear-search:hover{color:var(--text);background:#b9d58c14}
.categories i{width:26px;height:26px;flex-basis:26px}
.categories i svg{stroke-width:1.7}
.categories button:not([data-category=all]) i{width:32px;height:32px;flex-basis:32px}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}

/* Asymmetric photo story rather than three identical cards */
.atmosphere{padding-block:60px 75px}
.atmosphere .section-head{align-items:center;padding-left:0;margin-bottom:28px}
.atmosphere h2{font-family:var(--ui);font-size:clamp(25px,3vw,39px);font-weight:600;letter-spacing:-.04em}
.atmosphere .section-copy{max-width:380px;line-height:1.9}
.gallery{display:grid;grid-template-columns:1.35fr 1fr;grid-template-rows:215px 215px;gap:14px}
.gallery button{height:100%;border-radius:8px;isolation:isolate}
.gallery button:first-child{grid-row:span 2}
.gallery button:first-child img{object-position:center 30%}
.gallery button:nth-child(2) img{object-position:center 56%}
.gallery button:nth-child(3) img{object-position:center 46%}
.gallery button>span{left:22px;bottom:20px;font-size:12px;font-weight:600;letter-spacing:.02em}
.gallery button:before{position:absolute;z-index:1;top:18px;left:20px;color:#fff9;font-size:11px;letter-spacing:.13em}
.gallery button:nth-child(1):before{content:'01'}
.gallery button:nth-child(2):before{content:'02'}
.gallery button:nth-child(3):before{content:'03'}
.gallery button:after{inset:0;background:linear-gradient(0deg,#071109c9,transparent 45%,#07110922)}
@media(max-width:900px){.menu-toolbar{grid-template-columns:1fr}.hero{min-height:450px}.gallery{grid-template-rows:180px 180px}}
@media(max-width:600px){
 .brand-art{width:54px;height:54px}
 .brand{gap:8px;font-size:13px}
 .brand small{font-size:6px}
 .language-picker summary{padding:10px 11px;gap:7px;font-size:11px;min-height:44px}
 .language-picker summary>img{width:22px;height:16px}
 .hero{min-height:400px;padding-top:190px;padding-bottom:32px}
 .search{border-radius:16px;gap:10px;min-height:56px}
 .search input{font-size:12px}
 .search-symbol{width:39px;height:39px;border-radius:11px}
 .atmosphere{padding-block:36px 42px}
 .atmosphere .section-head{padding-left:0;margin-bottom:22px}
 .atmosphere h2{font-size:26px;line-height:1.35}
 .atmosphere .section-copy{font-size:11px;max-width:310px}
 .gallery{display:flex;gap:12px;width:calc(100% + 36px);margin-left:-18px;padding:0 18px 14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:18px;scrollbar-width:thin;scrollbar-color:#b9d58c55 transparent;overscroll-behavior-x:contain}
 .gallery button,.gallery button:first-child{flex:0 0 86%;height:330px;scroll-snap-align:start;border-radius:10px}
 .gallery button>span{left:20px;bottom:20px;font-size:12px}
 .gallery button:first-child img{object-position:center 40%}
}
@media(max-width:350px){
 .brand-art{width:45px;height:46px}
 .brand{font-size:11px;gap:5px}
 .language-picker summary{font-size:10px;padding:9px;gap:5px}
 .gallery button,.gallery button:first-child{height:285px}
}

/* Product lightbox: photo stage, distinct information panel, quiet controls */
#viewer{width:min(960px,calc(100% - 40px));padding:0;border:1px solid #b9d58c26;border-radius:24px;background:#111a14;box-shadow:0 32px 120px #0008;max-height:calc(100dvh - 32px)}
#viewer::backdrop{background:#030805df;backdrop-filter:blur(16px)}
#viewer .viewer-top{padding:16px 20px;margin:0;min-height:74px;align-items:center}
#viewer-category{font-size:11px;letter-spacing:.1em;color:var(--gold);font-weight:600}
#viewer .close{width:42px;height:42px;border-radius:50%;background:#e7f2df0b;border:1px solid #e7f2df24;color:#e7f2df;transition:background .2s,transform .2s}
#viewer .close:hover{background:#b9d58c25;transform:rotate(90deg)}
#viewer .close:focus-visible,#viewer .round:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.viewer-layout{display:grid;grid-template-columns:1.35fr 1fr}
#viewer #viewer-media{background:#080a08;border-radius:0;max-height:62dvh;min-height:0}
#viewer #viewer-media>.food-photo{height:min(52dvh,470px);width:100%}
.viewer-details{padding:36px 30px;align-self:center}
.viewer-details h2{font-family:var(--ui);font-size:30px;line-height:1.35;font-weight:600;letter-spacing:-.025em;overflow-wrap:anywhere}
.viewer-details #viewer-description{font-size:12px;line-height:1.9;color:var(--muted);margin-top:18px}
#viewer-price{font-size:27px;font-weight:600;letter-spacing:.02em;color:var(--gold);border-top:1px solid var(--line);padding-top:24px;margin-top:24px}
#viewer .viewer-bottom{padding:16px 20px;margin:0;justify-content:center;gap:22px;border-top:1px solid #b9d58c18}
#viewer .round{border-radius:50%;width:42px;height:42px;background:transparent;border-color:#b9d58c32;color:#e8f3df}
#viewer .round:hover{background:#b9d58c1c}
#viewer-count{font-size:11px;letter-spacing:.15em;font-variant-numeric:tabular-nums;color:var(--muted);min-width:74px;text-align:center}
#viewer[data-kind=gallery] .viewer-layout,#viewer[data-kind=menu] .viewer-layout{display:block}
#viewer[data-kind=gallery] .viewer-details{height:0;padding:0;overflow:hidden}
#viewer[data-kind=menu] .viewer-details{padding:15px 24px}
#viewer[data-kind=menu] .viewer-details h2{font-size:20px}
#viewer[data-kind=menu] #viewer-description{margin-top:6px;font-size:10px}
#viewer:not([data-kind=dish]) #viewer-price{display:none}
#viewer .zoom-photo img{max-height:60dvh}
#viewer .zoom-photo.zoomed img{max-height:none}
#viewer[data-kind=gallery]{width:fit-content;min-width:min(340px,calc(100% - 24px));max-width:min(960px,calc(100% - 32px));background:linear-gradient(145deg,#18231c,#0e1511);border-radius:26px}
#viewer[data-kind=gallery] .viewer-top{min-height:64px;padding:10px 16px}
#viewer[data-kind=gallery] #viewer-media{margin:0 18px;max-height:64dvh;background:transparent;border-radius:18px}
#viewer[data-kind=gallery] .zoom-photo{border-radius:18px;overflow:hidden;max-width:100%}
#viewer[data-kind=gallery] .zoom-photo img{border-radius:18px;max-height:62dvh}
#viewer[data-kind=gallery] .zoom-photo.zoomed img{max-height:none;border-radius:0}
#viewer[data-kind=gallery] .zoom-photo:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}
#viewer[data-kind=gallery] .viewer-bottom{border:0;padding:14px 20px}
@media(max-width:650px){
 #viewer{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:22px}
 #viewer .viewer-top{padding:12px 16px;min-height:64px}
 .viewer-layout{display:block}
 #viewer #viewer-media>.food-photo{height:min(40dvh,355px)}
 .viewer-details{padding:21px 22px 23px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;align-items:start}
 .viewer-details h2{font-size:23px;grid-column:1/-1}
 .viewer-details #viewer-description{margin:0;font-size:11px;line-height:1.8}
 #viewer-price{margin:0;padding:0;border:0;font-size:20px;white-space:nowrap}
 #viewer .viewer-bottom{padding:12px 16px;gap:25px}
 #viewer[data-kind=menu] .viewer-details{display:block}
 #viewer[data-kind=gallery] .viewer-details{display:block}
}
