/*
THESIS: Сайт говорит языком дороги, на которой стоит сервис (silnice 611):
направляющие таблицы, разметка, свет фар — вместо шаблонного «hero+карточки»
автосервисных тем, который категория штампует по умолчанию.
OWN-WORLD: ночной асфальт #17191D, разметочно-белые панели-указатели с
дорожной типографикой Overpass/Overpass Mono, сигнальный оранж #F28A1D,
чёрно-оранжевые шевроны, штриховая осевая, дуотон-фото асфальт+янтарь.
Узнаваем без контента: тёмная дорога, белые таблицы, шевронная лента.
STORY: водитель мгновенно понимает — вот сервис на моей дороге, вот цена,
вот телефон; доверие из реальных отзывов и открытых цен, действие — звонок.
FIRST VIEWPORT (mobile): шапка-указатель → H1 крупно на асфальте, рейтинг
mono, фото механика в дуотоне со свипом света, CTA «Zavolat» сигнальной
пилюлей + «Rezervovat» контуром, строка часов; осевая линия уходит вниз.
FORM: направление №5 списка (дорожная графика ČR), staging: ночная трасса
под натриевым светом; seed 60fb4351.
*/

/* ===== Fonts ===== */
@import url('../fonts/fonts.css');

/* ===== Tokens ===== */
:root{
  --asphalt:#17191D; --asphalt-2:#1F2228; --asphalt-3:#2A2E36; --hairline:#3A3F49;
  --paper:#F6F5F1; --card:#FFFFFF; --ink-strong:#1B1D21; --muted:#5C5F56; --line:#E4E2DA;
  --marking:#F2F3EE; --marking-dim:#C6CAC1; --ink:#131417; --ink-soft:#4A4E45;
  --signal:#F28A1D; --signal-deep:#D9730A; --amber:#FFB25E;
  --ok:#39B26B;
  --f-sans:'Overpass',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --f-mono:'Overpass Mono',ui-monospace,'Cascadia Mono',monospace;
  --wrap:1160px; --gutter:clamp(18px,4.5vw,44px);
  --chevron:repeating-linear-gradient(-45deg,var(--signal) 0 14px,var(--ink) 14px 28px);
  --shadow-1:0 10px 30px -12px rgba(0,0,0,.55);
  --sweep:linear-gradient(105deg,transparent 30%,rgba(255,178,94,.22) 46%,rgba(255,178,94,.38) 50%,rgba(255,178,94,.22) 54%,transparent 70%);
}

/* ===== Base ===== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink-strong);font:400 16px/1.6 var(--f-sans);overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:var(--signal-ink,#B85E00);text-decoration:none}
a:hover{color:var(--signal-deep)}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:2px}
.container{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
h1,h2,h3{font-weight:900;line-height:1.06;margin:0 0 .5em;text-wrap:balance;letter-spacing:-.02em}
h1{font-size:clamp(1.75rem,5.5vw,3.1rem)}
h2{font-size:clamp(1.6rem,5vw,2.6rem)}
h3{font-size:1.12rem;line-height:1.25}
p{margin:0 0 1em}
.num,.price,.tel-num{font-family:var(--f-mono);font-variant-numeric:tabular-nums}

main,section,header,footer{position:relative;z-index:1}

/* ===== Buttons ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;font-weight:700;
  padding:.95em 1.5em;border-radius:6px;border:2px solid transparent;cursor:pointer;
  transition:transform .12s ease,background .15s ease,border-color .15s ease,color .15s ease;position:relative;overflow:hidden}
.btn:active{transform:scale(.965)}
.btn-primary{background:var(--signal);color:var(--ink)}
.btn-primary:hover{background:var(--signal-deep);color:var(--ink)}
.btn-primary::after{content:"";position:absolute;inset:0;background:var(--sweep);transform:translateX(-120%)}
.btn-primary:hover::after{transform:translateX(120%);transition:transform .7s ease}
.btn-secondary{border-color:var(--ink-strong);color:var(--ink-strong);background:transparent}
.hero-photo .btn-secondary,.final-cta .btn-secondary,.panel-light .btn-secondary{border-color:var(--marking);color:var(--marking)}
.btn-secondary:hover{border-color:var(--amber);color:var(--amber)}
.btn-outline{border-color:#C9C6BC;color:var(--ink-strong)}
.panel-light .btn-outline,.final-cta .btn-outline{border-color:var(--hairline);color:var(--marking)}
.btn-outline:hover{border-color:var(--signal);color:var(--signal-deep)}
.btn-lg{font-size:1.05rem;padding:1.05em 1.7em}

/* ===== Header ===== */
.site-header{position:sticky;top:0;z-index:60;background:rgba(246,245,241,.96);
  border-bottom:1px solid var(--line)}
.site-header .container{display:flex;align-items:center;gap:18px;min-height:68px}
.brand{display:flex;align-items:center}
.brand img{height:52px;width:auto}
@media (max-width:480px){.brand img{height:38px}}
.main-nav{display:none}
.header-tel{display:none}
.header-cta{margin-left:auto;display:inline-flex;align-items:center;gap:14px}
.burger{width:44px;height:44px;background:none;border:1px solid var(--line);border-radius:6px;color:var(--ink-strong);display:grid;place-items:center;cursor:pointer}
.burger svg{width:22px;height:22px}
@media (min-width:1000px){
  .burger{display:none}
  .main-nav{display:flex;gap:26px;margin-left:34px;font-weight:600}
  .main-nav a{color:var(--muted)} .main-nav a:hover{color:var(--ink-strong)}
  .header-tel{display:inline-flex;align-items:center;gap:8px;color:var(--ink-strong);font-weight:700}
  .header-tel svg{color:var(--signal)}
}
.mobile-menu{position:fixed;inset:64px 0 0 0;background:var(--paper);z-index:59;padding:28px var(--gutter);
  display:none;flex-direction:column;gap:4px;border-top:1px solid var(--line)}
.mobile-menu.open{display:flex}
.mobile-menu a{color:var(--ink-strong);font-size:1.35rem;font-weight:700;padding:.55em 0;border-bottom:1px dashed var(--line)}
.mobile-menu .mm-tel{margin-top:auto;color:var(--signal);font-size:1.5rem}

/* ===== HERO ===== */
.hero-photo{position:relative;overflow:clip;display:flex;flex-direction:column;justify-content:flex-end;min-height:min(88svh,760px);color:var(--marking)}
.hero-bg{position:absolute;inset:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:62% 42%;}
@media (max-width:999px){.hero-bg img{object-position:76% 30%}}
.hero-bg img{
  filter:contrast(1.04) brightness(.94) saturate(1.05)}
.hero-bg::before{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(23,25,29,.30) 0%,rgba(23,25,29,.10) 30%,rgba(23,25,29,.88) 74%,var(--asphalt) 100%)}
@media (min-width:1000px){
  .hero-photo{min-height:min(80vh,720px)}
  .hero-photo .container{padding-block:56px;margin-block:auto}
  .hero-copy{}
  .hero-cta{flex-wrap:nowrap}
  .hero-bg::before{background:linear-gradient(90deg,rgba(23,25,29,.93) 0%,rgba(23,25,29,.66) 36%,rgba(23,25,29,.1) 66%,rgba(23,25,29,.3) 100%),
    linear-gradient(180deg,transparent 55%,rgba(23,25,29,.88) 92%,var(--asphalt) 100%)}
  .hero-bg img{object-position:80% 40%}
}
.hero-bg::after{content:"";position:absolute;inset:-20%;z-index:2;background:var(--sweep);transform:translateX(-130%) rotate(2deg)}
.hero-photo.lit .hero-bg::after{transform:translateX(130%) rotate(2deg);transition:transform 1.5s cubic-bezier(.22,.8,.35,1)}
.hero-photo .container{position:relative;z-index:3;width:100%;padding-block:clamp(30px,7vw,64px)}

