/* Котлетка — гаммы А «Борщ и сметана» (по умолчанию) и Б «Котлетка с пюрешкой» */
:root, html[data-palette="a"]{
  --paper:#F7EFE2; --ink:#45301F; --accent:#C7442E; --accent-ink:#FFF6EC;
  --pad:#EADCC4; --soft:#FDF8EF; --line:#E2D3BC; --muted:#8A755F; --danger:#A02515;
}
html[data-palette="b"]{
  --paper:#F5D77E; --ink:#54351B; --accent:#2F6B37; --accent-ink:#F4FBEF;
  --pad:#FBE9AE; --soft:#FDF3D2; --line:#E4C878; --muted:#8A6B3A; --danger:#A02515;
}
*{box-sizing:border-box;}
body{margin:0; background:var(--paper); color:var(--ink); line-height:1.5;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;}
.wrap{max-width:560px; margin:0 auto; padding:0 16px 40px; min-height:100vh; display:flex; flex-direction:column;}
main{flex:1;}
a{color:inherit;}

header.app{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 0 10px;}
.logo{display:flex; align-items:center; gap:10px; text-decoration:none;}
.logo svg{width:36px; height:32px; flex:none;}
.brand b{display:block; font-size:16px; letter-spacing:.2em; font-weight:800;}
.brand i{display:block; font-style:normal; font-size:9px; letter-spacing:.05em; color:var(--accent); font-weight:700;}
header.app nav{display:flex; gap:14px; font-size:13px;}

.tabs{display:flex; border:1.5px solid var(--ink); border-radius:12px; overflow:hidden; margin:6px 0 10px;}
.tabs a{flex:1; text-align:center; padding:10px 6px; text-decoration:none; font-weight:700; font-size:14.5px;}
.tabs a.on{background:var(--ink); color:var(--paper);}

.districtbar{margin:0 0 12px;}
.districtbar select, .pubform input[type=text], .pubform input[type=number], .pubform select, .pubform textarea, .report input[type=text]{
  width:100%; font-size:16px; padding:11px 12px; border-radius:11px; border:1.5px solid var(--line);
  background:var(--soft); color:var(--ink); font-family:inherit;}
.pubform textarea{min-height:70px; resize:vertical;}

.card{background:var(--soft); border:1.5px solid var(--line); border-radius:14px; padding:12px; display:flex; gap:12px;
  text-decoration:none; margin-bottom:10px;}
.card.static{cursor:default;}
.card .ph{width:64px; height:64px; border-radius:12px; background:var(--pad); display:grid; place-items:center;
  font-size:30px; flex:none; overflow:hidden;}
.card .ph img{width:100%; height:100%; object-fit:cover;}
.cbody{flex:1; min-width:0; display:flex; flex-direction:column; gap:2px;}
.row1{display:flex; justify-content:space-between; gap:10px; align-items:baseline;}
.row1 h3, .row1 h1{margin:0; font-size:15.5px;}
h1{font-size:22px; margin:6px 0 10px;}
.price{color:var(--accent); font-weight:800; white-space:nowrap;}
.price.big{font-size:20px;}
.sub{font-size:12.5px; color:var(--muted);}

.empty{text-align:center; padding:40px 14px;}
.empty .big{font-size:46px;}

.btn{display:inline-block; border:0; border-radius:13px; padding:13px 18px; font-size:15.5px; font-weight:750;
  cursor:pointer; font-family:inherit; text-align:center; text-decoration:none;}
