/* A quiet restaurant header and rounded outline controls that match each surface. */
:root{--header-height:100px}
html{scroll-padding-top:calc(var(--header-height) + 20px)}
.header{position:absolute;inset:0 0 auto;width:100%;display:flex;align-items:center;gap:26px;padding:18px 3.8vw;color:var(--ink);background:var(--cream);border-bottom:1px solid #c8bfb0;mix-blend-mode:normal;z-index:10}
.header .brand{mix-blend-mode:normal;flex:0 1 230px;width:230px;min-width:150px;max-width:230px}
.header .brand img{filter:invert(1);mix-blend-mode:multiply;width:100%;height:auto}
.header .desktop-nav{display:flex;flex:1;justify-content:center;align-items:center;gap:26px;border:0;padding:0;background:none;backdrop-filter:none;font-family:var(--serif);font-size:20px;line-height:1.2}
.header .desktop-nav>a,.header .desktop-nav>button{min-height:44px;padding:7px 0;white-space:nowrap;color:var(--ink)}
.header .desktop-nav .header-menu-link{color:#9b402d}.header .desktop-nav .header-contacts-link{display:inline-flex}
.header .header-book{font-size:18px;min-width:188px;min-height:56px;padding:12px 25px;flex:none}
.header .header-cart-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:124px;min-height:56px;font-size:20px;padding:12px 22px;flex:none}
.header .header-cart-count{position:static;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--ink);color:var(--cream);width:auto;min-width:19px;height:19px;padding:0 4px;font:11px/1 var(--ui)}
.header .nav-toggle{display:none}
.hero-title{top:calc(var(--header-height) + 25px)}
/* Shared button styling is maintained in controls.css. */
.dish-dialog-figure{position:relative;overflow:hidden}
.dish-dialog-figure.image-loading{background:linear-gradient(110deg,#ece3d5,#f6f0e7,#ece3d5)}
.dish-dialog-figure.image-loading:after{content:'Загружаем фотографию…';position:absolute;top:18px;left:18px;right:18px;font:13px/1.4 var(--ui);color:#706555;pointer-events:none}
.dish-image-status{min-height:190px;padding:46px 22px;display:flex;flex-direction:column;justify-content:center;gap:18px;background:#e9e0d2;font:16px/1.5 var(--ui)}
.dish-image-status .text-link{align-self:flex-start;font-size:20px}
.dish-dialog-figure img{display:block}
@media(min-width:1800px){.hero-title{top:145px}}
@media(max-width:1150px) and (min-width:1001px){.header{gap:18px}.header .brand{width:190px;max-width:190px}.header .desktop-nav{gap:18px;font-size:19px}.header .header-book{display:none}}
@media(max-width:1000px){
 :root{--header-height:142px}
 .header{display:grid;grid-template-columns:minmax(0,1fr) auto 44px;gap:10px 16px;padding:18px 28px 0}
 .header .brand{grid-row:1;grid-column:1;width:220px;max-width:100%;min-width:0;justify-self:start}
 .header .header-cart-button{grid-row:1;grid-column:2;min-width:116px;min-height:52px;font-size:20px}
 .header .header-book{display:none}
 .header .nav-toggle{display:flex;grid-row:1;grid-column:3;width:44px;height:44px;padding:8px;flex-direction:column;justify-content:center;gap:7px}
 .header .nav-toggle span{display:block;background:var(--ink);height:1px;width:28px}
 .header .desktop-nav{grid-row:2;grid-column:1/-1;display:flex;justify-content:space-between;gap:16px;flex:none;border-top:1px solid #c8bfb0;min-height:52px;font-size:22px}
 .header .desktop-nav .header-contacts-link{display:inline-flex}
 .hero-title{top:calc(var(--header-height) + 34px)}
}
@media(max-width:640px){
 :root{--header-height:128px}
 .header{padding:calc(12px + env(safe-area-inset-top)) 20px 0;gap:8px 10px;grid-template-columns:minmax(0,1fr) auto 36px}
 .header .brand{width:178px;max-width:100%}
 .header .header-cart-button{min-width:96px;min-height:48px;padding:10px 17px;font-size:18px}
 .header .nav-toggle{width:36px;height:44px;padding:6px}
 .header .nav-toggle span{width:24px}
 .header .desktop-nav{display:flex;gap:12px;font-size:19px;min-height:48px;padding:0;letter-spacing:0}
 .hero-title{top:calc(var(--header-height) + 32px + env(safe-area-inset-top))}
 .hero-subbrand{top:380px}.hero-note{top:300px}
 .hero-bottom .oval{min-width:258px;min-height:62px;font-size:22px;padding:14px 34px}
 .about-aside .oval{min-height:58px;padding:13px 23px}
 .menu-teaser-content>.oval{min-height:62px;padding:14px 35px}
 .navigation-dialog nav{margin-top:48px;margin-bottom:32px}
}
@media(max-width:360px){
 .header{padding-inline:16px;gap:8px}.header .header-cart-button{min-width:88px;padding-inline:13px}.header .desktop-nav{font-size:18px;gap:8px}
 .hero-bottom .oval{min-width:244px;padding-inline:29px;font-size:21px}
 .hero-subbrand{top:350px}.hero-note{top:273px}
}
.hero-picture{position:absolute;inset:0;display:block;overflow:hidden}
.hero-picture .hero-photo{width:100%;height:100%;object-fit:cover}
@media(max-width:640px){.hero-picture .hero-photo{object-position:center}}
