:root{--bg:#faf6ef;--card:#fffdf8;--ink:#2a1d17;--muted:#7a675b;--accent:#b8322a;--accent2:#8e2620;--basil:#3f6b3a;--line:#ecdfcf;--soft:#f5e8d8;--ok:#3f7d4e;--r:16px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.15;margin:0 0 .5em}
a{color:var(--accent2)}
img{max-width:100%;display:block}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}
header{position:sticky;top:0;z-index:10;background:rgba(250,246,239,.93);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:66px;gap:16px}
.logo{display:flex;flex-direction:column;line-height:1;color:var(--ink);text-decoration:none}
.logo b{font:700 24px Georgia,serif;letter-spacing:.14em;text-transform:uppercase}
.logo small{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-top:3px}
nav{display:flex;align-items:center;gap:22px}
nav a{text-decoration:none;color:var(--ink);font-weight:500}
nav a.active,nav a:hover{color:var(--accent)}
nav a.nav-cta{background:var(--accent);color:#fff;padding:8px 16px;border-radius:999px}
nav a.nav-cta:hover{background:var(--accent2);color:#fff}
.btn{display:inline-block;border:0;border-radius:999px;background:var(--accent);color:#fff;padding:12px 24px;font:600 16px system-ui,sans-serif;text-decoration:none;cursor:pointer;transition:background .2s;text-align:center}
.btn:hover{background:var(--accent2)}
.btn.ghost{background:transparent;color:var(--accent2);border:2px solid var(--accent)}
.btn.light{background:#fff;color:var(--accent2)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
section{padding:56px 0}
.eyebrow{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:700;margin:0 0 10px}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;flex-wrap:wrap}
.sec-head h2{font-size:clamp(28px,4vw,40px);margin:0}
.sec-head p{margin:6px 0 0;color:var(--muted);max-width:560px}
/* hero */
.hero{position:relative;min-height:560px;display:flex;align-items:center;color:#fff;background:#2a1d17 center/cover no-repeat;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,14,10,.86) 0%,rgba(25,14,10,.62) 45%,rgba(25,14,10,.15) 100%);z-index:-1}
.hero .wrap{width:100%}
.hero-text{max-width:600px;padding:60px 0}
.hero .eyebrow{color:#ffc9a8}
.hero h1{font-size:clamp(40px,6.5vw,70px);margin-bottom:16px}
.hero h1 em{font-style:italic;color:#ffb38a}
.hero p{font-size:19px;color:#f3e6dc;max-width:520px;margin:0}
.hero .btn.ghost{color:#fff;border-color:#fff}
.hero-facts{display:flex;gap:28px;margin-top:34px;flex-wrap:wrap}
.hero-facts div{font-size:14px;color:#e9d9cd}
.hero-facts b{display:block;font:700 26px Georgia,serif;color:#fff}
/* pizza showcase */
.pizza-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.pcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.pcard:hover{transform:translateY(-3px);box-shadow:0 18px 40px -22px rgba(80,30,20,.45)}
.pcard .ph{aspect-ratio:4/3;background:var(--soft) center/cover no-repeat;display:grid;place-items:center;font-size:64px}
.pcard .body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.pcard h3{font-size:21px;margin:0 0 4px}
.pcard p{margin:0 0 12px;color:var(--muted);font-size:14px;line-height:1.45;flex:1}
.pcard .row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.price{font-weight:700;color:var(--accent2)}
.price small{font-weight:500;color:var(--muted);font-size:13px}
.band{background:var(--accent);color:#fff}
.band .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-top:28px;padding-bottom:28px}
.band b{display:block;font:700 22px Georgia,serif}
.band span{font-size:14px;color:#ffe2d6}
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.split img{border-radius:var(--r);aspect-ratio:4/3;object-fit:cover;width:100%}
.split p{color:var(--muted);font-size:17px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:220px;gap:10px}
.gallery div{border-radius:12px;background:var(--soft) center/cover no-repeat}
.gallery div:first-child{grid-row:span 2}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px}
.card .ico{font-size:32px}
.info{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.info table{border-collapse:collapse;width:100%}
.info td{padding:6px 0;border-bottom:1px dashed var(--line)}
.info td:last-child{text-align:right}
.rating{display:inline-flex;align-items:center;gap:8px;background:var(--soft);border-radius:999px;padding:6px 14px;font-weight:600}
.center{text-align:center;margin-top:28px}
.hidden{display:none!important}
footer{border-top:1px solid var(--line);padding:30px 0;color:var(--muted);font-size:14px;margin-top:40px}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
/* menu */
.menu-layout{display:grid;grid-template-columns:1fr 350px;gap:30px;align-items:start;padding-top:32px;padding-bottom:40px}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.tabs button{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:8px 16px;font:500 15px system-ui,sans-serif;cursor:pointer;color:var(--ink)}
.tabs button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.tabs button.pz{border-color:var(--accent);color:var(--accent2);font-weight:700}
.tabs button.pz.on{background:var(--accent);color:#fff}
.cat{margin-bottom:34px;scroll-margin-top:84px}
.cat h2{display:flex;align-items:center;gap:10px}
.cat-pizza{background:linear-gradient(180deg,#fff1e6,transparent);border:1px solid #f1d2bf;border-radius:20px;padding:20px}
.cat-pizza .lead{color:var(--muted);margin:-6px 0 16px}
.items{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.cat-pizza .items{grid-template-columns:repeat(2,1fr)}
.item{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.item .ph{aspect-ratio:16/10;background:var(--soft) center/cover no-repeat;display:grid;place-items:center;font-size:52px}
.item .t{padding:12px 14px 14px;display:flex;flex-direction:column;flex:1}
.item h3{font:600 17px system-ui,sans-serif;margin:0}
.item p{margin:3px 0 10px;color:var(--muted);font-size:13.5px;line-height:1.4;flex:1}
.item .row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.sizes{display:inline-flex;background:var(--soft);border-radius:999px;padding:3px;margin-bottom:10px;align-self:flex-start}
.sizes button{border:0;background:transparent;border-radius:999px;padding:4px 12px;font:600 13px system-ui,sans-serif;color:var(--muted);cursor:pointer}
.sizes button.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.add{border:0;background:var(--accent);color:#fff;height:36px;padding:0 16px;border-radius:999px;font:600 14px system-ui,sans-serif;cursor:pointer;flex:none}
.add:hover{background:var(--accent2)}
.cart{position:sticky;top:84px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.cart-row{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:15px}
.cart-row .n{flex:1}
.qty{display:flex;align-items:center;gap:6px}
.qty button{width:26px;height:26px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer}
.total{display:flex;justify-content:space-between;font-weight:700;font-size:18px;margin:14px 0}
.empty{color:var(--muted);font-size:15px}
form label{display:block;font-size:14px;color:var(--muted);margin:10px 0 4px}
input,textarea,select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:15px system-ui,sans-serif;background:#fff;color:var(--ink)}
textarea{resize:vertical;min-height:60px}
.pay{display:grid;gap:8px}
.opt{display:flex!important;align-items:center;gap:8px;margin:0!important;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)!important;font-size:15px!important;cursor:pointer}
.opt input{width:auto}
.opt small{color:var(--muted);margin-left:auto;font-size:12px;text-align:right}
.status-steps{display:flex;gap:6px;margin:20px 0;flex-wrap:wrap}
.status-steps span{flex:1;min-width:90px;text-align:center;padding:8px;border-radius:10px;background:var(--soft);color:var(--muted);font-size:14px}
.status-steps span.on{background:var(--accent);color:#fff}
.err{color:#b3261e;font-size:14px;min-height:20px;margin-top:6px}
.done{text-align:center;padding:20px 0}
.done .big{font-size:48px}
.cart-fab{display:none}
/* admin */
.orders{display:grid;gap:14px}
.order{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;display:grid;grid-template-columns:1fr auto;gap:10px}
.order.s-new{border-left:5px solid var(--accent)}
.order.s-cooking{border-left:5px solid #d79a2b}
.order.s-ready{border-left:5px solid var(--ok)}
.order.s-done,.order.s-cancelled{opacity:.6}
.order ul{margin:6px 0;padding-left:18px}
.meta{color:var(--muted);font-size:14px}
.badge{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--soft);font-size:13px;font-weight:600}
.acts{margin-top:8px}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:20px 0}
.toolbar select{width:auto}
.admin-tabs{margin-top:24px}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
.mtable{border-collapse:collapse;width:100%;min-width:1100px;font-size:14px}
.mtable th{text-align:left;padding:10px 8px;background:var(--soft);font-weight:600;white-space:nowrap}
.mtable td{padding:4px 6px;border-top:1px solid var(--line);vertical-align:middle}
.mtable td.c{text-align:center}
.mtable input[type=text],.mtable input[type=number]{padding:6px 8px;font-size:14px;border-radius:8px}
.mtable .w-cat{width:120px}.mtable .w-price{width:84px}.mtable .w-icon{width:50px;text-align:center}.mtable .w-photo{width:150px}
.mtable .thumb{width:46px;height:36px;border-radius:6px;background:var(--soft) center/cover no-repeat;display:inline-block;vertical-align:middle;margin-right:4px}
.mtable td.ph{white-space:nowrap}
.mtable tr.off td{opacity:.55}
.mtable tr.dirty td:first-child{box-shadow:inset 3px 0 var(--accent)}
.mtable td.ord{white-space:nowrap}
.mbtn{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:30px;height:30px;cursor:pointer;color:var(--ink)}
.mbtn:hover{background:var(--soft)}
#m-preview{margin-bottom:16px}
#m-preview ul,#m-err ul{margin:6px 0 12px;padding-left:18px}
label.btn{display:inline-block}
/* analytics */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.kpi span{font-size:13px;color:var(--muted)}
.kpi b{display:block;font:700 28px Georgia,serif;margin-top:4px}
.charts{display:grid;grid-template-columns:3fr 2fr;gap:14px}
.chart{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;position:relative}
.chart h3{font:600 16px system-ui,sans-serif;margin:0 0 2px}
.chart .sub{font-size:13px;color:var(--muted);margin:0 0 12px}
.bars svg{width:100%;height:220px;display:block;overflow:visible}
.bars .bar{fill:var(--accent)}
.bars rect.hit{fill:transparent;cursor:default}
.bars .grid{stroke:var(--line);stroke-width:1}
.bars text{font:11px system-ui,sans-serif;fill:var(--muted)}
.tip{position:absolute;pointer-events:none;background:var(--ink);color:#fff;font-size:13px;padding:6px 10px;border-radius:8px;white-space:nowrap;transform:translate(-50%,-110%);z-index:5}
.top-list{display:grid;gap:8px}
.top-row{display:grid;grid-template-columns:1fr auto;gap:2px 10px;font-size:14px}
.top-row .bar-bg{grid-column:1/-1;height:6px;background:var(--soft);border-radius:4px;overflow:hidden}
.top-row .bar-bg i{display:block;height:100%;background:var(--accent);border-radius:4px}
.stats-table{width:100%;border-collapse:collapse;font-size:14px;margin-top:8px}
.stats-table td,.stats-table th{padding:6px 4px;border-bottom:1px solid var(--line);text-align:left}
.stats-table td:last-child,.stats-table th:last-child{text-align:right}
@media (max-width:900px){
 .info,.menu-layout,.split,.charts{grid-template-columns:1fr}
 .pizza-grid,.grid3{grid-template-columns:1fr 1fr}
 .band .wrap,.kpis{grid-template-columns:1fr 1fr}
 .cart{position:static}
}
@media (max-width:620px){
 .wrap{padding:0 16px}
 nav{gap:12px}
 nav a{font-size:14px}
 nav a.hide-sm{display:none}
 .logo b{font-size:20px}
 .hero{min-height:520px}
 .hero::before{background:linear-gradient(180deg,rgba(25,14,10,.55),rgba(25,14,10,.85))}
 .pizza-grid,.grid3,.items,.cat-pizza .items{grid-template-columns:1fr}
 .gallery{grid-template-columns:1fr 1fr;grid-auto-rows:150px}
 .cat-pizza{padding:14px}
 .cart-fab{display:block;position:fixed;left:16px;right:92px;bottom:16px;z-index:20;text-align:center;box-shadow:0 10px 25px rgba(0,0,0,.25)}
}
.charts2{margin-top:14px}
section.wrap{padding-top:56px;padding-bottom:56px}
.charts{align-items:start}
/* reviews */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}
.review{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px}
.review p{margin:8px 0 6px;font-size:15px;line-height:1.5}
.rv-head{display:flex;gap:12px;align-items:center}
.rv-head b{display:block;font-size:15px}
.rv-av{width:38px;height:38px;border-radius:50%;background:var(--soft);color:var(--accent2);display:grid;place-items:center;font-weight:700;flex:none}
.stars{color:#e0a100;letter-spacing:2px;margin-top:10px}
#reviews .center{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
@media (max-width:900px){.reviews{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.reviews{grid-template-columns:1fr}}
/* бронирования в админке */
.order.s-confirmed{border-left:5px solid var(--ok)}
.order.s-noshow{opacity:.6}
.order .meta a{color:inherit}
.meta.small{font-size:13px}
.booking-form{margin-bottom:20px}
.booking-form h3{margin-bottom:14px}
.booking-form label{display:block;font-size:14px;color:var(--muted);margin-bottom:10px}
.booking-form label input,.booking-form label select{margin-top:4px}
.grid-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0 14px}
/* страница политики */
.legal{max-width:820px;padding-top:30px}
.legal h2{font-size:22px;margin-top:32px}
.legal p,.legal li{line-height:1.6}
.legal-table{border-collapse:collapse;width:100%;margin:10px 0}
.legal-table td{border-bottom:1px solid var(--line);padding:8px 10px 8px 0;vertical-align:top}
.legal-table td:first-child{color:var(--muted);width:38%}
/* расход токенов чат-бота */
.ai-table-box{margin-top:14px}
.ai-table-box td,.ai-table-box th{text-align:right}
.ai-table-box td:first-child,.ai-table-box th:first-child{text-align:left}
.price-label{display:flex;align-items:center;gap:8px}
.price-label input{width:110px}
/* доставка */
.pay.how{margin-bottom:6px}
.order .meta.delivery{color:var(--ink);font-weight:600}
.ai-dialogs td.preview{text-align:left;max-width:380px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}
.ai-dialogs th:nth-child(2){text-align:left}
.ai-dialogs td.cost{font-weight:600}
#a-kpis{grid-template-columns:repeat(5,1fr)}
@media (max-width:760px){#a-kpis{grid-template-columns:repeat(2,1fr)}}
.ai-models td:first-child{text-align:left}
.ai-models input{width:110px;padding:6px 8px}
