@charset "UTF-8";

/* Сдержанная палитра: синий для действий, янтарный для выгоды. */
:root {
  --bg: #f7f8fa;
  --ink: #17212d;
  --muted: #5c6877;
  --line: #c5ced8;
  --blue: #2563eb;
  --blue-soft: #edf3ff;
  --graphite: #17212d;
  --amber: #f3b544;
  --neon-border: #7296cb;
  --neon-glow: 0 0 8px #2563eb12, 0 8px 24px #17212d08;
  --frame-width: 2px;
}
body { background: var(--bg); }

/* Рамки прежней толщины 1 px стали 2 px; линии шагов 2 px стали 4 px. */
:is(.button,.quick-order,.category-grid button,.tab,.close,.bulk-filter,.text-button,
    .service-card,.parts-panel,.parts-form,.price-panel,.contacts-panel,.promo,
    .promo-icon,.visual-note,.hero-visual,.dialog,.request-card,.car-card,
    .admin-item,.admin-login,.admin-tools,.admin-stats>div,.schedule-panel,
    .quick-closure,.bulk-card,.bulk-promo,.location-art,.location-marker,
    .tire-table-wrap,.identity-note,.empty-state,.toast,.badge,.service-top>span) {
  border-width: var(--frame-width);
}
:is(input:not([type=checkbox]),textarea,select,.time-slots button,.service-select label>span) {
  border-width: var(--frame-width);
}
.steps>div { border-top-width: 4px; box-shadow: none; }
.section-head { border-top: 2px solid #cbd3de; }
.mobile-nav { border-top-width: 2px; background: #fffffff5; }

:is(.service-card,.parts-form,.price-panel,.contacts-panel,.request-card,.car-card,
    .admin-item,.admin-login,.admin-tools,.bulk-card) { background: #fff; }
:is(.button,.category-grid button,.tab,.bulk-filter,.close,.text-button) {
  border-color: #7296cb;
  background: #fff;
  box-shadow: 0 0 7px #2563eb12;
}
.button.primary,.tab.active,.bulk-filter.active {
  background: var(--blue);
  color: #fff;
  border-color: #2563eb;
  box-shadow: 0 0 12px #2563eb26;
}
:is(.button,.quick-order,.service-card,.category-grid button,.bulk-filter,.text-button):hover {
  border-color: var(--blue);
  box-shadow: 0 0 12px #2563eb29, 0 6px 16px #17212d0b;
}
.plain { border: 2px solid #c5ced8; border-radius: 9px; padding: 8px 10px; }
.plain:hover { border-color: var(--blue); }
input:not([type=checkbox]),textarea,select { background: #fff; border-color: #a8b5c5; }

/* Тёмный первый экран. Светлые условия акции остаются читаемыми. */
.seasonal-hero {
  background: var(--graphite);
  color: #fff;
  border: 2px solid #34465b;
  border-radius: 26px;
  padding: 32px;
  gap: 30px;
  box-shadow: 0 14px 35px #17212d12;
}
.seasonal-hero .hero-content { padding-top: 14px; }
.seasonal-hero .hero-content>.eyebrow {
  color: var(--amber);
  background: #f3b5440c;
  border: 2px solid #f3b54465;
  border-radius: 8px;
  padding: 9px 11px;
  width: fit-content;
  line-height: 1.5;
  letter-spacing: .09em;
}
.seasonal-hero .dot { background: var(--amber); box-shadow: 0 0 8px #f3b54433; }
.seasonal-hero h1 span { color: var(--amber); }
.seasonal-hero .hero-text { color: #c6d0dc; }
.seasonal-hero .free-condition { color: #f6ce84; }
.seasonal-hero .free-condition .icon { color: var(--amber); background: #f3b5440d; border: 2px solid #f3b54488; }
.seasonal-hero .hero-actions .button:not(.primary) { background: #243243; color: #fff; border-color: #8496ae; }
.seasonal-hero .quick-order { background: #22303f; color: #fff; border-color: #718399; box-shadow: 0 0 8px #2563eb17; }
.seasonal-hero .quick-order small { color: #bbc8d8; }
.seasonal-hero .quick-order>.icon,.seasonal-hero .quick-arrow { color: #91b5ff; }
.seasonal-hero .quick-order[data-order="tires"]>.icon { color: var(--amber); }
.seasonal-hero .hero-proof { border-color: #526175; }
.seasonal-hero .hero-proof div+div { border-color: #526175; }
.seasonal-hero .hero-proof span { color: #bdc9d8; }
.seasonal-hero .hero-proof div:nth-child(2) b { color: var(--amber); }
.seasonal-hero .hero-visual { min-height: 570px; border-color: #65768e; }
.seasonal-hero .visual-note { color: var(--ink); background: #ffffffed; }
.seasonal-hero .visual-note span:not(.note-icon) { color: var(--muted); }

/* Акции выделены тёплым оттенком, товары и основные формы — белым. */
.promo { background: #fffaf0; border-color: #d5a747; box-shadow: 0 0 9px #f3b5441a; }
.promo-icon { background: #ffefd1; color: #795315; border-color: #d5a747; }
.promo .eyebrow { color: #795315; }
.promo h2 { color: var(--graphite); }
.promo .button { background: #fff; border-color: #a77b2f; }
.bulk-promo { background: #fffaf0; border-color: #d5a747; box-shadow: 0 0 8px #f3b54418; }
.bulk-promo>.icon { color: #956513; }
.bulk-promo>span { color: #6e5c3b; }
.bulk-image { background: #f5f6f8; border-bottom: 2px solid #e0e5ec; }
.bulk-category,.bulk-card p { color: var(--muted); }
.bulk-card strong { color: var(--blue); }
.bulk-card-bottom { border-color: #dde3eb; }
.bulk-order { background: #fff; }
.bulk-search input { border-color: #a8b5c5; }

/* Чередование разделов создаёт ритм без новых ярких цветов. */
#services,#prices {
  margin-top: 64px;
  padding: 32px;
  background: #edf0f4;
  border: 2px solid #c5ced8;
  border-radius: 26px;
}
#services .section-head,#prices .section-head { border-top: 0; padding-top: 0; }
.service-top>span { background: #f7f8fa; border-color: #c5ced8; }
.parts-panel { background: #edf0f4; }
.contacts-panel { background: #fff; }
.steps>div { border-color: #8799b1; }
.steps>div>span { color: var(--blue); }
.footer {
  background: var(--graphite);
  border: 2px solid #34465b;
  border-radius: 22px;
  color: #c6d0dc;
  padding: 28px 30px;
  margin-bottom: 24px;
}
.footer .brand-word { color: #fff; }
.footer .brand-number { color: #91b5ff; }
.footer .plain { color: #e6edf6; border-color: #718399; }
.footer a:hover { color: #fff; }
.danger { background: #fff1f1; border-color: #c5a1a1; color: #8c3030; }

/* Объёмные технические иллюстрации крупнее навигационных пиктограмм. */
.tech-icon { object-fit: contain; filter: drop-shadow(0 3px 3px #17212d18); }
.service-top>.tech-icon { width: 88px; height: 88px; }
.service-top { margin-bottom: 20px; align-items: flex-start; }
.service-top>span { margin-top: 8px; }
.quick-order>.tech-icon { width: 48px; height: 48px; }
.category-grid .tech-icon { width: 34px; height: 34px; }
.promo-icon .tech-icon { width: 43px; height: 43px; }
.bulk-promo>.tech-icon { width: 38px; height: 38px; }
.price-panel h3 .tech-icon { width: 36px; height: 36px; }
.supplier-card { border: 2px solid var(--neon-border); border-radius: 15px; background: #fff; padding: 20px; margin: 14px 0; box-shadow: var(--neon-glow); }
.supplier-card h3 { font-size: 20px; }
.supplier-fields { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.supplier-toggle { display: flex; gap: 9px; align-items: center; margin: 8px 0 12px; }
.supplier-toggle input { accent-color: var(--blue); }
@media(max-width:750px) { .supplier-fields { grid-template-columns: repeat(2,minmax(0,1fr)); } .supplier-card .request-top { flex-wrap: wrap; } .supplier-card .badge { white-space: normal; } }
.identity-actions { display:flex; gap:12px; flex-wrap:wrap; margin:14px 0; }
.account-tabs { flex-wrap:wrap; }
.catalog-panel { border:2px solid var(--neon-border); box-shadow:var(--neon-glow); background:#fff; border-radius:20px; padding:28px; margin-bottom:28px; }
.catalog-heading { display:flex; justify-content:space-between; gap:24px; align-items:center; margin-bottom:20px; }
.catalog-heading h3 { font-size:26px; margin:6px 0; }
.catalog-heading p { color:var(--muted); max-width:300px; }
#catalog-search { display:flex; align-items:flex-end; gap:14px; }
#catalog-search label { flex:1; }
#catalog-search .button { min-height:48px; }
.catalog-offer { display:flex; justify-content:space-between; gap:24px; padding:20px 0; border-top:2px solid #dbe4ef; }
.catalog-offer h4 { font-size:18px; margin:0 0 8px; }
.catalog-price { display:grid; gap:6px; min-width:130px; }
.catalog-price strong { font-size:25px; color:var(--blue); }
.catalog-price span { color:var(--muted); font-size:13px; }
.catalog-selected { border:2px solid var(--neon-border); background:#f0f5ff; padding:16px; border-radius:12px; margin-bottom:20px; }
.phone-dialog p { line-height:1.6; }
.phone-dialog form { display:grid; gap:16px; margin-top:24px; }
#phone-wait { margin-top:24px; }
#phone-call { font-size:24px; margin:16px 0; letter-spacing:.03em; }
@media(max-width:600px) { .catalog-panel { padding:20px; } .catalog-heading { display:block; } #catalog-search { flex-direction:column; align-items:stretch; } .catalog-offer { flex-direction:column; gap:10px; } .catalog-price { grid-template-columns:1fr auto; align-items:center; } .catalog-price span { grid-column:1; } .catalog-price button { grid-column:2; grid-row:1 / 3; } }

.seasonal-hero .hero-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.seasonal-hero .hero-actions .button { min-width: 0; gap: 8px; padding-inline: 12px; }
.seasonal-hero .hero-actions .oil-booking .tech-icon { width: 32px; height: 32px; }
.seasonal-hero .hero-actions .button[data-book="combo"] { grid-column: 1/-1; min-height: 44px; }

@media(max-width:1100px) {
  .seasonal-hero { padding: 25px; gap: 24px; }
  .seasonal-hero h1 { font-size: 43px; }
  #services,#prices { padding: 26px; }
}
@media(max-width:850px) and (min-width:621px) {
  .seasonal-hero { padding: 22px; gap: 20px; }
  .seasonal-hero h1 { font-size: 35px; }
  .seasonal-hero .hero-content>.eyebrow { font-size: 8px; }
  .seasonal-hero .quick-orders { grid-template-columns: 1fr; }
  .seasonal-hero .hero-actions { grid-template-columns: 1fr; }
  .seasonal-hero .hero-visual { min-height: 630px; }
}
@media(max-width:620px) {
  .seasonal-hero { padding: 20px; border-radius: 22px; gap: 22px; }
  .seasonal-hero .hero-content { padding-top: 0; padding-bottom: 0; }
  .seasonal-hero h1 { font-size: clamp(30px,8.5vw,44px); }
  .seasonal-hero .hero-content>.eyebrow { font-size: 7px; padding: 8px; letter-spacing: .04em; }
  .seasonal-hero .hero-actions { display: grid; grid-template-columns: 1fr; }
  .seasonal-hero .hero-actions .button { font-size: 12px; padding: 11px; }
  .seasonal-hero .quick-orders { grid-template-columns: 1fr; }
  .seasonal-hero .quick-order b { font-size: 13px; }
  .seasonal-hero .quick-order small { font-size: 10px; }
  .quick-order>.tech-icon { width: 44px; height: 44px; }
  .service-top>.tech-icon { width: 80px; height: 80px; }
  .category-grid .tech-icon { width: 28px; height: 28px; }
  .seasonal-hero .hero-proof { flex-wrap: wrap; gap: 12px; }
  .seasonal-hero .hero-proof div+div { border-left: 0; }
  .seasonal-hero .hero-visual { min-height: 290px; max-height: 320px; }
  .seasonal-hero .visual-note { padding: 12px; left: 12px; right: 12px; bottom: 12px; }
  .seasonal-hero .visual-note b { font-size: 12px; }
  #services,#prices { margin-top: 45px; padding: 22px 16px; border-radius: 22px; }
  #services h2,#prices h2 { font-size: 28px; }
  .footer { padding: 25px 22px; margin-bottom: 95px; }
}
