/* BETTERY v2 · раздел «Ресторан» (лендинг, меню, блюдо, о нас, контакты).
   Дополняет assets/site.css — те же токены, без переопределения общих компонентов. */

/* ---------- шапка страницы без фото ---------- */
.phead{padding:clamp(46px,6vw,86px) 0 clamp(30px,4vw,48px)}
.phead .h1{font-size:clamp(40px,6.4vw,88px);color:var(--head)}
.phead .lede{max-width:34ch;margin-top:20px}
.phead .txt{margin-top:16px}
.crumbs--d{color:var(--mutedL)}
.crumbs--d a:hover{color:var(--gold-l)}
.hero .h1--s{font-size:clamp(34px,5.4vw,72px);max-width:18ch}

/* ---------- лента категорий (лендинг) ---------- */
.cats{display:flex;gap:clamp(12px,1.6vw,20px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.cats::-webkit-scrollbar{display:none}
.cat{flex:0 0 clamp(200px,21vw,260px);aspect-ratio:3/4;position:relative;overflow:hidden;scroll-snap-align:start;background:var(--g2);isolation:isolate}
.cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1s var(--ease)}
.cat::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(48,60,34,0) 40%,rgba(48,60,34,.82) 100%)}
.cat:hover img{transform:scale(1.06)}
.cat__t{position:absolute;left:18px;right:18px;bottom:18px;color:#fff}
.cat__t b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(19px,1.7vw,23px);text-transform:uppercase;letter-spacing:.04em;line-height:1.1}
.cat__t small{display:block;margin-top:6px;font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-l)}
.cats__nav{display:flex;gap:8px}
.cats__nav button{width:46px;height:46px;border:1px solid var(--lineL);border-radius:50%;display:grid;place-items:center;color:var(--gold-l);transition:.25s}
.cats__nav button:hover{border-color:var(--gold);background:var(--gold);color:#fff}
.barline{margin-top:clamp(26px,3vw,38px);padding-top:22px;border-top:1px solid var(--lineL);display:flex;gap:10px 22px;flex-wrap:wrap;align-items:baseline}
.barline .kicker{margin-right:6px}
.barline a{font-size:13.5px;color:var(--mutedL);border-bottom:1px solid transparent;transition:.25s}
.barline a:hover{color:var(--gold-l);border-color:var(--gold)}

/* большая цитата */
.bigq{text-align:center}
.bigq .h2{max-width:18ch;margin:0 auto}
.bigq .sign{margin-top:18px;font-size:40px}

/* ---------- карточка блюда (меню, похожие, лендинг) ---------- */
.dc .card__ph{display:block}
.dc .card__b .h3{font-size:clamp(20px,1.7vw,23px);line-height:1.15}
.dc .card__b .h3 a:hover{color:var(--gold-d)}
.dc .card__b p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.dc .card__f{flex-direction:column;align-items:flex-start;gap:12px}
.dc .ulink{background:none;cursor:pointer}
.noph{width:100%;height:100%;display:grid;place-items:center;background:var(--cream2)}
.noph img{width:38%!important;height:auto!important;opacity:.35;filter:none}

/* ---------- меню ---------- */
.msearch{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px;max-width:760px}
.msearch label{flex:1;min-width:220px;position:relative}
.msearch svg{position:absolute;left:0;top:50%;transform:translateY(-50%);color:var(--gold)}
.msearch input,.msearch select{width:100%;background:transparent;border:0;border-bottom:1px solid var(--lineL);color:var(--head);
  font:inherit;font-size:15px;padding:12px 4px 12px 28px;outline:none;border-radius:0;transition:border-color .25s}
.msearch input::placeholder{color:rgba(236,226,207,.45)}
.msearch input:focus,.msearch select:focus{border-color:var(--gold)}
.msearch select{width:auto;padding-left:4px;padding-right:22px;cursor:pointer;font-size:13px;letter-spacing:.06em;
  -webkit-appearance:none;appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none' stroke='%23c9a27a' stroke-width='1.4'%3E%3Cpath d='m1 1 4 4 4-4'/%3E%3C/svg%3E") no-repeat right 4px center}
.msearch select option{color:var(--tx);background:var(--paper)}
.tabs{position:sticky;top:calc(82px + var(--sat));z-index:20;background:var(--g1);border-bottom:1px solid var(--lineL)}
.tabs__in{display:flex;gap:clamp(18px,2.4vw,34px);overflow-x:auto;scrollbar-width:none}
.tabs__in::-webkit-scrollbar{display:none}
.tab{flex:none;position:relative;padding:18px 0 16px;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--mutedL);white-space:nowrap;transition:color .25s}
.tab sup{font-size:9px;color:var(--gold);margin-left:3px;letter-spacing:.06em}
.tab::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .35s var(--ease)}
.tab:hover{color:var(--head)}
.tab.on{color:var(--head)}.tab.on::after{transform:scaleX(1)}
.mcount{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mutedL);margin:clamp(26px,3vw,36px) 0 0}
.cblock{margin-top:clamp(44px,5vw,72px);scroll-margin-top:150px}
.cblock:first-child{margin-top:clamp(26px,3vw,36px)}
.cblock__hd{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.cblock__hd span{font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-l);white-space:nowrap}
.cblock .rule{margin:16px 0 clamp(20px,2.4vw,30px)}
/* строки как в печатном меню */
.drinks{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(30px,5vw,80px)}
.cards + .drinks{margin-top:clamp(26px,3vw,40px)}
.drow{display:flex;align-items:baseline;gap:10px;padding:14px 0;border-bottom:1px solid var(--lineL)}
.drow__n{font-family:var(--display);font-size:18px;letter-spacing:.02em;color:var(--head);line-height:1.25}
.drow__d{flex:1;min-width:16px;border-bottom:1px dotted rgba(124,145,97,.45);transform:translateY(-4px)}
.drow__p{font-family:var(--display);font-size:17px;color:var(--gold-l);white-space:nowrap}
.drow__b{flex:none;font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid currentColor;padding-bottom:1px;margin-left:6px;transition:color .25s}
.drow__b:hover{color:#fff}
.mempty{text-align:center;padding:70px 20px}
.mempty p{color:var(--mutedL);margin-bottom:20px}
.totop{position:fixed;right:16px;bottom:calc(18px + var(--sab));z-index:25;width:48px;height:48px;border-radius:50%;background:var(--gold);color:#fff;
  display:grid;place-items:center;box-shadow:0 10px 26px rgba(0,0,0,.35);opacity:0;visibility:hidden;transform:translateY(10px);transition:.3s var(--ease)}
.totop.on{opacity:1;visibility:visible;transform:none}

/* ---------- страница блюда ---------- */
.dish{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:start;padding:clamp(36px,5vw,70px) 0 clamp(60px,7vw,100px)}
.dish__ph{position:sticky;top:calc(110px + var(--sat));background:var(--cream);padding:clamp(10px,1.2vw,16px)}
.dish__ph img{width:100%;max-height:78vh;object-fit:cover;aspect-ratio:4/5}
.dish__ph .noph{aspect-ratio:4/5}
.dish .h1{font-size:clamp(36px,4.6vw,64px);color:var(--head);margin-top:14px;text-transform:uppercase}
.dish__meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.chip{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border:1px solid var(--lineL);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-l)}
.dish__blk{margin-top:30px;padding-top:22px;border-top:1px solid var(--lineL)}
.dish__blk p{margin-top:10px;font-size:15.5px;color:var(--mutedL);max-width:52ch}
.dish__price{font-family:var(--display);font-size:clamp(32px,3.4vw,44px);color:var(--head);letter-spacing:.02em}
.dish__act{display:grid;gap:10px;margin-top:22px;max-width:460px}
.dish__act .btn-gold{min-height:54px;font-size:11.5px}
.dish__act .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dish__note{font-size:12.5px;color:var(--mutedL);margin-top:14px;max-width:46ch}
.mbar{display:none}

