/* =========================================================================
   ГЛАВНАЯ — новый первый экран (светлый): карусель «Ремонт / акции
   автосервиса» и блок запчастей. Все классы с префиксом lp-, чтобы не
   пересекаться со старыми стилями сайта. Разметка — views/home.js,
   карусель — js/hero-carousel.js.
   ========================================================================= */
.lp-hero, .lp-parts {
  --lp-navy: #0f1b2d;
  --lp-blue: #0a55d6;
  --lp-blue-dark: #0846b0;
  --lp-green: #0b9a3e;
  --lp-green-dark: #08812f;
  --lp-muted: #4a6385;
  --lp-line: #dbe3ee;
  --lp-display: 'Fira Sans Extra Condensed', 'Oswald', 'Arial Narrow', Impact, sans-serif;
  --lp-body: 'Inter', 'IBM Plex Sans', system-ui, 'Segoe UI', Arial, sans-serif;
  font-family: var(--lp-body);
  color: var(--lp-navy);
  line-height: 1.45;
}
.lp-hero svg, .lp-parts svg { width: 1em; height: 1em; flex: none; vertical-align: 0; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.lp-hero *, .lp-parts * { box-sizing: border-box; }
.lp-wrap { max-width: 1324px; margin: 0 auto; padding: 0 24px; }

.lp-hero h1, .lp-hero h2, .lp-hero p.lp-title, .lp-parts h2 { font-family: var(--lp-display); font-weight: 800; text-transform: uppercase; line-height: 1; letter-spacing: .3px; color: var(--lp-navy); margin: 20px 0 22px; }
.lp-hero em, .lp-parts em { font-style: normal; color: var(--lp-blue); }
.lp-parts em { color: var(--lp-green); }
.lp-hero .lp-title { font-size: clamp(38px, 3.5vw, 56px); max-width: 760px; }
.lp-hero h1.lp-title { font-size: clamp(40px, 3.9vw, 62px); max-width: 760px; }
.lp-eyebrow { display: flex; align-items: center; gap: 14px; font: 700 12px/1.4 var(--lp-body); letter-spacing: 3px; text-transform: uppercase; color: var(--lp-blue); }
.lp-eyebrow::before { content: ''; width: 24px; height: 2px; background: currentColor; flex: none; }
.lp-eyebrow.is-green { color: var(--lp-green); }
.lp-lead { color: var(--lp-muted); font-size: 17px; max-width: 460px; margin: 0; }

.lp-btn { display: inline-flex; align-items: center; gap: 12px; font: 600 15px/1 var(--lp-body); padding: 0 22px; height: 46px; border-radius: 4px; border: 1px solid transparent; cursor: pointer; text-decoration: none; transition: background .15s, transform .15s, border-color .15s; }
.lp-btn svg { font-size: 19px; }
.lp-btn:hover { transform: translateY(-1px); }
.lp-btn-blue { background: var(--lp-blue); color: #fff; }
.lp-btn-blue:hover { background: var(--lp-blue-dark); }
.lp-btn-green { background: var(--lp-green); color: #fff; }
.lp-btn-green:hover { background: var(--lp-green-dark); }
.lp-btn-ghost { background: #fff; color: var(--lp-navy); border-color: #8b9bb0; }
.lp-btn-ghost:hover { border-color: var(--lp-navy); }
.lp-btn-lg { height: 62px; padding: 0 28px; font-size: 16px; gap: 18px; }
.lp-btn-lg .lp-chev { margin-left: 18px; }

/* --- первый экран --- */
.lp-hero { position: relative; overflow: hidden; background: linear-gradient(180deg, #e9f1fb, #f2f6fb); min-height: 518px; }
.lp-visuals { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.lp-slide { opacity: 0; visibility: hidden; transition: opacity .7s ease, visibility .7s; }
.lp-slide.is-active { opacity: 1; visibility: visible; }
.lp-copies { display: grid; }
.lp-copy { grid-area: 1 / 1; }
.lp-photo, .lp-promo { position: absolute; top: 0; right: 0; bottom: 0; aspect-ratio: 996 / 520; }
.lp-photo img { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: right bottom; display: block;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 14%); mask-image: linear-gradient(90deg, transparent 0, #000 14%); }
.lp-hero .lp-wrap { position: relative; z-index: 2; padding-top: 48px; padding-bottom: 36px; }
.lp-cta { margin: 34px 0 38px; }

/* слайд-акция вместо машин */
.lp-promo { container-type: size; overflow: hidden; }
.lp-promo::before { content: ''; position: absolute; inset: 0; opacity: .55;
  background: repeating-linear-gradient(0deg, transparent 0 39px, rgba(10,85,214,.07) 39px 40px), repeating-linear-gradient(90deg, transparent 0 39px, rgba(10,85,214,.07) 39px 40px);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 30%); mask-image: linear-gradient(90deg, transparent 0, #000 30%); }
.lp-promo-shape { position: absolute; left: 60%; top: 0; width: 26%; height: 58%; background: #3f7be4; opacity: .55; clip-path: polygon(30% 0, 100% 0, 70% 100%, 0 100%); }
.lp-promo-stripe { position: absolute; right: 5%; bottom: 9%; width: 10%; height: 38%; background: #bcd2f6; opacity: .8; clip-path: polygon(40% 0, 100% 0, 60% 100%, 0 100%); }
/* «купон» акции: крупная выгода слева, корешок с иллюстрацией справа,
   под ним вторая карточка, вокруг — плавающие значки и шестерёнки */
.lp-hero .lp-gear { position: absolute; fill: none; stroke: rgba(10,85,214,.16); stroke-width: 2; }
.lp-hero .lp-gear--big { width: 78cqh; height: 78cqh; right: -12cqh; top: -16cqh; }
.lp-hero .lp-gear--small { width: 44cqh; height: 44cqh; left: 30%; bottom: -14cqh; stroke: rgba(10,85,214,.12); }
.lp-ticket, .lp-ticket-back { position: absolute; left: 58%; top: 52%; width: 110cqh; height: 66cqh; }
.lp-ticket { transform: translate(-50%, -50%) rotate(-5deg); }
.lp-ticket::before { content: ''; position: absolute; inset: 1.5cqh 1cqh 0; border-radius: 2.6cqh; box-shadow: 0 3cqh 4cqh rgba(10,50,140,.3); }
.lp-ticket-back { transform: translate(-46%, -44%) rotate(4deg); border-radius: 2.6cqh; background: linear-gradient(135deg, #2f7bff, #0a55d6 55%, #07379a); opacity: .92; box-shadow: 0 3cqh 5cqh rgba(10,60,160,.3); }
.lp-ticket-body { position: relative; display: flex; width: 100%; height: 100%; border-radius: 2.6cqh; overflow: hidden; background: #fff;
  -webkit-mask-image: radial-gradient(circle at 68% 0, transparent 2.6cqh, #000 calc(2.6cqh + 1px)), radial-gradient(circle at 68% 100%, transparent 2.6cqh, #000 calc(2.6cqh + 1px));
  -webkit-mask-composite: source-in;
  mask-image: radial-gradient(circle at 68% 0, transparent 2.6cqh, #000 calc(2.6cqh + 1px)), radial-gradient(circle at 68% 100%, transparent 2.6cqh, #000 calc(2.6cqh + 1px));
  mask-composite: intersect; }
.lp-ticket-main { flex: 0 0 68%; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 1.2cqh; padding: 3cqh 4.2cqh; }
.lp-ticket-tag { display: inline-flex; align-items: center; gap: .9cqh; font: 700 clamp(10px, 2.6cqh, 14px)/1 var(--lp-body); letter-spacing: .16em; text-transform: uppercase; color: var(--lp-blue); }
.lp-ticket-tag::before { content: ''; width: 1.4cqh; height: 1.4cqh; border-radius: 50%; background: var(--lp-green); }
.lp-ticket-value { font: 800 clamp(44px, 23cqh, 130px)/.9 var(--lp-display); letter-spacing: .5px; background: linear-gradient(180deg, #2f7bff, #0846b0); -webkit-background-clip: text; background-clip: text; color: transparent; }
.lp-ticket-value.is-long { font-size: clamp(28px, 13cqh, 72px); line-height: 1.05; }
.lp-hero .lp-ticket-value.is-icon svg { width: 22cqh; height: 22cqh; stroke: var(--lp-blue); stroke-width: 1.4; }
.lp-ticket-sub { font: 700 clamp(12px, 4cqh, 22px)/1 var(--lp-body); letter-spacing: .24em; text-transform: uppercase; color: var(--lp-navy); }
.lp-ticket-bars { display: block; width: 62%; height: 3.4cqh; margin-top: 1.6cqh; opacity: .5;
  background: repeating-linear-gradient(90deg, var(--lp-navy) 0 2px, transparent 2px 5px, var(--lp-navy) 5px 6px, transparent 6px 10px, var(--lp-navy) 10px 13px, transparent 13px 16px); }
.lp-ticket-stub { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2cqh; color: #fff; border-left: .4cqh dashed rgba(255,255,255,.65);
  background: linear-gradient(160deg, #2f7bff, #0a55d6 55%, #07379a); }
.lp-hero .lp-ticket-stub svg { width: 15cqh; height: 15cqh; stroke-width: 1.4; }
.lp-ticket-stub small { font: 700 clamp(9px, 2.4cqh, 13px)/1 var(--lp-body); letter-spacing: .2em; text-transform: uppercase; opacity: .85; }
.lp-chip { position: absolute; width: 9.5cqh; height: 9.5cqh; border-radius: 50%; display: grid; place-items: center; color: var(--lp-blue); background: rgba(255,255,255,.88);
  box-shadow: 0 1.6cqh 3cqh rgba(10,60,160,.22), inset 0 0 0 1px rgba(255,255,255,.9); animation: lp-float 5s ease-in-out infinite; }
.lp-hero .lp-chip svg { width: 4.6cqh; height: 4.6cqh; }
.lp-chip--1 { left: 47%; top: 9%; }
.lp-chip--2 { left: 87%; top: 72%; animation-delay: -1.7s; }
.lp-chip--3 { left: 55%; top: 86%; animation-delay: -3.2s; }
@keyframes lp-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-1.8cqh); } }
@keyframes lp-pop { from { opacity: 0; transform: translate(-38%, -50%) rotate(-12deg) scale(.94); } to { opacity: 1; transform: translate(-50%, -50%) rotate(-5deg); } }
@keyframes lp-pop-back { from { opacity: 0; transform: translate(-40%, -44%) rotate(0deg); } to { opacity: .92; transform: translate(-46%, -44%) rotate(4deg); } }
.lp-slide.is-active .lp-ticket { animation: lp-pop .9s cubic-bezier(.16, 1, .3, 1) backwards; }
.lp-slide.is-active .lp-ticket-back { animation: lp-pop-back 1s cubic-bezier(.16, 1, .3, 1) .08s backwards; }
@media (prefers-reduced-motion: reduce) { .lp-chip, .lp-slide.is-active .lp-ticket, .lp-slide.is-active .lp-ticket-back { animation: none; } }

/* показатели */
.lp-stats { display: flex; gap: 0; }
.lp-stat { display: flex; align-items: center; gap: 14px; padding-right: 36px; margin-right: 36px; border-right: 1px solid var(--lp-line); }
.lp-stat:last-child { border: 0; margin: 0; padding: 0; }
.lp-stat svg { font-size: 36px; color: var(--lp-blue); }
.lp-stat strong { display: block; font: 700 20px/1.2 var(--lp-body); }
.lp-stat div > span { font-size: 13px; color: var(--lp-muted); }

/* точки */
.lp-dots { position: absolute; right: 24px; bottom: 18px; z-index: 3; display: flex; gap: 14px; }
.lp-dots button { position: relative; width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: #c3cddb; cursor: pointer; transition: background .2s, transform .2s; }
.lp-dots button::after { content: ''; position: absolute; inset: -9px; }
.lp-dots button:hover { background: #8fa6c8; }
.lp-dots button.is-active { background: var(--lp-blue); transform: scale(1.25); }

/* --- запчасти --- */
/* Фон всего блока — стеллажи склада, едва заметные. Настоящее фото положите
   в images/warehouse.jpg: оно ляжет поверх рисованных стеллажей. */
.lp-parts { position: relative; overflow: hidden; background: linear-gradient(180deg, #f4faf6, #fff 70%); }
.lp-parts::before { content: ''; position: absolute; inset: 0; z-index: 0; opacity: .3; pointer-events: none;
  background: url('../images/warehouse.jpg') center / cover no-repeat, url('../images/warehouse-shelves.svg') center / cover no-repeat; }
.lp-parts::after { content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: linear-gradient(90deg, rgba(244,250,246,.94) 0, rgba(244,250,246,.7) 38%, rgba(244,250,246,0) 70%); }
.lp-facts { backdrop-filter: blur(6px); background: rgba(255,255,255,.78) !important; box-shadow: 0 8px 24px -12px rgba(11,154,62,.25), inset 0 0 0 1px rgba(11,154,62,.12); }
.lp-parts .lp-fact svg { color: var(--lp-green); }

/* акция под постоянным заголовком: плашка с названием и текстом */
.lp-note { max-width: 680px; padding-left: 14px; border-left: 3px solid var(--lp-blue); }
.lp-note.is-parts { border-left-color: var(--lp-green); }
.lp-note-tag { display: inline-block; font: 700 11px/1 var(--lp-body); letter-spacing: .16em; text-transform: uppercase; color: var(--lp-blue); }
.lp-note.is-parts .lp-note-tag { color: var(--lp-green); }
.lp-note-tag { margin-right: 10px; vertical-align: .35em; }
.lp-note-title { display: inline; margin: 0; font: 800 clamp(18px, calc(var(--a, 800px) * .03), 25px)/1.05 var(--lp-display); text-transform: uppercase; letter-spacing: .3px; color: var(--lp-navy); }
.lp-note-text { margin: 5px 0 0; color: var(--lp-muted); font-size: clamp(13px, calc(var(--a, 800px) * .019), 15px); line-height: 1.4;
  display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }

/* слайд-акция на запчасти — зелёный */
.lp-promo.is-parts .lp-promo-shape { background: #2fb36a; }
.lp-promo.is-parts .lp-promo-stripe { background: #bfe8cf; }
.lp-hero .lp-promo.is-parts .lp-gear { stroke: rgba(11,154,62,.18); }
.lp-promo.is-parts::before { background: repeating-linear-gradient(0deg, transparent 0 39px, rgba(11,154,62,.08) 39px 40px), repeating-linear-gradient(90deg, transparent 0 39px, rgba(11,154,62,.08) 39px 40px); }
.lp-promo.is-parts .lp-ticket-back, .lp-promo.is-parts .lp-ticket-stub { background: linear-gradient(160deg, #35c274, #0b9a3e 55%, #07712c); }
.lp-promo.is-parts .lp-ticket-tag { color: var(--lp-green); }
.lp-promo.is-parts .lp-ticket-tag::before { background: var(--lp-blue); }
.lp-promo.is-parts .lp-ticket-value { background-image: linear-gradient(180deg, #35c274, #07712c); }
.lp-hero .lp-promo.is-parts .lp-ticket-value.is-icon svg { stroke: var(--lp-green); }
.lp-promo.is-parts .lp-chip { color: var(--lp-green); }
.lp-parts .lp-wrap { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 20px 40px; padding-top: 38px; padding-bottom: 54px; }
.lp-parts-copy { grid-row: 1 / 3; }
.lp-parts h2 { font-size: clamp(34px, 3.4vw, 52px); margin: 18px 0 20px; }
.lp-parts .lp-lead { max-width: 440px; font-size: 16px; }
.lp-parts-cta { display: flex; gap: 16px; margin-top: 30px; flex-wrap: wrap; }
.lp-parts-cta .lp-btn { height: 52px; }
.lp-facts { display: grid; grid-template-columns: repeat(3, auto); justify-content: space-between; align-items: center; gap: 12px; background: linear-gradient(90deg, #f1f6fc, #f7fafd); border-radius: 6px; padding: 18px 28px; }
.lp-fact { display: flex; align-items: center; gap: 14px; }
.lp-fact + .lp-fact { border-left: 1px solid var(--lp-line); padding-left: 26px; }
.lp-fact svg { font-size: 36px; color: var(--lp-navy); }
.lp-fact strong { display: block; font: 700 19px/1.3 var(--lp-body); }
.lp-fact div > span { font-size: 12.5px; color: var(--lp-muted); }
.lp-parts-spacer { min-height: 227px; }
.lp-parts-img { position: absolute; right: 0; bottom: 0; z-index: 1; width: min(936px, 64%); aspect-ratio: 936 / 227; pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 16%); mask-image: linear-gradient(90deg, transparent 0, #000 16%); }
.lp-parts-img img { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: right bottom; display: block; }

@media (prefers-reduced-motion: reduce) { .lp-slide, .lp-dots button, .lp-btn { transition: none; } }

/* --- оба блока помещаются в первый экран монитора ---------------------
   --a — высота окна без шапки (шапку меряет home.js и кладёт в --lp-head).
   Размеры шрифтов, отступов и картинки заданы долями --a с потолком на
   прежнем размере: на невысоком окне всё сжимается, на высоком — остаётся
   как в макете, а лишнюю высоту забирает первый экран. */
.lp-fold { --a: max(520px, calc(100vh - var(--lp-head, 126px))); }
@supports (height: 100svh) { .lp-fold { --a: max(520px, calc(100svh - var(--lp-head, 126px))); } }
.lp-hero em { display: block; }

@media (min-width: 861px) {
  .lp-fold { display: flex; flex-direction: column; min-height: var(--a); }
  .lp-hero { flex: 1 1 auto; min-height: 0; display: flex; align-items: center; }
  .lp-hero .lp-wrap { width: 100%; padding-top: clamp(16px, calc(var(--a) * .05), 48px); padding-bottom: clamp(18px, calc(var(--a) * .04), 40px); }
  .lp-photo, .lp-promo { max-width: 66%; }
  .lp-hero h1.lp-title, .lp-hero p.lp-title { font-size: clamp(30px, calc(var(--a) * .066), 62px); margin: clamp(8px, calc(var(--a) * .022), 20px) 0; }
  .lp-hero .lp-lead { font-size: clamp(13px, calc(var(--a) * .021), 17px); }
  .lp-cta { margin: clamp(14px, calc(var(--a) * .034), 34px) 0 clamp(14px, calc(var(--a) * .042), 38px); }
  .lp-btn-lg { height: clamp(44px, calc(var(--a) * .075), 62px); }
  .lp-stat svg { font-size: clamp(28px, calc(var(--a) * .045), 36px); }
  .lp-stat strong { font-size: clamp(16px, calc(var(--a) * .026), 20px); }

  .lp-parts { flex: 0 0 auto; --lp-img-h: clamp(110px, calc(var(--a) * .24), 227px); }
  .lp-parts .lp-wrap { padding-top: clamp(14px, calc(var(--a) * .035), 38px); padding-bottom: 0; align-items: start; }
  .lp-parts-copy { padding-bottom: clamp(14px, calc(var(--a) * .032), 38px); }
  .lp-parts h2 { font-size: clamp(26px, calc(var(--a) * .056), 52px); margin: clamp(8px, calc(var(--a) * .016), 18px) 0 clamp(8px, calc(var(--a) * .02), 20px); }
  .lp-parts .lp-lead { font-size: clamp(13px, calc(var(--a) * .02), 16px); max-width: 520px; }
  .lp-parts-cta { margin-top: clamp(12px, calc(var(--a) * .022), 30px); }
  .lp-parts-cta .lp-btn { height: clamp(40px, calc(var(--a) * .058), 52px); }
  .lp-facts { padding: clamp(10px, calc(var(--a) * .02), 18px) 28px; }
  .lp-parts-spacer { min-height: 0; height: var(--lp-img-h); }
  .lp-parts-img { height: var(--lp-img-h); width: auto; max-width: 64%; aspect-ratio: 936 / 227; }
}
/* невысокие окна: заголовок в две строки, у блока запчастей — без абзаца */
@media (min-width: 861px) and (max-height: 1150px) { .lp-hero .lp-title br { display: none; } }
@media (min-width: 861px) and (max-height: 760px) {
  .lp-hero .lp-wrap { padding-top: 14px; padding-bottom: 14px; }
  .lp-cta { margin: 12px 0 14px; }
  .lp-parts .lp-wrap { padding-top: 12px; }
  .lp-parts-copy { padding-bottom: 12px; }
}
@media (min-width: 861px) and (max-height: 730px) { .lp-parts .lp-lead { display: none; } }

/* --- адаптив --- */
@media (max-width: 1100px) {
  .lp-btn-callback span { display: none; }
}
@media (max-width: 860px) {
  .lp-photo, .lp-promo { top: auto; left: 0; height: auto; width: 100%; }
  .lp-ticket, .lp-ticket-back { left: 50%; }
  .lp-photo img { -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 22%); mask-image: linear-gradient(180deg, transparent 0, #000 22%); }
  .lp-hero { min-height: 0; padding-bottom: calc(52.2vw + 20px); }
  .lp-parts-img { position: relative; width: 100%; margin-top: -8px; -webkit-mask-image: none; mask-image: none; }
  .lp-parts-spacer { display: none; }
  .lp-stats { flex-wrap: wrap; gap: 16px; }
  .lp-stat { border: 0; padding: 0; margin: 0; }
  .lp-dots { right: 50%; transform: translateX(50%); bottom: 14px; }
  .lp-parts .lp-wrap { grid-template-columns: 1fr; }
  .lp-parts-copy { grid-row: auto; }
  .lp-facts { grid-template-columns: 1fr; }
  .lp-fact + .lp-fact { border: 0; padding-left: 0; }
  .lp-btn-lg { width: 100%; justify-content: space-between; }
}
@media (max-width: 560px) {
  .lp-wrap { padding: 0 16px; }
}

/* =========================================================================
   Шапка: без чёрной полосы, адреса и телефоны — в серой шапке; крупный
   логотип; выбранный пункт меню — синяя рамка и подчёркивание.
   ========================================================================= */
.brand-logo { height: 60px; }
.site-header.is-scrolled .brand-logo { height: 60px; }
.brand { gap: 18px; }
.brand-tag { font-size: 0.8rem; line-height: 1.45; letter-spacing: 0.12em; color: #4b5563; font-weight: 600; padding-left: 18px; }
.site-header .container { gap: 22px; max-width: 1360px; }
.main-nav { margin-right: auto; margin-left: 8px; }
.head-contacts { display: flex; gap: 26px; margin-left: auto; padding-right: 6px; }
.head-loc { display: flex; flex-direction: column; gap: 3px; font-size: 0.8rem; line-height: 1.3; white-space: nowrap; }
.head-loc-addr { color: var(--muted); }
.head-loc-phone { color: var(--ink); font-family: var(--f-mono); font-weight: 600; font-size: 0.88rem; text-decoration: none; }
.head-loc-phone:hover { color: var(--signal); }
.head-loc svg { width: 13px; height: 13px; vertical-align: -2px; color: var(--signal); }
@media (max-width: 1180px) { .head-loc-addr { display: none; } }
@media (max-width: 980px) { .head-contacts { display: none; } .brand-logo { height: 40px; } }

.main-nav a:hover { background: transparent; color: var(--signal); }
.main-nav a.is-active { background: transparent; color: var(--signal); box-shadow: inset 0 0 0 1.5px var(--signal); }
.main-nav a::after { content: ''; position: absolute; left: 14px; right: 14px; bottom: 5px; height: 2px; background: var(--signal); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.main-nav a:hover::after, .main-nav a.is-active::after { display: block; transform: scaleX(1); }

/* плавающая кнопка «Обратный звонок» */
.callback-fab { position: fixed; right: 20px; bottom: 20px; z-index: 950; height: 60px; min-width: 60px; padding: 0 20px; border: 0; border-radius: 30px; cursor: pointer;
  display: flex; align-items: center; gap: 10px; color: #fff; font: 600 0.95rem/1 var(--f-body); background: var(--signal);
  box-shadow: 0 8px 24px rgba(var(--signal-rgb), .45); animation: fab-glow 2.4s ease-out infinite; transition: padding .25s ease, gap .25s ease; }
.callback-fab svg { width: 24px; height: 24px; }
.callback-fab-label { white-space: nowrap; }
@keyframes fab-glow {
  0% { box-shadow: 0 8px 24px rgba(var(--signal-rgb), .45), 0 0 0 0 rgba(var(--signal-rgb), .55); }
  70% { box-shadow: 0 8px 24px rgba(var(--signal-rgb), .45), 0 0 0 18px rgba(var(--signal-rgb), 0); }
  100% { box-shadow: 0 8px 24px rgba(var(--signal-rgb), .45), 0 0 0 0 rgba(var(--signal-rgb), 0); }
}
@media (prefers-reduced-motion: reduce) { .callback-fab { animation: none; } }
.toast-stack { right: 96px !important; }
@media (max-width: 600px) { .callback-fab { right: 14px; bottom: 14px; height: 52px; padding: 0 16px; font-size: 0.88rem; } .toast-stack { right: 14px !important; bottom: 80px !important; } }

/* акция — ссылка */
.lp-ticket { display: block; pointer-events: auto; cursor: pointer; color: inherit; text-decoration: none; }

.lp-ticket-item { display: flex; flex-direction: column; gap: .6cqh; margin-top: 1.4cqh; max-width: 100%; }
.lp-ticket-item > span { font: 600 clamp(11px, 3.4cqh, 16px)/1.2 var(--lp-body); color: var(--lp-navy); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lp-ticket-item b { font: 800 clamp(16px, 5.6cqh, 28px)/1 var(--lp-display); color: var(--lp-green); }
.lp-ticket-item s { font: 500 .62em/1 var(--lp-body); color: var(--lp-muted); margin-left: 4px; }
.lp-note-link { text-decoration: none; color: inherit; }
.lp-note-link:hover .lp-note-title { color: var(--lp-blue); }
/* единые цвета заголовков, одинаковые кнопки, заметные телефоны, текст на купоне */
.lp-hero h1.lp-title, .lp-hero h1.lp-title em { color: var(--lp-blue); }
.lp-parts h2, .lp-parts h2 em { color: var(--lp-green); }
.lp-hero .lp-btn-lg, .lp-parts-cta .lp-btn { height: clamp(46px, calc(var(--a, 800px) * .068), 56px); font-size: 16px; padding: 0 24px; }
.lp-hero .lp-btn-lg, .lp-parts-cta .lp-btn-green { width: 310px; justify-content: space-between; }
.lp-hero .lp-btn-lg .lp-chev, .lp-parts-cta .lp-btn-green svg:last-child { margin-left: 0; }
@media (max-width: 860px) { .lp-hero .lp-btn-lg, .lp-parts-cta .lp-btn-green { width: 100%; } }

.head-loc-phone { font-size: 1.12rem; font-weight: 700; color: var(--signal-dark, var(--ink)); letter-spacing: .01em; }
.head-loc-phone svg { width: 16px; height: 16px; }
.head-loc { gap: 2px; }
.head-loc-addr { font-size: .78rem; }

.lp-ticket-row { display: flex; align-items: baseline; gap: 1.6cqh; }
.lp-ticket-title { font: 800 clamp(14px, 5cqh, 24px)/1.05 var(--lp-display); text-transform: uppercase; letter-spacing: .3px; color: var(--lp-navy);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lp-ticket-text { font: 500 clamp(10px, 3.1cqh, 14px)/1.3 var(--lp-body); color: var(--lp-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lp-ticket-price { font: 800 clamp(16px, 5.6cqh, 28px)/1 var(--lp-display); color: var(--lp-green); }
.lp-ticket-price s { font: 500 .62em/1 var(--lp-body); color: var(--lp-muted); margin-left: 4px; }

/* карточки акций на вкладках «Ремонт» и «Запчасти» */
.pc-section { padding-top: 28px; padding-bottom: 8px; }
.pc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.pc-card { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px; background: #fff; border: 1px solid var(--line); border-top: 3px solid #0a55d6; border-radius: 8px; transition: box-shadow .3s, transform .3s; }
.pc-card.is-parts { border-top-color: #0b9a3e; }
.pc-card.is-focus { box-shadow: 0 0 0 3px rgba(10,85,214,.35), 0 12px 30px -10px rgba(10,85,214,.4); transform: translateY(-3px); }
.pc-card.is-parts.is-focus { box-shadow: 0 0 0 3px rgba(11,154,62,.35), 0 12px 30px -10px rgba(11,154,62,.4); }
.pc-top { display: flex; align-items: center; gap: 10px; }
.pc-badge { min-width: 44px; height: 30px; padding: 0 10px; border-radius: 6px; background: #0a55d6; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: .9rem; }
.pc-card.is-parts .pc-badge { background: #0b9a3e; }
.pc-badge svg { width: 16px; height: 16px; }
.pc-tag { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.pc-card h3 { margin: 0; font-size: 1.1rem; }
.pc-card p { color: var(--muted); font-size: .92rem; margin: 0; }
.pc-item b { font-size: 1.25rem; color: #0b9a3e; }
.pc-item s { color: var(--muted); margin-left: 6px; }
.pc-item small { display: block; color: var(--muted); font-size: .8rem; }
.pc-link { margin-top: auto; padding-top: 6px; font-weight: 600; color: #0a55d6; text-decoration: none; display: inline-flex; align-items: center; gap: 4px; }
.pc-card.is-parts .pc-link { color: #0b9a3e; }
.pc-link:hover { text-decoration: underline; }
/* телефоны в шапке: обычный шрифт вместо моноширинного (без больших пробелов) и «звонящая» трубка */
.head-loc-phone { font-family: var(--f-body); font-variant-numeric: tabular-nums; letter-spacing: 0; display: inline-flex; align-items: center; gap: 6px; }
.head-loc-phone svg { transform-origin: 50% 60%; animation: phone-ring 2.8s ease-in-out infinite; }
.head-loc:nth-child(2) .head-loc-phone svg { animation-delay: .35s; }
@keyframes phone-ring {
  0%, 55%, 100% { transform: rotate(0); }
  8% { transform: rotate(-18deg); } 16% { transform: rotate(16deg); } 24% { transform: rotate(-14deg); }
  32% { transform: rotate(12deg); } 40% { transform: rotate(-8deg); } 48% { transform: rotate(4deg); }
}
@media (prefers-reduced-motion: reduce) { .head-loc-phone svg { animation: none; } }
/* логотип на корешке купона */
.lp-ticket-stub { gap: 4cqh; }
.lp-hero .lp-ticket-stub > svg:first-child { width: 11cqh; height: 11cqh; opacity: .9; }
.lp-hero .lp-ticket-logo { width: 30cqh; height: 7.8cqh; max-width: 84%; fill: currentColor; stroke: none; color: #fff; transform: rotate(-4deg); }
.lp-ticket, .lp-ticket * { -webkit-font-smoothing: antialiased; text-rendering: geometricPrecision; }
.lp-ticket-body { position: relative; z-index: 1; }

/* корешок купона: только логотип, по вертикали */
.lp-ticket-stub { position: relative; }
.lp-hero .lp-ticket-logo { position: absolute; left: 50%; top: 50%; width: 60cqh; height: 15.6cqh; max-width: none; transform: translate(-50%, -50%) rotate(-90deg); }
/* логотип на корешке: размер задаёт обёртка (cqh на самом svg считается неверно) */
.lp-ticket-logo-box { position: absolute; left: 50%; top: 50%; width: 60cqh; height: 15.6cqh; transform: translate(-50%, -50%) rotate(-90deg); display: block; }
.lp-hero .lp-ticket-logo-box .lp-ticket-logo { position: static; width: 100%; height: 100%; max-width: none; transform: none; }
@media (max-width:980px) { .site-header.is-scrolled .brand-logo { height:40px; } }
/* Фото товара в «корешке» купона на первом экране */
.lp-ticket-stub.has-photo{padding:2.4cqh}
.lp-ticket-photo{width:100%;height:100%;max-height:34cqh;object-fit:contain;background:#fff;border-radius:2cqh;padding:1.4cqh;box-shadow:0 1cqh 3cqh rgba(10,30,60,.18)}

/* Узкий телефон: точки слайдера помещаются в ширину экрана. */
@media (max-width: 420px) {
  .lp-dots { gap: 8px; max-width: calc(100% - 24px); flex-wrap: wrap; justify-content: center; }
  .lp-dots button { width: 7px; height: 7px; }
  .lp-dots button::after { inset: -6px; }
}