:root{color-scheme:light;--o:#FF6B1A;--o2:#FF8A3D;--od:#C2410C;--ink:#16120E;--tx2:#6B645C;--line:#ECE5DB;--warm:#FAF6F0;--fill:#F4EFE8;--bg:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.55 "SF Pro Text",-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--od);text-decoration:none}.wrap{max-width:1120px;margin:0 auto;padding:0 24px}.narrow{max-width:660px}
.nav{position:sticky;top:0;z-index:5;background:rgba(255,255,255,.82);-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:28px;height:64px}.bar nav{display:flex;gap:26px;margin-left:auto;font-size:14px;font-weight:500}.bar nav a{color:var(--tx2)}.bar nav a:hover{color:var(--ink)}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.2em;color:var(--ink);font-size:15px}.logo:before{content:"";width:11px;height:11px;border-radius:3px;background:var(--o);transform:rotate(45deg)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;background:var(--o);color:var(--ink);font:700 16px inherit;font-family:inherit;padding:15px 28px;cursor:pointer;box-shadow:0 12px 28px -12px rgba(255,107,26,.8);transition:transform .2s,background .2s}
.btn:hover{transform:translateY(-2px);background:var(--o2)}.btn.s{padding:10px 20px;font-size:14px}.btn.w{display:flex;width:100%;margin-top:12px}
.btn.g{background:var(--fill);box-shadow:none}.btn.g:hover{background:var(--line)}.btn.o{background:transparent;box-shadow:none;border:1.5px solid var(--ink)}.btn.o:hover{background:var(--ink);color:#fff}.btn.k{background:var(--ink);color:#fff;box-shadow:none}
.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.slot:focus-visible{outline:3px solid rgba(255,107,26,.5);outline-offset:2px}
h1{font-size:clamp(44px,7vw,86px);line-height:1.02;letter-spacing:-.045em;margin:0 0 22px;font-weight:800}
h2{font-size:clamp(32px,4.6vw,52px);letter-spacing:-.035em;line-height:1.05;margin:0 0 12px;font-weight:800}h3{margin:0 0 12px;font-size:20px;letter-spacing:-.01em}
.hi{background:linear-gradient(transparent 64%,rgba(255,107,26,.38) 0)}.eyebrow{display:inline-flex;gap:8px;align-items:center;font-size:14px;font-weight:600;color:var(--tx2);margin:0 0 20px}.eyebrow:before{content:"";width:28px;height:2px;background:var(--o)}
.lead{font-size:clamp(18px,2vw,21px);color:var(--tx2);max-width:520px;margin:0 0 34px;line-height:1.5}.cta{display:flex;gap:12px;flex-wrap:wrap}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding-top:72px;padding-bottom:64px}
.art{position:relative;aspect-ratio:1;border-radius:44px;background:radial-gradient(circle at 28% 18%,var(--o2),var(--o) 62%);display:grid;place-items:center;box-shadow:0 40px 80px -40px rgba(255,107,26,.7)}.art svg{width:82%}
.float{position:absolute;left:-18px;bottom:36px;background:#fff;border-radius:20px;padding:14px 18px;box-shadow:0 20px 40px -16px rgba(22,18,14,.35);font-size:14px;line-height:1.35}.float b{display:block;font-size:15px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);padding:0}.stats div{padding:32px 24px;border-left:1px solid var(--line)}.stats div:first-child{border:0;padding-left:0}
.stats b{display:block;font-size:clamp(34px,5vw,56px);letter-spacing:-.04em;line-height:1}.stats span{color:var(--tx2);font-size:15px}
section{padding:72px 0}.sec,.sub{color:var(--tx2);margin:0 0 28px}.band{background:var(--o);color:var(--ink);padding:72px 0}.band h2{max-width:640px}.band p{max-width:520px;margin:0 0 28px;font-size:19px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px}.card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:26px;margin-bottom:16px}.grid .card{margin:0;transition:transform .25s,box-shadow .25s}.grid .card:hover{transform:translateY(-4px);box-shadow:0 24px 40px -24px rgba(22,18,14,.25)}
.pr{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-top:1px solid var(--line);font-size:16px}.pr b{font-weight:600;color:var(--od);white-space:nowrap}.cnt{color:var(--tx2);font-size:13px;font-weight:500;margin:-6px 0 8px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;list-style:none;padding:0;margin:0}.steps li{background:var(--warm);border-radius:28px;padding:28px}.steps i{display:block;font-style:normal;font-size:44px;font-weight:800;letter-spacing:-.04em;color:var(--o);margin-bottom:10px;line-height:1}.steps b{display:block;font-size:19px;margin-bottom:4px}.steps span{color:var(--tx2);font-size:15px}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.k{color:var(--tx2);font-size:13px;font-weight:500;margin:18px 0 3px}.k:first-child{margin-top:0}
.map{min-height:320px;height:100%;overflow:hidden;display:grid;place-items:center;text-align:center;color:var(--tx2);background:var(--warm);border:1px solid var(--line);border-radius:28px;padding:0;position:relative}.map-loading{padding:24px}.map-ready{padding:0}
.badge{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#fff;border-radius:16px;padding:12px 22px;font-weight:600;opacity:.55}.badge small{font-weight:400;color:#c9c2b9}
footer{padding:36px 0;border-top:1px solid var(--line);color:var(--tx2);font-size:14px}
label{display:block;font-size:13px;font-weight:500;color:var(--tx2);margin:14px 2px 6px}
input,select,textarea{width:100%;border:1.5px solid transparent;border-radius:14px;background:var(--fill);color:var(--ink);font:17px inherit;font-family:inherit;padding:14px 16px;outline:none;transition:border .2s,background .2s}input:focus,select:focus,textarea:focus{background:#fff;border-color:var(--o)}textarea{min-height:90px}
.seg{display:flex;background:var(--fill);border-radius:14px;padding:4px;margin-bottom:8px}.seg button{flex:1;border:0;background:none;color:var(--tx2);font:600 15px inherit;font-family:inherit;padding:10px;border-radius:11px;cursor:pointer}.seg .on{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(22,18,14,.12)}
.or{text-align:center;color:var(--tx2);font-size:13px;margin:20px 0 14px}#gb{display:flex;justify-content:center;min-height:44px}
.msg{color:#B91C1C;font-size:14px;min-height:20px;margin:10px 2px 0}.msg.ok{color:#15803D}

.svc{display:flex;gap:12px;align-items:center;padding:13px 0;border-top:1px solid var(--line);margin:0;font-size:16px;color:var(--ink)}.svc:first-of-type{border-top:0}.svc-select{display:flex;gap:14px;align-items:center;flex:1;min-width:0;margin:0;color:var(--ink);cursor:pointer}.svc-select input{width:20px;height:20px;flex:none;padding:0;accent-color:var(--o)}.svc-select span{min-width:0;display:flex;flex-direction:column;gap:2px}.svc-select span small{font-size:12px;color:var(--tx2);font-weight:500}.svc-price{font-weight:600;color:var(--od);font-size:14px;white-space:nowrap}.qty{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:12px;background:var(--warm);padding:4px 6px;flex:none}.qty button{width:28px;height:28px;border:0;border-radius:8px;background:#fff;color:var(--ink);font:700 18px/1 inherit;font-family:inherit;cursor:pointer}.qty button:hover{background:var(--line)}.qty b{min-width:18px;text-align:center}.qty small{font-size:11px;color:var(--tx2);margin-left:1px}@media(max-width:560px){.svc{flex-wrap:wrap}.svc-price{margin-left:auto}.qty{order:3;margin-left:34px}}
.tot{font-weight:700;font-size:18px;margin:14px 0 0}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:10px;margin-top:14px}
.slot{border:1.5px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font:700 16px inherit;font-family:inherit;padding:12px 4px;cursor:pointer;transition:border .2s,background .2s}.slot:hover:not(:disabled){border-color:var(--o)}.slot.on{background:var(--o);border-color:var(--o)}.slot:disabled{background:var(--fill);color:#9a9189;cursor:default}.slot small{display:block;font-weight:400;font-size:11px}
.top2{display:flex;justify-content:space-between;gap:10px;align-items:center}.pill{font-style:normal;font-size:12px;font-weight:700;padding:5px 12px;border-radius:99px;background:var(--fill)}
.pill.blue{color:#1D4ED8;background:#E8EEFD}.pill.orange{color:var(--od);background:#FFEBDD}.pill.green{color:#15803D;background:#E3F5E8}.pill.red{color:#B91C1C;background:#FDE8E8}.pill.gray{color:var(--tx2)}
.ac{background:var(--warm);border-left:3px solid var(--o);border-radius:12px;padding:10px 14px;font-size:15px;margin:10px 0}
.js .r{opacity:0;transform:translateY(20px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}.js .r.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .r{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}.btn,.grid .card{transition:none}}
@media (max-width:820px){.hero{grid-template-columns:1fr;padding-top:40px;gap:36px}.art{max-width:440px}.float{left:12px}.bar nav{display:none}.bar .btn{margin-left:auto}.stats{grid-template-columns:1fr}.stats div{border-left:0;border-top:1px solid var(--line);padding:22px 0}.stats div:first-child{border:0}section{padding:52px 0}}
/* premium layer */
.logo img{width:34px;height:34px;border-radius:9px;box-shadow:0 6px 14px -6px rgba(22,18,14,.6)}.logo:before{display:none}
.hero{position:relative}.hero:before{content:"";position:absolute;right:-12vw;top:-90px;width:680px;height:680px;background:radial-gradient(circle,rgba(255,107,26,.17),transparent 66%);z-index:-1;pointer-events:none}
.art{overflow:visible}.art .icon{width:70%;height:auto;aspect-ratio:1;border-radius:22.5%;box-shadow:0 38px 64px -24px rgba(22,18,14,.7),0 0 0 1px rgba(255,255,255,.14);transform:rotate(-5deg);transition:transform .6s cubic-bezier(.2,.7,.2,1)}.art:hover .icon{transform:rotate(0) scale(1.03)}
.app-ic{width:84px;height:84px;border-radius:22px;box-shadow:0 18px 32px -14px rgba(22,18,14,.6);margin-bottom:20px}
.dl{display:inline-flex;align-items:center;gap:12px;background:var(--ink);color:#fff;border-radius:16px;padding:12px 24px;font-weight:600;font-size:16px;line-height:1.2}.dl small{display:block;font-weight:400;font-size:12px;color:#c9c2b9}.dl:hover{background:#2a241d;color:#fff}.dl.off{opacity:.55;pointer-events:none}.dl.or{background:var(--o);color:var(--ink)}.dl.or small{color:#5a2a0a}
@media (prefers-reduced-motion:reduce){.art .icon{transition:none}}

.stocar-map-marker{background:var(--o);color:var(--ink);font:800 13px/1 inherit;padding:8px 10px;border-radius:999px;box-shadow:0 8px 18px rgba(22,18,14,.22);border:2px solid #fff;white-space:nowrap}.map-note{margin:10px 0 0}.map-note a{font-weight:700}.svc span{display:flex;flex-direction:column;gap:2px}.svc span small{font-size:12px;color:var(--tx2);font-weight:500}.live-status{margin:8px 0 0;font-size:13px}

/* Яндекс.Карта STOCAR */
.map-section { padding-top: 0; }
.map-header { margin-bottom: 20px; }
.map-title {
  margin: 0 0 8px;
  color: var(--ink, #172033);
  font-size: clamp(28px, 4vw, 40px);
  line-height: 1.2;
}
.map-subtitle {
  margin: 0;
  color: #687386;
  line-height: 1.6;
}
.map-container {
  width: 100%;
  min-height: 400px;
  overflow: hidden;
  border: 1px solid #e4e8ef;
  border-radius: 18px;
  background: #f3f5f8;
}
.map-container iframe {
  display: block;
  width: 100% !important;
  max-width: 100%;
  height: 400px;
  border: 0;
}
.map-address {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 24px;
  margin-top: 16px;
}
.address-text {
  margin: 0 0 5px;
  color: var(--ink, #172033);
  font-weight: 700;
}
.address-link {
  color: var(--blue, #1769e0);
  font-weight: 700;
  text-decoration: none;
}
.address-link:hover { text-decoration: underline; }
@media (max-width: 600px) {
  .map-address {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* STOCAR: адаптация для телефонов */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  max-width: 100%;
  overflow-x: clip;
}

body {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

img,
video,
iframe,
svg {
  max-width: 100%;
}

@media (max-width: 600px) {
  .wrap {
    width: 100%;
    max-width: 100%;
    padding-left: 16px;
    padding-right: 16px;
  }

  .hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
    padding-top: 32px;
    padding-bottom: 36px;
  }

  .hero > *,
  .cols > *,
  .grid > *,
  .steps > * {
    min-width: 0;
  }

  .hero::before {
    right: -40px;
    width: 300px;
    height: 300px;
  }

  .art {
    width: 100%;
    max-width: 360px;
    margin: 0 auto;
    border-radius: 28px;
  }

  .grid,
  .cols,
  .steps {
    grid-template-columns: minmax(0, 1fr);
  }

  .stats {
    grid-template-columns: minmax(0, 1fr);
  }

  .cta {
    gap: 10px;
  }

  .cta .btn {
    max-width: 100%;
  }

  .map-container {
    min-height: 320px;
    border-radius: 14px;
  }

  .map-container iframe {
    height: 320px;
  }

  input,
  select,
  textarea {
    max-width: 100%;
    min-width: 0;
  }

  h1 {
    font-size: clamp(30px, 8vw, 44px);
    overflow-wrap: anywhere;
  }

  p {
    overflow-wrap: break-word;
  }
}

/* STOCAR: центрирование и ширина на мобильных устройствах */
@media screen and (max-width: 600px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    margin: 0;
  }

  main {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
  }

  .wrap {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 16px;
    padding-right: 16px;
  }

  .hero {
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
    margin-inline: auto;
  }

  .hero > *,
  .band .wrap,
  .map-section > *,
  footer .wrap {
    min-width: 0;
    max-width: 100%;
  }

  .grid,
  .cols,
  .steps {
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
  }

  .card {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .cta {
    width: 100%;
  }

  .cta .btn {
    max-width: 100%;
    white-space: normal;
    text-align: center;
  }

  .stats div {
    padding-left: 0;
    padding-right: 0;
  }

  .map-container {
    width: 100%;
    max-width: 100%;
  }
}

/* STOCAR — базовая адаптация под разные экраны */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

body {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  overflow-x: clip;
}

img,
video,
iframe,
svg {
  max-width: 100%;
}

.wrap,
main,
section,
header,
footer {
  max-width: 100%;
}

@media (max-width: 820px) {
  .hero {
    grid-template-columns: minmax(0, 1fr);
  }

  .grid,
  .cols,
  .steps {
    grid-template-columns: minmax(0, 1fr);
  }

  .hero > *,
  .grid > *,
  .cols > *,
  .steps > * {
    min-width: 0;
  }
}

@media (max-width: 600px) {
  .wrap {
    padding-left: 16px;
    padding-right: 16px;
  }

  .art {
    width: 100%;
    max-width: 100%;
  }

  .cta {
    flex-wrap: wrap;
  }

  input,
  select,
  textarea,
  button {
    max-width: 100%;
  }
}

/* Исправление переполнения на узких экранах */
@media (max-width: 820px) {
  .hero::before {
    right: 0;
    width: min(680px, 100%);
    max-width: 100%;
  }

  .pr b,
  .svc-price {
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .stocar-map-marker {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .wrap,
  .hero,
  .band,
  .map-section,
  .card {
    min-width: 0;
  }
}


/* iPhone web-app support and resilient mobile booking layout */
html { -webkit-text-size-adjust: 100%; }
body { padding-bottom: env(safe-area-inset-bottom); }
.nav { padding-top: env(safe-area-inset-top); }
.iphone-install-hint { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:0 0 22px; padding:15px 16px; border:1px solid #f0d5bd; border-radius:16px; background:#fff8f1; }
.iphone-install-hint[hidden] { display:none; }
.iphone-install-hint div { min-width:0; display:flex; flex-direction:column; gap:3px; }
.iphone-install-hint b { font-size:15px; line-height:1.35; }
.iphone-install-hint small { color:var(--tx2); font-size:13px; }
.iphone-install-hint a { font-weight:700; font-size:14px; }
.iphone-install-hint button { flex:none; border:0; border-radius:50%; width:32px; height:32px; background:#f1e5d9; font-size:23px; line-height:1; color:var(--ink); cursor:pointer; }
.yandex-login { display:flex; align-items:center; justify-content:center; gap:10px; }
.yandex-mark { width:22px; height:22px; flex:none; }
@media (max-width:560px) {
  .svc { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; column-gap:12px; row-gap:9px; width:100%; min-width:0; }
  .svc-select { grid-column:1 / -1; width:100%; min-width:0; align-items:flex-start; gap:12px; }
  .svc-select input { margin-top:3px; }
  .svc-select span { min-width:0; overflow-wrap:anywhere; word-break:normal; }
  .svc-select span b { font-size:15px; line-height:1.4; overflow-wrap:anywhere; }
  .svc-select span small { font-size:13px; line-height:1.45; overflow-wrap:anywhere; }
  .svc-price { grid-column:1; grid-row:2; justify-self:start; align-self:center; margin:0; white-space:normal; font-size:15px; }
  .qty { grid-column:2; grid-row:2; justify-self:end; margin:0; max-width:100%; }
  .card { min-width:0; }
  #app, #app .card { min-width:0; }
}
