/*
 * Premium automotive UI layer — manufacturer-grade skin (Porsche / Mercedes / BMW).
 *
 * Design language:
 *   - Ink-led typography: headlines are near-black graphite, the brand accent
 *     (Guards Red by default) is used sparingly for hairlines, rules and hover.
 *   - Sharp geometry (no rounded corners), generous whitespace, hairline borders.
 *   - Sora for display headings, Inter for body / UI.
 *
 * This file is loaded after main.css and intentionally owns the visual layer.
 * It is driven entirely by the design tokens below, which inherit the
 * customizer palette (--rg-color-*) injected in <head> by inc/assets.php.
 */

/* ============================================================= FONTS (self-hosted)
   Variable woff2, latin subset — no render-blocking third-party request. */
@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url("../fonts/inter-latin.woff2") format("woff2");
}

@font-face {
    font-family: "Sora";
    font-style: normal;
    font-weight: 500 800;
    font-display: swap;
    src: url("../fonts/sora-latin.woff2") format("woff2");
}

/* ============================================================= TOKENS */
:root {
    --rg-ink: var(--rg-color-text, #0e0e10);
    --rg-ink-2: #1a1c1f;
    --rg-graphite: #3a3d42;
    --rg-muted: var(--rg-color-muted, #6b7077);
    --rg-line: color-mix(in srgb, var(--rg-ink) 12%, transparent);
    --rg-line-strong: color-mix(in srgb, var(--rg-ink) 22%, transparent);
    --rg-soft: var(--rg-color-surface, #f4f4f2);
    --rg-panel: #ffffff;
    --rg-accent: var(--rg-color-primary, #d5001c);
    --rg-accent-dark: color-mix(in srgb, var(--rg-accent) 78%, #000);
    --rg-gold: var(--rg-color-accent, #b8985a);
    --rg-footer: var(--rg-color-footer, #0c0d0f);

    --rg-font-display: var(--rg-font-heading, "Sora", "Inter", sans-serif);
    --rg-font-text: var(--rg-font-body, "Inter", sans-serif);

    --rg-shadow-soft: 0 16px 50px rgba(14, 14, 16, .07);
    --rg-shadow-lift: 0 28px 80px rgba(14, 14, 16, .13);

    --rg-ease: cubic-bezier(.22, .61, .36, 1);
    --rg-shell: min(100% - 48px, 1280px);
}

/* Fallback for browsers without color-mix */
@supports not (color: color-mix(in srgb, #000 50%, #fff)) {
    :root {
        --rg-line: rgba(14, 14, 16, .12);
        --rg-line-strong: rgba(14, 14, 16, .22);
        --rg-accent-dark: #a90016;
    }
}

/* ============================================================= BASE */
html {
    background: #fff;
}

body {
    color: var(--rg-ink);
    background: var(--rg-color-background, #fff);
    font-family: var(--rg-font-text);
    font-size: 16px;
    line-height: 1.6;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

a,
button,
input,
label,
select,
textarea {
    font-family: inherit;
}

img {
    max-width: 100%;
}

::selection {
    background: var(--rg-accent);
    color: #fff;
}

.wrapper {
    overflow-x: hidden;
    background: #fff;
}

.rg-page-builder {
    display: flex;
    flex-direction: column;
}

/* Shared shell width for every section's container */
.header_info .container,
.hero .container,
.servises .container,
.servise_card .container,
.order_target .container,
.advantages .container,
.forms .container,
.service .container,
.texts .container,
.contact .container,
.rg-reviews-section .container,
.rg-faq-section .container,
.rg-archive-hero .container,
.rg-landing-archive .container,
.rg-related-section .container,
footer .container {
    width: var(--rg-shell);
    max-width: none;
    margin: 0 auto;
    padding: 0;
}

/* Display headings */
.section_title,
.advantages_title,
.form_info_title,
.order_title,
.service_left h4,
.contact .contact_title h5,
.text_title h1,
.text_title h5,
.rg-reviews-section .text_title h5,
.card_title,
footer h6 {
    font-family: var(--rg-font-display);
    letter-spacing: -.01em;
}

/* ============================================================= BUTTON SYSTEM */
/* Primary — solid ink, slides to accent on hover */
.btn_green,
.form_button,
.wpcf7-submit,
.contact form button,
.rg-contact-form button,
.hero_work_check .btn_green {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 62px;
    padding: 0 34px;
    border: 1px solid var(--rg-ink);
    border-radius: 0;
    background: var(--rg-ink);
    color: #fff;
    font-family: var(--rg-font-text);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    box-shadow: none;
    transition: background .35s var(--rg-ease), border-color .35s var(--rg-ease), color .35s var(--rg-ease), transform .35s var(--rg-ease);
}

.btn_green:hover,
.form_button:hover,
.wpcf7-submit:hover,
.contact form button:hover,
.rg-contact-form button:hover,
.hero_work_check .btn_green:hover {
    background: var(--rg-accent);
    border-color: var(--rg-accent);
    color: #fff;
    transform: translateY(-2px);
}

.btn_green img,
.hero_work_check .btn_green img {
    width: 20px;
    height: 20px;
    filter: brightness(0) invert(1);
}

/* Outline variant (e.g. mobile "Call Now") */
.btn_green.btn_outline,
.hero_work_check .btn_green.btn_outline {
    background: transparent;
    color: var(--rg-ink);
    border-color: var(--rg-line-strong);
}

.btn_green.btn_outline img {
    filter: brightness(0);
}

.btn_green.btn_outline:hover {
    background: var(--rg-ink);
    border-color: var(--rg-ink);
    color: #fff;
}

.btn_green.btn_outline:hover img {
    filter: brightness(0) invert(1);
}

/* Secondary — outline; visible on light backgrounds */
.button,
.card_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    padding: 0 32px;
    border: 1px solid var(--rg-line-strong);
    border-radius: 0;
    background: transparent;
    color: var(--rg-ink);
    font-family: var(--rg-font-text);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    transition: background .3s var(--rg-ease), border-color .3s var(--rg-ease), color .3s var(--rg-ease);
}

.button:hover,
.card_btn:hover {
    background: var(--rg-ink);
    border-color: var(--rg-ink);
    color: #fff;
}

/* ============================================================= HEADER */
.header {
    position: relative;
    z-index: 20;
    background: var(--rg-color-header, #fff);
    border-bottom: 1px solid var(--rg-line);
}

.header_top {
    padding: 0;
    background: var(--rg-ink);
}

.header_top .container {
    width: var(--rg-shell);
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.top_text {
    color: rgba(255, 255, 255, .82);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.top_text_thin {
    margin-left: 14px;
    padding-left: 14px;
    border-left: 1px solid rgba(255, 255, 255, .2);
    color: rgba(255, 255, 255, .55);
    font-weight: 400;
}

.header_info {
    padding: 22px 0;
}

.header_info .header_content {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 40px;
    align-items: center;
}

.logo img {
    max-width: 190px;
    max-height: 66px;
    object-fit: contain;
}

.header_content_right {
    margin-top: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.header_info_items {
    display: flex;
    justify-content: flex-end;
}

.item_lists {
    gap: 30px;
    align-items: center;
}

.title_header_action {
    color: var(--rg-ink);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.title_header_thin,
.title_header_thin .link_phone {
    color: var(--rg-muted);
    font-size: 14px;
    font-weight: 500;
}

.title_header_thin .link_phone {
    color: var(--rg-ink);
    font-weight: 700;
}

.header_action img,
.title_header_thin img {
    filter: grayscale(1) brightness(.4);
}

.social_icons a {
    width: 42px;
    height: 42px;
    background: var(--rg-soft);
    border: 1px solid var(--rg-line);
    box-shadow: none;
    transition: background .3s var(--rg-ease), transform .3s var(--rg-ease);
}

.social_icons a:hover {
    background: var(--rg-ink);
    transform: translateY(-2px);
}

.social_icons a:hover img {
    filter: brightness(0) invert(1);
}

/* Navigation */
.navbar {
    margin-top: 0;
}

.navbar .navlink_items,
.navlink_items {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 4px;
}

.navlink_items > .menu-item > a,
.navbar .navlink_items > .menu-item > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 18px;
    color: var(--rg-ink);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    transition: color .25s var(--rg-ease);
}

.navlink_items > .menu-item > a:hover,
.navlink_items > .current-menu-item > a {
    color: var(--rg-accent);
    background: transparent;
}

/* Last nav item = primary contact CTA */
.navlink_items > .menu-item:last-child > a,
.navbar .navlink_items > .menu-item:last-child > a {
    min-width: 170px;
    margin-left: 12px;
    padding: 0 24px;
    background: var(--rg-ink);
    color: #fff;
    transition: background .3s var(--rg-ease);
}

.navlink_items > .menu-item:last-child > a:hover {
    background: var(--rg-accent);
    color: #fff;
}

.menu-item > .sub-menu {
    min-width: 250px;
    padding: 8px 0;
    border: 1px solid var(--rg-line);
    background: #fff;
    box-shadow: var(--rg-shadow-soft);
}

.menu-item > .sub-menu a {
    padding: 11px 20px;
    color: var(--rg-ink);
    font-size: 14px;
}

.menu-item > .sub-menu a:hover {
    color: var(--rg-accent);
}

/* ============================================================= HERO */
.main {
    margin-top: 0;
}

.hero {
    margin-top: 0;
    padding: 84px 0 86px;
    background:
        linear-gradient(180deg, var(--rg-soft), rgba(255, 255, 255, 0) 70%),
        #fff;
}

.hero .hero_content,
.hero_content {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
    gap: 70px;
    align-items: center;
    justify-content: space-between;
}

.hero_info {
    width: auto;
    max-width: 720px;
    padding: 0;
}

.hero_title .title_head {
    width: 64px;
    height: 3px;
    margin-bottom: 26px;
    background: var(--rg-accent);
}

.hero_info .section_title.top_sm,
.section_title.top_sm {
    margin-top: 0;
    color: var(--rg-muted);
    font-family: var(--rg-font-text);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.section_title {
    margin-top: 14px;
    color: var(--rg-ink);
    font-size: clamp(46px, 5.6vw, 82px);
    font-weight: 700;
    line-height: 1.02;
    letter-spacing: -.02em;
}

.hero_description {
    width: auto;
    max-width: 580px;
    margin-top: 26px;
    color: var(--rg-muted);
    font-size: 19px;
    font-weight: 400;
    line-height: 1.7;
}

.hero_work_check {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 28px;
    width: 100%;
    margin-top: 40px;
}

.hero_work_check li {
    width: auto;
    display: flex;
    align-items: center;
    gap: 14px;
    color: var(--rg-ink);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
}

.hero_work_check li > img {
    width: 38px;
    height: 38px;
    object-fit: contain;
}

.hero_work_check .mob_full {
    grid-column: 1 / -1;
}

.hero_work_check .btn_green {
    width: min(100%, 420px);
    margin-top: 8px;
}

.hero_img_content,
.hero_img_big {
    width: 100%;
}

.hero_img_big {
    overflow: hidden;
    aspect-ratio: 16 / 11;
    background: var(--rg-soft);
    border-radius: 0;
    box-shadow: 0 30px 80px rgba(14, 14, 16, .14);
}

.hero_img_big img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rg-hero-block .hero_img_content:empty {
    display: none;
}

.rg-hero-block .hero_img_content:empty + .hero_info {
    max-width: 900px;
}

/* ============================================================= SERVICES GRID */
.servises {
    margin-top: 0;
    padding: 0;
    background: #fff;
}

.servises .servises_menu {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    background: var(--rg-line);
    border: 1px solid var(--rg-line);
}

.servises_menu_item {
    width: auto;
    padding: 0;
    border-left: 0;
    background: #fff;
    transition: none;
}

.servises_menu_item:hover {
    box-shadow: none;
    transform: none;
}

.servises_menu_item a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 18px;
    min-height: 200px;
    padding: 28px 20px;
    color: var(--rg-ink);
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .02em;
    line-height: 1.35;
    text-align: center;
    text-transform: uppercase;
    transition: background .3s var(--rg-ease), color .3s var(--rg-ease);
}

.servises_menu_item img {
    width: 66px;
    height: 66px;
    object-fit: contain;
    filter: grayscale(1) brightness(.25);
    transition: filter .3s var(--rg-ease), transform .3s var(--rg-ease);
}

.servises_menu_item a:hover {
    background: var(--rg-ink);
    color: #fff;
}

.servises_menu_item a:hover img {
    filter: brightness(0) invert(1);
    transform: translateY(-3px);
}

/* ============================================================= SERVICE CARDS */
.servise_card,
.rg-landing-archive {
    margin-top: 0;
    padding: 88px 0;
}

.card_items,
.rg-landing-archive .rg-cpt-grid,
.rg-related-section .rg-cpt-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    justify-content: stretch;
    align-items: stretch;
}

.card_items .card_item,
.rg-landing-card {
    width: auto;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    border: 1px solid var(--rg-line);
    background: var(--rg-panel);
    box-shadow: none;
    transition: transform .35s var(--rg-ease), box-shadow .35s var(--rg-ease), border-color .35s var(--rg-ease);
}

.card_items .card_item:hover,
.rg-landing-card:hover {
    transform: translateY(-6px);
    border-color: var(--rg-line-strong);
    box-shadow: var(--rg-shadow-lift);
    background: #fff;
}

.card_head {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--rg-soft);
}

.card_head img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s var(--rg-ease);
}

.card_items .card_item:hover .card_head img,
.rg-landing-card:hover .card_head img {
    transform: scale(1.04);
}

.card_item .card_body,
.rg-landing-card .card_body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 32px;
}

.card_title,
.rg-landing-card .card_title {
    min-height: 0;
    color: var(--rg-ink);
    font-size: clamp(22px, 1.6vw, 28px);
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: -.01em;
    text-align: left;
}

.card_description,
.rg-landing-card .card_description {
    min-height: 0;
    max-width: 58ch;
    margin-top: 14px;
    color: var(--rg-muted);
    font-size: 16px;
    line-height: 1.66;
    text-align: left;
}

.card_btn,
.rg-landing-card .card_btn {
    width: 100%;
    margin-top: 26px;
}

.card_items .card_item:hover .card_btn {
    background: var(--rg-ink);
    border-color: var(--rg-ink);
    color: #fff;
}

/* ============================================================= CTA BAND */
.order_target {
    margin-top: 0;
    padding: 60px 0;
    background: var(--rg-ink);
}

.order_target .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 32px;
}

.order_title {
    color: #fff;
    font-size: clamp(26px, 2.4vw, 34px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.01em;
}

/* FIX: button was an invisible red-outline on black. Make it solid & legible. */
.order_target .button {
    flex: 0 0 auto;
    padding: 0 44px;
    border-color: #fff;
    background: #fff;
    color: var(--rg-ink);
}

.order_target .button:hover {
    background: var(--rg-accent);
    border-color: var(--rg-accent);
    color: #fff;
}

/* ============================================================= ADVANTAGES */
.advantages {
    margin-top: 0;
    padding: 90px 0;
    background: #fff;
}

.advantages_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}

.advantages_title {
    width: 70%;
    color: var(--rg-ink);
    font-size: clamp(30px, 3vw, 44px);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -.015em;
}

.advantages_top .button {
    flex: 0 0 auto;
    color: var(--rg-ink);
    border-color: var(--rg-line-strong);
}

.advantages_contents {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    max-width: none;
    margin: 48px 0 0;
}

.advantages_item {
    width: auto;
}

.text_advantages {
    gap: 18px;
}

.text_advantages p {
    color: var(--rg-muted);
    font-size: 17px;
    line-height: 1.78;
}

.check_advantages {
    gap: 0;
    margin-top: 4px;
}

.check_advantages li {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 13px 0;
    border-bottom: 1px solid var(--rg-line);
    color: var(--rg-ink);
    font-size: 16px;
    font-weight: 500;
}

.check_advantages li:last-child {
    border-bottom: 0;
}

.check_advantages li img {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
}

.advantages_bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 36px;
    padding-bottom: 60px;
}

.advantages_bottom_title {
    color: var(--rg-ink);
    font-weight: 700;
}

.advantages_bottom_star img {
    width: 18px;
    height: 18px;
}

.advantages_link a {
    color: var(--rg-accent);
    font-size: 14px;
    font-weight: 600;
    border-bottom: 1px solid var(--rg-line-strong);
}

.advantages_gallery {
    flex-direction: row;
    align-items: center;
    gap: 40px;
    padding: 54px 0 0;
    border-top: 1px solid var(--rg-line);
}

.galler_title {
    width: 25%;
    color: var(--rg-ink);
    font-size: 17px;
    font-weight: 600;
    line-height: 1.5;
}

.galler_contents {
    width: 75%;
}

.galler_contents::before,
.galler_contents::after {
    width: 120px;
}

.slide_img img {
    filter: grayscale(1);
    opacity: .8;
    transition: filter .3s var(--rg-ease), opacity .3s var(--rg-ease);
}

.slide_img img:hover {
    filter: grayscale(0);
    opacity: 1;
}

/* ============================================================= FORMS (appointment) */
.forms {
    padding: 0;
    background: transparent;
}

.forms .forms_content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    overflow: hidden;
    border: 1px solid var(--rg-line);
    background: #fff;
    box-shadow: var(--rg-shadow-soft);
}

.forms_info {
    width: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 56px;
    background: var(--rg-ink);
}

.form_info_title {
    color: #fff;
    font-size: clamp(28px, 2.6vw, 40px);
    font-weight: 700;
    line-height: 1.12;
    text-align: left;
    padding-bottom: 0;
}

.form_info_title::after {
    content: "";
    position: static;
    display: block;
    width: 56px;
    height: 3px;
    margin: 20px 0 0;
    background: var(--rg-accent);
}

.forms_description,
.forms_info .description_text {
    margin-top: 24px;
    color: rgba(255, 255, 255, .72);
    font-size: 16px;
    line-height: 1.7;
    text-align: left;
}

.forms_component {
    width: auto;
    padding: 48px 52px 52px;
    background: var(--rg-soft);
}

/* ---- Field styling shared by native form + CF7 + rg-contact-form ---- */
.forms_component form,
.contact form,
.rg-landing-contact .wpcf7 form,
.forms_component .wpcf7 form {
    display: grid;
    gap: 18px;
}

/* Neutralise CF7's stray paragraphs everywhere */
.forms .wpcf7 p,
.contact .wpcf7 p,
.wpcf7 form p {
    margin: 0;
}

.rg-contact-form,
.forms_component form.rg-contact-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.rg-contact-form > label,
.rg-contact-form .two_input,
.rg-contact-form > textarea,
.rg-contact-form > button,
.forms_component form.rg-contact-form > label,
.forms_component form.rg-contact-form .two_input,
.forms_component form.rg-contact-form > textarea,
.forms_component form.rg-contact-form > button {
    grid-column: 1 / -1;
}

.rg-contact-form .two_input {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.rg-contact-form label {
    display: block;
}

.rg-contact-form .select {
    position: relative;
    display: block;
}

.rg-contact-form .select img {
    position: absolute;
    top: 50%;
    right: 18px;
    transform: translateY(-50%);
    pointer-events: none;
}

/* CF7 form layout.
   The CF7 template wraps the email+phone pair in a single <p> inside
   .rg-cf7-row, e.g. <div class="rg-cf7-row"><p>[email][tel]</p></div>.
   So the 2-column grid must live on that inner <p>, not on the row itself,
   otherwise both fields collapse into one column. Stray <br> tags that CF7
   injects between/inside fields are hidden so they don't add blank rows. */
.rg-cf7-form {
    display: grid;
    gap: 18px;
}

.rg-cf7-row {
    display: block;
}

.rg-cf7-row > p {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 0;
}

.rg-cf7-row > p > br,
.rg-cf7-field > br,
.wpcf7 form .rg-cf7-field br {
    display: none;
}

/* Every field/control fills its column */
.rg-cf7-form .rg-cf7-field,
.rg-cf7-form .wpcf7-form-control-wrap {
    width: 100%;
}

.rg-cf7-field,
.forms .wpcf7 label,
.contact .wpcf7 label {
    display: grid;
    gap: 7px;
    color: var(--rg-muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.2;
    text-transform: uppercase;
}

.wpcf7-form-control-wrap {
    display: block;
}

/* Inputs */
.forms_component input:not([type="submit"]),
.forms_component select,
.forms_component textarea,
.contact input:not([type="submit"]),
.contact select,
.contact textarea,
.wpcf7 input:not([type="submit"]),
.wpcf7 select,
.wpcf7 textarea,
.rg-contact-form input:not([type="submit"]),
.rg-contact-form select,
.rg-contact-form textarea {
    width: 100%;
    min-height: 56px;
    padding: 15px 18px;
    border: 1px solid var(--rg-line-strong);
    border-radius: 0;
    background: #fff;
    color: var(--rg-ink);
    font-size: 15px;
    line-height: 1.4;
    box-shadow: none;
    outline: none;
    transition: border-color .25s var(--rg-ease), box-shadow .25s var(--rg-ease);
}

.forms_component textarea,
.contact textarea,
.wpcf7 textarea,
.rg-contact-form textarea {
    min-height: 132px;
    resize: vertical;
}

.forms_component input:focus,
.forms_component select:focus,
.forms_component textarea:focus,
.contact input:focus,
.contact select:focus,
.contact textarea:focus,
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus,
.rg-contact-form input:focus,
.rg-contact-form select:focus,
.rg-contact-form textarea:focus {
    border-color: var(--rg-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--rg-accent) 14%, transparent);
}

.forms_component select,
.contact select,
.rg-contact-form select {
    -webkit-appearance: none;
    appearance: none;
}

.form_button,
.wpcf7-submit,
.rg-contact-form button {
    width: 100%;
    margin-top: 6px;
}

.wpcf7-not-valid-tip {
    margin-top: 6px;
    color: var(--rg-accent);
    font-size: 13px;
}

.wpcf7 form .wpcf7-response-output {
    margin: 16px 0 0;
    padding: 14px 16px;
    border: 1px solid var(--rg-line);
    color: var(--rg-ink);
    font-size: 14px;
}

/* Beat main.css's higher-specificity field selectors for full consistency */
.contact form input,
.contact form select,
.contact form textarea,
.contact label input,
.contact label select {
    border: 1px solid var(--rg-line-strong);
    background: #fff;
    color: var(--rg-ink);
}

.contact form input::placeholder,
.contact form textarea::placeholder,
.contact label input::placeholder {
    color: var(--rg-muted);
}

/* ============================================================= WELCOME / FEATURES */
.service {
    padding: 88px 0;
    background: #fff;
}

.service .container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    align-items: stretch;
    border: 1px solid var(--rg-line);
    overflow: hidden;
}

.service_left {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 56px;
    background: var(--rg-ink);
}

.service .service_left span {
    color: var(--rg-gold);
    font-family: var(--rg-font-text);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.service .service_left h4 {
    margin-top: 14px;
    color: #fff;
    font-size: clamp(32px, 3.4vw, 52px);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -.02em;
}

.service .service_left p {
    margin-top: 18px;
    max-width: 460px;
    color: rgba(255, 255, 255, .72);
    font-size: 16px;
    line-height: 1.7;
}

.service .service_right {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    padding: 0;
    background: var(--rg-line);
}

.service .genuine {
    border-top: 0;
    box-shadow: none;
    background: var(--rg-soft);
    transition: background .3s var(--rg-ease);
}

.service .genuine:hover {
    border-top: 0;
    background: #fff;
}

.service .genuine_in {
    gap: 18px;
    padding: 44px 22px;
}

.service .genuine_in img {
    width: 52px;
    height: 52px;
    object-fit: contain;
    filter: grayscale(1) brightness(.3);
}

.service .genuine p {
    color: var(--rg-ink);
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .02em;
    text-transform: uppercase;
}

/* ============================================================= LONG-FORM TEXT */
.texts {
    margin-top: 0;
    padding: 80px 0;
}

.texts .container {
    width: min(100% - 48px, 1080px);
}

.texts .text_title h5,
.texts h1,
.texts h2,
.texts h3,
.texts h4,
.texts h5 {
    color: var(--rg-ink);
    font-family: var(--rg-font-display);
    line-height: 1.16;
    letter-spacing: -.01em;
}

.texts .text_title h5,
.texts h2 {
    font-size: clamp(26px, 2.4vw, 34px);
    font-weight: 700;
}

.title-2 {
    padding-top: 18px;
}

.texts .container p {
    max-width: 78ch;
    padding-top: 18px;
    color: var(--rg-muted);
    font-size: 17px;
    line-height: 1.8;
}

.texts ul li {
    margin-left: 22px;
    color: var(--rg-muted);
    font-size: 17px;
    line-height: 1.8;
}

/* FAQ */
.rg-faq-section {
    background: var(--rg-soft);
}

.rg-faq-section .text_title h5 {
    margin-bottom: 26px;
}

.rg-faq-list {
    display: grid;
    gap: 14px;
}

.rg-faq-item {
    padding: 26px 30px;
    border: 1px solid var(--rg-line);
    border-bottom: 1px solid var(--rg-line);
    background: #fff;
}

.rg-faq-item .title-3 h5 {
    margin: 0 0 10px;
    padding: 0;
    color: var(--rg-ink);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
}

.rg-faq-item p {
    margin: 0;
    padding: 0;
    color: var(--rg-muted);
    font-size: 16px;
    line-height: 1.7;
}

/* ============================================================= REVIEWS */
.rg-reviews-section {
    padding: 88px 0;
    background: #fff;
}

.rg-reviews-section .text_title h5 {
    margin: 0 0 32px;
    color: var(--rg-ink);
    font-size: clamp(28px, 2.8vw, 40px);
    font-weight: 700;
    line-height: 1.14;
}

.rg-review-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.rg-review-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 34px;
    border: 1px solid var(--rg-line);
    background: #fff;
    box-shadow: none;
    transition: border-color .3s var(--rg-ease), box-shadow .3s var(--rg-ease);
}

.rg-review-card:hover {
    border-color: var(--rg-line-strong);
    box-shadow: var(--rg-shadow-soft);
}

.rg-rating {
    display: flex;
    gap: 4px;
    margin-bottom: 20px;
    color: var(--rg-line-strong);
    font-size: 17px;
    line-height: 1;
}

.rg-rating .is-active {
    color: var(--rg-gold);
}

.rg-review-card p {
    margin: 0;
    color: var(--rg-ink);
    font-size: 17px;
    line-height: 1.72;
}

.rg-review-author {
    margin-top: auto;
    padding-top: 24px;
    color: var(--rg-ink);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .02em;
}

.rg-review-author span {
    display: block;
    margin-top: 5px;
    color: var(--rg-muted);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
}

/* ============================================================= CONTACT */
.contact {
    padding: 96px 0;
    background:
        radial-gradient(120% 80% at 50% 0%, color-mix(in srgb, var(--rg-accent) 16%, transparent), transparent 55%),
        var(--rg-ink);
}

.contact .container {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 0;
}

.contact_left,
.rg-landing-contact .contact_left {
    width: min(100%, 760px);
    max-width: 760px;
    border: 0;
    background: #fff;
    box-shadow: 0 40px 90px rgba(0, 0, 0, .35);
}

/* When a location map is present, split into form + map (equal columns). */
.contact .container:has(iframe) {
    justify-content: stretch;
}

.contact .container:has(iframe) .contact_left {
    width: 50%;
    max-width: none;
}

.contact .container:has(iframe) iframe {
    width: 50%;
    height: auto;
    min-height: 100%;
    align-self: stretch;
    box-shadow: 0 40px 90px rgba(0, 0, 0, .35);
}

@media (max-width: 1024px) {
    .contact .container:has(iframe) {
        flex-direction: column;
    }

    .contact .container:has(iframe) .contact_left,
    .contact .container:has(iframe) iframe {
        width: 100%;
    }

    .contact .container:has(iframe) iframe {
        min-height: 360px;
    }
}

.contact .contact_title {
    width: 100%;
    padding: 46px 52px 30px;
    border-bottom: 1px solid var(--rg-line);
    text-align: center;
}

.contact .contact_title h5 {
    max-width: 620px;
    margin: 0 auto 12px;
    color: var(--rg-ink);
    font-size: clamp(28px, 2.8vw, 42px);
    font-weight: 700;
    line-height: 1.12;
}

.contact .contact_title p {
    max-width: 540px;
    margin: 0 auto;
    color: var(--rg-muted);
    font-size: 16px;
    line-height: 1.65;
}

.contact form {
    padding: 34px 52px 52px;
}

.contact iframe {
    width: 100%;
    height: 100%;
    min-height: 420px;
    filter: grayscale(.25) contrast(1.04);
}

/* ============================================================= FOOTER */
.footer_top_line {
    height: 4px;
    margin: 0;
    border: 0;
    background: linear-gradient(90deg, var(--rg-accent), var(--rg-gold));
}

footer {
    padding: 0;
    background: var(--rg-footer);
    color: rgba(255, 255, 255, .72);
}

footer .container {
    width: var(--rg-shell);
}

footer .footer_top {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 44px;
    padding: 76px 0 60px;
}

footer h6 {
    margin: 0 0 22px;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

footer .nav,
footer .footer_servises .nav_link,
footer .nav_link {
    margin: 0;
}

footer .nav_link li {
    margin-bottom: 11px;
}

footer .nav_link li a,
footer a,
.garage span {
    color: rgba(255, 255, 255, .66);
    font-size: 15px;
    line-height: 1.6;
    transition: color .25s var(--rg-ease);
}

footer .nav_link li a:hover,
footer a:hover {
    color: #fff;
}

footer .footer_servises .footer_text {
    max-width: 220px;
    color: rgba(255, 255, 255, .55);
}

footer .line {
    max-width: none;
    background: rgba(255, 255, 255, .12);
}

footer .footer_bottom .garage {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 26px 0 40px;
}

footer .footer_bottom .footer_btn_top span {
    background: rgba(255, 255, 255, .08);
    box-shadow: none;
}

footer .footer_bottom .footer_btn_top:hover span {
    background: var(--rg-accent);
    transform: scale(1.08);
}

.footer_bg {
    display: none;
}

/* ============================================================= ARCHIVE / LANDING */
.rg-archive-hero {
    padding: 92px 0 48px;
    background:
        linear-gradient(180deg, var(--rg-soft), rgba(255, 255, 255, 0)),
        #fff;
}

.rg-archive-hero .container {
    max-width: none;
}

.rg-archive-hero p {
    max-width: 760px;
    margin-top: 20px;
    color: var(--rg-muted);
    font-size: 19px;
    line-height: 1.65;
}

.rg-catalog-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

.rg-catalog-strip a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 20px;
    border: 1px solid var(--rg-line-strong);
    background: #fff;
    color: var(--rg-ink);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    box-shadow: none;
    transition: background .25s var(--rg-ease), color .25s var(--rg-ease), border-color .25s var(--rg-ease);
}

.rg-catalog-strip a:hover {
    background: var(--rg-ink);
    border-color: var(--rg-ink);
    color: #fff;
}

.rg-landing-hero {
    padding-top: 72px;
    background: #fff;
}

.rg-landing-content {
    padding-top: 64px;
}

.rg-related-section {
    margin-top: 0;
}

.rg-landing-contact {
    margin-top: 0;
}

/* Numbered landing cards */
.rg-cpt-grid {
    counter-reset: rg-card;
}

.rg-landing-card {
    position: relative;
}

.rg-landing-card::before {
    counter-increment: rg-card;
    content: counter(rg-card, decimal-leading-zero);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    min-width: 46px;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--rg-ink);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
}

.rg-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 54px;
}

.rg-pagination .page-numbers {
    display: inline-flex;
    min-width: 46px;
    height: 46px;
    padding: 0 16px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--rg-line-strong);
    background: #fff;
    color: var(--rg-ink);
    font-weight: 600;
    transition: background .25s var(--rg-ease), color .25s var(--rg-ease), border-color .25s var(--rg-ease);
}

.rg-pagination .page-numbers.current,
.rg-pagination .page-numbers:hover {
    background: var(--rg-ink);
    border-color: var(--rg-ink);
    color: #fff;
}

/* CPT single misc */
.rg-cpt-single .text_title {
    display: flex;
    align-items: center;
    gap: 16px;
}

.rg-cpt-title-icon {
    width: 52px;
    height: 52px;
    object-fit: contain;
    flex: 0 0 auto;
    filter: grayscale(1) brightness(.3);
}

.rg-cpt-featured {
    margin: 26px 0;
}

.rg-cpt-featured img {
    width: 100%;
    height: auto;
    display: block;
}

.rg-related-links {
    margin-top: 16px;
}

.rg-related-links a {
    color: var(--rg-accent);
}

/* ============================================================= MOBILE CALL BUTTON */
.header_call {
    display: none;
}

.header_call_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid var(--rg-line-strong);
    background: var(--rg-ink);
    transition: background .25s var(--rg-ease), transform .2s var(--rg-ease);
}

.header_call_btn img {
    width: 20px;
    height: 20px;
    filter: brightness(0) invert(1);
}

.header_call_btn:active {
    transform: scale(.95);
}

/* ============================================================= WHATSAPP FAB */
.rg-wa-fab {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 60;
    display: inline-flex;
    align-items: center;
    gap: 0;
    height: 58px;
    width: 58px;
    padding: 0;
    border-radius: 999px;
    background: #25d366;
    color: #fff;
    box-shadow: 0 12px 30px rgba(37, 211, 102, .45), 0 4px 12px rgba(0, 0, 0, .2);
    overflow: hidden;
    transition: width .35s var(--rg-ease), background .25s var(--rg-ease), transform .2s var(--rg-ease);
}

.rg-wa-fab img {
    flex: 0 0 58px;
    width: 58px;
    height: 58px;
    padding: 14px;
    object-fit: contain;
}

.rg-wa-fab__label {
    white-space: nowrap;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .04em;
    opacity: 0;
    transition: opacity .25s var(--rg-ease);
}

.rg-wa-fab:hover {
    width: 168px;
    background: #1ebe5a;
    padding-right: 22px;
}

.rg-wa-fab:hover .rg-wa-fab__label {
    opacity: 1;
}

.rg-wa-fab:active {
    transform: scale(.96);
}

/* ============================================================= CONTACT POPUP */
body.rg-modal-open {
    overflow: hidden;
}

.rg-modal {
    position: fixed;
    inset: 0;
    z-index: 200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    opacity: 0;
    transition: opacity .3s var(--rg-ease);
}

/* Keep it fully hidden until JS opens it (author display:flex would beat UA [hidden]) */
.rg-modal[hidden] {
    display: none;
}

.rg-modal.is-open {
    opacity: 1;
}

.rg-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(8, 9, 11, .72);
    backdrop-filter: blur(3px);
    cursor: pointer;
}

.rg-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(100%, 560px);
    max-height: calc(100vh - 48px);
    overflow-y: auto;
    background: #fff;
    box-shadow: 0 40px 100px rgba(0, 0, 0, .5);
    transform: translateY(16px) scale(.98);
    transition: transform .3s var(--rg-ease);
}