.btn.primary{background:var(--accent); color:var(--accent-ink);}
.btn.ghost{background:transparent; color:var(--ink); border:2px solid var(--ink);}
.btn.small{padding:8px 13px; font-size:13.5px; border-radius:10px; background:var(--accent); color:var(--accent-ink);}
.btn.small.ghost{background:transparent; color:var(--ink); border:1.5px solid var(--ink);}
.btn.small.danger{background:var(--danger); color:#fff;}
.btn:focus-visible, a:focus-visible, select:focus-visible, input:focus-visible, textarea:focus-visible, summary:focus-visible{
  outline:3px solid var(--accent); outline-offset:2px;}
.cta2{display:flex; gap:10px; margin:16px 0; position:sticky; bottom:10px;}
.cta2 .btn{flex:1;}
.btns{display:flex; flex-direction:column; gap:8px; margin:14px 0;}
.btns.row{flex-direction:row; flex-wrap:wrap;}

.back{display:inline-block; font-size:13.5px; color:var(--muted); text-decoration:none; padding:10px 0 4px;}
.gallery{display:flex; gap:8px; overflow-x:auto; margin:8px 0;}
.gallery img{height:190px; border-radius:14px; max-width:85%; object-fit:cover;}
.bigph{height:150px; border-radius:16px; background:var(--pad); display:grid; place-items:center; font-size:72px; margin:8px 0;}
.facts{display:flex; flex-wrap:wrap; gap:6px; margin:10px 0;}
.chip{font-size:12px; background:var(--pad); border-radius:99px; padding:4px 10px; font-weight:600;}
.chip.alrg{background:transparent; border:1.5px dashed var(--muted); color:var(--muted);}
.desc{font-size:14.5px;}
.disclaimer{font-size:11.5px; color:var(--muted); line-height:1.5; margin:12px 0;}

.note{background:var(--pad); border-radius:12px; padding:11px 14px; font-size:14px; margin:10px 0;}
.note.err{border:1.5px solid var(--danger); color:var(--danger); font-weight:650; background:var(--soft);}
.note.ok{border:1.5px solid var(--accent);}

.pubform .fld{margin-bottom:14px;}
.pubform label{display:block; font-size:13px; font-weight:700; margin-bottom:5px;}
.pubform .fld.two{display:flex; gap:10px;} .pubform .fld.two > div{flex:1;}
.hint{font-size:11.5px; color:var(--muted); margin-top:4px;}
.chipbox{display:flex; flex-wrap:wrap; gap:7px;}
.chk{display:inline-flex !important; align-items:center; gap:6px; font-size:13px !important; font-weight:600 !important;
  border:1.5px solid var(--line); background:var(--soft); border-radius:99px; padding:6px 12px; margin:0 !important;}
.agree{display:flex; gap:9px; align-items:flex-start; font-size:13.5px; margin:16px 0;}
.agree input{width:18px; height:18px; accent-color:var(--accent);}

.done{text-align:center; padding:14px 0 4px;}
.done .big{font-size:50px;}
.manage-url{margin:12px 0;}
.manage-url code{display:block; background:var(--pad); border-radius:11px; padding:11px 13px; font-size:12.5px; word-break:break-all;}

.report{margin:18px 0;}
.report summary{color:var(--muted); font-size:13.5px; cursor:pointer;}
.report form{display:flex; flex-direction:column; gap:8px; padding:12px 0;}
.report label{font-size:14px; display:flex; gap:8px; align-items:center;}

.rules h2{font-size:17px; margin:18px 0 6px;} .rules p, .rules li{font-size:14.5px;}

/* онбординг /start — полноэкранные баннеры */
html{scroll-snap-type:y proximity; scroll-behavior:smooth;}
.slides{margin:0 -16px;}
.slide{min-height:100svh; display:flex; flex-direction:column; justify-content:center; align-items:center;
  text-align:center; padding:56px 20px 40px; position:relative; scroll-snap-align:start; overflow:hidden;}
.slide:nth-child(even){background:var(--soft);}
.mega, .mega-top, .mega-accent, .mega-small, .mega-price{
  font-weight:900; line-height:.95; letter-spacing:-.02em; margin:0; text-wrap:balance;}
.mega, .mega-top{font-size:clamp(40px, 13vw, 84px);}
.mega-top.strike{text-decoration:line-through; text-decoration-thickness:.08em; color:var(--muted);}
.mega-accent{font-size:clamp(44px, 15vw, 96px); color:var(--accent); margin-top:8px;}
.mega-small{font-size:clamp(30px, 9.5vw, 58px);}
.mega-price{font-size:clamp(56px, 19vw, 120px); color:var(--accent); margin:6px 0;}
.slide-sub{font-size:clamp(15px, 4.2vw, 18px); max-width:34ch; margin:14px auto;}
.hero-cta{font-size:17px; padding:15px 28px;}
.down{position:absolute; bottom:12px; left:50%; transform:translateX(-50%); font-size:26px; color:var(--muted); animation:downbob 1.6s ease-in-out infinite;}
@keyframes downbob{0%,100%{transform:translate(-50%,0);}50%{transform:translate(-50%,7px);}}

.anchor{width:100%; max-width:420px; margin-top:8px;}
.bar{position:relative; height:36px; border-radius:9px; background:var(--pad); margin-bottom:8px; overflow:hidden;}
.bar-fill{position:absolute; inset:0 auto 0 0; border-radius:9px; opacity:.35;}
.bar-fill.accent{background:var(--accent); opacity:1;}
.bar-label{position:relative; display:flex; align-items:center; height:100%; padding:0 12px; font-size:13.5px; z-index:1;}
.anchor-note{font-size:14px; color:var(--muted); margin:10px 0 0; font-weight:700;}

.spb-map{width:min(84vw, 360px); margin:18px 0 4px;}
.spb-map .water{fill:var(--pad);}
.spb-map .land{fill:var(--soft); stroke:var(--line); stroke-width:2;}
.slide:nth-child(even) .spb-map .land{fill:var(--paper);}
.spb-map .neva{fill:none; stroke:var(--pad); stroke-width:10; stroke-linecap:round;}
.spb-map .dots circle{fill:var(--accent); animation:pulse 2s ease-out infinite;}
.spb-map .dots circle:nth-child(4n){animation-delay:.5s;}
.spb-map .dots circle:nth-child(4n+2){animation-delay:1s;}
.spb-map .dots text{font-size:12px; font-weight:700; fill:var(--ink); text-anchor:middle;}
@keyframes pulse{0%{opacity:.5; r:5;}50%{opacity:1;}100%{opacity:.5; r:5;}}

.qcards{display:flex; flex-direction:column; gap:12px; max-width:420px; margin-top:16px;}
.qcard{margin:0; background:var(--paper); border:2px solid var(--ink); border-radius:16px; padding:16px 18px;
  font-size:15.5px; text-align:left; box-shadow:5px 5px 0 var(--accent);}
.slide:nth-child(odd) .qcard{background:var(--soft);}
.qcard b{color:var(--accent);}
.qcard cite{display:block; font-style:normal; font-size:12.5px; color:var(--muted); margin-top:8px;}

.seller-list{list-style:none; padding:0; margin:4px 0 16px; display:flex; flex-direction:column; gap:8px; font-size:15px;}
.trust-line{font-size:12.5px; color:var(--muted); max-width:44ch; margin:16px auto 6px;}
.s-final .cta2{position:static; width:100%; max-width:420px;}
@media (prefers-reduced-motion: reduce){
  .down, .spb-map .dots circle{animation:none;}
  html{scroll-behavior:auto;}
}

/* «разобрали» */
.soldh{font-size:15px; color:var(--muted); margin:18px 0 8px;}
.card.sold{opacity:.75;}
.card.sold .ph{filter:grayscale(.4);}
.soldtag{font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--accent);
  border:1.5px solid var(--accent); border-radius:99px; padding:2px 8px; white-space:nowrap;}
.empty.small{padding:18px 14px 6px;}
.seo-h1{font-size:19px;}
footer{font-size:11.5px; color:var(--muted); line-height:1.5; padding:18px 0 6px; border-top:1px solid var(--line); margin-top:24px;}
