/* ===========================================
   ТЕМА «ЛРЕМОНТ» (копия 1)
   Подключается ПОСЛЕДНЕЙ и переопределяет базовую палитру,
   шрифты и раскладку верхних блоков. Палитра и шрифты — в духе
   lenremont.ru: насыщенный синий, жёлтая и красная кнопки,
   Manrope вместо DIN Pro (DIN Pro платный).
   =========================================== */

@font-face { font-family: 'Manrope'; font-weight: 400; font-style: normal; font-display: swap;
    src: url('../fonts/manrope-cyr-400.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Manrope'; font-weight: 400; font-style: normal; font-display: swap;
    src: url('../fonts/manrope-lat-400.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Manrope'; font-weight: 600; font-style: normal; font-display: swap;
    src: url('../fonts/manrope-cyr-600.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Manrope'; font-weight: 600; font-style: normal; font-display: swap;
    src: url('../fonts/manrope-lat-600.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Manrope'; font-weight: 800; font-style: normal; font-display: swap;
    src: url('../fonts/manrope-cyr-800.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Manrope'; font-weight: 800; font-style: normal; font-display: swap;
    src: url('../fonts/manrope-lat-800.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
    --lr-blue: #0B5CAF;
    --lr-navy: #08407C;
    --lr-deep: #072B52;
    --lr-sky: #11A8FF;
    --lr-ice: #DDF1FF;
    --lr-yellow: #FBFE56;
    --lr-red: #FA171A;
    --lr-text: #333333;

    --color-section-bg: var(--lr-blue);
    --color-header-button: var(--lr-red);
    --color-header-button-hover: #d90f12;
    --color-text-primary: #1b2733;
    --color-text-secondary: var(--lr-text);
    --color-link: var(--lr-blue);
    --color-link-hover: var(--lr-navy);
    --color-bg-hero: #F2F8FE;
    --border-radius: 10px;
}

body {
    font-family: 'Manrope', Arial, Helvetica, sans-serif;
    color: var(--lr-text);
}

h1, h2, h3, h4, h5, h6 { font-weight: 800; }

.lr-title {
    font-weight: 800;
    margin-bottom: 2.25rem;
}

/* ---------- Кнопки ---------- */
.lr-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 26px;
    border: 0;
    border-radius: 8px;
    font-family: inherit;
    font-size: 16px;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color .18s, transform .18s, box-shadow .18s;
}
.lr-btn:hover { transform: translateY(-1px); }
.lr-btn--yellow { background: var(--lr-yellow); color: #111; box-shadow: 0 2px 0 rgba(0, 0, 0, .18); }
.lr-btn--yellow:hover { background: #f0f33c; color: #000; }
.lr-btn--red { background: var(--lr-red); color: #fff; box-shadow: 0 6px 16px rgba(250, 23, 26, .28); }
.lr-btn--red:hover { background: #d90f12; color: #fff; }
.lr-btn[disabled] { opacity: .6; cursor: default; transform: none; }

/* ---------- Шапка ---------- */
.lr-header { background: var(--lr-blue); }

.lr-topbar { background: var(--lr-navy); color: rgba(255, 255, 255, .85); font-size: 13px; }
.lr-topbar__inner {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding-top: 7px;
    padding-bottom: 7px;
}

.lr-bar {
    display: flex;
    align-items: center;
    gap: 28px;
    padding-top: 14px;
    padding-bottom: 14px;
}
.lr-bar__logo { display: flex; flex-direction: column; gap: 4px; flex: 0 0 auto; }
.lr-bar__logo-image {
    display: block;
    width: 226px;
    height: 35px;
    background-image: var(--image-logo);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: left center;
}
.lr-bar__logo-text { color: rgba(255, 255, 255, .8); font-size: 10px; line-height: 1.3; white-space: nowrap; }

.lr-nav { display: flex; flex: 1 1 auto; justify-content: center; gap: 22px; }
.lr-nav a { color: #fff; font-size: 15px; font-weight: 600; padding: 8px 0; border-bottom: 2px solid transparent; }
.lr-nav a:hover { color: #fff; border-bottom-color: var(--lr-yellow); }

.lr-bar__call { display: flex; flex-direction: column; align-items: flex-end; margin-left: auto; }
.lr-bar__phone { color: #fff; font-size: 24px; font-weight: 800; white-space: nowrap; }
.lr-bar__phone:hover { color: var(--lr-yellow); }
.lr-bar__phone-note { color: rgba(255, 255, 255, .8); font-size: 12px; }

/* ---------- Первый экран ---------- */
.lr-hero {
    background:
        radial-gradient(900px 420px at 85% 0%, rgba(17, 168, 255, .35), transparent 70%),
        linear-gradient(180deg, var(--lr-blue) 0%, var(--lr-navy) 100%);
    padding: 3.5rem 0 4.5rem;
    color: #fff;
}
.lr-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 3rem;
    align-items: center;
}
.lr-hero__eyebrow {
    display: inline-block;
    margin: 0 0 1rem;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .14);
    color: var(--lr-yellow);
    font-size: 14px;
    font-weight: 700;
}
.lr-hero__title {
    margin: 0 0 1.5rem;
    color: #fff;
    font-size: clamp(2rem, 4.2vw, 3.1rem);
    font-weight: 800;
    line-height: 1.12;
}
.lr-hero__facts { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.lr-hero__facts li {
    position: relative;
    padding-left: 34px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.35;
}
.lr-hero__facts li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 1px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--lr-yellow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23111' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat;
}

.lr-hero__card {
    padding: 28px;
    border-radius: 20px;
    background: #fff;
    color: var(--lr-text);
    box-shadow: 0 24px 60px rgba(3, 25, 56, .35);
}
.lr-hero__card-label { margin: 0 0 4px; font-size: 15px; font-weight: 600; color: #6b7a8a; }
.lr-hero__phone {
    display: block;
    margin-bottom: 14px;
    color: var(--lr-blue);
    font-size: clamp(1.9rem, 3.6vw, 2.5rem);
    font-weight: 800;
    line-height: 1.1;
    white-space: nowrap;
}
.lr-hero__phone:hover { color: var(--lr-navy); }
.lr-hero__card-or { margin: 0 0 14px; font-size: 15px; color: #6b7a8a; }

.lr-hero__row { display: flex; gap: 10px; }
.lr-hero__input {
    flex: 1 1 auto;
    min-width: 0;
    height: 52px;
    padding: 0 16px;
    border: 2px solid #cfe0f1;
    border-radius: 8px;
    font-family: inherit;
    font-size: 18px;
    color: #111;
    outline: none;
}
.lr-hero__input:focus { border-color: var(--lr-sky); }
.lr-hero__row .lr-btn { height: 52px; }
.lr-hero__consent { font-size: 13px; color: #6b7a8a; }
.lr-hero__consent a { color: var(--lr-blue); text-decoration: underline; }

/* ---------- Что ремонтируем ---------- */
.lr-services { background: #fff; padding: 4rem 0; }
.lr-services__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}
.svc {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    padding: 24px 12px 20px;
    border: 2px solid #e1edf8;
    border-radius: 16px;
    background: #fff;
    text-align: center;
    transition: border-color .18s, box-shadow .18s, transform .18s;
}
.svc:hover {
    border-color: var(--lr-sky);
    box-shadow: 0 10px 28px rgba(11, 92, 175, .14);
    transform: translateY(-3px);
}
.svc__icon { width: 76px; height: 76px; }
/* Контурные иконки (как в lenremont.ru: тонкая линия, один пастельный цвет на иконку).
   Класс .s — внутри <symbol> спрайта; селектор без родителя, иначе <use> его не видит.
   Цвет задаётся атрибутом style="color:..." на <svg>. */
.s {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
img.svc__icon { display: block; }
.svc__name { color: var(--lr-blue); font-size: 17px; font-weight: 700; line-height: 1.3; }

/* ---------- Акции (оригинальные баннеры, новая подача) ---------- */
.lr-promo { background: var(--lr-navy); padding: 4rem 0 4.5rem; }
.lr-promo .section-title { color: #fff; }
.lr-promo__grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 22px;
}
.lr-promo__card {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 0 1 calc((100% - 44px) / 3);
    min-width: 260px;
    overflow: hidden;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(3, 25, 56, .35);
}
.lr-promo__image { width: 100%; height: auto; }
.lr-promo__btn { margin: 16px 20px 20px; text-transform: uppercase; font-size: 14px; letter-spacing: .02em; }

/* ---------- Остальные блоки в новой гамме ---------- */
.hotline { background: var(--lr-yellow); }
.hotline .section-title--light { color: #111; }
.hotline .btn { background: var(--lr-red); }

.contact-master { background: var(--lr-ice); padding: 64px 0; }
.contact-master .section-title--light { color: var(--color-text-primary); }
.contact-master__subtitle { color: var(--lr-text); opacity: 1; }

.faq { background: var(--color-bg-hero); }

/* ---------- Цены: карточки категорий (подача как «Все услуги» на lenremont.ru) ---------- */
.lr-prices { background: #fff; padding: 4rem 0 4.5rem; }
.lr-prices__lead { max-width: 640px; margin: -1rem auto 2.5rem; text-align: center; font-size: 18px; line-height: 1.6; }
.lr-prices__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 34px 30px;
    align-items: start;
}
.pcard__head { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.pcard__icon { flex: 0 0 auto; width: 64px; height: 64px; }
.pcard__title {
    color: var(--lr-sky);
    font-size: 22px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}
.pcard__title:hover { color: var(--lr-blue); }
.pcard__list {
    margin: 0;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .16);
}
.pcard__list { display: grid; gap: 2px; padding: 14px 20px; list-style: none; }
.pcard__row { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; font-size: 16px; line-height: 1.35; }
.pcard__name { color: #1e90e8; text-decoration: underline; }
.pcard__row:hover .pcard__name { color: var(--lr-blue); }
.pcard__price { flex: 0 0 auto; color: #111; font-weight: 800; white-space: nowrap; }

/* ---------- Подвал ---------- */
.lr-footer { background: var(--lr-deep); color: rgba(255, 255, 255, .75); padding: 36px 0 40px; font-size: 14px; }
.lr-footer__inner {
    display: grid;
    grid-template-columns: 1.2fr 1.4fr 1fr;
    gap: 28px;
    align-items: start;
}
.lr-footer__logo { display: block; width: 190px; height: 30px; margin-bottom: 10px; background-image: var(--image-logo); background-size: contain; background-repeat: no-repeat; }
.lr-footer p { margin: 0 0 4px; line-height: 1.5; }
.lr-footer a { color: #fff; text-decoration: underline; }
.lr-footer a:hover { color: var(--lr-yellow); }

/* ---------- Адаптив ---------- */
@media (max-width: 1100px) {
    .lr-nav { display: none; }
}
@media (max-width: 900px) {
    .lr-hero__grid { grid-template-columns: 1fr; gap: 2rem; }
    .lr-services__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .lr-promo__card { flex-basis: calc((100% - 22px) / 2); }
    .lr-prices__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lr-footer__inner { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .lr-topbar__inner { flex-direction: column; gap: 2px; }
    .lr-bar { flex-wrap: wrap; gap: 10px 16px; }
    .lr-bar__cta { display: none; }
    .lr-bar__phone { font-size: 22px; }
    .lr-bar__logo-image { width: 190px; height: 30px; }
    .lr-hero { padding: 2.25rem 0 3rem; }
    .lr-hero__facts li { font-size: 16px; }
    .lr-hero__card { padding: 20px; }
    .lr-hero__row { flex-direction: column; }
    .lr-hero__row .lr-btn { width: 100%; }
    .lr-services { padding: 2.5rem 0; }
    .lr-services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .svc { padding: 18px 8px 16px; }
    .svc__icon { width: 64px; height: 64px; }
    .svc__name { font-size: 15px; }
    .lr-promo { padding: 2.5rem 0 3rem; }
    .lr-promo__card { flex-basis: 100%; }
    .lr-prices { padding: 2.5rem 0 3rem; }
    .lr-prices__grid { grid-template-columns: 1fr; }
    .pcard__title { font-size: 20px; }
}