.rg-modal.is-open .rg-modal__dialog {
    transform: translateY(0) scale(1);
}

.rg-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--rg-ink);
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
    transition: color .2s var(--rg-ease), transform .2s var(--rg-ease);
}

.rg-modal__close:hover {
    color: var(--rg-accent);
    transform: rotate(90deg);
}

.rg-modal__head {
    padding: 40px 44px 22px;
    border-bottom: 1px solid var(--rg-line);
}

.rg-modal__head h5 {
    margin: 0;
    color: var(--rg-ink);
    font-family: var(--rg-font-display);
    font-size: clamp(24px, 3.4vw, 30px);
    font-weight: 700;
    line-height: 1.14;
    letter-spacing: -.01em;
}

.rg-modal__head p {
    margin: 12px 0 0;
    color: var(--rg-muted);
    font-size: 15px;
    line-height: 1.6;
}

.rg-modal__body {
    padding: 28px 44px 40px;
}

/* The CF7/fallback form inside the popup reuses the field system */
.rg-modal__body form {
    display: grid;
    gap: 16px;
}

.rg-modal__body .wpcf7 p,
.rg-modal__body form p {
    margin: 0;
}

.rg-modal__body .rg-cf7-field,
.rg-modal__body .wpcf7 label {
    display: grid;
    gap: 7px;
    color: var(--rg-muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.2;
    text-transform: uppercase;
}

.rg-modal__body input:not([type="submit"]),
.rg-modal__body select,
.rg-modal__body textarea {
    width: 100%;
    min-height: 54px;
    padding: 14px 16px;
    border: 1px solid var(--rg-line-strong);
    border-radius: 0;
    background: #fff;
    color: var(--rg-ink);
    font-size: 15px;
    outline: none;
    transition: border-color .25s var(--rg-ease), box-shadow .25s var(--rg-ease);
}

.rg-modal__body textarea {
    min-height: 110px;
    resize: vertical;
}

.rg-modal__body input:focus,
.rg-modal__body select:focus,
.rg-modal__body textarea:focus {
    border-color: var(--rg-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--rg-accent) 14%, transparent);
}