/* ---------- о нас ---------- */
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(10px,1.4vw,18px)}
.gal div{aspect-ratio:3/4;overflow:hidden;background:var(--cream2)}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.gal div:hover img{transform:scale(1.05)}
.para + .para{margin-top:16px}

/* ---------- контакты ---------- */
.cgrid{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(18px,2.4vw,30px);align-items:stretch}
.cbox{background:var(--cream);color:var(--tx);padding:clamp(24px,3vw,40px);display:flex;flex-direction:column}
.crow{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);align-items:baseline}
.crow:first-of-type{padding-top:4px}
.crow .k{font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-d)}
.crow .v{font-family:var(--display);font-size:20px;color:var(--g1);line-height:1.25;letter-spacing:.01em}
.crow small{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.crow a.v:hover{color:var(--gold-d)}
.cbox__btns{display:grid;gap:10px;margin-top:auto;padding-top:26px}
.cbox .btn-line{color:var(--gold-d)}
.map{position:relative;min-height:440px;height:100%;background:var(--g2);border:1px solid var(--lineL)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.35) sepia(.12)}
.map .btn-gold{position:absolute;left:16px;top:16px;box-shadow:0 10px 26px rgba(0,0,0,.3)}
.how{margin-top:clamp(18px,2.4vw,30px);display:grid;grid-template-columns:auto 1fr;gap:10px clamp(20px,4vw,60px);align-items:baseline;padding-top:22px;border-top:1px solid var(--lineL)}
.how p{font-size:14.5px;color:var(--mutedL);max-width:70ch}
.how b{color:var(--head);font-weight:600}