.hero-copy{max-width:30em}
@media (max-width:999px){
  .hero-photo{min-height:0;background:linear-gradient(165deg,#1C1F24 0%,var(--asphalt) 55%,#101215 100%)}
  .hero-bg{display:none}
  .hero-photo .container{padding-block:50px 42px}
  /* мобильная типографика hero: простор — легко дышится с телефона */
  .hero-photo h1{line-height:1.26;margin-bottom:.7em}
  .h1-kicker{margin-bottom:20px}
  .hero-lead{line-height:1.7;margin:0 0 32px;font-size:1.06rem}
  .hero-cta{gap:12px}
  .hero-meta{margin-top:26px;gap:12px}
}
.hero-photo h1{margin:0 0 .35em;font-size:clamp(1.8rem,4.8vw,2.9rem);text-shadow:0 2px 18px rgba(0,0,0,.5)}
.h1-kicker{display:block;font:700 .82rem var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--amber);margin-bottom:12px}
.h1-hook{display:block;text-wrap:balance}
.hero-photo h1 .accent{color:var(--signal)}
.hero-lead{color:var(--marking);font-size:1.04rem;max-width:32em;text-shadow:0 1px 10px rgba(0,0,0,.55)}
.hero-status{display:inline-flex;align-items:center;gap:9px;color:var(--marking);
  font-family:var(--f-mono);font-size:.9rem;border:1px solid rgba(242,243,238,.3);border-radius:999px;padding:.45em 1em;
  background:rgba(23,25,29,.45);backdrop-filter:none}
.pulse-dot{width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(57,178,107,.5);animation:pulse 2.2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(57,178,107,.45)}70%{box-shadow:0 0 0 9px rgba(57,178,107,0)}100%{box-shadow:0 0 0 0 rgba(57,178,107,0)}}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}
.hero-cta .btn,.hero-status,.gbadge{white-space:nowrap}
.hero-meta{margin-top:16px}
@media (min-width:1000px){
  .hero-meta{position:absolute;right:24px;bottom:24px;margin:0}
}
.meta-capsule{display:flex;flex-wrap:wrap;align-items:center;width:fit-content;
  background:rgba(23,25,29,.55);backdrop-filter:blur(14px) saturate(140%);
  border:1px solid rgba(242,243,238,.18);border-radius:999px;padding:8px 14px 8px 16px;
  box-shadow:0 8px 24px -10px rgba(0,0,0,.55)}
.hero-meta{display:flex;flex-direction:column;gap:9px;align-items:flex-start}
@media (min-width:1000px){.hero-meta{align-items:flex-end}}
.gbadge{display:inline-flex;align-items:center;gap:8px;background:#fff;color:#202124;
  border-radius:999px;padding:.45em 1em;font-size:.88rem;box-shadow:0 6px 20px -8px rgba(0,0,0,.55)}