.rg-modal__body select {
    -webkit-appearance: none;
    appearance: none;
}

.rg-modal__body .two_input {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.rg-modal__body .select {
    position: relative;
    display: block;
}

.rg-modal__body .select img {
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    pointer-events: none;
}

.rg-modal__body button,
.rg-modal__body .wpcf7-submit {
    width: 100%;
    margin-top: 4px;
}

/* ============================================================= RESPONSIVE */
@media (max-width: 1180px) {
    .header_info .header_content {
        grid-template-columns: 180px minmax(0, 1fr);
        gap: 24px;
    }

    .hero_content,
    .hero .hero_content {
        grid-template-columns: 1fr;
        gap: 44px;
    }

    .hero_info {
        max-width: none;
    }

    .card_items,
    .rg-landing-archive .rg-cpt-grid,
    .rg-related-section .rg-cpt-grid,
    .rg-review-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1024px) {
    .container,
    .header_top .container,
    .header_info .container,
    .hero .container,
    .servises .container,
    .servise_card .container,
    .order_target .container,
    .advantages .container,
    .forms .container,
    .service .container,
    .texts .container,
    .contact .container,
    .rg-reviews-section .container,
    .rg-faq-section .container,
    footer .container {
        width: min(100% - 36px, 100%);
        max-width: none;
    }

    /* Clean mobile header: logo + hamburger only. Nav is the off-canvas panel. */
    .header_info .header_content {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0;
    }

    .header_content_right {
        flex-direction: row;
        align-items: center;
        gap: 0;
    }

    .header_info_items {
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }

    .item_lists {
        gap: 0;
    }

    .item_lists .info_item {
        display: none;
    }

    .item_lists .header_call {
        display: flex;
        align-items: center;
        margin-right: 14px;
    }

    .item_lists .hamburger {
        display: flex;
    }

    .navbar {
        margin-top: 0;
    }

    .navbar .navlink_items,
    .navlink_items {
        justify-content: flex-start;
        gap: 0;
    }

    .navlink_items > .menu-item > a,
    .navlink_items > .menu-item:last-child > a {
        min-height: 50px;
        min-width: 0;
        margin-left: 0;
        padding: 0;
        justify-content: flex-start;
        background: transparent;
        color: var(--rg-ink);
        border-top: 1px solid var(--rg-line);
    }

    .servises .servises_menu {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .forms .forms_content,
    .service .container,
    .advantages_contents,
    .order_target .container {
        grid-template-columns: 1fr;
    }

    .advantages_top {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
    }

    .advantages_title {
        width: 100%;
    }

    .advantages_gallery {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }

    .galler_title,
    .galler_contents {
        width: 100%;
    }

    .service .service_right {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .hero {
        padding: 52px 0 56px;
    }

    .hero_description {
        font-size: 17px;
    }

    .hero_work_check {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .servise_card,
    .rg-landing-archive,
    .advantages,
    .service,
    .texts,
    .rg-reviews-section,
    .contact {
        padding: 56px 0;
    }

    .card_items,
    .rg-landing-archive .rg-cpt-grid,
    .rg-related-section .rg-cpt-grid,
    .rg-review-grid {
        grid-template-columns: 1fr;
    }

    .servises_menu_item a {
        min-height: 150px;
        padding: 22px 14px;
        font-size: 13px;
    }

    .servises_menu_item img {
        width: 52px;
        height: 52px;
    }

    .order_target .container {
        flex-direction: column;
        align-items: flex-start;
        gap: 22px;
    }

    .order_target .button {
        width: 100%;
    }

    .forms_info,
    .forms_component,
    .service_left,
    .contact .contact_title,
    .contact form,
    .rg-faq-item,
    .rg-review-card,
    .card_item .card_body {
        padding: 28px;
    }

    .service .service_right {
        grid-template-columns: 1fr;
    }

    .rg-contact-form,
    .rg-contact-form .two_input,
    .rg-cf7-row > p {
        grid-template-columns: 1fr;
    }

    footer .footer_top {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 32px;
        padding: 52px 0 40px;
    }

    .rg-modal {
        padding: 0;
        align-items: flex-end;
    }

    .rg-modal__dialog {
        width: 100%;
        max-height: 92vh;
    }

    .rg-modal__head {
        padding: 34px 26px 20px;
    }

    .rg-modal__body {
        padding: 24px 26px 34px;
    }

    .rg-modal__body .two_input {
        grid-template-columns: 1fr;
    }

    .rg-wa-fab {
        right: 16px;
        bottom: 16px;
        height: 54px;
        width: 54px;
    }

    .rg-wa-fab img {
        flex-basis: 54px;
        width: 54px;
        height: 54px;
    }
}

@media (max-width: 520px) {
    .servises .servises_menu {
        grid-template-columns: 1fr;
    }

    .rg-catalog-strip {
        flex-direction: column;
    }

    .rg-catalog-strip a {
        justify-content: center;
    }

    footer .footer_top {
        grid-template-columns: 1fr;
    }

    .advantages_bottom {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }
}