/* ---------- адаптив ---------- */
@media (max-width:980px){
  .tabs{top:calc(70px + var(--sat))}
  .cblock{scroll-margin-top:136px}
  .dish{grid-template-columns:1fr}
  .dish__ph{position:relative;top:0;max-width:560px}
  .gal{grid-template-columns:1fr 1fr}
  .cgrid{grid-template-columns:1fr}
  .map{min-height:360px}
  .how{grid-template-columns:1fr}
}
@media (max-width:760px){
  .drinks{grid-template-columns:1fr}
}
@media (max-width:640px){
  .cats__nav{display:none}
  .cat{flex-basis:62vw}
  .drow__n{font-size:16.5px}
  .crow{grid-template-columns:1fr;gap:4px}
  .dish{padding-bottom:40px}
  .dish__act .row{grid-template-columns:1fr}
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:25;gap:12px;align-items:center;justify-content:space-between;
    padding:12px 16px calc(12px + var(--sab));background:rgba(11,32,21,.96);backdrop-filter:blur(8px);border-top:1px solid var(--lineL);
    transform:translateY(100%);transition:transform .35s var(--ease)}
  .mbar.on{transform:none}
  .mbar b{font-family:var(--display);font-weight:400;font-size:21px;color:var(--head);white-space:nowrap}
  .has-mbar .totop{bottom:calc(84px + var(--sab))}
  .has-mbar .ft{padding-bottom:70px}
}
.crow[hidden]{display:none}
.dc .card__f{margin-top:auto}
.dc .card__b>:nth-last-child(2){margin-bottom:20px}
.tabs__in{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 40px),transparent);padding-right:40px}
/* миниатюры фото на странице блюда */
.dish__thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.dish__thumbs button{width:64px;height:64px;padding:0;border:1px solid transparent;overflow:hidden;opacity:.75;transition:.2s}
.dish__thumbs button.on,.dish__thumbs button:hover{border-color:var(--gold);opacity:1}
.dish__thumbs img{width:100%;height:100%;object-fit:cover}
/* фото блюд в карточках — квадрат: превью уже обрезаны вокруг тарелки/бокала (img/menu/*-card.webp) */
.dc .card__ph,.light .card__ph{aspect-ratio:1/1}
/* ---------- КБЖУ на странице блюда ---------- */
.nutri{margin-top:24px;border:1px solid var(--lineL);background:linear-gradient(160deg,rgba(124,145,97,.08),rgba(255,255,255,0) 60%);padding:22px 24px;display:grid;grid-template-columns:auto 1fr;gap:18px 34px;align-items:center}
.nutri--k{grid-template-columns:1fr}
.nutri__k{display:flex;flex-direction:column;padding-right:30px;border-right:1px solid var(--lineL)}
.nutri--k .nutri__k{border:0}
.nutri__k b{font-family:var(--display);font-weight:400;font-size:clamp(48px,5vw,64px);line-height:.9;color:var(--head)}
.nutri__k span{margin-top:8px;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.nutri__m{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.nutri__i{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:baseline}
.nutri__i i{width:8px;height:8px;border-radius:50%;grid-row:1}
.nutri__i b{font-family:var(--display);font-weight:400;font-size:30px;line-height:1;color:var(--head)}
.nutri__i b small{font-family:var(--sans);font-size:12px;margin-left:3px;color:var(--mutedL)}
.nutri__i span{grid-column:1/-1;margin-top:6px;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mutedL)}
.nutri__i em{grid-column:1/-1;font-style:normal;font-size:12px;color:var(--gold-l)}
.nutri__i--p i,i.nutri__i--p{background:#d9b48a}
.nutri__i--f i,i.nutri__i--f{background:#ffffff}
.nutri__i--c i,i.nutri__i--c{background:#7fa58a}
.nutri__bar{grid-column:1/-1;display:flex;height:6px;gap:3px}
.nutri__bar i{display:block;height:100%;border-radius:3px}
.nutri__note{grid-column:1/-1;font-size:11.5px;color:var(--mutedL);margin:0}
@media (max-width:560px){
  .nutri{grid-template-columns:1fr;padding:18px}
  .nutri__k{border-right:0;border-bottom:1px solid var(--lineL);padding:0 0 16px;flex-direction:row;align-items:baseline;gap:12px}
  .nutri__i b{font-size:26px}
}