.gbadge:hover{color:#202124}
.gbadge .gb-stars{color:#FBBC05;letter-spacing:1.5px;font-size:.82rem}
.gbadge .gb-num{font:700 .98rem var(--f-mono)}
.gbadge .gb-count{color:#5F6368;font-size:.82rem}
.addr-inner{display:inline-flex;align-items:center;gap:7px;color:var(--amber);font-family:var(--f-mono);font-size:.84rem;white-space:nowrap}
.addr-inner svg{color:var(--amber)}
.meta-divider{width:1px;height:20px;background:rgba(242,243,238,.25);margin:0 14px 0 12px}
.hours-inner{display:inline-flex;align-items:center;gap:8px;color:var(--marking);font-family:var(--f-mono);font-size:.88rem;white-space:nowrap}
@media (max-width:560px){
  .meta-capsule{border-radius:18px;row-gap:6px}
  .meta-divider{display:none}
  .gbadge-inner{padding-right:0;width:100%}
}

.hero-strip{position:relative;z-index:3;height:3px;width:100%;
  background:linear-gradient(90deg,var(--signal) 0%,var(--amber) 55%,transparent 100%)}

/* ===== Section scaffolding ===== */
.section{padding:clamp(58px,7vw,68px) 0} /* мобила просторная (58px), десктоп без «дыр» (68px) */
.section-title{}
.section-kicker{font-family:var(--f-mono);color:var(--signal-ink,#B85E00);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;display:block;margin-bottom:10px}
.section-lead{color:var(--muted);font-size:1.03rem}

/* Směrová tabule (панель-указатель) */
.tabule-list{display:grid;gap:10px;margin-top:26px}
.tabule{position:relative;display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:14px;
  background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px 18px;color:var(--ink-strong);
  overflow:hidden;box-shadow:0 2px 10px -6px rgba(27,29,33,.12);transition:border-color .15s ease}
.tabule::before{content:"";position:absolute;inset:0;background:var(--sweep);transform:translateX(-130%);pointer-events:none}
.tabule:hover{border-color:var(--signal)}
.tabule:hover::before,.tabule:active::before{transform:translateX(130%);transition:transform .65s ease}
.tabule .pikto{width:46px;height:46px;color:var(--signal-deep);display:grid;place-items:center;border:1.5px solid var(--line);border-radius:8px;background:#FFF4E5}
.tabule .pikto svg{width:26px;height:26px}
.tabule h3{margin:0 0 2px}
.tabule p{margin:0;color:var(--muted);font-size:.93rem}
.tabule .go{display:flex;align-items:center;gap:12px}
.tabule .price{color:var(--signal-ink,#B85E00);font-weight:700;white-space:nowrap}
.tabule .arr{color:var(--muted)}
.tabule:hover .arr{color:var(--signal)}
@media (max-width:560px){.tabule{grid-template-columns:40px 1fr auto;padding:14px}.tabule .pikto{width:40px;height:40px}}

/* Featured photo panels */
.feature-row{display:grid;gap:14px;margin-top:30px}
@media (min-width:820px){.feature-row{grid-template-columns:repeat(3,1fr)}}
.feature{position:relative;border-radius:10px;overflow:hidden;min-height:230px;display:flex;align-items:flex-end;color:var(--marking);border:1px solid var(--hairline)}
.feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:grayscale(.5) contrast(1.05) brightness(.62) sepia(.18);transition:transform .6s ease,filter .4s ease}
.feature:hover img{transform:scale(1.045);filter:grayscale(.15) contrast(1.05) brightness(.75) sepia(.12)}
.feature::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(19,20,23,.85))}
.feature-body{position:relative;padding:18px;z-index:1}
.feature-body .price{color:var(--amber);font-size:.92rem}
.feature-body h3{margin-bottom:4px}

/* Ceníková tabule (светлая панель-таблица) */
.panel-light{background:var(--asphalt-2);color:var(--marking);border-radius:10px;padding:clamp(20px,4vw,34px);box-shadow:var(--shadow-1)}
.panel-light h2,.panel-light h3{color:var(--marking)}
.panel-light .lead{color:var(--marking-dim)}
.leader-row{display:flex;align-items:baseline;gap:10px;padding:.62em 0;border-bottom:1px solid #3A3F49;font-weight:600}
.leader-row:last-child{border-bottom:0}
.leader-row .dots{flex:1;border-bottom:2px dotted #4A4F59;transform:translateY(-4px)}
.leader-row .price{color:var(--amber);font-weight:700;white-space:nowrap}
.leader-row .name a{color:var(--marking)} .leader-row .name a:hover{color:var(--amber)}
.leader-note{font-size:.86rem;color:var(--marking-dim);margin-top:10px}

/* Team band */
.team-band{display:grid;gap:24px;align-items:center}
@media (min-width:900px){.team-band{grid-template-columns:.9fr 1.1fr;gap:48px}}
.team-band .photo{border-radius:10px;overflow:hidden;box-shadow:var(--shadow-1)}
.team-band .photo img{filter:none}
.ua-badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-mono);font-size:.88rem;
  border:1px dashed #C9C6BC;border-radius:999px;padding:.5em 1.1em;color:var(--signal-ink,#B85E00);margin-top:8px;background:var(--card)}

/* Reviews */
.reviews-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:min(80%,360px);gap:14px;overflow-x:auto;
  scroll-snap-type:x mandatory;padding:26px var(--gutter);margin-inline:calc(-1*var(--gutter));scrollbar-width:none}
.reviews-carousel::-webkit-scrollbar{display:none}
.review-card{scroll-snap-align:start;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:22px;display:flex;flex-direction:column;gap:10px;position:relative;box-shadow:0 2px 10px -6px rgba(27,29,33,.12)}
.review-card::before{content:"“";position:absolute;top:2px;right:16px;font-size:4.2rem;font-weight:900;color:#EFEDE6;line-height:1}
.review-badge{font-family:var(--f-mono);font-size:.78rem;color:var(--muted)}
.review-stars{color:var(--signal);letter-spacing:3px}
.review-text{margin:0;color:var(--ink-strong)}
.review-author{margin:0;color:var(--muted);font-weight:600;font-size:.92rem}
.review-dots{display:flex;gap:7px;justify-content:center}
.review-dots span{width:7px;height:7px;border-radius:50%;background:var(--line)}
.review-dots span.is-active{background:var(--signal)}

/* Jak k nám / NAP */
.route-band{display:grid;gap:26px;align-items:stretch}
@media (min-width:900px){.route-band{grid-template-columns:minmax(340px,1fr) 1.2fr;gap:40px}}
.route-info{display:flex;flex-direction:column;gap:20px;align-items:flex-start;justify-content:center}
.route-map{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line);box-shadow:0 14px 40px -18px rgba(27,29,33,.3);min-height:280px}
@media (max-width:899px){.route-map{aspect-ratio:4/3;min-height:0}}
/* мобила: карта на всю ширину экрана + контакт-карточка поверх */
.route-map .map-card{display:none}
@media (max-width:899px){
  .route-band .route-map{margin-inline:calc(50% - 50vw);border-radius:0;border-left:0;border-right:0;aspect-ratio:auto;height:440px}
  .route-band .route-map .map-card{display:grid}
  /* контакты переехали на карту — над картой не дублируем */
  .route-band .route-info .nap{display:none}
  .route-band .route-info{grid-template-columns:auto 1fr;align-items:center}
  .route-band .route-info .route-hint{grid-row:1;grid-column:2;margin:0;align-self:center}
}
.map-card{position:absolute;left:14px;right:14px;bottom:48px;gap:2px;background:var(--card,#fff);border:1px solid var(--line);border-radius:12px;padding:12px 15px;box-shadow:0 16px 36px -14px rgba(27,29,33,.42)}
.map-card .line{display:flex;gap:9px;align-items:baseline;padding:.16em 0;color:var(--muted)}
.map-card .line svg{flex:0 0 auto;translate:0 2px}
.map-card .line b{color:var(--ink-strong);font-size:.95rem;line-height:1.35}
.map-card .num{font-size:.9rem}
.map-card .tel-num{font-size:1.12rem;font-weight:700;color:var(--signal-ink,#B85E00)}
.route-map iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.85) contrast(1.03);transition:filter .45s ease}
.route-map:hover iframe{filter:none}
.shield{display:grid;place-items:center;width:118px;height:86px;border:3px solid var(--asphalt-2);border-radius:14px;
  font-family:var(--f-mono);font-weight:700;font-size:2rem;color:var(--marking);background:var(--asphalt-2);position:relative;box-shadow:var(--shadow-1)}
.shield small{position:absolute;bottom:8px;font-size:.6rem;letter-spacing:.2em;color:var(--marking-dim)}
.nap{font-style:normal}
.nap .line{display:flex;gap:10px;align-items:baseline;padding:.3em 0;color:var(--muted)}
.nap .line b{color:var(--ink-strong);font-weight:700}
.nap .tel-num{color:var(--signal-ink,#B85E00);font-size:1.35rem;font-weight:700}
.route-actions{display:flex;flex-direction:column;gap:10px}

/* Final CTA */
.final-cta{border:0;border-radius:12px;padding:clamp(26px,5vw,44px);text-align:left;position:relative;overflow:hidden;background:var(--asphalt-2);color:var(--marking);box-shadow:var(--shadow-1)}
.final-cta::before{content:"";position:absolute;top:0;left:0;right:0;height:10px;background:var(--chevron);background-size:56px 10px}
.final-cta h2{margin-top:8px}
.final-cta h2{color:var(--marking)}
.final-cta p{color:var(--marking-dim)}
.final-cta a:not(.btn){color:var(--amber)}

/* ===== Service page ===== */
.svc-hero{padding:clamp(22px,4vw,44px) 0 clamp(24px,4vw,40px);border-bottom:1px solid var(--line);background:var(--card)}
.svc-hero-grid{display:grid;gap:24px;align-items:center}
@media (min-width:1000px){.svc-hero-grid{grid-template-columns:1.1fr 460px;gap:56px}}
.crumbs{font-family:var(--f-mono);font-size:.8rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:.6em;margin-bottom:14px}
.crumbs a{color:var(--muted);display:inline-block;padding:.35em 0}
.crumbs a:hover{color:var(--signal-deep)}
.crumbs .sep{color:#C9C6BC}
.svc-hero h1{font-size:clamp(1.8rem,4.6vw,2.8rem);color:var(--ink-strong);margin-bottom:.55em}
.svc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.price-plaque{display:inline-flex;align-items:baseline;gap:8px;background:#FFF1DE;border:1px solid #F3D9B6;color:var(--ink-strong);
  border-radius:8px;padding:.62em 1em;font-weight:700}
.price-plaque .price{color:#8A4700;font-size:1.15rem}
.price-plaque small{color:var(--muted);font-weight:600}
.price-note{margin:10px 0 0;font-size:.88rem;color:var(--muted)}
.svc-hero-photo{border-radius:12px;overflow:hidden;box-shadow:0 14px 40px -18px rgba(27,29,33,.35)}
.svc-hero-photo img{width:100%;height:auto;display:block}

.svc-body{padding:clamp(36px,6vw,70px) 0}
.svc-grid{display:grid;gap:40px}
@media (min-width:1000px){.svc-grid{grid-template-columns:1fr 340px;align-items:start}}
.entry-content h2{margin-top:1.6em;padding-top:.4em}
.entry-content h2:first-child{margin-top:0}
.entry-content h3{color:var(--ink-strong);margin-top:1.4em}
.entry-content ul{padding-left:0;list-style:none;margin:0 0 1.2em}
.entry-content ul li{position:relative;padding:.34em 0 .34em 30px;border-bottom:1px dashed var(--line)}
.entry-content ul li::before{content:"";position:absolute;left:2px;top:.78em;width:14px;height:14px;
  background:var(--signal);clip-path:polygon(0 0,55% 0,100% 50%,55% 100%,0 100%,45% 50%)}
.entry-content table{width:100%;border-collapse:collapse;background:var(--marking);color:var(--ink);border-radius:10px;overflow:hidden;margin:1.2em 0;font-weight:600}
.entry-content table th{background:var(--ink);color:var(--marking);text-align:left;font-family:var(--f-mono);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;padding:.7em .9em}
.entry-content table td{padding:.68em .9em;border-bottom:1px solid #DDDFD6}
.entry-content table td:last-child{font-family:var(--f-mono);color:var(--signal-deep);white-space:nowrap;text-align:right}
.entry-content a{text-decoration:underline;text-underline-offset:3px}
.entry-content blockquote{margin:1.2em 0;padding:1em 1.2em;background:#EFEDE6;border-radius:8px;color:var(--muted)}
.entry-content>p:first-child{font-size:1.12rem;color:var(--ink-strong)}
/* FAQ: h3-вопросы превращаются в details скриптом */
.faq-item{border:1px solid var(--line);border-radius:8px;margin:0 0 10px;background:var(--card);overflow:hidden}
.faq-item summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;font-weight:700}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-family:var(--f-mono);color:var(--signal-deep);font-size:1.3rem;transition:transform .18s ease}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item .faq-a{padding:0 16px 14px;color:var(--muted)}

.svc-aside{display:grid;gap:14px;position:sticky;top:86px}
.aside-panel{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:20px;box-shadow:0 2px 10px -6px rgba(27,29,33,.12)}
.aside-panel h3{margin-bottom:10px}
.aside-panel .tel-num{font-size:1.3rem;color:var(--signal-ink,#B85E00);font-weight:700}
.aside-panel .hours{font-family:var(--f-mono);font-size:.88rem;color:var(--muted)}
.trust-line{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.93rem;padding:.3em 0}
.trust-line svg{color:var(--signal-deep);flex:none}

/* ===== Ceník page ===== */
.cenik-page .panel-light{margin-top:26px}
.cenik-search{width:100%;padding:.9em 1.1em;border:2px solid #DDDFD6;border-radius:8px;font:600 1rem var(--f-sans);color:var(--ink);background:#fff;margin-bottom:14px}
.cenik-search:focus{outline:none;border-color:var(--signal)}
.chip-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:8px;scrollbar-width:none}
.chip-row::-webkit-scrollbar{display:none}
.chip{flex:none;border:1.5px solid #C9CCC2;border-radius:999px;padding:.4em 1em;font-weight:600;font-size:.88rem;color:var(--ink-soft);background:#fff;cursor:pointer}
.chip:hover{border-color:var(--signal);color:var(--signal-deep)}
.cenik-group{border-bottom:1px solid #E7E5DD}
.cenik-group summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;padding:1em 0;font-weight:900;font-size:1.12rem}
.cenik-group summary::-webkit-details-marker{display:none}
.cenik-group summary::after{content:"+";font-family:var(--f-mono);color:var(--signal-deep);font-size:1.4rem;transition:transform .18s ease}
.cenik-group[open] summary::after{transform:rotate(45deg)}

/* ===== Forms ===== */
.form-panel{max-width:640px}
.form-panel label{display:block;font-weight:700;margin:16px 0 6px;color:var(--ink)}
.form-panel input,.form-panel select,.form-panel textarea{width:100%;padding:.85em 1em;border:2px solid #D5D8CD;border-radius:8px;font:600 1rem var(--f-sans);color:var(--ink);background:#fff}
.form-panel input:focus,.form-panel select:focus,.form-panel textarea:focus{outline:none;border-color:var(--signal)}
.form-panel .gdpr{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.9rem;color:var(--ink-soft);margin-top:14px}
.form-panel .gdpr input{width:auto}
.form-note{color:var(--ink-soft);font-size:.9rem}
.form-success{background:#E8F6EE;border:1px solid var(--ok);color:#14522F;border-radius:8px;padding:1em 1.2em;font-weight:600}

/* ===== Sticky call bar ===== */
.sticky-bar{position:fixed;left:0;right:0;bottom:0;z-index:70;display:grid;grid-template-columns:1.4fr 1fr;gap:1px;
  background:var(--hairline);transform:translateY(110%);transition:transform .3s cubic-bezier(.22,.8,.35,1)}
.sticky-bar.on{transform:translateY(0)}
.sticky-bar a{display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 8px;font-weight:900;font-size:1.02rem;white-space:nowrap}
.sticky-bar .call{background:var(--signal);color:var(--ink)}
.sticky-bar .book{background:var(--asphalt-2);color:var(--marking)}
@media (min-width:1000px){.sticky-bar{display:none}}
body{padding-bottom:0}
body.has-sticky{padding-bottom:58px}
@media (min-width:1000px){body.has-sticky{padding-bottom:0}}

/* ===== Footer ===== */
.site-footer{border-top:0;margin-top:20px;background:var(--asphalt-2);color:var(--marking)}
.site-footer .top{height:10px;background:var(--chevron);background-size:56px 10px;opacity:.85}
.site-footer .container{padding-block:38px;display:grid;gap:28px}
@media (min-width:900px){.site-footer .container{grid-template-columns:1.2fr 1fr 1fr}}
.site-footer h4{font-size:.85rem;font-family:var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--marking-dim);margin:0 0 12px}
.site-footer a{color:var(--marking)} .site-footer a:hover{color:var(--amber)}
.site-footer .ua-badge{background:transparent;color:var(--amber);border-color:var(--hairline)}
.site-footer .fine{grid-column:1/-1;border-top:1px dashed var(--hairline);padding-top:16px;color:var(--marking-dim);font-size:.85rem;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}

/* ===== Reveal: блоки виплывают знизу (JS ставит .rv-on на html и .rv-in на элемент) ===== */
/* Прячем ТОЛЬКО когда наблюдатель точно запущен — иначе контент виден всегда.
   Без blur и без масштабирования: прошлая версия читалась как «мутняк». */
.rv-on .rv{opacity:0;transform:translate3d(0,56px,0);
  transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);
  transition-delay:calc(var(--i,0) * 110ms)}
.rv-on .rv.rv-in{opacity:1;transform:none}
.no-js .rv,.rv-nojs .rv{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  /* движение убираем, но проявление оставляем — иначе блоки просто «щёлкают» */
  .rv-on .rv{opacity:0;transform:none;transition:opacity .35s linear;transition-delay:0s}
  .rv-on .rv.rv-in{opacity:1}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
}

/* 404 */
.err-page{min-height:55vh;display:grid;place-items:center;text-align:center;padding:60px 0}
.err-page .num{font-size:6rem;font-weight:900;color:var(--signal-deep)}

/* ===== Совместимость шаблонов cenik/rezervace/kontakt/recenze/404 ===== */
.page-hero{padding:clamp(28px,5vw,56px) 0 clamp(18px,3vw,30px);border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(1.9rem,6vw,3.2rem)}
.page-hero .hero-rating{color:var(--muted)}
.gs-form{background:var(--marking);color:var(--ink);border-radius:10px;padding:clamp(20px,4vw,32px);box-shadow:var(--shadow-1);max-width:660px}
.gs-form .field{margin-bottom:14px}
.gs-form label{display:block;font-weight:700;margin-bottom:6px;color:var(--ink)}
.gs-form input,.gs-form select,.gs-form textarea{width:100%;padding:.85em 1em;border:2px solid #D5D8CD;border-radius:8px;font:600 1rem var(--f-sans);color:var(--ink);background:#fff}
.gs-form input:focus,.gs-form select:focus,.gs-form textarea:focus{outline:none;border-color:var(--signal)}
.gs-form .gdpr-field{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--ink-soft)}
.gs-form .gdpr-field input{width:auto;margin-top:3px}
.gs-form .gdpr-field label{font-weight:400;margin:0;color:var(--ink-soft)}
.gs-alert{border-radius:8px;padding:1em 1.2em;font-weight:600;margin:0 0 18px;max-width:660px}
.gs-alert-success{background:#E8F6EE;border:1px solid var(--ok);color:#14522F}
.gs-alert-error{background:#FBEDEA;border:1px solid #C64A32;color:#7C2B1A}
.cenik-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin:8px 0;scrollbar-width:none}
.cenik-chips::-webkit-scrollbar{display:none}
.cenik-chips a,.cenik-chips button{flex:none;border:1.5px solid #C9CCC2;border-radius:999px;padding:.4em 1em;font-weight:600;font-size:.88rem;color:var(--ink-soft);background:#fff;cursor:pointer;text-decoration:none}
.cenik-chips a:hover,.cenik-chips button:hover{border-color:var(--signal);color:var(--signal-ink)}
.cenik-group-items{padding-bottom:8px}
.cenik-item-row{display:flex;align-items:baseline;gap:10px;padding:.6em 0;border-bottom:1px solid #E4E6DC;font-weight:600}
.cenik-item-row:last-child{border-bottom:0}
.cenik-item-row .name{flex:1}
.cenik-item-row .meta{font-size:.82rem;color:var(--ink-soft);font-weight:400}
.cenik-item-row .price{color:var(--signal-ink);font-family:var(--f-mono);white-space:nowrap}
.hours-table{width:100%;max-width:420px;border-collapse:collapse}
.hours-table td{padding:.5em 0;border-bottom:1px dashed var(--line);font-family:var(--f-mono)}
.hours-table td:last-child{text-align:right;color:var(--ink-strong)}
.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}
.btn-block{width:100%}
.error-404 .code{font-family:var(--f-mono);font-size:5.5rem;font-weight:700;color:var(--signal)}

/* ===== QA-фиксы ===== */
:root{--signal-ink:#8A4700} /* контрастный оранж для текстовых ссылок: ≥7:1 на бумаге (AA и для мелкого) */
.entry-content table td:last-child,.price-plaque .price{color:var(--signal-ink)}
/* ценник-тизер лежит на ТЁМНОЙ панели: тёмно-оранжевый давал 2,26:1 — берём янтарь, 8,9:1 */
.leader-row .price{color:var(--amber)}
.cenik-group summary::after,.panel-light .lead b{color:var(--signal-ink)}
.site-footer a{display:inline-block;padding:.28em 0} /* тач-таргеты */
.crumbs a{display:inline-block;padding:.35em 0}
.entry-content strong{color:inherit;font-weight:700} /* никакого оранжевого текста на белом */

/* мобильная шапка: телефон-пиктограмма вместо кнопки, wordmark не переносится */
@media (max-width:999px){
  .header-cta .btn-primary{display:none}
  .header-tel,.header-loc{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:6px;color:var(--signal-deep);background:none;cursor:pointer}
  .header-tel .tel-num{display:none}
}
@media (min-width:1000px){.header-loc{display:none}}

/* старые крошки (gs_breadcrumbs) в дорожный вид */
.gs-breadcrumbs{font-family:var(--f-mono);font-size:.8rem;color:var(--muted);margin:18px 0 0}
.gs-breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.5em;margin:0;padding:0}
.gs-breadcrumbs li{display:flex;gap:.5em;align-items:center}
.gs-breadcrumbs li+li::before{content:"→";color:#C9C6BC}
.gs-breadcrumbs a{color:var(--muted);display:inline-block;padding:.35em 0}
.gs-breadcrumbs a:hover{color:var(--signal-deep)}

/* ===== Фиксы финиш-ревью ===== */
/* мобильная обрезка: grid-детям можно сжиматься, таблицы скроллятся сами */
.svc-grid>*{min-width:0}
.entry-content table{display:block;overflow-x:auto;max-width:100%}
/* тёмный ценник /cenik/: контраст на асфальте */
.cenik-item-row{border-bottom-color:#E7E5DD}
.cenik-item-row .price{color:var(--signal-ink,#B85E00)}
.cenik-item-row .meta{color:var(--muted)}
.cenik-group summary::after{color:var(--signal-deep)}
/* milník: шаги процесса (ol) — км-столбики вдоль осевой */
.entry-content ol{list-style:none;counter-reset:km;margin:0 0 1.4em;padding:0 0 0 6px;position:relative}
.entry-content ol::before{content:"";position:absolute;left:17px;top:8px;bottom:8px;width:2px;
  background:repeating-linear-gradient(to bottom,var(--marking-dim) 0 10px,transparent 10px 20px);opacity:.5}
.entry-content ol li{counter-increment:km;position:relative;padding:.45em 0 .45em 46px;font-weight:600}
.entry-content ol li::before{content:counter(km);position:absolute;left:4px;top:.42em;width:26px;height:26px;
  display:grid;place-items:center;background:var(--asphalt-2);border:1.5px solid var(--signal);border-radius:6px;
  font:700 .82rem var(--f-mono);color:var(--signal)}
/* reveal от видимого 0.6 (по DESIGN) */

/* o-nás и простые страницы: measure + ритм */
.plain-body{}
.plain-body p:first-child{font-size:1.12rem}
.plain-photo{border-radius:10px;overflow:hidden;box-shadow:var(--shadow-1);margin:26px 0}
.plain-photo img{filter:grayscale(.4) contrast(1.05) brightness(.8) sepia(.15)}
/* kontakt/rezervace: двухколоночник на десктопе */
.split-band{display:grid;gap:28px;align-items:start}
@media (min-width:1000px){.split-band{grid-template-columns:1fr 380px}}
.tbl-wrap{overflow-x:auto;border-radius:10px;margin:1.2em 0;box-shadow:var(--shadow-1)}
.tbl-wrap .entry-content table,.tbl-wrap table{display:table;width:100%;margin:0;box-shadow:none}


/* ===== Попап быстрой заявки ===== */
.gs-modal{border:0;border-radius:12px;padding:0;max-width:min(92vw,440px);width:100%;background:var(--marking);color:var(--ink);box-shadow:0 30px 80px -20px rgba(0,0,0,.7)}
.gs-modal::backdrop{background:rgba(10,11,13,.72)}
.gs-modal-form{padding:26px 24px;position:relative;display:grid;gap:6px}
.gs-modal-form h3{color:var(--ink);margin:0 0 2px;font-size:1.3rem}
.gs-modal-note{color:var(--ink-soft);font-size:.9rem;margin:0 0 10px}
.gs-modal-form label{font-weight:700;font-size:.9rem;margin-top:6px}
.gs-modal-form input[type=text],.gs-modal-form input[type=tel],.gs-modal-form select,.gs-modal-form textarea{width:100%;padding:.75em .9em;border:2px solid #D5D8CD;border-radius:8px;font:600 1rem var(--f-sans);color:var(--ink);background:#fff}
.gs-modal-form input:focus,.gs-modal-form select:focus,.gs-modal-form textarea:focus{outline:none;border-color:var(--signal)}
.gs-modal-gdpr{display:flex;gap:9px;align-items:flex-start;font-weight:400 !important;font-size:.82rem !important;color:var(--ink-soft);margin:8px 0 10px}
.gs-modal-gdpr input{margin-top:2px}
.gs-modal-close{position:absolute;top:10px;right:10px;width:38px;height:38px;border:0;background:transparent;color:var(--ink-soft);font-size:1.1rem;cursor:pointer;border-radius:8px}
.gs-modal-close:hover{background:#E5E2DC}
.gs-modal-alt{margin:10px 0 0;text-align:center;font-size:.9rem;color:var(--ink-soft)}
.gs-modal-alt a{color:var(--signal-ink);font-weight:700}
.gs-toast{position:fixed;left:50%;bottom:76px;transform:translateX(-50%);z-index:90;background:#E8F6EE;border:1px solid var(--ok);color:#14522F;font-weight:700;border-radius:10px;padding:.9em 1.4em;box-shadow:var(--shadow-1);max-width:92vw;text-align:center}
@media (min-width:1000px){.gs-toast{bottom:30px}}


/* ===== Услуги: единые фото-карточки группами ===== */
.svc-group-title{margin:34px 0 14px;font-size:1.05rem;font-family:var(--f-mono);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:14px}
.svc-group-title::after{content:"";flex:1;height:1px;background:var(--line)}
.svc-cards{display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.svc-cards{grid-template-columns:repeat(2,1fr);gap:10px}}
.svc-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;color:var(--ink-strong);position:relative;box-shadow:0 2px 10px -6px rgba(27,29,33,.12);transition:border-color .18s ease,transform .24s cubic-bezier(.22,.61,.36,1),box-shadow .24s ease}
@media (hover:hover) and (pointer:fine){
  .svc-card:hover{transform:translateY(-3px);box-shadow:0 16px 32px -20px rgba(27,29,33,.42)}
}
.svc-card-title svg{transition:transform .24s cubic-bezier(.22,.61,.36,1)}
.svc-card:hover .svc-card-title svg{transform:translateX(4px)}
.svc-card::after{content:"";position:absolute;inset:0;background:var(--sweep);transform:translateX(-130%);pointer-events:none}
.svc-card:hover{border-color:var(--signal)}
.svc-card:hover::after,.svc-card:active::after{transform:translateX(130%);transition:transform .6s ease}
.svc-card-img{display:block;aspect-ratio:16/10;overflow:hidden;background:#E9E7E0}
.svc-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.22,.61,.36,1)}
.svc-card:hover .svc-card-img img{transform:scale(1.04)}
.svc-card{min-width:0}
.svc-card-body{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px 16px;flex:1}
.svc-card-title{width:100%;font-weight:700;font-size:1rem;line-height:1.3;min-height:2.6em;display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.svc-card-title svg{margin-top:2px}
.price-chip{margin-top:auto}
.svc-card-desc{font-weight:400;font-size:.875rem;line-height:1.45;color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.svc-card-title svg{color:var(--signal-deep);flex:none}
.price-chip{background:#FFF1DE;color:#8A4700;font:700 .88rem var(--f-mono);padding:.3em .65em;border-radius:6px;white-space:nowrap}
@media (max-width:560px){
  .svc-card-body{padding:10px 12px;gap:6px}
  .svc-card-title{font-size:.9rem}
  .svc-card-desc{font-size:.8rem;-webkit-line-clamp:3}
  .price-chip{font-size:.8rem}
}

/* десктоп: CTA hero в одну строку (переопределение каскада) */
@media (min-width:1000px){
  .hero-photo .hero-cta{flex-wrap:nowrap}
}


/* попап «Kde nás najdete» */
.gs-map-modal{border:0;border-radius:12px;padding:0;max-width:min(92vw,400px);width:100%;background:var(--card);color:var(--ink-strong);box-shadow:0 30px 80px -20px rgba(0,0,0,.55)}
.gs-map-modal::backdrop{background:rgba(10,11,13,.66)}
.gs-map-body{padding:24px 22px;display:grid;gap:10px;position:relative}
.gs-map-body h3{margin:0;font-size:1.2rem}
.gs-map-body .addr{color:var(--muted);margin:0}
.gs-map-body .hours{font-family:var(--f-mono);font-size:.86rem;color:var(--muted);margin:0}
.gs-map-actions{display:grid;gap:9px;margin-top:6px}


/* попапы: джинн-появление из угла кнопки (паттерн BudMat) */
.gs-map-modal[open]{animation:genie-in .45s cubic-bezier(.16,1,.3,1)}
.gs-modal[open]{animation:genie-in .4s cubic-bezier(.16,1,.3,1)}
@keyframes genie-in{
  from{opacity:0;transform:translate(28vw,-38vh) scale(.08)}
  to{opacity:1;transform:none}
}
.gs-map-modal::backdrop,.gs-modal::backdrop{backdrop-filter:blur(6px)}
@media (prefers-reduced-motion:reduce){.gs-map-modal[open],.gs-modal[open]{animation:none}}

/* компактный футер на мобиле */
@media (max-width:899px){
  .site-footer .container{padding-block:26px 18px;gap:20px 18px;grid-template-columns:1fr 1fr}
  .site-footer .container>div:first-child{grid-column:1/-1}
  .site-footer h4{margin:0 0 8px;font-size:.78rem}
  .site-footer p{margin:0 0 .3em;font-size:.92rem}
  .site-footer .nap p{margin:0 0 .35em}
  .site-footer .ua-badge{font-size:.8rem;padding:.4em .9em;margin-top:6px}
  .site-footer .fine{padding-top:12px;font-size:.78rem;gap:6px}
}


/* карта в попапе локации */
.gs-map-frame{border-radius:10px;overflow:hidden;aspect-ratio:4/3;background:#E9E7E0;border:1px solid var(--line)}
.gs-map-frame iframe{width:100%;height:100%;border:0;display:block}

/* компактный мобильный hero: CTA в один ряд, звёзды под адресом */
@media (max-width:999px){
  .hero-cta{flex-wrap:nowrap;gap:10px}
  .hero-cta .btn{flex:1;padding:.9em .7em;font-size:.98rem;white-space:nowrap}
  .hero-cta .btn .tel-num{display:none}
  .hero-meta{gap:8px}
  .hero-meta .meta-capsule{order:1}
  .hero-meta .gbadge{order:2}
}


/* футер: юр-строка с воздухом */
.fine-items{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.fine-sep{width:4px;height:4px;border-radius:50%;background:var(--hairline);flex:none}
.site-footer .fine a{color:var(--amber);text-decoration:underline;text-underline-offset:3px}
@media (max-width:560px){
  .fine-items{flex-direction:column;align-items:flex-start;gap:8px}
  .fine-sep{display:none}
}


/* переключатель языков в футере */
.lang-switch{display:inline-flex;gap:8px}
.lang-switch a{display:inline-block;padding:.32em .8em;border:1px solid var(--hairline);border-radius:6px;
  color:var(--marking);font:700 .8rem var(--f-mono);letter-spacing:.06em;text-decoration:none}
.lang-switch a:hover{border-color:var(--amber);color:var(--amber)}
.lang-switch a.is-on{background:var(--signal);border-color:var(--signal);color:var(--ink)}


/* фиксы 10.08 — мобильные правки Вадима */
.btn svg{width:1.25em;height:1.25em;flex:none}
/* (5) двойной тап не зумит страницу */
a,button{touch-action:manipulation}
html{text-size-adjust:100%;-webkit-text-size-adjust:100%}
/* (1) переключатель языков всегда горизонтальный */
.fine-items .lang-switch{flex-direction:row;display:inline-flex}
@media (max-width:560px){
  .fine-items{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 14px}
  .fine-sep{display:inline-block}
  .fine-items .lang-switch{width:100%;margin-top:4px}
}
/* (4) svc-hero мобильный: плашка строкой, кнопки в один ряд */
@media (max-width:999px){
  .svc-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .svc-actions .price-plaque{grid-column:1/-1;justify-content:center}
  .svc-actions .btn{white-space:nowrap;padding:.85em .4em;font-size:.88rem;min-width:0}
}
/* (6) в финальном CTA кнопкам можно переноситься на вторую строку */
.final-cta .hero-cta{flex-wrap:wrap}
.final-cta .hero-cta .btn{flex:0 1 auto}


/* кнопки маршрутов: один ряд с логотипами */
.route-actions{flex-direction:row;gap:10px;width:100%}
.btn-nav{flex:1;white-space:nowrap;padding:.85em .6em;font-size:.95rem}
.gs-map-actions{grid-template-columns:1fr 1fr}
.gs-map-actions .btn-nav{font-size:.9rem;padding:.8em .4em}


/* 611-щиток в строку с адресом */
.route-info{display:grid;grid-template-columns:auto 1fr;column-gap:18px;row-gap:14px;align-items:center}
.route-info .shield{width:92px;height:68px;font-size:1.5rem;border-width:2.5px}
.route-info .shield small{bottom:6px;font-size:.52rem}
.route-info .nap{min-width:0}
.route-info .route-actions{grid-column:1/-1}
@media (max-width:560px){
  .route-info{column-gap:14px}
  .route-info .shield{width:78px;height:58px;font-size:1.25rem}
  .nap .line b{font-size:.95rem}
}

/* переключатель языков — в строку с privacy, вправо */
.site-footer .fine{align-items:center}
.fine-items{flex:1}
.fine-items .lang-switch{width:auto;margin:0 0 0 auto}
@media (max-width:560px){
  .fine-items{flex-direction:row;flex-wrap:wrap;align-items:center}
  .fine-items .lang-switch{width:auto;margin-left:auto;margin-top:0}
}


/* юр-строки футера: две ровные строки */
.site-footer .fine{display:grid;gap:10px}
.fine-row{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap}
.fine-row .lang-switch{margin-left:auto}


/* подсказка над кнопками маршрутов */
.route-hint{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.gs-map-body .route-hint{margin:4px 0 0;color:var(--ink-soft)}

/* компактная страница контактов */
.kontakt-grid{display:grid;gap:26px;align-items:start}
@media (min-width:1000px){.kontakt-grid{grid-template-columns:1fr 1.1fr;gap:44px}}
.kontakt-info{display:flex;flex-direction:column;gap:20px}
.contact-actions{display:flex;gap:10px}
.contact-actions .btn{flex:1;white-space:nowrap;padding:.9em .6em;font-size:.95rem}
.kontakt-note{margin:0;color:var(--muted);font-size:.95rem;}
.kontakt-grid .route-map{min-height:320px;align-self:stretch;position:relative}
.kontakt-grid .route-map iframe{position:absolute;inset:0;width:100%;height:100%}
@media (max-width:999px){
  .kontakt-grid .route-map{margin-inline:calc(50% - 50vw);border-radius:0;border-left:0;border-right:0;aspect-ratio:auto;height:440px;min-height:0}
  .kontakt-grid .route-map .map-card{display:grid}
}

/* ===== Стратегія на пів року (внутрішня сторінка) ===== */
.strat-intro{font-size:1.06rem;line-height:1.65;color:var(--muted)}
.strat-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;}
@media (max-width:899px){.strat-kpis{grid-template-columns:1fr}}
.strat-kpi{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 16px;display:grid;gap:8px;align-content:start}
.strat-kpi b{font:900 1.6rem/1 var(--f-mono);color:var(--ink-strong);letter-spacing:-.02em}
.strat-kpi.accent{border-color:var(--signal);box-shadow:0 10px 26px -16px rgba(242,138,29,.55)}
.strat-kpi.accent b{color:var(--signal-ink,#8A4700)}
.strat-kpi span{font-size:.9rem;line-height:1.5;color:var(--muted)}
.strat-rules{display:grid;gap:12px;}
.strat-rule{display:flex;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px;line-height:1.55}
.strat-rule .num{flex:0 0 auto;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--asphalt-2);color:var(--marking);font:700 1rem var(--f-mono)}
.strat-groups{display:grid;gap:16px;grid-template-columns:1fr 1fr}
@media (max-width:899px){.strat-groups{grid-template-columns:1fr}}
.strat-group{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px;border-top:3px solid var(--line)}
.strat-group.is-p0{border-top-color:var(--signal)}
.strat-group.is-p1{border-top-color:#9AA0A6}
.strat-group header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.strat-group header .pikto{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--paper);border:1px solid var(--line);color:var(--signal-ink,#8A4700)}
.strat-group h3{margin:0;font-size:1.08rem;flex:1 1 12em}
.strat-tag{font:700 .72rem var(--f-mono);letter-spacing:.08em;text-transform:uppercase;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:.35em .9em;color:var(--muted);white-space:nowrap}
.strat-group .lead{color:var(--muted);line-height:1.55;margin:0 0 10px}
.strat-group ul{margin:0;padding-left:1.1em;display:grid;gap:6px;line-height:1.5}
.strat-group li{color:var(--ink-soft,#3A3D42)}
.strat-group li b{color:var(--ink-strong)}
.strat-group .strat-sub{margin:8px 0 2px;padding-left:.95em;gap:5px;list-style:none}
.strat-group .strat-sub li{position:relative;padding-left:.85em;font-size:.94rem;color:var(--muted)}
.strat-group .strat-sub li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:1px;background:var(--signal)}
.strat-group .strat-sub li b{color:var(--ink-soft)}
.strat-who{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:768px){.strat-who{grid-template-columns:1fr}}
.strat-who-col{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px}
.strat-who-col:first-child{border-top:3px solid var(--signal)}
.strat-who-col:last-child{border-top:3px solid var(--asphalt-2)}
.strat-who-col h3{margin:0 0 12px}
.strat-who-col ul{margin:0;padding-left:1.1em;display:grid;gap:7px;line-height:1.5}
.strat-who-note{margin:14px 0 0;font:700 .82rem var(--f-mono);letter-spacing:.05em;color:var(--muted);text-transform:uppercase}
.strat-timeline{display:grid;gap:0;position:relative}
.strat-mile{display:flex;gap:16px;padding:16px 0;border-bottom:1px dashed var(--line);line-height:1.55}
.strat-mile:last-child{border-bottom:none}
.strat-mile .shield-mini{flex:0 0 auto;display:grid;place-items:center;width:52px;height:44px;border:2.5px solid var(--asphalt-2);border-radius:10px;background:var(--asphalt-2);color:var(--marking);font:900 1.05rem var(--f-mono)}
.strat-mile.is-peak .shield-mini{background:var(--signal);border-color:var(--signal);color:#1B1D21}
.strat-mile div{color:var(--ink-soft,#3A3D42)}
.strat-decisions{margin:0;padding-left:1.3em;display:grid;gap:10px;line-height:1.55}

/* Блок правил и блок процесса — «как мы работаем» */
.rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
@media (max-width:760px){.rules-grid{grid-template-columns:1fr}}
.rule-card{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--signal);
  border-radius:12px;padding:20px 22px}
.rule-card b{display:block;font-size:1.05rem;line-height:1.3;margin-bottom:8px;color:var(--ink-strong)}
.rule-card p{margin:0;line-height:1.55;color:var(--ink-soft);font-size:.95rem}
.flow-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin-top:18px}
.flow-step{display:flex;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 20px}
.flow-n{flex:0 0 auto;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;
  background:var(--asphalt-2);color:var(--marking);font:700 1rem var(--f-mono)}
.flow-step b{display:block;margin-bottom:6px;color:var(--ink-strong)}
.flow-step p{margin:0;line-height:1.5;color:var(--ink-soft);font-size:.93rem}

/* Кнопка «Ситуація сайту» в шапке — отдельно от меню и от CTA */
.header-audit{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;
  border:1px solid var(--signal);border-radius:8px;background:#FFF6EA;
  color:var(--signal-ink,#8A4700)!important;font-weight:700;font-size:.88rem;white-space:nowrap;
  transition:background .18s ease,border-color .18s ease}
.header-audit svg{color:var(--signal-deep);flex:none}
.header-audit:hover{background:#FFEBD2;border-color:var(--signal-deep);color:var(--signal-deep)!important}
@media (max-width:1099px){.header-audit{display:none}}
.mm-audit{font-weight:600}
@media (min-width:1100px){.site-header .container{max-width:1360px}}

/* ===== «Ситуація сайту» — переписана 12.08 под простого читателя ===== */
.sit-hero h1{}
.sit-lead{font-size:1.12rem;line-height:1.55;margin:14px 0 0;color:var(--ink-strong)}
.sit-who{color:var(--muted);margin:12px 0 0;font-size:.95rem;line-height:1.55}
.sit-check{margin:18px 0 0;padding:14px 18px;background:var(--card);border:1px solid var(--line);
  border-left:3px solid var(--signal);line-height:1.6}
.sit-sub{color:var(--muted);margin:0 0 18px;line-height:1.55}
.sit-h3{margin:30px 0 12px;font-size:1.12rem}
.sit-note{margin:16px 0 0;padding:13px 18px;background:#FFF6EA;border-left:3px solid var(--signal);
  line-height:1.6;}
.sit-src{margin:10px 0 0;font:400 .82rem var(--f-mono);color:var(--faint,#8A8D85)}

/* три действия */
.strat-rule p{margin:8px 0 0;line-height:1.55;color:var(--ink-soft)}
.strat-rule > div > b{font-size:1.05rem}
.sit-how{color:var(--ink-soft)}
.sit-warn{color:var(--muted);font-size:.94rem;border-left:2px solid var(--line);padding-left:12px}
.sit-good{color:#1F7A55;font-size:.94rem}

/* светофор */
.sit-status{display:grid;gap:10px}
.sit-row{display:grid;grid-template-columns:190px 1fr 190px;gap:16px;align-items:center;
  background:var(--card);border:1px solid var(--line);border-left:4px solid var(--line);
  border-radius:10px;padding:16px 18px}
.sit-row.is-bad{border-left-color:#D14343}
.sit-row.is-warn{border-left-color:var(--signal)}
.sit-row-name{font-weight:700}
.sit-row-text{color:var(--ink-soft);line-height:1.5;font-size:.95rem}
.sit-row-tag{text-align:right;font:700 .78rem var(--f-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.sit-row.is-bad .sit-row-tag{color:#B33030}
.sit-row.is-warn .sit-row-tag{color:#8A4700}
@media (max-width:899px){
  .sit-row{grid-template-columns:1fr;gap:6px}
  .sit-row-tag{text-align:left}
}

/* домен */
.sit-domain{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px 22px;}
.sit-domain p{margin:0 0 12px;line-height:1.6}
.sit-domain p:last-child{margin-bottom:0}
.sit-copy{margin-top:14px;border:1px dashed var(--signal);border-radius:12px;overflow:hidden;}
.sit-copy-head{background:#FFF6EA;padding:10px 18px;font-weight:700;font-size:.9rem;color:#8A4700}
.sit-copy-body{padding:16px 18px;line-height:1.65;background:var(--card);font-size:.96rem}

/* кто что делает */
.sit-who-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.sit-who-col{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--line);
  border-radius:12px;padding:18px 20px}
.sit-who-col.is-you{border-top-color:var(--ok)}
.sit-who-col.is-third{border-top-color:#9AA0A6}
.sit-who-col.is-us{border-top-color:var(--signal)}
.sit-who-col h3{margin:0 0 10px;font-size:1.05rem}
.sit-who-col p{margin:0 0 8px;line-height:1.5;color:var(--ink-soft);font-size:.95rem}
.sit-who-time{color:var(--muted)!important;font-size:.9rem!important}

/* полоски спроса */
.sit-bars{display:grid;gap:12px}
.sit-bar-pair{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:grid;gap:8px}
.sit-bar-title{font-weight:700}
.sit-bar{position:relative;padding:7px 0 0}
.sit-bar-line{height:8px;border-radius:4px;background:var(--marking-dim);min-width:6px}
.sit-bar.is-new .sit-bar-line,.sit-bars > .sit-bar .sit-bar-line{background:var(--signal)}
.sit-bar.is-old .sit-bar-line{background:var(--marking-dim)}
.sit-bar-label{margin-top:6px;font-size:.9rem;line-height:1.45;color:var(--ink-soft)}
.sit-bar-label .mono{font-size:.85rem;color:var(--ink-strong)}
.sit-geo{color:var(--muted);font-size:.82rem}
.sit-ask{display:inline-block;margin-left:6px;font:700 .68rem/1.6 var(--f-mono);letter-spacing:.04em;
  text-transform:uppercase;padding:1px 8px;border-radius:4px;background:#FFF1DE;color:#8A4700}
.sit-bars > .sit-bar{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 16px}

/* часы */
.sit-hours{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media (max-width:699px){.sit-hours{grid-template-columns:1fr}}
.sit-hours-main,.sit-hours-rest{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px 22px}
.sit-hours-main{border-top:3px solid var(--ok)}
.sit-hours-rest{border-top:3px solid var(--line)}
.sit-hours-num{font:900 2rem/1 var(--f-mono);letter-spacing:-.02em;color:var(--ink-strong)}
.sit-hours-main .sit-hours-num{color:#1F7A55}
.sit-hours-cap{margin-top:8px;color:var(--muted);line-height:1.5;font-size:.95rem}

/* раскрытия */
.sit-more{margin:14px 0 0;border-top:1px solid var(--line);}
.sit-more summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;
  gap:14px;padding:14px 0;font-weight:700;color:var(--signal-ink,#8A4700)}
.sit-more summary::-webkit-details-marker{display:none}
.sit-more summary::after{content:"+";font-family:var(--f-mono);font-size:1.3rem;color:var(--signal-deep);transition:transform .18s ease}
.sit-more[open] summary::after{transform:rotate(45deg)}
.sit-more > div{padding:0 0 16px;line-height:1.6;color:var(--ink-soft)}
.sit-more > div p{margin:0 0 10px}

/* «зберіть в один файл» */
.sit-collect{margin-top:18px;border:1px solid var(--signal);border-radius:12px;overflow:hidden}
.sit-collect-head{background:#FFF6EA;padding:12px 20px;font-weight:700;color:#8A4700}
.sit-collect-body{padding:16px 20px;background:var(--card);line-height:1.6}
.sit-collect-body p{margin:0 0 10px}
.sit-collect-body ul{margin:0 0 10px;padding-left:1.2em;display:grid;gap:8px}
.sit-collect-body li{color:var(--ink-soft)}
.sit-collect-body p:last-child{margin-bottom:0;color:var(--muted);font-size:.94rem}

/* итог */
.sit-sum{margin:0;padding-left:1.2em;display:grid;gap:10px;line-height:1.55}
.sit-print{margin-top:8px}

@media print{
  .site-header,.site-footer,.sticky-bar,.sit-print{display:none!important}
  .sit-more > div{display:block!important}
  .sit-more summary::after{display:none}
  .section{padding:12px 0!important}
}
.strat-group.is-p2{border-top-color:#D3D6DA}
.strat-note{color:var(--muted);margin:0 0 16px;line-height:1.55}
.strat-effort{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow-x:auto}
.strat-effort table{width:100%;border-collapse:collapse;min-width:640px}
.strat-effort th{text-align:left;font:700 .78rem/1.4 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted);padding:12px 16px;border-bottom:1px solid var(--line);background:var(--paper)}
.strat-effort td{padding:12px 16px;border-bottom:1px solid var(--line);line-height:1.45;font-size:.94rem;color:var(--ink-soft)}
.strat-effort tr:last-child td{border-bottom:none}
.strat-effort td:last-child{white-space:nowrap;text-align:right;font-family:var(--f-mono);color:var(--ink-strong)}
.strat-effort td:nth-child(3){white-space:nowrap;color:var(--muted)}
@media (max-width:899px){
  .strat-effort{border:none;background:none;overflow:visible;border-radius:0}
  .strat-effort table{min-width:0;display:block}
  .strat-effort thead{display:none}
  .strat-effort tbody{display:grid;gap:10px}
  .strat-effort tr{display:grid;grid-template-columns:1fr auto;gap:2px 12px;background:var(--card);
    border:1px solid var(--line);border-radius:10px;padding:12px 14px}
  .strat-effort td{border:none!important;padding:0;white-space:normal}
  .strat-effort td:nth-child(1){grid-column:1;grid-row:1;font-size:1rem;color:var(--ink-strong)}
  .strat-effort td:nth-child(4){grid-column:2;grid-row:1;text-align:right;font-size:1rem;white-space:nowrap}
  .strat-effort td:nth-child(2){grid-column:1/-1;grid-row:2;color:var(--muted);font-size:.9rem;margin-top:4px}
  .strat-effort td:nth-child(3){grid-column:1/-1;grid-row:3;font-family:var(--f-mono);font-size:.78rem;
    letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-top:6px}
}
.strat-total{margin:16px 0 0;padding:14px 18px;background:#FFF6EA;border-left:3px solid var(--signal);
  border-radius:0 8px 8px 0;line-height:1.6;}
.strat-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
@media (max-width:899px){.strat-split{grid-template-columns:1fr}}
.strat-col{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 22px;border-top:3px solid var(--line)}
.strat-col.is-self{border-top-color:var(--ok)}
.strat-col.is-deleg{border-top-color:var(--signal)}
.strat-col h3{margin:0 0 12px;font-size:1.05rem}
.strat-col ul{margin:0;padding-left:1.1em;display:grid;gap:8px;line-height:1.5}
.strat-col li{color:var(--ink-soft)}
.strat-col li b{color:var(--ink-strong)}
.strat-col li{line-height:1.5}
.chk-ok,.chk-later,.chk-note{display:inline-block;font:700 .68rem/1.6 var(--f-mono);letter-spacing:.05em;
  text-transform:uppercase;padding:1px 7px;border-radius:4px;vertical-align:1px;white-space:nowrap}
.chk-ok{background:#E6F6F1;color:#1F7A55}
.chk-later{background:#FFF1DE;color:#8A4700}
.chk-note{background:#EEF1F5;color:#5C6270}

.strat-anti{background:var(--asphalt-2);color:var(--marking);border-radius:16px;padding:28px 30px;}
.strat-anti h2{color:var(--marking);font-size:1.3rem;margin-bottom:14px}
.strat-anti ul{margin:0;padding-left:1.1em;display:grid;gap:9px;line-height:1.55}
.strat-anti li{color:#C9CCD1}
.strat-anti li b{color:var(--marking)}
/* кнопка в футере */
.footer-strategy{display:inline-flex;align-items:center;gap:8px;margin-top:14px;border:1px solid rgba(255,255,255,.28);border-radius:10px;padding:.55em 1em;font:700 .85rem var(--f-mono);letter-spacing:.04em;color:var(--marking)}
.footer-strategy:hover{border-color:var(--amber);color:var(--amber)}

/* v1.24.0 — фото, завантажені власником (можуть бути вертикальні з телефона): фіксуємо кадр 3:2 */
.svc-hero-photo img,.plain-photo img,.team-band .photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
