html{
 
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  color:#0f1115;
}

.page-title{
    text-align:center;
    color:#f8b600;
    font-family:'Oswald',sans-serif;
    font-size:38px;
    font-weight:500;
    text-transform:uppercase;
    transform:skew(-5deg);
    margin-bottom:50px;
}


.cart-item__btn-dec-count {
    margin-right: 10px;
    cursor: pointer;
}

.cart-item__btn-inc-count {
    margin-left: 10px;
    cursor: pointer;
}

.cart-item__btn-remove {
    cursor: pointer;
}


/* ================= NEW STYLE ================= */

body{
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    margin:0;
    background:#111;
    font-family:'Inter',sans-serif;
    color:white;
}

/* ================= HEADER FIX ================= */



/* ====================== ВЕРХНЯЯ ШАПКА ====================== */
.header-top {
    position: fixed;
    
    top: 0;
    left: 0px;
    width: 100%;
    height: 105px;
    background: rgba(0, 0, 0, .88);
    z-index: 1000;
    box-sizing: border-box;
    display: flex;
    align-items: center;    
    justify-content: space-evenly;      /* равномерно распределяет пункты */
    
    padding: 0 0px;
    gap: 120px;
}

/* логотип */

.logo{
    padding-left: 50px;
    display:flex;
    align-items:center;
    flex-shrink:0;
}

.logo-img{
    width:145px;
    height:auto;
    display:block;
}

/* Блок контактов (адрес + часы + телефон) */

.header-contacts {
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 110px;    
    margin-right: 160px;
}

.header-contacts > div {
    text-align: center;
    line-height: 1.1;
    
}

.header-contacts span {
    
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: white;
}

.header-contacts small {
    color: #c9c9c9;
    font-size: 14px;

}

/* Телефон чуть выделяем */


.header-phone a {
    color: white;
    text-decoration: none;
    white-space: nowrap;
}

.header-phone a:hover {
    color: #f8b600;
}

/* Иконки */

.header-icons {
    display: flex;
    gap: 18px;
    font-size: 26px;
    flex-shrink: 0;  
    
}

.header-icons a {
   
    color: #f8b600;
}


/* ====================== ИКОНКИ СЛЕВА ОТ ТЕКСТА В ШАПКЕ ====================== */

.header-info {
    
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;           /* расстояние между иконкой и текстом */
}

.header-info i {
    font-size: 26px !important;
    color: #f8b600 !important;
    flex-shrink: 0 !important;
    width: 28px !important;         /* фиксированная ширина для ровного выравнивания */
}

.header-info a{
    color: #c9c9c9;
    text-decoration:none;
    transition:.3s;

}

.header-info a:hover{ 

    color: #f8b600 !important;

}
/* ====================== НИЖНЕЕ МЕНЮ ====================== */

.header-menu {
    position: absolute;
    top: 105px;           /* точно под верхней шапкой */
    
    font-size:40px;
    width: 100%;
    height: 45px;
    background: rgba(15, 15, 15, .75);
    display: flex;
    align-items: center;
    z-index: 999;
    box-sizing: border-box;
    padding: 0 0px;
}

/* кнопка каталога */

.catalog-btn{
    width:310px;
    height:45px;
    
    background:#f8b600;
    margin-left: 20px;
    color:#111;
    font-weight:700;
    font-size:20px;

    display:flex;
    align-items:center;
    justify-content:center;

    text-decoration:none;

    flex-shrink:0;
}

/* меню */

.main-menu{
    display:flex;
    align-items:center;
    gap:20px;
    flex: 1;                            /* занимает всё свободное пространство */
    justify-content: space-evenly;      /* равномерно распределяет пункты */
    padding: 0;
}

.main-menu a{
    color:white;
    text-decoration:none;
    font-size:18px;
    font-weight:500;

    transition:.3s;
}

.main-menu a:hover{
    color:#f8b600;
}


/* HERO */

#hero{
    left: 0;
    position:relative;
    width: 100%;
    min-height:100vh;
    background: url('../img/hero-excavator.jpg') center top / cover no-repeat;
    display:flex;
    align-items: flex-start;
    overflow:hidden;
}

#hero::after{
    content:"";
    position:absolute;
    inset:0;
    background:url('../img/hero-excavator2.jpg') center/cover no-repeat;
    opacity:0;
    transition:opacity .8s ease;
}

#hero:hover::after{
    opacity:1;
}

.hero-overlay{
    position:absolute;
    inset:0;
    background:
    linear-gradient(
        90deg,
        rgba(0,0,0,.88) 0%,
        rgba(0,0,0,.72) 35%,
        rgba(0,0,0,.30) 70%,
        rgba(0,0,0,.15) 100%
    );
    z-index:2;
}

.hero-container {
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    padding: 200px 60px 30px;
    position: relative;
    z-index: 3;
    text-align: left;
}



.hero-content h1{
    font-family:'Oswald',sans-serif;
    font-size:90px;
    line-height:.9;
    margin:0 0 30px;
    text-transform:uppercase;
    color:#f8b600;
    transform:skew(-7deg);
    letter-spacing:1px;
}

.hero-info{
    font-size:18px;
    font-weight:400;
    color:white;
    margin-top:60px;
      

}

.hero-info p{
   
    text-align: justify;
    line-height: 1.5;
    margin-bottom:24px;
   
}


.hero-subtitle{
    font-size:34px;
    font-weight:500;
    color:white;
    margin-bottom:55px;
}


.hero-search{
    display:flex;
    height:68px;
    background:white;
    border-radius:4px;
    overflow:hidden;
    max-width:860px;
    box-shadow:0 10px 30px rgba(0,0,0,.25);

}

.hero-search input,
.hero-search select {
    color: #111 !important;
    background: #fff !important;
}

.hero-search input::placeholder {
    color: #777 !important;
}

.hero-search select {
    border: none;
    border-right: 1px solid #ddd;
}

.hero-search button {
    color: #111 !important;
}

.hero-search select{
    width:160px;
    border:none;
    padding:0 20px;
    font-size:17px;
    outline:none;
}

.hero-search input{
    flex:1;
    border:none;
    outline:none;
    padding:0 25px;
    font-size:18px;
}

.hero-search button{
    width:180px;
    border:none;
    background:#f8b600;
    color:#111;
    font-size:26px;
    font-weight:700;
    cursor:pointer;
}

.hero-examples{
    font-size:16px;
    margin-top:20px;
    color:#cfcfcf;
}

.hero-examples a{
    text-decoration: underline;
    text-decoration-style: dotted; /* dotted или dashed */
    font-size:16px;
    color:#464d5c;    
    margin:0 10px;
}

.hero-benefits{
    color: #f8b600;
    margin-top:45px;
    display:flex;
    gap:60px;
}

.hero-benefits div{
    display:flex;
    gap:14px;
    align-items:center;
}

.hero-benefits i{
    color:var(--yellow);
    font-size:50px;
}

.hero-benefits span{
    font-weight:600;
}

/* CONTENT */

#main{
    margin:0;
    padding:0;
    background:white;
    color:#111;
}

/* ====================== ЖЁЛТЫЙ БАННЕР ====================== */

.yellow-promotion {
    background: #f8b600;
    padding: 25px 0;
    color: #111;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.promotion-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 30px;
}

.promotion-item {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 240px;
    flex: 1;
}

.promotion-item i {
    font-size: 42px;
    color: #111;
    flex-shrink: 0;
}

.promotion-item strong {
    display: block;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
}

.promotion-item span {
    font-size: 15px;
    opacity: 0.9;
}

/* Заголовок — опускаем ниже + красивый курсив */

#catalog-section h2 {
    font-family: 'Science Gothic', sans-serif;
    font-size: 3.2rem;
    font-weight: 700;
    transform: skew(-4deg); 
    
    letter-spacing: 3px;
    margin-top: 80px !important;     /* опустили вниз */
    margin-bottom: 45px !important;
    color: #f8b600;
    text-transform: uppercase;
}

/* ====================== ВЫРАВНИВАНИЕ КАРТОЧЕК КАТАЛОГА ====================== */

#catalog-section .row {
    align-items: stretch !important;   /* все колонки одной высоты */
}


/* ====================== КАРТОЧКИ КАТЕГОРИЙ ====================== */

.category-card {
    height: 100% !important;
    min-height: 385px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    text-align: center;
    overflow: hidden;
}

.category-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.15);
}

.category-img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    filter: grayscale(100%);
    transition: all 0.4s ease;
}

.category-card:hover .category-img {
    filter: grayscale(0%);
    transform: scale(1.05);
}

.category-title {
    min-height: 96px;
    margin-top: auto !important;
    padding: 22px 12px !important;
    font-size: 1.95rem;
    font-weight: 600;
    color: #111827;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Немного больше отступ между карточками */
#catalog-section .row {
    gap: 24px;
}

/* ====================== КНОПКА И БЛОК БРЕНДОВ ====================== */


/* Кнопка "Перейти в каталог" — делаем большой и заметной */
#catalog-section .text-center a.btn-yellow {
    background: #f8b600;
    color: #111827;
    font-size: 2rem;
    font-weight: 700;
    padding: 20px 52px;
    border-radius: 0px;
    display: inline-block;
    margin-top: 60px !important;
    margin-bottom: 40px !important;
    box-shadow: 0 10px 25px rgba(248, 182, 0, 0.35);
}

#catalog-section .text-center a.btn-yellow:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 30px rgba(248, 182, 0, 0.45);
}


.brands-section {
    padding: 45px 0 55px 0 !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    background: #f8f9fa;
}

.brands-section .container {
    max-width: 100% !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
}

.brands-section .d-flex {
    justify-content: space-between !important;   /* главное — растягиваем */
    gap: 135px;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding: 10px 10px;
    
}

.brand-logo {
    padding-left: 10px !important;
    height: 24px;
    width: auto;
    max-height:42px;
    opacity:.75;
    transition:.3s;
    filter: grayscale(100%);
   
}

.brand-link:hover .brand-logo {
    filter: grayscale(0%);
    opacity: 1;
    transform: scale(1.1);
}



/* ================= TECH SECTION ================= */

.tech-content {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 32px;
    align-items: stretch;
   
}

.tech-left {
    
    border: 1px solid rgba(255, 182, 0, 0.25);
    border-radius: 14px;
    padding: 28px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.25);
}

.tech-left h3 {
    color: #ffb600;
    font-family: 'Oswald', sans-serif;
    font-size: 24px;
    margin-bottom: 15px;
}

.tech-contact {
    
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-top: 0px;
    padding: 35px;
    border: 1px solid rgba(255, 182, 0, 0.25);
    border-radius: 14px;
    text-align: center;
}

.tech-contact h3 {
    
    font-family: 'Oswald', sans-serif;
    font-size: 30px;
    margin-bottom: 15px;
}

.tech-left,
.tech-contact {
    height: 100%;
}

.tech-bottom {
    position: relative;
    overflow: hidden;
    color: #fff !important;
    background:url('../img/service-car.jpeg') center/cover no-repeat;
    border: 1px solid rgba(255, 182, 0, 0.25);
    padding: 25px 30px;
    border-radius: 14px;
    font-size: 20px;    
    line-height: 3.5;
    margin: 35px 0;
    grid-column: 1 / -1;
    width: 100%;
}

.tech-bottom::before {
    content: '';
    position: absolute;
    inset: 0;

    background: linear-gradient(
        rgba(0, 0, 0, 0.65),
        rgba(20, 20, 20, 0.65)
    );

    z-index: 1;
}

.tech-bottom * {
    position: relative;
    z-index: 2;
}



@media (max-width: 768px) {
    .tech-content {
        grid-template-columns: 1fr;
    }

    .tech-page h2 {
        font-size: 28px;
    }

    .tech-page p {
        font-size: 16px;
    }
}



/* ================= RENT SECTION ================= */



.section-title {
    text-align: center;
    color: #f8b600;
    font-family: 'Oswald', sans-serif;
    font-size: 40px;
    text-transform: uppercase;
    margin-bottom: 25px;
}

.rent-lead {
    max-width: 900px;
    margin: 0 auto 30px;
    font-size: 25px;
    line-height: 1.7;
    text-align: center;
    color: #ddd;
}

.rent-phone-box {
    text-align: center;
    font-size: 22px;
    margin-bottom: 45px;
}

.rent-phone-box a {
    color: #f8b600;
    font-weight: 700;
    text-decoration: none;
}

.rent-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    /* У всех четырёх карточек одинаковая высота, независимо от количества пунктов. */
    grid-auto-rows: 1fr;
    align-items: stretch;
    gap: 25px;
}

.rent-card {
    position: relative;
    overflow: hidden;
    color: #fff !important;
    border: 1px solid rgba(248, 182, 0, 0.35);
    border-radius: 14px;
    padding: 28px;
}

.rent-card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        rgba(0, 0, 0, 0.65),
        rgba(20, 20, 20, 0.65)
    );
    z-index: 1;
}

.rent-card * {
    position: relative;
    z-index: 2;
}

.rent-card.a {
    background: url('../img/Komatsu-rent.jpeg') center / cover no-repeat;
}

.rent-card.i {
    background: url('../img/evac.jpg') center / cover no-repeat;
}

.rent-card.e {
    background: url('../img/hydro-rent.jpeg') center 75% / cover no-repeat;
}

.rent-card.t {
    background: url('../img/Hitachi-rent.jpeg') center / cover no-repeat;
}

.rent-card h3,
.rent-advantages h3,
.rent-cta h3 {
    color: #f8b600;
    font-family: 'Oswald', sans-serif;
    font-size: 26px;
    margin-bottom: 18px;
}

.rent-card li,
.rent-advantages li {
    margin-bottom: 10px;
    line-height: 1.5;
}

.rent-price {
    margin: 45px auto;
    max-width: 500px;
    text-align: center;
    background: #f8b600;
    color: #111;
    border-radius: 14px;
    padding: 25px;
}

.rent-price span {
    display: block;
    font-size: 18px;
}

.rent-price strong {
    display: block;
    font-size: 34px;
    font-family: 'Oswald', sans-serif;
}

.rent-advantages,
.rent-cta {
    border: 1px solid rgba(255, 182, 0, 0.25);
    border-radius: 14px;
    padding: 30px;
    margin-top: 30px;
}

.rent-cta {
    text-align: center;
}

@media (max-width: 768px) {
    .rent-grid {
        grid-template-columns: 1fr;
        grid-auto-rows: auto; /* На узких экранах высота по содержимому. */
    }

    .section-title {
        font-size: 32px;
    }
}


/* ================= SERVICE SECTION ================= */



.service-section{
    padding:10px 20px;
    background:#fff;
}

.service-grid{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:30px;

    max-width:1400px;
    margin:0 auto;
}

/* ОБЩЕЕ */

.service-card{
    position:relative;
    overflow:hidden;
    min-height:360px;
}

/* ЛЕВАЯ */

.service-dark{
    background:#111;
    color:white;
}

.service-bg{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;
}

.service-overlay{
    position:absolute;
    inset:0;

    background:
    linear-gradient(
        90deg,
        rgba(0,0,0,.88) 0%,
        rgba(0,0,0,.70) 45%,
        rgba(0,0,0,.30) 100%
    );
}

.service-content{
    position:relative;
    z-index:3;

    max-width:650px;

    padding:55px;
}

.service-content h2{
    font-family:'Oswald',sans-serif;

    font-size:46px;
    line-height:1;

    margin-bottom:35px;

    color:white;

    transform:skew(-5deg);
}

.service-content ul{
    list-style:none;
    padding:0;
    margin:0 0 40px;
}

.service-content li{
    position:relative;
    text-align: left;

    padding-left:34px;

    margin-bottom:18px;

    font-size:20px;
}

.service-content li::before{
    content:"✓";

    position:absolute;
    left:0;
    top:0;

    color:#f8b600;

    font-weight:700;
}

/* КНОПКИ */

.service-btn{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    height:58px;

    padding:0 34px;

    background:#f8b600;

    color:#111;

    font-weight:700;

    text-decoration:none;

    transition:.3s;
}

.service-btn:hover{
    background:#ffca2f;
}

/* ПРАВАЯ */

.service-light{
    background:#f5f5f5;

    display:flex;
    flex-direction:column;
    justify-content:space-between;

    padding:55px;
}

.service-light-content h2{
    font-family:'Oswald',sans-serif;

    font-size:42px;

    line-height:1;

    margin-bottom:25px;

    color:#111;

    transform:skew(-5deg);
}

.service-light-content p{
    margin:0 0 35px;

    font-size:22px;

    color:#444;

    line-height:1.5;
}

.service-btn-light{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    width:220px;
    height:58px;

    border:2px solid #f8b600;

    color:#111;

    text-decoration:none;

    font-weight:700;

    transition:.3s;
}

.service-btn-light:hover{
    background:#f8b600;
}

.service-icon{
    align-self:flex-end;

    font-size:110px;

    color:#111;

    opacity:.12;
}



/* АДАПТИВ */

@media(max-width:991px){

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

}



/* Блок записи в техцентр */

.booking-page {
    padding-top: 120px;
    background: #f5f5f5;
    min-height: 100vh;
}

.booking-date-form,
.booking-form {
    max-width: 720px;
    margin-top: 25px;
    margin: 30px auto;
}

.booking-field {
    margin-bottom: 18px;
}

.booking-field input,
.booking-field textarea,
.booking-date-form input {
    color: #111 !important;
    max-width: 720px;
}

.booking-field input::placeholder,
.booking-field textarea::placeholder {
    color: #777;
}

.booking-field label,
.booking-date-form label {
    display: block;
    margin-bottom: 8px;
    color: #fff;
    font-weight: 600;
}

.booking-field input,
.booking-field textarea,
.booking-date-form input {
    width: 100%;
    max-width: 520px;
    padding: 12px 14px;
    border-radius: 8px;
    border: none;
    outline: none;
}

.booking-times {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.booking-time input {
    display: none;
}

.booking-time span {
    display: inline-flex;
    padding: 10px 16px;
    border-radius: 8px;
    background: #fff;
    color: #111;
    cursor: pointer;
    font-weight: 600;
}

.booking-time input:checked + span {
    background: #ffc107;
    color: #111;
}

.booking-time.busy span {
    background: #777;
    color: #ddd;
    cursor: not-allowed;
    text-decoration: line-through;
}

/* ================= WHY US ================= */

.why-us{
    padding:10px 20px 10px;
    background:#fff;
}

.why-container{
    max-width:1400px;
    margin:0 auto;
}

/* заголовок */

.why-title{
    font-family:'Oswald',sans-serif;
    font-size:56px;
    line-height:1;

    text-align:center;

    margin-bottom:20px;

    color:#111;

    transform:skew(-5deg);
}

/* жёлтая линия */

.why-line{
    width:360px;
    height:5px;

    background:#f8b600;

    margin:50px auto 50px;
}

/* сетка */

.why-grid{
    display:grid;
    grid-template-columns:repeat(6,1fr);

    gap:35px;
}

/* карточка */

.why-item{
    text-align:center;
}

/* иконка */

.why-icon{
    width:95px;
    height:95px;

    margin:0 auto 30px;

    border:2px solid #f8b600;
    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#f8b600;

    font-size:42px;

    transition:.3s;
}

.why-item:hover .why-icon{
    background:#f8b600;
    color:#111;

    transform:translateY(-5px);
}

/* заголовок */

.why-item h3{
    font-size:24px;
    margin-bottom:18px;

    color:#111;

    font-weight:700;
}

/* текст */

.why-item p{
    margin:0;

    font-size:18px;
    line-height:1.5;

    color:#555;
}

/* ================= FOOTER ================= */


/* ================= ФОРМА ЗАЯВКИ ================= */

/* ================= REQUEST MODAL ================= */

.request-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.82);
    backdrop-filter: blur(4px);
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.request-modal.active {
    display: flex;
}

.request-modal-content {
    position: relative;
    width: 100%;
    max-width: 720px;
    background: linear-gradient(145deg, #111, #1b1b1b);
    border: 1px solid rgba(255, 186, 36, 0.45);
    border-radius: 18px;
    padding: 38px;
    color: #fff;
    box-shadow: 0 25px 80px rgba(0, 0, 0, 0.65);
}

.request-modal-content h2 {
    margin: 0 0 12px;
    color: #ffba24;
    font-size: 30px;
    font-weight: 800;
}

.request-modal-content p {
    margin: 0 0 28px;
    color: #d7d7d7;
    font-size: 17px;
    line-height: 1.5;
}

#closeRequestModal {
    position: absolute;
    top: 16px;
    right: 18px;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 186, 36, 0.4);
    border-radius: 50%;
    background: transparent;
    color: #ffba24;
    font-size: 28px;
    line-height: 34px;
    cursor: pointer;
    transition: 0.25s ease;
}

#closeRequestModal:hover {
    background: #ffba24;
    color: #111;
}

.request-modal-content form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.request-modal-content input,
.request-modal-content textarea {
    width: 100%;
    border: 1px solid rgba(255, 186, 36, 0.25);
    border-radius: 10px;
    background: #0b0b0b;
    color: #fff;
    padding: 14px 15px;
    font-size: 15px;
    outline: none;
    transition: 0.25s ease;
}

.request-modal-content input:focus,
.request-modal-content textarea:focus {
    border-color: #ffba24;
    box-shadow: 0 0 0 3px rgba(255, 186, 36, 0.18);
}

.request-modal-content textarea {
    grid-column: 1 / -1;
    min-height: 110px;
    resize: vertical;
}

.file-label {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: 10px;
    border: 1px dashed rgba(255, 186, 36, 0.55);
    border-radius: 12px;
    padding: 18px;
    background: rgba(255, 186, 36, 0.06);
    color: #fff;
    font-weight: 600;
}

.file-label input[type="file"] {
    border: none;
    background: transparent;
    padding: 0;
    color: #dcdcdc;
}

.file-label input[type="file"]::file-selector-button {
    margin-right: 14px;
    border: none;
    border-radius: 8px;
    background: #ffba24;
    color: #111;
    padding: 11px 18px;
    font-weight: 800;
    cursor: pointer;
    transition: 0.25s ease;
}

.file-label input[type="file"]::file-selector-button:hover {
    background: #ffd36a;
}

.request-modal-content button[type="submit"] {
    grid-column: 1 / -1;
    border: none;
    border-radius: 10px;
    background: #ffba24;
    color: #111;
    padding: 15px 24px;
    font-size: 16px;
    font-weight: 900;
    cursor: pointer;
    transition: 0.25s ease;
}

.request-modal-content button[type="submit"]:hover {
    background: #ffd36a;
    transform: translateY(-2px);
}

/* Адаптация под телефон */

@media (max-width: 640px) {
    .request-modal-content {
        padding: 28px 20px;
    }

    .request-modal-content form {
        grid-template-columns: 1fr;
    }

    .request-modal-content h2 {
        font-size: 24px;
        padding-right: 45px;
    }
}



.site-footer{
    background:#0f1115;
    color:white;
}

/* CTA */

.footer-cta{
    padding:45px 50px;
    
    background:
    linear-gradient(
        90deg,
        rgba(0,0,0,.88),
        rgba(0,0,0,.65)
    ),
    url('../img/footer-bg.jpg') center/cover no-repeat;
}

.footer-cta-content{
    max-width:1400px;
    margin:0 auto;

    display:flex;
    align-items:center;
    justify-content: space-evenly;      /* равномерно распределяет пункты */
}

.footer-cta h2{
    font-family:'Oswald',sans-serif;

    font-size:54px;

    margin-bottom:10px;

    transform:skew(-5deg);
}

.footer-cta p{
    margin:0;
    font-size:22px;
    color:#ddd;
}

.footer-cta-btn{
    width:260px;
    height:68px;
    margin-right: 85px;
    background:#f8b600;

    color:#111;

    display:flex;
    align-items:center;
    justify-content:center;

    text-decoration:none;

    font-size:20px;
    font-weight:700;

    transition:.3s;
}

.footer-cta-btn:hover{
    background:#ffca2f;
}

/* MAIN */

.footer-main{
    padding-top:10px;
    padding-bottom:10px;

}

.footer-grid{
    max-width:1400px;
    margin:0 auto;
    
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1.2fr;

    gap:clamp(24px, 4vw, 64px);
    padding:0 26px;
    text-align:left;
}

/* ====================== ЛЕВАЯ КОЛОНКА ФУТЕРА — КОМПАКТНО И РАВНОМЕРНО ====================== */
.footer-grid > div:first-child {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: 100%;
}

.footer-logo{
    width:180px;
    margin-bottom: 18px !important;
}

.footer-text{
    margin-bottom: 28px !important;
    max-width:320px;
    color:#bbb;
    line-height:1.7;
    font-size: 15px;
}

.footer-socials{
    display:flex;
    
    margin-top: 20px !important;
    justify-content: flex-start;
    gap: 14px !important;
    
}

.footer-socials a {
    width: 46px;
    height: 46px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.25);
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-socials img {
    width: 44px;
    height: 44px;
    object-fit: contain;
    display: block;
    
}

.footer-socials a:hover{
    background:#f8b600;
    color:#111;
}

.footer-col h3{
    margin-bottom:25px;
    flex-direction: column;
    
    font-size:12px;

    color:white;
}

.footer-col a{
    display:block;
    font-size: 12px;
    margin-bottom:10px;

    color:#bbb;

    text-decoration:none;

    transition:.3s;
}

.footer-col a:hover{
   
    color:#f8b600;
}

.footer-col p{
    font-size: 12px;
    color:#bbb;
    line-height:1.7;
}

/* bottom */

.footer-designed {
    color: rgba(255,255,255,0.65);
    font-size: 14px;
    letter-spacing: 1px;
}

.footer-designed span {
    color: #f8b600;
    font-weight: 700;
}

.footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:20px;
    font-size: 13px;
    border-top:1px solid rgba(255,255,255,.1);
    padding: 0px 30px;
}

.footer-bottom-wrap{
    max-width:1400px;
    margin:0 auto;
    
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.footer-bottom a{
    color:#bbb;
    text-decoration:none;
}

.footer-bottom a:hover{
    color:#f8b600;
}

/* ================= PRODUCT PAGE ================= */

.product-page {
    padding: 220px 40px 100px;
    background: #f5f5f5;
    color: #111;
    min-height: 100vh;
}

.product-container {
    max-width: 1400px;
    margin: 0 auto;
}

.product-detail {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 45px;
    background: #fff;
    border: 1px solid #e8e8e8;
    padding: 45px;
}

.product-gallery__main {
    height: 520px;
    border: 1px solid #eee;
    background: #fafafa;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 35px;
}

.product-gallery__main img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.product-gallery__thumbs {
    display: flex;
    gap: 14px;
    margin-top: 18px;
    flex-wrap: wrap;
}

.product-thumb {
    width: 95px;
    height: 95px;
    border: 1px solid #ddd;
    background: #fff;
    padding: 8px;
    cursor: pointer;
}

.product-thumb.active,
.product-thumb:hover {
    border-color: #f8b600;
}

.product-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.product-info__category {
    color: #f8b600;
    font-weight: 800;
    margin-bottom: 16px;
    text-transform: uppercase;
}

.product-info h1 {
    font-family: 'Oswald', sans-serif;
    font-size: 52px;
    line-height: 1;
    color: #111;
    transform: skew(-5deg);
    margin-bottom: 28px;
}

.product-info__meta {
    display: grid;
    gap: 12px;
    color: #444;
    font-size: 17px;
    margin-bottom: 28px;
}

.product-info__meta strong {
    color: #111;
}

.product-info__stock {
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 28px;
}

.product-info__price {
    font-size: 42px;
    font-weight: 900;
    color: #111;
    margin-bottom: 34px;
}

.product-info__actions {
    display: flex;
    align-items: center;
    gap: 18px;
}

.product-main-btn {
    min-width: 190px;
    height: 58px;
    border: none;
    background: #f8b600;
    color: #111;
    font-size: 20px;
    font-weight: 900;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: .3s;
}

.product-main-btn:hover {
    background: #ffca2f;
    color: #111;
}

.product-main-btn--dark {
    background: #111;
    color: #f8b600;
    border: 1px solid #f8b600;
}

.product-main-btn--dark:hover {
    background: #f8b600;
    color: #111;
}

.product-quantity-group {
    display: flex;
    align-items: center;
    width: 190px;          /* такая же ширина, как у кнопки */
    gap: 0;
    
}

.product-quantity-btn {
    width: 50px;
    height: 46px;
    border: none;
    background: #f8b600;
    color: #111;
    font-size: 28px;
    font-weight: 900;
    cursor: pointer;
    flex-shrink: 0;
}

.product-quantity-value {
    min-width: 50px;

    color: #111;
    flex: 1;
    text-align: center;
    background: #fff;
    height: 46px;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 26px;
    font-weight: 900;


}

.product-description,
.product-analogs,
.product-not-found {
    margin-top: 35px;
    background: #fff;
    border: 1px solid #e8e8e8;
    padding: 38px 45px;
}

.product-description h2,
.product-analogs h2,
.product-not-found h1 {
    font-family: 'Oswald', sans-serif;
    font-size: 36px;
    color: #111;
    margin-bottom: 22px;
    transform: skew(-5deg);
}

.product-description p,
.product-analogs p,
.product-not-found p {
    font-size: 18px;
    line-height: 1.7;
    color: #444;
}

.product-analogs__list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.product-analogs__list span {
    background: #111;
    color: #f8b600;
    padding: 10px 16px;
    font-weight: 800;
}

@media (max-width: 992px) {
    .product-detail {
        grid-template-columns: 1fr;
    }

    .product-info h1 {
        font-size: 42px;
    }

    .product-gallery__main {
        height: 380px;
    }
}

@media (max-width: 576px) {
    .product-page {
        padding: 40px 18px 70px;
    }

    .product-detail,
    .product-description,
    .product-analogs,
    .product-not-found {
        padding: 25px 20px;
    }

    .product-info h1 {
        font-size: 34px;
    }

    .product-info__price {
        font-size: 34px;
    }

    .product-info__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .product-main-btn {
        width: 100%;
    }
}

.product-main-btn--catalog {
    
    background: #111;
    color: #f8b600;
    border: 1px solid #f8b600;
}

.product-main-btn--catalog:hover {
    background: #f8b600;
    color: #111;
}

/* ================= PRODUCT ZOOM LENS ================= */

.product-zoom {
    position: relative;
    overflow: hidden;
    cursor: zoom-in;
}

.product-zoom-lens {
    position: absolute;
    width: 220px;
    height: 220px;
    border: 2px solid #f8b600;
    border-radius: 50%;
    background-repeat: no-repeat;
    background-size: 250% 250%;
    pointer-events: none;
    display: none;
    box-shadow: 0 12px 35px rgba(0,0,0,.35);
    z-index: 5;
}

.product-zoom:hover .product-zoom-lens {
    display: block;
}

@media (max-width: 768px) {
    .product-zoom-lens {
        display: none !important;
    }

    .product-zoom {
        cursor: default;
    }
}

/* ================= CATALOG ================= */

.sidebar-links a.active-filter {
    color: #f8b600;
    font-weight: 700;
    padding-left: 6px;
}

.catalog-empty {
    grid-column: 1 / -1;
    background: #fff;
    color: #111;
    padding: 35px;
    font-size: 22px;
    font-weight: 600;
    text-align: center;
    border: 1px solid #e8e8e8;
}

.product-card__cart-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.product-card__quantity-group {
    display: none;
    align-items: center;
    gap: 10px;
}

.product-card__quantity-btn {
    width: 35px;
    height: 35px;
    border: none;
    background: #f8b600;
    color: #111;
    font-size: 22px;
    font-weight: 700;
    cursor: pointer;
}

.product-card__quantity {
    color: #111;
    font-size: 20px;
    font-weight: 700;
    min-width: 28px;
    text-align: center;
}

.catalog-content .product-body h3 a {
    color: #111;
    text-decoration: none;
}

.catalog-content .product-body h3 a:hover {
    color: #f8b600;
}

.catalog-content .product-btn {
    border: none;
    cursor: pointer;
}

.catalog-page{
    padding:36px 40px 90px;
    background:#f5f5f5;
}

.catalog-container{
    max-width:1400px;
    margin:0 auto;

    display:grid;
    grid-template-columns:320px 1fr;

    gap:40px;
}

/* SIDEBAR */

.catalog-sidebar{
    background:white;
    padding:35px;

    height:fit-content;

    border:1px solid #e8e8e8;
}

.sidebar-box{
    margin-bottom:45px;
}

.sidebar-box:last-child{
    margin-bottom:0;
}

.sidebar-box h3{
    font-size:28px;
    margin-bottom:25px;

    color:#111;
}

/* поиск */

.sidebar-search{
    font-size:14px;
    color: #333;
    display:flex;
    height:56px;
}

.sidebar-search input{
    flex:1;

    border:1px solid #ddd;
    border-right:none;

    padding:0 18px;

    outline:none;
}

.sidebar-search button{
    width:60px;

    border:none;

    background:#f8b600;

    color:#111;

    font-size:20px;
}

/* links */

.sidebar-links{
    text-align: left;
    font-size:14px;
    list-style:none;
    padding:0;
    margin:0;
}

.sidebar-links li{
    margin-bottom:14px;
}

.sidebar-links a{
    color:#444;
    text-decoration:none;

    transition:.3s;
}

.sidebar-links a:hover{
    color:#f8b600;
    padding-left:6px;
}

/* CONTENT */

.catalog-content{
    min-width:0;
}

.catalog-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;

    margin-bottom:40px;
}

.catalog-top h1{
    font-family:'Oswald',sans-serif;

    font-size:62px;
    line-height:1;

    margin-bottom:10px;

    color:#111;

    transform:skew(-5deg);
}

.catalog-top p{
    color:#666;
}

.catalog-sort{
    height:25px;
    color: #111; 
    border:1px solid #ddd;
    font-size:12px;
    padding:0 18px;

    background:white;
}

/* GRID */

.catalog-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);

    gap:30px;
}

/* CARD */

.product-card{
    background: white;
    border: 1px solid #e8e8e8;
    transition: .3s;

    display: flex;
    flex-direction: column;
    height: 100%;
}

.product-card:hover{
    transform:translateY(-8px);

    box-shadow:0 16px 36px rgba(0,0,0,.10);
}

.product-image{
    height:260px;

    padding:30px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-bottom:1px solid #eee;
}

.product-image img{
    max-width:100%;
    max-height:100%;

    object-fit:contain;
}

.product-body{
    padding: 28px;

    display: flex;
    flex-direction: column;
    flex: 1;
}

.product-category{
    color:#f8b600;

    font-weight:700;

    margin-bottom:12px;
}

.product-body h3{
    font-size:20px;

    line-height:1.3;

    margin-bottom:18px;

    color:#111;
}

.product-sku {
    margin-top: 6px;
    font-size: 13px;
    color: #777;
    font-weight: 500;
}

.product-brand{
    color:#777;
    font-size: 16px;
    margin-bottom:28px;
}

.product-bottom{

    display:flex;
    justify-content:space-between;
    align-items:center;

    margin-top:auto;
}

.product-price{
    font-size:21px;
    font-weight:600;

    color:#111;
}

.product-btn{
    width:120px;
    height:35px;
    font-size: 16px;
    background:#f8b600;

    color:#111;

    text-decoration:none;

    display:flex;
    align-items:center;
    justify-content:center;

    font-weight:700;

    transition:.3s;
}

.product-btn:hover{
    background:#ffca2f;
}

/* PAGINATION */

.catalog-pagination{
    margin-top:60px;

    display:flex;
    gap:14px;
}

.catalog-pagination a{
    width:50px;
    height:50px;

    background:white;

    border:1px solid #ddd;

    color:#111;

    display:flex;
    align-items:center;
    justify-content:center;

    text-decoration:none;

    transition:.3s;
}

.catalog-pagination a:hover{
    background:#f8b600;
}



/*       Страница входа             */

.login-container{
    margin-top: 180px;
}

.login-actions{
    text-align:center;
    margin-top:30px;
}

.login-register{
    text-align:center;
    margin-top:30px;
    font-size:24px;
}

.login-register a{
    color:#f8b600;
    text-decoration:none;
}

.login-register a:hover{
    text-decoration:underline;
}

/* Таблица корзины */

body[data-page="cart"] .table th,
body[data-page="cart"] .table td {
    text-align: center !important;
    vertical-align: middle !important;
}

/* ===== ОБЩАЯ ЖЁЛТАЯ КНОПКА ДЛЯ ВСЕГО САЙТА ===== */

a.btn-yellow,
button.btn-yellow {
    background: #f8b600 !important;
    color: #111827 !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    padding: 20px 52px !important;
    border-radius: 0 !important;
    display: inline-block !important;
    border: none !important;
    text-decoration: none !important;
    box-shadow: 0 10px 25px rgba(248, 182, 0, 0.35) !important;
    transition: 0.3s !important;
    cursor: pointer !important;
}

a.btn-yellow:hover,
button.btn-yellow:hover {
    background: #f8b600 !important;
    color: #111827 !important;
    transform: translateY(-4px);
    box-shadow: 0 15px 30px rgba(248, 182, 0, 0.45) !important;
    text-decoration: none !important;
}

.button-center{
    text-align:center;
    margin-top:20px;
}

/* ================= CABINET ================= */

.orders-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(350px,1fr));
    gap:30px;
    margin-top:30px;
}

.order-card{
    background:#111;
    border:1px solid rgba(255,182,0,.25);
    border-radius:12px;
    padding:25px;
    height:100%;

    box-shadow:0 5px 20px rgba(0,0,0,.3);
}

.order-card__header{
    color:#ffb600;
    font-family:'Oswald',sans-serif;
    font-size:28px;
    margin-bottom:15px;
}

.order-card__total{
    color:#ffb600;
    font-size:28px;
    font-weight:700;
    margin:20px 0;
}

.order-items{
    padding-left:20px;
    margin-top:10px;
}

.order-items li{
    margin-bottom:8px;
}

/* ================= БЛОК ОПЛАТЫ И КОНТАКТОВ================= */

.info-container {
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
   
}

.payment-lead {
    max-width: 1300px;
    margin: 0 auto 20px;
    text-align: justify;
    font-size: 18px;
    line-height: 1.4;
    color: #ddd;
}

.bank-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.bank-card,
.contact-card,
.map-card {
    background: rgba(15, 15, 15, 0.82);
    border: 1px solid rgba(248, 182, 0, 0.35);
    border-radius: 14px;
    padding: 28px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.25);
}

.bank-card h3,
.contact-card h3 {
    color: #f8b600;
    font-family: 'Oswald', sans-serif;
    font-size: 25px;
    margin-bottom: 20px;
    text-transform: uppercase;
}

.bank-card p,
.contact-card p {
    color: #fff;
    font-size: 16px;
    line-height: 1.55;
    margin-bottom: 12px;
}

.bank-card strong,
.contact-card strong {
    color: #f8b600;
}

.contact-card a {
    color: #fff;
    text-decoration: none;
}

.contact-card a:hover {
    color: #f8b600;
}

.contacts-grid {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 30px;
    align-items: stretch;
}

.map-card {
    padding: 0;
    overflow: hidden;
}

.map-card iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 420px;
    border: 0;
}

@media (max-width: 992px) {
    .bank-grid,
    .contacts-grid {
        grid-template-columns: 1fr;
    }
}

/* ================= ADMIN PRODUCTS ================= */

.admin-page {
    padding: 220px 40px 100px;
    background: #f5f5f5;
    color: #111;
    min-height: 100vh;
}

.admin-container {
    max-width: 900px;
    margin: 0 auto;
    background: #fff;
    padding: 45px;
    border: 1px solid #e8e8e8;
}

.admin-container h1 {
    font-family: 'Oswald', sans-serif;
    font-size: 48px;
    color: #111;
    margin-bottom: 35px;
    transform: skew(-5deg);
}

.admin-product-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.admin-product-form input,
.admin-product-form select {
    width: 100%;
    height: 52px;
    border: 1px solid #ddd;
    padding: 0 16px;
    font-size: 16px;
    color: #111;
    background: #fff;
    outline: none;
}

.admin-file-label {
    grid-column: 1 / -1;
    border: 1px dashed #f8b600;
    padding: 18px;
    font-weight: 700;
    color: #111;
    background: rgba(248, 182, 0, 0.08);
}

.admin-file-label input {
    margin-top: 12px;
    border: none;
    padding: 0;
    height: auto;
}

.admin-product-form button {
    grid-column: 1 / -1;
    height: 58px;
    border: none;
    background: #f8b600;
    color: #111;
    font-size: 20px;
    font-weight: 800;
    cursor: pointer;
}

.admin-product-form button:hover {
    background: #ffca2f;
}

.admin-success {
    background: #d8f5df;
    color: #145c25;
    padding: 15px 20px;
    margin-bottom: 25px;
    font-weight: 700;
}

.admin-error {
    background: #ffe0e0;
    color: #8a1111;
    padding: 15px 20px;
    margin-bottom: 25px;
    font-weight: 700;
}

.admin-product-form textarea {
    grid-column: 1 / -1;
    width: 100%;
    min-height: 140px;
    border: 1px solid #ddd;
    padding: 16px;
    font-size: 16px;
    color: #111;
    background: #fff;
    outline: none;
    resize: vertical;
}

.admin-image-delete {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    margin: 0 12px 12px 0;
    color: #111;
    font-weight: 700;
    cursor: pointer;
}

.admin-image-delete span {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 15px;
}

.admin-image-delete input {
    margin-right: 5px;
}

@media (max-width: 768px) {
    .admin-product-form {
        grid-template-columns: 1fr;
    }

    .admin-page {
        padding: 180px 20px 70px;
    }
}

/* ================= ADMIN PRODUCTS LIST ================= */

.admin-products-list {
    margin-top: 55px;
}

.admin-products-list h2 {
    font-family: 'Oswald', sans-serif;
    font-size: 36px;
    color: #111;
    margin-bottom: 25px;
}

.admin-products-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    color: #111;
    font-size: 14px;
}

.admin-products-table th,
.admin-products-table td {
    border: 1px solid #e5e5e5;
    padding: 12px;
    text-align: left;
    vertical-align: middle;
}

.admin-products-table th {
    background: #111;
    color: #f8b600;
    font-weight: 700;
}

.admin-product-thumb {
    width: 70px;
    height: 70px;
    object-fit: contain;
    background: #f5f5f5;
    border: 1px solid #ddd;
    margin-right: 8px;
}

.admin-edit-link {
    display: inline-block;
    background: #f8b600;
    color: #111;
    padding: 8px 14px;
    font-weight: 700;
    text-decoration: none;
}

.admin-edit-link:hover {
    background: #ffca2f;
    color: #111;
}

.admin-current-images {
    grid-column: 1 / -1;
    background: #fafafa;
    border: 1px solid #e5e5e5;
    padding: 18px;
}

.admin-current-images h3 {
    color: #111;
    font-size: 20px;
    margin-bottom: 15px;
}

.admin-back {
    margin-top: 25px;
}

.admin-back a {
    color: #111;
    font-weight: 700;
    text-decoration: none;
}

.admin-back a:hover {
    color: #f8b600;
}

.admin-delete-btn {
    display: inline-block;
    margin-left: 8px;
    border: none;
    background: #8a1111;
    color: #fff;
    padding: 8px 14px;
    font-weight: 700;
    cursor: pointer;
}

.admin-delete-btn:hover {
    background: #b51616;
}

.admin-dictionaries {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.admin-dictionary-box h2 {
    color: #111;
    font-size: 28px;
    margin-bottom: 20px;
}

.admin-inline-form {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}

.admin-inline-form input {
    flex: 1;
    height: 46px;
    border: 1px solid #ddd;
    padding: 0 14px;
    color: #111;
}

.admin-inline-form button,
.admin-dictionary-row button {
    border: none;
    background: #f8b600;
    color: #111;
    padding: 10px 16px;
    font-weight: 700;
    cursor: pointer;
}

.admin-dictionary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #eee;
    padding: 10px 0;
    color: #111;
}

.admin-dictionary-row button {
    background: #8a1111;
    color: #fff;
}

@media (max-width: 768px) {
    .admin-dictionaries {
        grid-template-columns: 1fr;
    }
}

/* ================= PRODUCT STOCK ================= */

.product-stock {
    margin-bottom: 18px;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 700;
}

.product-stock__in {
    color: #1f8f3a;
}

.product-stock__order {
    color: #b07a00;
}

.product-stock__unknown {
    color: #777;
}

.product-btn--request {
    background: #111 !important;
    color: #f8b600 !important;
    border: 1px solid #f8b600 !important;
}

.product-btn--request:hover {
    background: #f8b600 !important;
    color: #111 !important;
}


/* ================= ADAPTIVE ================= */

@media(max-width:1200px){

    .catalog-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:900px){

    .catalog-container{
        grid-template-columns:1fr;
    }

}

@media(max-width:700px){

    .catalog-grid{
        grid-template-columns:1fr;
    }

}

/* ================= MOBILE FIX HEADER + FOOTER ================= */

@media (max-width: 768px) {

    .header-top {
        position: relative !important;
        flex-direction: column !important;
        height: auto !important;
        padding: 15px 12px !important;
        gap: 12px !important;
    }

    .logo {
        padding-left: 0 !important;
    }

    .logo-img {
        width: 150px !important;
    }

    .header-contacts {
        width: 100% !important;
        margin-right: 0 !important;
        gap: 12px !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    .header-info {
        justify-content: center !important;
        text-align: center !important;
    }

    .header-phone {
        text-align: center !important;
    }

    .header-phone a {
        font-size: 18px !important;
    }

    .header-icons {
        justify-content: center !important;
        font-size: 24px !important;
    }

    .header-menu {
        position: relative !important;
        top: auto !important;
        height: auto !important;
        flex-direction: column !important;
        padding: 0 !important;
    }

    .catalog-btn {
        width: 100% !important;
        margin-left: 0 !important;
        height: 52px !important;
        font-size: 18px !important;
    }

    .main-menu {
        width: 100% !important;
        flex-direction: column !important;
        gap: 0 !important;
    }

    .main-menu a {
        width: 100% !important;
        padding: 13px 15px !important;
        text-align: center !important;
        border-top: 1px solid rgba(255,255,255,0.08);
        font-size: 16px !important;
    }

    .hero-container {
        padding: 40px 18px 40px !important;
    }

    .hero-content h1 {
        font-size: 42px !important;
        line-height: 1 !important;
    }

    .hero-subtitle {
        font-size: 20px !important;
        margin-bottom: 28px !important;
    }

    .hero-search {
        height: auto !important;
        flex-direction: column !important;
        max-width: 100% !important;
    }

    .hero-search select,
    .hero-search input,
    .hero-search button {
        width: 100% !important;
        height: 52px !important;
        font-size: 16px !important;
    }

    .hero-benefits {
        flex-direction: column !important;
        gap: 18px !important;
        margin-top: 28px !important;
    }

    .footer-cta {
        padding: 32px 18px !important;
    }

    .footer-cta-content {
        flex-direction: column !important;
        align-items: flex-start !important;
        text-align: left !important;
        gap: 25px !important;
    }

    .footer-cta h2 {
        font-size: 32px !important;
        line-height: 1.1 !important;
    }

    .footer-cta p {
        font-size: 17px !important;
    }

    .footer-cta-btn {
        width: 100% !important;
        max-width: 280px !important;
        margin-right: 0 !important;
    }

    .footer-main {
        padding: 30px 18px !important;
    }

    .footer-grid {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
        padding: 0 !important;
        text-align: left !important;
    }

    .footer-text {
        margin-left: 0 !important;
        margin-right: 0 !important;
        text-align: left !important;
    }

    .footer-socials {
        justify-content: flex-start !important;
        margin-top: 10px !important;
    }

    .footer-bottom {
        padding: 18px !important;
    }

    .footer-bottom-wrap {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
        text-align: left !important;
    }
}

/* ================= MOBILE CATALOG IMAGE FIX ================= */

@media (max-width: 700px) {

    .catalog-page {
        padding: 22px 16px 64px;
    }

    .catalog-grid {
        grid-template-columns: 1fr;
    }

    .product-card {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
    }

    .product-image {
        height: 220px;
        padding: 18px;
        overflow: hidden;
    }

    .product-image a {
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .product-image img,
    .product-card__img {
        max-width: 100%;
        max-height: 100%;
        width: auto;
        height: auto;
        object-fit: contain;
        display: block;
    }

    .product-body {
        padding: 22px;
    }

    .product-bottom {
        gap: 15px;
    }
}



/* ================= АДАПТИВ ================= */

@media(max-width:1200px){

    .why-grid{
        grid-template-columns:repeat(3,1fr);
        row-gap:60px;
    }

}

@media(max-width:768px){

    .why-grid{
        grid-template-columns:1fr;
    }

    .why-title{
        font-size:38px;
    }

}

/* Мобильная версия */
@media (max-width: 768px) {
    .promotion-container {
        gap: 20px;
    }
    .promotion-item {
        min-width: 100%;
        justify-content: flex-start;
        text-align: left;
    }
    .promotion-container {
        padding: 0 20px;
    }
    .promotion-item i {
        width: 58px;
        text-align: center;
    }
}

/* Уменьшаем боковые отступы на мобильных (чтобы контент не сжимался) */
@media (max-width: 992px) {
    .hero-container {
        padding: 200px 20px 0 !important;   /* было 120px 60px 0 */
    }
    
    .hero-content h1 {
        font-size: 62px;
    }
    
    .hero-subtitle {
        font-size: 24px;
    }
}
/* ==================== МОБИЛЬНАЯ ВЕРСИЯ ШАПКИ — ИСПРАВЛЕНИЕ ПЕРЕКРЫТИЯ ==================== */

@media (max-width: 992px) {
    
    /* Верхняя шапка — теперь течёт естественно */
    .header-top {
        position: relative !important;
        top: 0 !important;
        height: auto !important;
        padding: 12px 15px !important;
        min-height: 80px;
        z-index: 1000;
    }

    .header-contacts {
        gap: 42px !important;
        flex: 1;
        max-width: none !important;
    }

    .header-contacts > div {
        font-size: 24px !important;
    }
    
    .header-contacts span {
        font-size: 15px !important;
        font-weight: 700 !important;
    }
    
    .header-contacts small {
        font-size: 13px !important;
    }

    .header-contacts > div:nth-child(2) {
        white-space: nowrap !important;
    }

    .header-phone {
        font-size: 17px !important;
    }
    .header-phone a {
        font-size: 24px !important;
    }

    .logo-img {
        width: 190px !important;
    }

    .header-icons {
        gap: 12px !important;
        font-size: 22px !important;
    }

    /* Нижнее меню — теперь тоже relative, идёт сразу под верхней шапкой */
    .header-menu {
        position: static !important;
        height: auto !important;
        padding: 12px 15px !important;
        top: 0 !important;
        margin-top: 0 !important;
        box-shadow: 0 4px 8px rgba(0,0,0,0.3); /* лёгкая тень для красоты */
    }

    /* Контент hero — сдвигаем вниз, чтобы не залезал под меню */
    .hero-container {
        padding-top: 240px !important;   /* подбери 220–260px, если нужно */
    }


}

/* ===== MOBILE FIX: booking page ===== */
@media (max-width: 576px) {

    .booking-section,    
    .booking-container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
        box-sizing: border-box !important;
     
    }

    .booking-date-form {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    .booking-form input,
    .booking-form textarea,
    .booking-form select,
    .booking-form button {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .booking-date,
    input[type="date"] {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
}

/* ===== MOBILE FIX: footer bottom ===== */
@media (max-width: 576px) {

    .footer-bottom {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
        text-align: left;
    }

    .footer-bottom > * {
        width: 100%;
        text-align: left;
    }

    .footer-phone,
    .footer-contact-phone {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        flex-direction: row;
    }

    .footer-phone i,
    .footer-contact-phone i {
        margin: 0;
        display: inline-flex;
        align-items: center;
    }
}

@media (max-width: 576px) {
    .footer .bi-telephone,
    .footer .bi-telephone-fill {
        display: inline-flex;
        margin-right: 8px;
        vertical-align: middle;
    }
}

/* Для совсем маленьких экранов */
@media (max-width: 576px) {
    .header-top {
        padding: 10px 10px !important;
    }
    
    .header-contacts {
        gap: 8px !important;
    }
    
    .hero-container {
        padding-top: 220px !important;
    }
    
    .logo-img {
        width: 170px !important;
    }

    /* ===== FIX: booking date input on mobile ===== */

.booking-date-form {
    width: 100%;
    max-width: 720px;
    margin: 30px auto;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
}

.booking-date-form input[type="date"] {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    text-align: left !important;
    color: #111 !important;
    background: #fff !important;
    -webkit-appearance: none;
    appearance: none;
}
}

/* =======================================================================
   F-Service 22.10.2026 — единая фиксированная шапка + видео в главном Hero
   Предыдущие стили и остальные секции сайта сохранены.
   ======================================================================= */

/* Верхняя контактная часть и навигация крепятся одним блоком. */
.site-header {
    position: fixed;
    inset: 0 0 auto 0;
    z-index: 1200;
    background: rgba(0, 0, 0, .96);
    box-shadow: 0 5px 18px rgba(0, 0, 0, .24);
}
.site-header .header-top {
    position: relative;
    top: auto;
    left: auto;
    z-index: auto;
    gap: clamp(20px, 5vw, 120px);
}
.site-header .header-menu {
    position: relative;
    top: auto;
    z-index: auto;
}
/* Ссылки из якорей не должны скрываться под закреплённой шапкой. */
html { scroll-padding-top: 165px; }

/* Видео занимают всю площадь Hero, а текст и форма остаются поверх. */
#hero.home-hero {
    background: #141414 url('../img/hero/fservice_pogruzchik_poster.jpg') center center / cover no-repeat;
}
#hero.home-hero::after,
#hero.home-hero:hover::after { content: none; display: none; }
.home-hero .hero-video-layer {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
}
.home-hero .hero-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    opacity: 0;
    transition: opacity .9s ease;
    pointer-events: none;
}
.home-hero .hero-video.is-active { opacity: 1; }
.home-hero .hero-overlay { z-index: 1; }
.home-hero .hero-container { z-index: 2; }

@media (max-width: 992px) {
    /* Компактная шапка на планшете и телефоне: иначе большой блок
       контактов и вертикальное меню закрывали бы всю страницу. */
    .site-header .header-top {
        position: relative !important;
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        width: 100% !important;
        height: 74px !important;
        min-height: 0 !important;
        padding: 8px 16px !important;
        gap: 12px !important;
    }
    .site-header .logo { padding-left: 0 !important; }
    .site-header .logo-img { width: 120px !important; }
    .site-header .header-contacts {
        display: flex !important;
        flex: 0 1 auto !important;
        flex-direction: row !important;
        width: auto !important;
        margin: 0 !important;
        gap: 14px !important;
        align-items: center !important;
        white-space: nowrap;
    }
    /* Адрес и расписание доступны на странице контактов; в закреплённом
       мобильном варианте оставляем звонок, личный кабинет и корзину. */
    .site-header .header-contacts > .header-info:nth-child(1),
    .site-header .header-contacts > .header-info:nth-child(2) { display: none !important; }
    .site-header .header-contacts > .header-info:nth-child(3) { display: flex !important; }
    .site-header .header-info i { font-size: 19px !important; width: 20px !important; }
    .site-header .header-info span { font-size: 13px !important; }
    .site-header .header-info small { font-size: 11px !important; }
    .site-header .header-icons { font-size: 22px !important; gap: 13px !important; }

    .site-header .header-menu {
        position: relative !important;
        top: auto !important;
        display: flex !important;
        flex-direction: row !important;
        height: 50px !important;
        padding: 0 8px !important;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }
    .site-header .catalog-btn {
        display: flex !important;
        flex: 0 0 auto;
        width: auto !important;
        height: 48px !important;
        min-width: 174px;
        margin-left: 0 !important;
        padding: 0 12px !important;
        font-size: 15px !important;
    }
    .site-header .main-menu {
        display: flex !important;
        flex: 0 0 auto !important;
        flex-direction: row !important;
        justify-content: flex-start !important;
        align-items: center !important;
        width: max-content !important;
        gap: 0 !important;
    }
    .site-header .main-menu a {
        display: inline-flex !important;
        align-items: center !important;
        flex: 0 0 auto;
        width: auto !important;
        height: 48px;
        white-space: nowrap;
        border-top: 0 !important;
        padding: 0 15px !important;
        font-size: 14px !important;
    }
    html { scroll-padding-top: 135px; }
    #hero .hero-container { padding-top: 175px !important; }
}

@media (max-width: 576px) {
    .site-header .header-top { height: 66px !important; padding: 8px 10px !important; gap: 8px !important; }
    .site-header .logo-img { width: 98px !important; }
    .site-header .header-contacts { gap: 8px !important; }
    .site-header .header-info { gap: 5px !important; }
    .site-header .header-info i { font-size: 16px !important; width: 16px !important; }
    .site-header .header-info span { font-size: 11px !important; }
    .site-header .header-info small { font-size: 10px !important; }
    .site-header .header-icons { font-size: 19px !important; gap: 9px !important; }
    .site-header .header-menu { height: 48px !important; }
    #hero .hero-container { padding-top: 145px !important; }
    html { scroll-padding-top: 125px; }
}

@media (prefers-reduced-motion: reduce) {
    #hero.home-hero { background-image: url('../img/hero/fservice_pogruzchik_poster.jpg'); }
    .home-hero .hero-video-layer { display: none; }
}


/* ===== F-Service: единая высота Hero на страницах аренды и ремонта =====
   Как на страницах «О нас», «Доставка и оплата», «Контакты»:
   высота первого экрана — минимум высота окна браузера.
   Объёмные карточки расположены за пределами Hero. */
#hero.subpage-hero {
    min-height: 100vh;
}
.subpage-details {
    position: relative;
    background: linear-gradient(180deg, #151515 0%, #101010 100%);
    color: #fff;
}
.subpage-details-container {
    box-sizing: border-box;
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    padding: 48px 60px 70px;
}
@media (max-width: 992px) {
    .subpage-details-container {
        padding: 40px 20px 56px;
    }
}
@media (max-width: 576px) {
    .subpage-details-container {
        padding: 32px 18px 48px;
    }
}


/* ============================================================
   F-Service: общий видео-Hero для всех публичных страниц с Hero.
   Первое видео идёт по умолчанию; при наведении показываем второе.
   Если курсор не наведён, ролики плавно чередуются каждые 8 с.
   При отключении анимации остаётся JPG-постер.
   ============================================================ */
#hero.video-hero,
#hero.home-hero {
    background: #141414 url('../img/hero/fservice_pogruzchik_poster.jpg') center / cover no-repeat;
}
#hero.video-hero::after,
#hero.video-hero:hover::after,
#hero.home-hero::after,
#hero.home-hero:hover::after {
    display: none;
    content: none;
}
#hero.video-hero .hero-video-layer,
#hero.home-hero .hero-video-layer {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
}
#hero.video-hero .hero-video,
#hero.home-hero .hero-video {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0;
    transition: opacity .9s ease;
    pointer-events: none;
}
#hero.video-hero .hero-video.is-active,
#hero.home-hero .hero-video.is-active { opacity: 1; }
#hero.video-hero .hero-overlay,
#hero.home-hero .hero-overlay { z-index: 1; pointer-events: none; }
#hero.video-hero .hero-container,
#hero.home-hero .hero-container { z-index: 2; }

/* Каталог — компактное промо, чтобы поиск и товары были рядом. */
#hero.catalog-video-hero {
    min-height: 340px;
    height: 400px;
    align-items: flex-start;
}
#hero.catalog-video-hero .hero-container { padding-top: 195px; padding-bottom: 32px; }
#hero.catalog-video-hero .page-title { text-align: left; margin: 0 0 15px; }
#hero.catalog-video-hero .hero-content > p { color: #fff; font-size: clamp(15px, 1.7vw, 19px); }
@media (max-width: 992px) {
    #hero.catalog-video-hero { height: 350px; min-height: 350px; }
    #hero.catalog-video-hero .hero-container { padding-top: 195px !important; }
}
@media (max-width: 576px) {
    #hero.catalog-video-hero { height: 295px; min-height: 295px; }
    #hero.catalog-video-hero .hero-container { padding: 153px 18px 20px !important; }
    #hero.catalog-video-hero .page-title { font-size: 27px; }
}
@media (prefers-reduced-motion: reduce) {
    #hero.video-hero .hero-video-layer,
    #hero.home-hero .hero-video-layer { display: none; }
}

/* =============================================================
   F-Service: навигация 2.0 + статичные Hero внутренних страниц.
   Главная сохраняет видео и смену ролика при наведении мыши.
   Базовая шапка и ранее сделанные исправления сохранены.
   ============================================================= */
#hero.static-hero {
    background: #161616 url('../img/hero-excavator.jpg') center center / cover no-repeat;
}
/* Две фотографии на внутренних страницах: наведение проявляет вторую.
   Главная home-hero по-прежнему использует два видео, без изменений. */
#hero.static-hero::after {
    content: "";
    display: block;
    background: url('../img/hero-excavator2.jpg') center center / cover no-repeat;
    opacity: 0;
    z-index: 0;
    pointer-events: none;
    transition: opacity .7s ease;
}
#hero.static-hero:hover::after { opacity: 1; }
#hero.static-hero .hero-overlay { z-index: 1; pointer-events: none; }
#hero.static-hero .hero-container { z-index: 2; }
@media (prefers-reduced-motion: reduce) {
    #hero.static-hero::after { transition: none; }
}

/* Фон остается под обеими частями закреплённого header. */
.site-header { z-index: 1200; overflow: visible !important; }
.site-header .header-menu {
    position: relative !important;
    height: 54px !important;
    min-height: 54px;
    padding: 0 14px !important;
    overflow: visible !important;
    background: rgba(11, 11, 11, .98);
    z-index: 2;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: stretch;
}
.site-header .nav-primary {
    width: 100%;
    max-width: 1360px;
    height: 100%;
    margin: 0 auto;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 0;
}
.site-header .nav-item {
    position: relative;
    display: flex;
    align-items: stretch;
    flex-shrink: 0;
}
.site-header .nav-link {
    display: inline-flex;
    align-items: center;
    padding: 0 clamp(10px, 1.15vw, 21px);
    min-height: 54px;
    font-size: clamp(14px, 1.16vw, 17px);
    font-weight: 600;
    white-space: nowrap;
    color: #f7f7f7;
    background: transparent;
    text-decoration: none;
    transition: color .2s ease, background-color .2s ease;
}
.site-header .nav-item--dropdown > .nav-link { padding-right: 4px; }
.site-header .nav-item--current > .nav-link { color: #f8b600; }
.site-header .nav-item:hover > .nav-link,
.site-header .nav-item:focus-within > .nav-link { color: #f8b600; }
.site-header .nav-toggle {
    border: 0;
    background: transparent;
    color: #d3d3d3;
    cursor: pointer;
    padding: 0 12px 0 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    transition: color .2s ease;
}
.site-header .nav-item:hover > .nav-toggle,
.site-header .nav-item:focus-within > .nav-toggle { color: #f8b600; }
.site-header .nav-dropdown {
    position: absolute;
    display: flex;
    flex-direction: column;
    left: 0;
    top: 100%;
    min-width: 276px;
    max-width: min(350px, 92vw);
    padding: 10px 0;
    background: rgba(21, 21, 21, .99);
    border-top: 2px solid #f8b600;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 18px 34px rgba(0, 0, 0, .45);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(5px);
    transition: opacity .16s ease, transform .16s ease, visibility .16s;
    z-index: 20;
}
.site-header .nav-dropdown a,
.site-header .nav-dropdown .nav-future {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    min-height: 43px;
    box-sizing: border-box;
    padding: 10px 18px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.35;
    color: #f5f5f5;
    text-decoration: none;
    text-align: left;
    white-space: normal;
}
.site-header .nav-dropdown a:hover,
.site-header .nav-dropdown a:focus-visible { background: #333; color: #f8b600; }
.site-header .nav-dropdown .nav-future { color: #aaa; cursor: default; }
.site-header .nav-future small {
    font-size: 10px;
    font-weight: 600;
    color: #d9b35f;
    border: 1px solid #6b582e;
    border-radius: 10px;
    padding: 2px 6px;
    white-space: nowrap;
}
.site-header .nav-link:focus-visible,
.site-header .nav-toggle:focus-visible,
.site-header .mobile-nav-toggle:focus-visible {
    outline: 2px solid #f8b600;
    outline-offset: -3px;
}
.site-header .mobile-nav-toggle,
.site-header .mobile-nav-shortcut { display: none; }

@media (min-width: 1200px) {
    .site-header .nav-item--dropdown:hover > .nav-dropdown,
    .site-header .nav-item--dropdown:focus-within > .nav-dropdown,
    .site-header .nav-item--dropdown.is-expanded > .nav-dropdown {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }
}

/* Компактный закреплённый header и вертикальное выпадающее меню.
   На мобильных ширины экрана не хватает для шести пунктов рядом. */
@media (max-width: 1199px) {
    .site-header .header-top {
        position: relative !important;
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        height: 74px !important;
        min-height: 0 !important;
        padding: 8px 16px !important;
        gap: 12px !important;
    }
    .site-header .logo { padding-left: 0 !important; }
    .site-header .logo-img { width: 120px !important; }
    .site-header .header-contacts {
        display: flex !important;
        flex: 0 1 auto !important;
        flex-direction: row !important;
        align-items: center !important;
        margin: 0 !important;
        width: auto !important;
        gap: 14px !important;
    }
    .site-header .header-contacts > .header-info:nth-child(1),
    .site-header .header-contacts > .header-info:nth-child(2) { display: none !important; }
    .site-header .header-contacts > .header-info:nth-child(3) { display: flex !important; }
    .site-header .header-info i { font-size: 19px !important; width: 20px !important; }
    .site-header .header-info span { font-size: 13px !important; }
    .site-header .header-info small { font-size: 11px !important; }
    .site-header .header-icons { font-size: 22px !important; gap: 13px !important; }
    .site-header .header-menu {
        height: 48px !important;
        min-height: 48px !important;
        padding: 0 12px !important;
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        overflow: visible !important;
    }
    .site-header .mobile-nav-toggle,
    .site-header .mobile-nav-shortcut {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        font-size: 15px;
        text-decoration: none;
        padding: 0 8px;
        background: none;
        border: 0;
        color: #f5f5f5;
    }
    .site-header .mobile-nav-toggle { cursor: pointer; }
    .site-header .mobile-nav-toggle i { color: #f8b600; font-size: 23px; }
    .site-header .mobile-nav-shortcut { color: #f8b600; }
    .site-header .nav-primary {
        display: none !important;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        width: 100% !important;
        height: auto !important;
        max-width: none;
        max-height: calc(100dvh - 124px);
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        background: rgba(15, 15, 15, .99);
        border-top: 1px solid #333;
        border-bottom: 2px solid #f8b600;
        box-shadow: 0 16px 30px rgba(0,0,0,.55);
        padding: 4px 0 12px;
        z-index: 30;
        margin: 0;
        flex-direction: column;
        align-items: stretch;
    }
    .site-header .nav-primary.is-open { display: flex !important; }
    .site-header .nav-item { display: flex; width: 100%; flex-wrap: wrap; flex-shrink: 0; }
    .site-header .nav-link {
        display: flex !important;
        flex: 1 1 auto;
        width: auto !important;
        min-height: 46px !important;
        height: auto !important;
        padding: 10px 18px !important;
        font-size: 15px !important;
        border-top: 0 !important;
        justify-content: flex-start;
        text-align: left !important;
    }
    .site-header .nav-toggle { width: 54px; min-height: 46px; font-size: 16px; padding: 0 10px; }
    .site-header .nav-item.is-expanded > .nav-toggle .nav-chevron { transform: rotate(180deg); }
    .site-header .nav-dropdown {
        display: none;
        position: static;
        width: 100%;
        max-width: none;
        min-width: 0;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
        box-shadow: none;
        border: none;
        border-left: 3px solid #f8b600;
        border-radius: 0;
        margin: 0 0 8px 14px;
        padding: 2px 0;
        background: #212121;
    }
    .site-header .nav-item.is-expanded > .nav-dropdown { display: flex; }
    .site-header .nav-dropdown a,
    .site-header .nav-dropdown .nav-future {
        width: 100% !important;
        height: auto !important;
        min-height: 40px !important;
        padding: 10px 14px !important;
        font-size: 14px !important;
        text-align: left !important;
    }
    html { scroll-padding-top: 140px; }
}
@media (max-width: 576px) {
    .site-header .header-top { height: 66px !important; padding: 8px 10px !important; gap: 8px !important; }
    .site-header .logo-img { width: 98px !important; }
    .site-header .header-contacts { gap: 8px !important; }
    .site-header .header-info span { font-size: 11px !important; }
    .site-header .header-info small { font-size: 10px !important; }
    .site-header .header-info i { font-size: 16px !important; width: 16px !important; }
    .site-header .header-icons { font-size: 19px !important; gap: 9px !important; }
    .site-header .nav-primary { max-height: calc(100dvh - 116px); }
    html { scroll-padding-top: 128px; }
}
@media (prefers-reduced-motion: reduce) {
    .site-header .nav-dropdown,
    .site-header .nav-link { transition: none !important; }
}

/* Индикаторы меню не зависят от загрузки внешнего icon-font. */
.site-header .nav-chevron { display: inline-block; font-size: 15px; line-height: 1; transition: transform .2s ease; }
.site-header .mobile-nav-toggle .nav-hamburger { display: inline-block; font-size: 23px; color: #f8b600; line-height: 1; }


/* ===== F-Service: компактное содержимое Hero без переноса разделов =====
   У info.php и deliverypay.php содержимое остаётся ВНУТРИ фонового
   блока. Отступы, размер текста и межстрочные интервалы подстроены
   так, чтобы при стандартной высоте рабочего экрана Hero не растягивался. */
body[data-page="info"] #hero,
body[data-page="deliverypay"] #hero {
    min-height: 100vh;
    min-height: 100svh;
}
body[data-page="info"] #hero .hero-container,
body[data-page="deliverypay"] #hero .hero-container {
    box-sizing: border-box;
    padding-top: clamp(156px, 18vh, 195px);
    padding-bottom: 28px;
}
body[data-page="info"] #hero .page-title,
body[data-page="deliverypay"] #hero .page-title {
    font-size: clamp(28px, 2.3vw, 34px);
    line-height: 1.12;
    margin-bottom: 16px;
}
/* О компании: весь исходный текст остаётся в Hero. */
body[data-page="info"] #hero .about-hero-copy {
    width: 100%;
    max-width: 1150px;
    margin: 0 auto;
    font-size: clamp(19px, 1.05vw, 15px);
    line-height: 1.38;
    text-align: left;
    color: #f3f3f3;
}
body[data-page="info"] #hero .about-hero-copy p {
    margin: 0 0 8px;
}
body[data-page="info"] #hero .about-hero-copy p:last-child { margin-bottom: 0; }
/* Доставка: все три карточки с полными реквизитами на месте. */
body[data-page="deliverypay"] #hero .payment-lead {
    font-size: clamp(19px, 1.1vw, 16px);
    line-height: 1.42;
    margin-bottom: 12px;
}
body[data-page="deliverypay"] #hero .bank-grid { gap: 12px; }
body[data-page="deliverypay"] #hero .bank-card { padding: 15px 16px; }
body[data-page="deliverypay"] #hero .bank-card h3 {
    font-size: 20px;
    margin-bottom: 10px;
}
body[data-page="deliverypay"] #hero .bank-card p {
    font-size: clamp(19px, .95vw, 14px);
    line-height: 1.3;
    margin-bottom: 6px;
    overflow-wrap: anywhere;
}
body[data-page="deliverypay"] #hero .bank-card p:last-child { margin-bottom: 0; }

/* На планшетах и телефонах нельзя уменьшать реквизиты до нечитаемого
   размера. Поэтому блок может стать выше экрана, но ничего не обрежется. */
@media (max-width: 992px) {
    body[data-page="info"] #hero .hero-container,
    body[data-page="deliverypay"] #hero .hero-container {
        padding-top: 185px !important;
        padding-bottom: 32px !important;
    }
    body[data-page="info"] #hero .about-hero-copy { font-size: 14px; line-height: 1.45; }
    body[data-page="deliverypay"] #hero .bank-card p { font-size: 13px; }
}
@media (max-width: 576px) {
    body[data-page="info"] #hero .hero-container,
    body[data-page="deliverypay"] #hero .hero-container {
        padding-top: 150px !important;
        padding-bottom: 30px !important;
    }
    body[data-page="info"] #hero .page-title,
    body[data-page="deliverypay"] #hero .page-title { font-size: 27px; margin-bottom: 14px; }
    body[data-page="info"] #hero .about-hero-copy { font-size: 13px; line-height: 1.42; }
    body[data-page="info"] #hero .about-hero-copy p { margin-bottom: 9px; }
    body[data-page="deliverypay"] #hero .payment-lead { font-size: 13px; }
    body[data-page="deliverypay"] #hero .bank-grid { gap: 10px; }
    body[data-page="deliverypay"] #hero .bank-card { padding: 12px 14px; }
    body[data-page="deliverypay"] #hero .bank-card h3 { font-size: 19px; margin-bottom: 8px; }
    body[data-page="deliverypay"] #hero .bank-card p { font-size: 12px; line-height: 1.28; margin-bottom: 5px; }
}

/* ============================================================
   F-Service — компактные две карточки сервиса ВНУТРИ Hero.
   Общая высота Hero на широких экранах совпадает с другими
   внутренними страницами. При нехватке высоты текст не обрезается.
   ============================================================ */
body[data-page="service"] #hero.service-hero {
    min-height: 100vh;
    min-height: 100svh;
}
body[data-page="service"] #hero.service-hero .hero-container {
    box-sizing: border-box;
    padding-top: clamp(168px, 19vh, 190px);
    padding-bottom: 24px;
}
body[data-page="service"] #hero.service-hero .service-hero-intro {
    margin-bottom: clamp(13px, 2vh, 20px);
}
body[data-page="service"] #hero.service-hero .page-title {
    max-width: 1050px;
    font-size: clamp(29px, 2.5vw, 38px);
    line-height: 1.1;
    margin: 0 0 12px;
}
body[data-page="service"] #hero.service-hero .service-hero-lead {
    max-width: 950px;
    color: #fff;
    font-size: clamp(14px, 1.15vw, 16px);
    line-height: 1.45;
    margin: 0;
}
body[data-page="service"] #hero.service-hero .service-hero-cards {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
    gap: 20px;
    align-items: stretch;
}
body[data-page="service"] #hero.service-hero .service-hero-cards > div {
    min-width: 0;
    height: auto;
    margin: 0;
    box-sizing: border-box;
    padding: clamp(14px, 1.5vw, 20px);
    background: rgba(13, 13, 13, .66);
    border: 1px solid rgba(248, 182, 0, .4);
    box-shadow: 0 8px 25px rgba(0,0,0,.25);
    border-radius: 14px;
}
body[data-page="service"] #hero.service-hero .tech-left h3 {
    font-size: clamp(16px, 1.45vw, 19px);
    line-height: 1.18;
    margin: 0 0 5px;
}
body[data-page="service"] #hero.service-hero .tech-left p {
    color: #f2f2f2;
    font-size: clamp(12.5px, 1.05vw, 14px);
    line-height: 1.34;
    margin: 0 0 11px;
}
body[data-page="service"] #hero.service-hero .tech-left p:last-child { margin-bottom: 0; }
body[data-page="service"] #hero.service-hero .tech-contact {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}
body[data-page="service"] #hero.service-hero .tech-contact h3 {
    color: #f8b600;
    font-size: clamp(20px, 1.75vw, 24px);
    line-height: 1.16;
    margin: 0 0 12px;
}
body[data-page="service"] #hero.service-hero .tech-contact p {
    color: #f2f2f2;
    font-size: clamp(13px, 1.07vw, 15px);
    line-height: 1.45;
    margin: 0;
}
body[data-page="service"] #hero.service-hero .service-contact-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 17px;
}
body[data-page="service"] #hero.service-hero .service-contact-actions .btn-yellow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 18px !important;
    font-size: 14px !important;
    border-radius: 8px !important;
    min-width: 125px;
    line-height: 1.2;
}
body[data-page="service"] .service-field-visit-container { padding-top: 25px; padding-bottom: 35px; }
body[data-page="service"] .service-field-visit-container .tech-bottom {
    margin: 0;
    line-height: 1.5;
}
body[data-page="service"] #service-field-visit,
body[data-page="service"] #service-maintenance,
body[data-page="service"] #service-diagnostics,
body[data-page="service"] #service-repair { scroll-margin-top: 170px; }

@media (min-width: 993px) and (max-height: 760px) {
    body[data-page="service"] #hero.service-hero .hero-container { padding-top: 165px; padding-bottom: 18px; }
    body[data-page="service"] #hero.service-hero .page-title { font-size: 30px; margin-bottom: 8px; }
    body[data-page="service"] #hero.service-hero .service-hero-intro { margin-bottom: 12px; }
    body[data-page="service"] #hero.service-hero .service-hero-cards > div { padding: 12px 16px; }
    body[data-page="service"] #hero.service-hero .tech-left h3 { font-size: 16px; margin-bottom: 3px; }
    body[data-page="service"] #hero.service-hero .tech-left p { font-size: 12.5px; margin-bottom: 7px; line-height: 1.27; }
    body[data-page="service"] #hero.service-hero .tech-contact h3 { font-size: 20px; }
}
@media (max-width: 992px) {
    body[data-page="service"] #hero.service-hero .hero-container {
        padding: 172px 22px 30px !important;
    }
    body[data-page="service"] #hero.service-hero .service-hero-cards { gap: 12px; }
    body[data-page="service"] #hero.service-hero .service-hero-cards > div { padding: 15px; }
    body[data-page="service"] #hero.service-hero .page-title { font-size: clamp(27px, 3vw, 34px); }
    body[data-page="service"] #hero.service-hero .tech-left h3 { font-size: 16px; }
    body[data-page="service"] #hero.service-hero .tech-left p { font-size: 12.5px; }
    body[data-page="service"] #service-field-visit,
    body[data-page="service"] #service-maintenance,
    body[data-page="service"] #service-diagnostics,
    body[data-page="service"] #service-repair { scroll-margin-top: 140px; }
}
@media (max-width: 760px) {
    body[data-page="service"] #hero.service-hero .hero-container { padding: 151px 18px 28px !important; }
    body[data-page="service"] #hero.service-hero .page-title { font-size: 27px; margin-bottom: 10px; }
    body[data-page="service"] #hero.service-hero .service-hero-lead { font-size: 14px; }
    body[data-page="service"] #hero.service-hero .service-hero-cards { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    body[data-page="service"] #hero.service-hero .service-hero-cards > div { padding: 16px; }
    body[data-page="service"] #hero.service-hero .tech-left h3 { font-size: 18px; }
    body[data-page="service"] #hero.service-hero .tech-left p { font-size: 13px; line-height: 1.4; }
    body[data-page="service"] #hero.service-hero .service-contact-actions .btn-yellow { min-width: 120px; }
}


/* ===== F-Service: одинаковая высота заголовков внутренних Hero (22.10.2026) ===== */
/* На всех пяти внутренних страницах верхняя граница H2 находится
   на одной высоте относительно окна. Содержимое под заголовком,
   высота Hero и исходные фоны не меняются. Главную не затрагиваем. */
body:is([data-page="rent"], [data-page="service"], [data-page="info"], [data-page="deliverypay"], [data-page="contacts"], [data-page="field-visit"])
    #hero.static-hero > .hero-container {
    padding-top: clamp(165px, 19vh, 190px) !important;
}
/* Убираем разницу между стандартным margin-top заголовка Bootstrap
   и отдельным нулевым margin в блоке «Сервис и ремонт». */
body:is([data-page="rent"], [data-page="service"], [data-page="info"], [data-page="deliverypay"], [data-page="contacts"], [data-page="field-visit"])
    #hero.static-hero .page-title {
    margin-top: 0 !important;
}
@media (max-width: 992px) {
    body:is([data-page="rent"], [data-page="service"], [data-page="info"], [data-page="deliverypay"], [data-page="contacts"], [data-page="field-visit"])
        #hero.static-hero > .hero-container {
        padding-top: 172px !important;
    }
}
@media (max-width: 760px) {
    body:is([data-page="rent"], [data-page="service"], [data-page="info"], [data-page="deliverypay"], [data-page="contacts"], [data-page="field-visit"])
        #hero.static-hero > .hero-container {
        padding-top: 150px !important;
    }
}


/* 22.10: Выезд специалиста — тот же статичный Hero и высота заголовка,
   что на внутренних страницах. Только оформление содержимого карточки. */
body[data-page="field-visit"] #hero .page-title {
    font-size: clamp(29px, 2.5vw, 38px);
    line-height: 1.1;
    margin-bottom: 14px;
}
body[data-page="field-visit"] #hero .field-visit-lead {
    max-width: 940px;
    margin: 0 auto 22px;
    text-align: center;
    font-size: clamp(14px, 1.15vw, 17px);
    line-height: 1.45;
}
body[data-page="field-visit"] .field-visit-hero-card {
    box-sizing: border-box;
    max-width: 1030px;
    margin: 0 auto;
    padding: clamp(20px, 2.6vw, 30px);
    border: 1px solid rgba(248, 182, 0, .40);
    border-radius: 14px;
    background: rgba(13, 13, 13, .69);
    box-shadow: 0 8px 25px rgba(0, 0, 0, .25);
    text-align: center;
}
body[data-page="field-visit"] .field-visit-hero-card h3 {
    font-family: 'Oswald', sans-serif;
    font-size: clamp(25px, 2.3vw, 34px);
    line-height: 1.18;
    margin: 0 0 12px;
    color: #ffb600;
}
body[data-page="field-visit"] .field-visit-hero-card p {
    font-size: clamp(14px, 1.1vw, 16px);
    line-height: 1.5;
    margin: 0 auto;
    max-width: 830px;
    color: #f4f4f4;
}
body[data-page="field-visit"] .field-visit-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 20px;
}
body[data-page="field-visit"] .field-visit-actions .btn-yellow,
body[data-page="field-visit"] .field-visit-call {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 12px 20px;
    line-height: 1.3;
    font-size: 14px;
    border-radius: 8px;
    text-decoration: none;
    min-height: 46px;
}
body[data-page="field-visit"] .field-visit-call {
    color: #fff;
    border: 1px solid rgba(255,255,255,.5);
    background: rgba(0,0,0,.2);
}
body[data-page="field-visit"] .field-visit-call:hover { color: #ffb600; border-color: #ffb600; }
body[data-page="field-visit"] .field-visit-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 20px;
}
body[data-page="field-visit"] .field-visit-item {
    border: 1px solid rgba(248,182,0,.27);
    border-radius: 14px;
    padding: 25px 23px;
    background: #171717;
}
body[data-page="field-visit"] .field-visit-item h3 {
    font-family: 'Oswald', sans-serif;
    font-size: 25px;
    color: #ffb600;
    margin: 0 0 12px;
}
body[data-page="field-visit"] .field-visit-item ul { padding-left: 20px; margin: 0; }
body[data-page="field-visit"] .field-visit-item li { margin-bottom: 11px; line-height: 1.45; }
body[data-page="service"] .field-visit-teaser {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    line-height: 1.45;
}
body[data-page="service"] .field-visit-teaser strong,
body[data-page="service"] .field-visit-teaser p,
body[data-page="service"] .field-visit-teaser a { position: relative; z-index: 2; }
body[data-page="service"] .field-visit-teaser strong { font-family:'Oswald', sans-serif; font-size: 29px; line-height: 1.12; }
body[data-page="service"] .field-visit-teaser p { font-size: 17px; line-height: 1.45; margin: 0; }
body[data-page="service"] .field-visit-teaser .btn-yellow { text-align: center; }
@media(max-width: 992px) {
    body[data-page="field-visit"] .field-visit-grid { grid-template-columns: 1fr; }
}
@media(max-width: 760px) {
    body[data-page="field-visit"] #hero .page-title { font-size: 27px; }
    body[data-page="field-visit"] #hero .field-visit-lead { font-size: 14px; margin-bottom: 16px; }
    body[data-page="field-visit"] .field-visit-hero-card { padding: 20px 17px; }
    body[data-page="field-visit"] .field-visit-hero-card h3 { font-size: 25px; }
    body[data-page="field-visit"] .field-visit-hero-card p { font-size: 14px; }
    body[data-page="field-visit"] .field-visit-actions { gap: 10px; }
    body[data-page="field-visit"] .field-visit-actions .btn-yellow,
    body[data-page="field-visit"] .field-visit-call { width: 100%; }
    body[data-page="service"] .field-visit-teaser { padding: 20px 18px; }
    body[data-page="service"] .field-visit-teaser strong { font-size: 24px; }
    body[data-page="service"] .field-visit-teaser p { font-size: 15px; }
}


/* F-Service: персональный фотофон Hero страницы «Выезд специалиста».
   Не влияет на Hero других страниц, высоту или расположение текста. */
#hero.static-hero.field-visit-hero {
    background-image: url('../img/service-field-visit-hero.png');
    background-position: center 10%;
}
/* При наведении сохраняем прежнюю смену фонового изображения,
   показывая исходную фотографию того же сервисного автомобиля. */
#hero.static-hero.field-visit-hero::after {
    background-image: url('../img/service-car.png');
    background-position: center 10%;
}
@media (max-width: 760px) {
    #hero.static-hero.field-visit-hero { background-position: 58% 81%; }
    #hero.static-hero.field-visit-hero::after { background-position: 58% 75%; }
}


/* ===== F-Service: страница «Ремонт узлов и агрегатов» с видео-Hero ===== */
#hero.repair-video-hero {
    background: #151515 url('../img/hero/fservice_repair_poster.jpg') center / cover no-repeat;
    min-height: 100vh;
    min-height: 100svh;
}
#hero.repair-video-hero::after,
#hero.repair-video-hero:hover::after {
    display: none;
    content: none;
}
#hero.repair-video-hero .repair-video-layer {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}
#hero.repair-video-hero .repair-video-layer video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
#hero.repair-video-hero .hero-overlay { z-index: 1; pointer-events: none; }
#hero.repair-video-hero .hero-container {
    z-index: 2;
    box-sizing: border-box;
    padding-top: clamp(165px, 19vh, 190px) !important;
    padding-bottom: 32px;
}
body[data-page="repair"] #hero .page-title {
    max-width: 1070px;
    margin: 0 auto 16px !important;
    font-size: clamp(29px, 2.5vw, 38px);
    line-height: 1.12;
}
body[data-page="repair"] #hero .repair-hero-lead {
    max-width: 920px;
    margin: 0 auto 22px;
    color: #fff;
    font-size: clamp(15px, 1.25vw, 18px);
    line-height: 1.45;
    text-align: center;
}
body[data-page="repair"] #hero .repair-hero-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 220px;
    gap: 20px;
    align-items: center;
    width: 100%;
    max-width: 1050px;
    margin: 0 auto;
    padding: clamp(19px, 2.1vw, 28px);
    border: 1px solid rgba(248,182,0,.42);
    border-radius: 14px;
    background: rgba(12, 12, 12, .74);
    box-shadow: 0 10px 30px rgba(0,0,0,.28);
}
body[data-page="repair"] #hero .repair-hero-card h3 {
    color: #ffb600;
    font-family: 'Oswald', sans-serif;
    font-size: clamp(23px, 2vw, 29px);
    line-height: 1.17;
    margin: 0 0 9px;
}
body[data-page="repair"] #hero .repair-hero-card p {
    color: #f3f3f3;
    font-size: clamp(13px, 1.08vw, 15px);
    line-height: 1.42;
    margin: 0 0 12px;
}
body[data-page="repair"] #hero .repair-hero-card ul {
    color: #fff;
    padding-left: 20px;
    margin: 0;
    font-size: clamp(13px, 1.07vw, 15px);
    line-height: 1.5;
}
body[data-page="repair"] #hero .repair-hero-card li { margin-bottom: 4px; }
body[data-page="repair"] #hero .repair-hero-actions {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 13px;
}
body[data-page="repair"] #hero .repair-hero-actions .btn-yellow,
body[data-page="repair"] #hero .repair-call-link {
    min-height: 46px;
    padding: 12px 14px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    text-align: center;
    font-size: 14px !important;
    font-weight: 600;
    line-height: 1.3;
    border-radius: 8px;
}
body[data-page="repair"] #hero .repair-call-link {
    color: #fff;
    border: 1px solid rgba(255,255,255,.54);
    background: rgba(0,0,0,.2);
}
body[data-page="repair"] #hero .repair-call-link:hover {
    border-color: #ffb600;
    color: #ffb600;
}
body[data-page="service"] .service-repair-link {
    color: inherit;
    text-decoration: none;
}
body[data-page="service"] .service-repair-link:hover {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.repair-details-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}
.repair-detail-card {
    padding: 26px 24px;
    background: #191919;
    border: 1px solid rgba(248,182,0,.25);
    border-radius: 14px;
}
.repair-detail-card h3 {
    font-family: 'Oswald', sans-serif;
    font-size: 27px;
    color: #ffb600;
    margin: 0 0 10px;
}
.repair-detail-card p { font-size: 15px; line-height: 1.55; margin: 0; }
@media (max-width: 992px) {
    #hero.repair-video-hero .hero-container {
        padding-top: 172px !important;
        padding-bottom: 30px;
    }
    body[data-page="repair"] #hero .repair-hero-card {
        grid-template-columns: minmax(0, 1fr) 190px;
    }
}
@media (max-width: 760px) {
    #hero.repair-video-hero .hero-container {
        padding: 150px 18px 30px !important;
    }
    body[data-page="repair"] #hero .page-title {
        font-size: 27px;
        margin-bottom: 13px !important;
    }
    body[data-page="repair"] #hero .repair-hero-lead {
        font-size: 14px;
        margin-bottom: 17px;
    }
    body[data-page="repair"] #hero .repair-hero-card {
        grid-template-columns: 1fr;
        padding: 19px 17px;
        gap: 18px;
    }
    body[data-page="repair"] #hero .repair-hero-card h3 { font-size: 24px; }
    body[data-page="repair"] #hero .repair-hero-card p,
    body[data-page="repair"] #hero .repair-hero-card ul { font-size: 13px; }
    body[data-page="repair"] #hero .repair-hero-actions { gap: 10px; }
    body[data-page="repair"] #hero .repair-hero-actions .btn-yellow,
    body[data-page="repair"] #hero .repair-call-link { width: 100%; }
    .repair-details-grid { grid-template-columns: 1fr; }
    .repair-detail-card { padding: 22px 20px; }
}
@media (prefers-reduced-motion: reduce) {
    #hero.repair-video-hero .repair-video-layer { display: none; }
}


/* ===== F-Service: 2026-10-22 visual micro-adjustment =====
   Page titles: +10px in visual position (no resizing of Hero or pushing
   cards down). Card typography: +2px compared to the previous site styles.
   Header, storefront product widgets and home Hero remain unchanged. */
body:is([data-page="rent"], [data-page="service"], [data-page="repair"],
        [data-page="field-visit"], [data-page="info"],
        [data-page="deliverypay"], [data-page="contacts"], [data-page="catalog"])
    #hero .page-title {
    position: relative !important;
    top: 30px !important; /* +20 px к прошлой настройке +10 px */
}

/* Аренда: четыре карточки предложений. */
body[data-page="rent"] .rent-card h3 { font-size: 28px; }
body[data-page="rent"] .rent-card li { font-size: 22px; }
body[data-page="rent"] .rent-advantages h3,
body[data-page="rent"] .rent-cta h3 { font-size: 28px; }
body[data-page="rent"] .rent-advantages li,
body[data-page="rent"] .rent-cta p { font-size: 22px; }

/* Сервис: карточки технического обслуживания и контактов прямо в Hero. */
body[data-page="service"] #hero.service-hero .tech-left h3 {
    font-size: clamp(18px, calc(1.45vw + 2px), 21px);
}
body[data-page="service"] #hero.service-hero .tech-left p {
    font-size: clamp(14.5px, calc(1.05vw + 2px), 16px);
}
body[data-page="service"] #hero.service-hero .tech-contact h3 {
    font-size: clamp(22px, calc(1.75vw + 2px), 26px);
}
body[data-page="service"] #hero.service-hero .tech-contact p {
    font-size: clamp(15px, calc(1.07vw + 2px), 17px);
}
body[data-page="service"] #hero.service-hero .service-contact-actions .btn-yellow {
    font-size: 16px !important;
}
body[data-page="service"] .field-visit-teaser strong { font-size: 31px; }
body[data-page="service"] .field-visit-teaser p { font-size: 19px; }

/* Выезд специалиста: основной акцент и карточки преимуществ. */
body[data-page="field-visit"] .field-visit-hero-card h3 {
    font-size: clamp(27px, calc(2.3vw + 2px), 36px);
}
body[data-page="field-visit"] .field-visit-hero-card p {
    font-size: clamp(16px, calc(1.1vw + 2px), 18px);
}
body[data-page="field-visit"] .field-visit-actions .btn-yellow,
body[data-page="field-visit"] .field-visit-call { font-size: 16px; }
body[data-page="field-visit"] .field-visit-item h3 { font-size: 27px; }
body[data-page="field-visit"] .field-visit-item li { font-size: 18px; }

/* Ремонт узлов и агрегатов: карточка в видео-Hero и три карточки ниже. */
body[data-page="repair"] #hero .repair-hero-card h3 {
    font-size: clamp(25px, calc(2vw + 2px), 31px);
}
body[data-page="repair"] #hero .repair-hero-card p {
    font-size: clamp(15px, calc(1.08vw + 2px), 17px);
}
body[data-page="repair"] #hero .repair-hero-card ul {
    font-size: clamp(15px, calc(1.07vw + 2px), 17px);
}
body[data-page="repair"] #hero .repair-hero-actions .btn-yellow,
body[data-page="repair"] #hero .repair-call-link { font-size: 16px !important; }
body[data-page="repair"] .repair-detail-card h3 { font-size: 29px; }
body[data-page="repair"] .repair-detail-card p { font-size: 17px; }

/* Реквизиты и контакты: тексты внутри информационных карточек. */
body[data-page="deliverypay"] #hero .bank-card h3 { font-size: 22px; }
body[data-page="deliverypay"] #hero .bank-card p { font-size: 21px; }
body[data-page="contacts"] #hero .contact-card h3 { font-size: 27px; }
body[data-page="contacts"] #hero .contact-card p { font-size: 18px; }

@media (min-width: 993px) and (max-height: 760px) {
    body[data-page="service"] #hero.service-hero .tech-left h3 { font-size: 18px; }
    body[data-page="service"] #hero.service-hero .tech-left p { font-size: 14.5px; }
    body[data-page="service"] #hero.service-hero .tech-contact h3 { font-size: 22px; }
}
@media (max-width: 992px) {
    body[data-page="service"] #hero.service-hero .tech-left h3 { font-size: 18px; }
    body[data-page="service"] #hero.service-hero .tech-left p { font-size: 14.5px; }
    body[data-page="deliverypay"] #hero .bank-card p { font-size: 15px; }
}
@media (max-width: 760px) {
    body[data-page="service"] #hero.service-hero .tech-left h3 { font-size: 20px; }
    body[data-page="service"] #hero.service-hero .tech-left p { font-size: 15px; }
    body[data-page="repair"] #hero .repair-hero-card h3 { font-size: 26px; }
    body[data-page="repair"] #hero .repair-hero-card p,
    body[data-page="repair"] #hero .repair-hero-card ul { font-size: 15px; }
    body[data-page="field-visit"] .field-visit-hero-card h3 { font-size: 27px; }
    body[data-page="field-visit"] .field-visit-hero-card p { font-size: 16px; }
}
@media (max-width: 576px) {
    body[data-page="deliverypay"] #hero .bank-card h3 { font-size: 21px; }
    body[data-page="deliverypay"] #hero .bank-card p { font-size: 14px; }
}


/* ==== F-Service: синхронный сдвиг Hero и компактная типографика, 20261022b ==== */
/* Раньше h2 смещался top:30px вне потока, перекрывая следующий текст.
   Теперь опускаем ВЕСЬ контент Hero единым верхним отступом. */
body:is([data-page="rent"], [data-page="service"], [data-page="repair"],
        [data-page="field-visit"], [data-page="info"], [data-page="deliverypay"],
        [data-page="contacts"], [data-page="catalog"]) #hero .page-title {
    position: static !important;
    top: auto !important;
}
body:is([data-page="rent"], [data-page="service"], [data-page="repair"],
        [data-page="field-visit"], [data-page="info"], [data-page="deliverypay"],
        [data-page="contacts"], [data-page="catalog"]) #hero#hero > .hero-container {
    box-sizing: border-box;
    padding-top: calc(clamp(165px, 19vh, 190px) + 30px) !important;
}
/* Вся внутренняя информация размещается непосредственно под заголовком. */
body:is([data-page="rent"], [data-page="service"], [data-page="repair"],
        [data-page="field-visit"], [data-page="info"], [data-page="deliverypay"],
        [data-page="contacts"], [data-page="catalog"]) #hero .page-title {
    margin-bottom: 18px !important;
}
/* Длинные описания и банковские карточки компактнее, но без обрезания. */
body[data-page="info"] #hero .about-hero-copy {
    font-size: clamp(14px, 1.05vw, 16px) !important;
    line-height: 1.38;
}
body[data-page="info"] #hero .about-hero-copy p { margin-bottom: 7px; }
body[data-page="deliverypay"] #hero .payment-lead {
    font-size: clamp(15px, 1.13vw, 17px) !important;
    line-height: 1.4;
    margin-bottom: 15px;
}
body[data-page="deliverypay"] #hero .bank-grid { gap: 12px; }
body[data-page="deliverypay"] #hero .bank-card {
    padding: 13px 15px;
}
body[data-page="deliverypay"] #hero .bank-card h3 {
    font-size: 20px;
    margin-bottom: 8px;
}
body[data-page="deliverypay"] #hero .bank-card p {
    font-size: clamp(15px, 1.12vw, 17px) !important;
    line-height: 1.29;
    margin-bottom: 5px;
}
body[data-page="contacts"] #hero .contact-card { padding: 22px; }
body[data-page="contacts"] #hero .contact-card h3 { font-size: 24px; margin-bottom: 12px; }
body[data-page="contacts"] #hero .contact-card p {
    font-size: 16px;
    line-height: 1.42;
    margin-bottom: 10px;
}
body[data-page="service"] #hero .service-hero-lead,
body[data-page="repair"] #hero .repair-hero-lead,
body[data-page="field-visit"] #hero .field-visit-lead {
    font-size: clamp(14px, 1.04vw, 16px);
    line-height: 1.38;
}
body[data-page="rent"] #hero .rent-lead { font-size: clamp(15px, 1.15vw, 18px); line-height: 1.45; }
body[data-page="catalog"] #hero .hero-content > p { font-size: clamp(14px, 1.1vw, 17px); }
/* Если в окне мало вертикального места — экономим на деталях, а не на Hero. */
@media (min-width: 993px) and (max-height: 760px) {
    body[data-page="info"] #hero .about-hero-copy { font-size: 15px !important; line-height: 1.34; }
    body[data-page="info"] #hero .about-hero-copy p { margin-bottom: 5px; }
    body[data-page="deliverypay"] #hero .bank-card p { font-size: 16px !important; line-height: 1.27; }
    body[data-page="deliverypay"] #hero .bank-card { padding: 11px 13px; }
    body[data-page="deliverypay"] #hero .bank-card h3 { margin-bottom: 6px; font-size: 18px; }
    body[data-page="deliverypay"] #hero .payment-lead { font-size: 15px !important; }
    body[data-page="contacts"] #hero .contacts-grid .map-card iframe { height: 365px; min-height: 365px; }
    body[data-page="contacts"] #hero .contact-card { padding: 17px 19px; }
}
@media (max-width: 992px) {
    body:is([data-page="rent"], [data-page="service"], [data-page="repair"],
            [data-page="field-visit"], [data-page="info"], [data-page="deliverypay"],
            [data-page="contacts"], [data-page="catalog"]) #hero#hero > .hero-container {
        padding-top: 202px !important;
    }
    body[data-page="info"] #hero .about-hero-copy { font-size: 14px !important; }
    body[data-page="deliverypay"] #hero .bank-card p { font-size: 14px !important; }
}
@media (max-width: 760px) {
    body:is([data-page="rent"], [data-page="service"], [data-page="repair"],
            [data-page="field-visit"], [data-page="info"], [data-page="deliverypay"],
            [data-page="contacts"], [data-page="catalog"]) #hero#hero > .hero-container {
        padding-top: 180px !important;
    }
    body[data-page="service"] #hero .service-hero-lead,
    body[data-page="repair"] #hero .repair-hero-lead,
    body[data-page="field-visit"] #hero .field-visit-lead { font-size: 13px; }
    body[data-page="deliverypay"] #hero .payment-lead { font-size: 13px !important; }
    body[data-page="deliverypay"] #hero .bank-card p { font-size: 13px !important; }
    body[data-page="info"] #hero .about-hero-copy { font-size: 13px !important; }
    /* У каталога отдельный компактный Hero; сохраняем прежнюю высоту. */
    body[data-page="catalog"] #hero#hero > .hero-container { padding: 168px 18px 15px !important; }
    body[data-page="catalog"] #hero .page-title { font-size: 25px; margin-bottom: 9px !important; }
    body[data-page="catalog"] #hero .hero-content > p { font-size: 13px; line-height: 1.3; }
}

/* Средние экраны: не растягиваем Hero из-за трёх банков или карты. */
@media (min-width: 761px) and (max-width: 992px) {
    body[data-page="deliverypay"] #hero .bank-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    body[data-page="deliverypay"] #hero .bank-card:last-child {
        grid-column: 1 / -1;
    }
    body[data-page="contacts"] #hero .contacts-grid .map-card iframe {
        height: 320px;
        min-height: 320px;
    }
}


/* ================================================================
   F-Service Mobile Navigation v2 — меню в стиле утверждённого макета.
   Десктоп >=1200px сохраняет прежнее оформление и hover-поведение.
   ================================================================ */
.site-header .nav-mobile-icon,
.site-header .nav-static-chevron,
.site-header .mobile-nav-indicator { display: none; }
.site-header .header-cart-link { position: relative; }

@media (max-width: 1199px) {
    .site-header { background: #080808; }
    .site-header .header-top {
        height: 76px !important;
        min-height: 76px !important;
        padding: 6px 20px !important;
        justify-content: space-between !important;
        gap: 10px !important;
        background: #050505 !important;
    }
    .site-header .logo { margin: 0 !important; padding: 0 !important; }
    .site-header .logo-img { width: 136px !important; max-height: 69px; object-fit: contain; }
    .site-header .header-contacts {
        display: flex !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        width: auto !important;
        gap: 0 !important;
    }
    /* На мобильных оставляем только кабинет и корзину. */
    .site-header .header-contacts > .header-info { display: none !important; }
    .site-header .header-icons {
        display: flex !important;
        align-items: center;
        gap: 22px !important;
        font-size: 26px !important;
    }
    .site-header .header-icons a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        position: relative;
        min-width: 35px;
        min-height: 42px;
        color: #ffba23 !important;
        text-decoration: none;
    }
    .site-header .header-icons a:focus-visible { outline: 2px solid #f8b600; border-radius: 8px; }
    .site-header #total-cart-count.badge:not(:empty) {
        position: absolute;
        display: flex;
        align-items: center;
        justify-content: center;
        top: -2px;
        right: -11px;
        width: 23px;
        height: 23px;
        padding: 0 3px;
        border-radius: 50%;
        box-sizing: border-box;
        background: #f8b600 !important;
        color: #15110b !important;
        border: 2px solid #070707;
        font: 700 12px/1 'Inter',sans-serif;
        text-align: center;
    }
    .site-header #total-cart-count.badge:empty { display: none !important; }

    .site-header .header-menu {
        height: 56px !important;
        min-height: 56px !important;
        padding: 6px 16px !important;
        align-items: center;
        justify-content: space-between !important;
        background: linear-gradient(90deg,#161411,#0c0c0e 58%,#070707) !important;
        border-top: 1px solid rgba(248,182,0,.12);
    }
    .site-header .mobile-nav-toggle {
        display: inline-flex !important;
        min-height: 43px;
        min-width: 0;
        flex: 0 1 auto;
        align-items: center;
        justify-content: flex-start;
        gap: 11px;
        padding: 0 13px !important;
        border: 1px solid rgba(248,182,0,.32) !important;
        border-radius: 11px;
        background: rgba(248,182,0,.055) !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
        font-size: 16px !important;
        font-weight: 600;
        white-space: nowrap;
        color: #fff;
        transition: background-color .26s ease,border-color .26s ease,box-shadow .26s ease;
    }
    .site-header .mobile-nav-toggle:hover,
    .site-header .mobile-nav-toggle[aria-expanded="true"] {
        background: rgba(248,182,0,.11) !important;
        border-color: rgba(248,182,0,.6) !important;
    }
    .site-header .mobile-nav-toggle .nav-hamburger {
        width: 23px;
        height: 21px;
        flex: 0 0 23px;
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        justify-content: space-between;
        padding: 2px 0;
        box-sizing: border-box;
    }
    .site-header .nav-hamburger > span {
        display: block;
        width: 100%;
        height: 2px;
        border-radius: 2px;
        background: #f8b600;
        transform-origin: center;
        transition: transform .25s ease, opacity .2s ease;
    }
    .site-header .mobile-nav-toggle[aria-expanded="true"] .nav-hamburger > span:first-child { transform: translateY(7.5px) rotate(45deg); }
    .site-header .mobile-nav-toggle[aria-expanded="true"] .nav-hamburger > span:nth-child(2) { opacity: 0; }
    .site-header .mobile-nav-toggle[aria-expanded="true"] .nav-hamburger > span:last-child { transform: translateY(-7.5px) rotate(-45deg); }
    .site-header .mobile-nav-indicator { display: inline-block; color: #f8b600; font-size: 14px; margin-left: 1px; transition: transform .25s ease; }
    .site-header .mobile-nav-toggle[aria-expanded="true"] .mobile-nav-indicator { transform: rotate(180deg); }
    .site-header .mobile-nav-shortcut {
        display: inline-flex !important;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        min-height: 43px;
        padding: 0 9px 0 19px !important;
        margin: 0 !important;
        border-left: 1px solid rgba(255,255,255,.11);
        text-decoration: none;
        font-size: 17px !important;
        font-weight: 500;
        color: #f8b600 !important;
    }

    /* Меню появляется с плавным сдвигом, не меняя высоту Hero. */
    .site-header .nav-primary,
    .site-header .nav-primary.is-open {
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        position: absolute !important;
        top: calc(100% + 3px);
        left: 12px !important;
        right: 12px !important;
        width: auto !important;
        max-width: none !important;
        height: auto !important;
        max-height: calc(100dvh - 152px) !important;
        padding: 9px 10px 11px !important;
        box-sizing: border-box;
        margin: 0 !important;
        border: 1px solid rgba(255,255,255,.15) !important;
        border-radius: 17px;
        background: linear-gradient(155deg,rgba(25,25,25,.99),rgba(12,12,12,.99)) !important;
        box-shadow: 0 20px 40px rgba(0,0,0,.65);
        overflow-x: hidden;
        overflow-y: auto;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-12px) scale(.985);
        transform-origin: top;
        transition: opacity .28s ease, transform .32s cubic-bezier(.18,.85,.3,1), visibility .28s;
        z-index: 30;
        overscroll-behavior: contain;
    }
    .site-header .nav-primary.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0) scale(1);
    }
    .site-header .nav-item {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        flex-shrink: 0;
        border-bottom: 1px solid rgba(255,255,255,.085);
        border-radius: 0;
        min-height: 56px;
        transition: background-color .2s ease;
    }
    .site-header .nav-item:last-child { border-bottom: 0; }
    .site-header .nav-item--current,
    .site-header .nav-item.is-expanded {
        background: linear-gradient(90deg,rgba(248,182,0,.14),rgba(248,182,0,.045));
        border-radius: 12px;
    }
    .site-header .nav-item.is-expanded { box-shadow: inset 0 0 0 1px rgba(248,182,0,.18); }
    .site-header .nav-link,
    .site-header .nav-item--dropdown > .nav-link {
        display: flex !important;
        align-items: center;
        justify-content: flex-start !important;
        flex: 1 1 auto;
        width: auto !important;
        min-width: 0;
        min-height: 56px !important;
        padding: 10px 8px 10px 14px !important;
        color: #f7f7f7;
        text-align: left !important;
        font-size: 16px !important;
        font-weight: 600;
        line-height: 1.3;
        white-space: normal;
    }
    .site-header .nav-mobile-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 31px;
        min-width: 31px;
        margin-right: 13px;
        color: #f8b600;
        font-size: 23px;
        line-height: 1;
    }
    .site-header .nav-link-title { min-width: 0; }
    .site-header .nav-item--current > .nav-link { color: #fff; }
    .site-header .nav-toggle,
    .site-header .nav-static-chevron {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 47px;
        min-height: 56px;
        height: 56px;
        width: 47px;
        padding: 0 !important;
        color: #f8b600;
        font-size: 26px;
        border: none;
        background: transparent;
    }
    .site-header .nav-static-chevron { pointer-events: none; font-weight: 300; }
    .site-header .nav-toggle .nav-chevron {
        font-size: 0;
        line-height: 1;
        transition: transform .25s ease;
        transform: none;
    }
    .site-header .nav-toggle .nav-chevron::before {
        display: inline-block;
        content: '›';
        font: 300 30px/1 sans-serif;
    }
    .site-header .nav-item.is-expanded > .nav-toggle .nav-chevron { transform: rotate(90deg); }
    .site-header .nav-dropdown,
    .site-header .nav-item.is-expanded > .nav-dropdown {
        display: flex !important;
        flex: 0 0 100%;
        flex-direction: column;
        position: static;
        box-sizing: border-box;
        width: calc(100% - 18px);
        max-width: none;
        min-width: 0;
        max-height: 0;
        padding: 0 !important;
        margin: 0 9px !important;
        border: 0 !important;
        border-radius: 0 0 10px 10px;
        background: rgba(0,0,0,.3) !important;
        box-shadow: none !important;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: none !important;
        overflow: hidden;
        transition: max-height .34s ease, opacity .25s ease, visibility .25s;
    }
    .site-header .nav-item.is-expanded > .nav-dropdown {
        max-height: 650px;
        margin-bottom: 8px !important;
        padding: 4px 0 7px !important;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        border-left: 2px solid rgba(248,182,0,.65) !important;
    }
    .site-header .nav-dropdown a,
    .site-header .nav-dropdown .nav-future {
        min-height: 39px !important;
        padding: 8px 12px !important;
        font-size: 13px !important;
        color: #e8e8e8;
    }
    .site-header .nav-dropdown a:focus-visible,
    .site-header .nav-dropdown a:hover { color: #f8b600; background: rgba(255,255,255,.04); }
    .site-header .nav-dropdown .nav-future { color: #9c9c9c; }
    html { scroll-padding-top: 150px; }
}
@media (max-width: 576px) {
    .site-header .header-top {
        height: 70px !important;
        min-height: 70px !important;
        padding: 5px 14px !important;
    }
    .site-header .logo-img { width: 115px !important; max-height: 60px; }
    .site-header .header-icons { gap: 15px !important; font-size: 24px !important; }
    .site-header .header-icons a { min-width: 31px; }
    .site-header .header-menu { height: 52px !important; min-height: 52px !important; padding: 5px 12px !important; }
    .site-header .mobile-nav-toggle { min-height: 40px; padding: 0 10px !important; gap: 9px; font-size: 14px !important; }
    .site-header .mobile-nav-shortcut { min-height: 40px; font-size: 15px !important; padding-left: 14px !important; padding-right: 5px !important; }
    .site-header .nav-primary,
    .site-header .nav-primary.is-open { max-height: calc(100dvh - 135px) !important; left: 8px !important; right: 8px !important; }
    .site-header .nav-link,
    .site-header .nav-item--dropdown > .nav-link { font-size: 15px !important; }
    .site-header .nav-mobile-icon { margin-right: 10px; font-size: 21px; }
    html { scroll-padding-top: 132px; }
}
@media (max-width: 350px) {
    .site-header .mobile-nav-title { font-size: 13px; }
    .site-header .mobile-nav-toggle { gap: 7px; padding: 0 8px !important; }
    .site-header .mobile-nav-shortcut { padding-left: 10px !important; }
}
@media (prefers-reduced-motion: reduce) {
    .site-header .nav-primary,
    .site-header .nav-dropdown,
    .site-header .nav-hamburger > span,
    .site-header .mobile-nav-indicator { transition: none !important; }
}

/* Встроенные SVG-значки мобильного и десктопного хедера: без CDN-зависимостей */
.site-header .header-svg-icon { width: 1em; height: 1em; display: inline-block; vertical-align: middle; }
@media (max-width: 1199px) {
    .site-header .header-contacts > .header-info:nth-child(3) { display: none !important; }
    .site-header svg.nav-mobile-icon { width: 25px; height: 25px; flex: 0 0 25px; stroke-width: 1.8; }
}
@media (max-width: 576px) {
    .site-header svg.nav-mobile-icon { width: 23px; height: 23px; flex-basis: 23px; }
}


/* 2026-10-23: контакты футера — значки рядом с текстом, не над ним */
.site-footer .footer-contact-row {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 10px;
    margin: 0 0 15px;
    text-align: left;
    color: #bbb;
    font-size: 12px;
    line-height: 1.65;
}
.site-footer .footer-contact-row i {
    flex: 0 0 20px;
    width: 20px;
    line-height: 1.45;
    font-size: 17px;
    color: #f8b600;
    text-align: center;
}
.site-footer .footer-contact-row span,
.site-footer .footer-contact-row a { min-width: 0; }
.site-footer .footer-contact-row a {
    display: inline;
    margin: 0;
    color: #bbb;
    text-decoration: none;
    overflow-wrap: anywhere;
}
.site-footer .footer-contact-row a:hover { color: #f8b600; }
.site-footer .footer-col { text-align: left; }
@media (max-width: 768px) {
    .site-footer .footer-col { text-align: left !important; }
    .site-footer .footer-contact-row { font-size: 14px; }
    .site-footer .footer-grid > div:first-child { align-items: flex-start !important; }
}

/* ===== F-Service | Аренда и услуги, четыре самостоятельных направления | 2026-10-23 ===== */
#hero.rental-banner {
    min-height: 100vh;
    min-height: 100svh;
    background-color: #171717;
    box-sizing: border-box;
}
#hero.rental-photo-hero {
    background-image: var(--rental-bg, url('../img/hero-excavator.jpg'));
    background-position: center 52%;
    background-size: cover;
}
/* На новых статичных Hero не переключаемся на общую фотографию другого экскаватора. */
#hero.rental-photo-hero::after,
#hero.rental-photo-hero:hover::after {
    background-image: var(--rental-bg, url('../img/hero-excavator.jpg'));
    opacity: 0;
    pointer-events: none;
}
#hero.rental-video-hero {
    background: #171717 url('../img/rental/excavator-poster.jpg') center 52% / cover no-repeat;
}
#hero.rental-video-hero::after,
#hero.rental-video-hero:hover::after { content:none; display:none; }
#hero.rental-video-hero .rental-video-layer {
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    overflow:hidden;
}
#hero.rental-video-hero .rental-video-layer video {
    display:block;
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center 54%;
}
#hero.rental-banner .hero-overlay {
    background:linear-gradient(90deg,rgba(0,0,0,.90) 0%,rgba(0,0,0,.69) 44%,rgba(0,0,0,.31) 100%);
    z-index:1;
    pointer-events:none;
}
#hero.rental-banner .hero-container {
    z-index:2;
    box-sizing:border-box;
    width:100%;
    max-width:1300px;
    margin:0 auto;
    padding:calc(clamp(165px,19vh,190px) + 30px) 60px 60px !important;
}
#hero.rental-banner .hero-content { max-width:950px; }
#hero.rental-banner .page-title {
    text-align:left;
    position:static !important;
    top:auto !important;
    margin:0 0 22px !important;
    font-size:clamp(36px, 4vw, 60px);
    line-height:1.1;
    max-width:950px;
}
#hero.rental-banner .rental-hero-lead {
    color:#f7f7f7;
    max-width:790px;
    font-size:clamp(17px, 1.45vw, 21px);
    line-height:1.55;
    margin:0 0 24px;
    text-align:left;
}
#hero.rental-banner .rental-hero-button { display:inline-flex; }
#hero.rental-banner .rental-hero-actions {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px;
    margin-top:26px;
}
.rental-redesign .rental-main { background:#111; color:#fff; }
.rental-redesign .rental-section { padding:64px 20px; }
.rental-redesign .rental-section--alternate { background:linear-gradient(135deg,#1c1c1c,#111); }
.rental-redesign .rental-wrap { max-width:1210px; margin:0 auto; }
.rental-redesign .rental-section-heading { margin:0 0 30px; }
.rental-redesign .rental-eyebrow {
    display:block;
    color:#f8b600;
    font-size:13px;
    letter-spacing:.14em;
    text-transform:uppercase;
    font-weight:700;
    margin-bottom:9px;
}
.rental-redesign .rental-section h2,
.rental-redesign .rental-action-panel h2 {
    color:#fff;
    font-family:'Oswald',sans-serif;
    font-weight:600;
    font-size:clamp(30px,2.8vw,42px);
    line-height:1.18;
    margin:0 0 12px;
}
.rental-redesign .rental-section-heading p,
.rental-redesign .rental-action-panel p {
    font-size:16px;
    line-height:1.55;
    color:#c9c9c9;
    margin:0;
    max-width:800px;
}
.rental-redesign .rental-cards {
    display:grid;
    gap:22px;
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.rental-redesign .rental-cards--four { grid-template-columns:repeat(2,minmax(0,1fr)); }
.rental-redesign .rental-cards--feature { grid-template-columns:repeat(2,minmax(0,1fr)); }
.rental-redesign .rental-tile {
    display:flex;
    flex-direction:column;
    min-width:0;
    background:#1a1a1a;
    border:1px solid rgba(248,182,0,.28);
    border-radius:16px;
    overflow:hidden;
    transition:transform .25s ease,border-color .25s ease;
}
.rental-redesign .rental-tile:hover { transform:translateY(-3px); border-color:rgba(248,182,0,.67); }
.rental-redesign .rental-tile-image {
    display:block;
    background:#242424;
    aspect-ratio:16/9;
    overflow:hidden;
}
.rental-redesign .rental-tile-image img {
    display:block;
    height:100%;
    width:100%;
    object-fit:cover;
    object-position:center center;
    transition:transform .35s ease;
}
.rental-redesign .rental-tile:hover .rental-tile-image img { transform:scale(1.025); }
.rental-redesign .rental-tile-body { padding:22px 24px 25px; flex:1; }
.rental-redesign .rental-tile h3 {
    margin:0 0 12px;
    font:600 clamp(23px,2vw,28px)/1.2 'Oswald',sans-serif;
    color:#f8b600;
}
.rental-redesign .rental-tile h3 a { color:inherit; text-decoration:none; }
.rental-redesign .rental-tile p,
.rental-redesign .rental-tile li { color:#e1e1e1; font-size:16px; line-height:1.55; }
.rental-redesign .rental-tile p { margin:0 0 16px; }
.rental-redesign .rental-tile ul { padding-left:20px; margin:8px 0 12px; }
.rental-redesign .rental-tile-link { color:#f8b600; text-decoration:none; font-weight:650; }
.rental-redesign .rental-tile-link:hover { color:#ffd566; }
.rental-redesign .rental-text-card { justify-content:center; }
.rental-redesign .rental-available {
    margin-top:23px;
    color:#eee;
    font-size:15px;
    border-left:3px solid #f8b600;
    padding:8px 16px;
    line-height:1.5;
}
.rental-redesign .rental-action-panel {
    margin-top:34px;
    padding:26px 28px;
    background:linear-gradient(130deg,#262010,#181818);
    border:1px solid rgba(248,182,0,.38);
    border-radius:16px;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}
.rental-redesign .rental-action-panel h2 { font-size:28px; }
.rental-redesign .rental-action-buttons { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.rental-redesign .rental-secondary-button {
    border:1px solid rgba(255,255,255,.55);
    border-radius:8px;
    min-height:46px;
    padding:12px 22px;
    color:#fff;
    background:rgba(16,16,16,.45);
    text-decoration:none;
    font-weight:600;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
.rental-redesign .rental-secondary-button:hover { color:#f8b600; border-color:#f8b600; }
.rental-redesign .rental-service-grid,
.rental-redesign .rental-steps {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.rental-redesign .rental-service-grid article,
.rental-redesign .rental-steps article {
    border:1px solid rgba(248,182,0,.28);
    border-radius:14px;
    background:#191919;
    padding:23px 24px;
}
.rental-redesign .rental-service-grid h3,
.rental-redesign .rental-steps h3 {
    color:#f8b600;
    font:600 25px/1.2 'Oswald',sans-serif;
    margin:0 0 10px;
}
.rental-redesign .rental-service-grid p,
.rental-redesign .rental-steps p { color:#ddd; font-size:15px; line-height:1.5; margin:0; }
.rental-redesign .rental-steps article > span { color:#aaa; font:700 22px 'Oswald',sans-serif; display:block; margin-bottom:12px; }
.rental-redesign .rental-price-note {
    display:block;
    margin:22px 0 0;
    color:#d3d3d3;
    font-size:14px;
    line-height:1.5;
}
.rental-redesign .rental-price-note strong { color:#f8b600; }
.rental-redesign .rental-request-layout {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
    gap:45px;
    align-items:start;
}
.rental-redesign .rental-request-info > p { margin:15px 0 24px; color:#d8d8d8; line-height:1.55; font-size:16px; }
.rental-redesign .rental-telephone { font-size:19px; font-weight:650; color:#f8b600; text-decoration:none; }
.rental-redesign .rental-telephone i { margin-right:8px; }
.rental-redesign .rental-enquiry-form {
    display:flex;
    flex-direction:column;
    gap:17px;
    border:1px solid rgba(248,182,0,.32);
    border-radius:15px;
    padding:25px;
    background:rgba(0,0,0,.34);
}
.rental-redesign .rental-enquiry-form .rental-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.rental-redesign .rental-enquiry-form label { display:flex; flex-direction:column; gap:8px; font-weight:600; font-size:14px; color:#f0f0f0; }
.rental-redesign .rental-enquiry-form label span { color:#f8b600; }
.rental-redesign .rental-enquiry-form input:not([type=checkbox]),
.rental-redesign .rental-enquiry-form select,
.rental-redesign .rental-enquiry-form textarea {
    width:100%; min-width:0;
    box-sizing:border-box;
    border-radius:7px;
    border:1px solid #595959;
    padding:12px 13px;
    background:#262626;
    color:#fff;
    font:400 15px 'Inter',sans-serif;
}
.rental-redesign .rental-enquiry-form input:focus,
.rental-redesign .rental-enquiry-form select:focus,
.rental-redesign .rental-enquiry-form textarea:focus { outline:2px solid #f8b600; outline-offset:1px; }
.rental-redesign .rental-enquiry-form .rental-checkbox { flex-direction:row; align-items:flex-start; gap:9px; font-weight:400; }
.rental-redesign .rental-enquiry-form .rental-checkbox input { accent-color:#f8b600; margin-top:4px; flex-shrink:0; }
.rental-redesign .rental-enquiry-form .rental-checkbox span { color:#d0d0d0; font-size:13px; line-height:1.4; }
.rental-redesign .rental-enquiry-form .rental-form-smallprint { color:#aaa; font-size:12px; margin:0; }
.rental-redesign .rental-enquiry-form .rental-form-note { color:#111; background:#f8b600; padding:12px; border-radius:8px; margin:0; font-size:14px; }
.rental-redesign .rental-enquiry-form .rental-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.rental-redesign #rental-request,
.rental-redesign #rental-machines,
.rental-redesign #rental-directions { scroll-margin-top:170px; }
/* Название нового раздела длиннее прежнего; оставляем комфортные отступы в десктопном меню. */
@media (min-width:1200px) {
    .site-header .nav-primary > .nav-item:nth-child(2) .nav-link-title { white-space:nowrap; }
}
@media (max-width:992px) {
    #hero.rental-banner .hero-container { padding:202px 24px 55px !important; }
    .rental-redesign .rental-service-grid,
    .rental-redesign .rental-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .rental-redesign .rental-request-layout { grid-template-columns:1fr; gap:26px; }
    .rental-redesign .rental-section { padding:47px 18px; }
}
@media (max-width:760px) {
    #hero.rental-banner .hero-container { padding:180px 20px 44px !important; }
    #hero.rental-banner .page-title { font-size:clamp(29px,7vw,38px); margin-bottom:16px !important; }
    #hero.rental-banner .rental-hero-lead { font-size:15px; line-height:1.5; margin-bottom:18px; }
    #hero.rental-video-hero .rental-video-layer video { object-position:56% center; }
    .rental-redesign .rental-cards,
    .rental-redesign .rental-cards--four,
    .rental-redesign .rental-cards--feature,
    .rental-redesign .rental-service-grid,
    .rental-redesign .rental-steps { grid-template-columns:1fr; }
    .rental-redesign .rental-tile-body { padding:18px 20px 23px; }
    .rental-redesign .rental-tile h3 { font-size:24px; }
    .rental-redesign .rental-tile p,.rental-redesign .rental-tile li { font-size:15px; }
    .rental-redesign .rental-action-panel { padding:19px; }
    .rental-redesign .rental-action-buttons { width:100%; }
    .rental-redesign .rental-action-buttons > a { flex:1; }
    .rental-redesign .rental-request-layout { display:block; }
    .rental-redesign .rental-enquiry-form { margin-top:25px; padding:19px 16px; }
    .rental-redesign .rental-enquiry-form .rental-fields { grid-template-columns:1fr; }
    .rental-redesign #rental-request, .rental-redesign #rental-machines,.rental-redesign #rental-directions { scroll-margin-top:140px; }
}
@media (max-width:390px) {
    #hero.rental-banner .hero-container { padding:166px 17px 30px !important; }
    #hero.rental-banner .page-title { font-size:29px; }
    .rental-redesign .rental-action-buttons { flex-direction:column; }
    .rental-redesign .rental-action-buttons > a { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
    #hero.rental-video-hero .rental-video-layer { display:none; }
    .rental-redesign .rental-tile, .rental-redesign .rental-tile-image img { transition:none; }
}

/* Синхронизируем заголовки пяти страниц нового раздела на мобильном. */
@media (max-width: 760px) {
    body.rental-redesign #hero#hero.rental-banner > .hero-container { padding-top:180px !important; }
}


/* ===== 23.10.2026 | Заголовки и стандартный фон нового раздела аренды =====
   Единая линия и размер заголовков как у остальных внутренних страниц.
   Никаких изменений в остальных Hero, включая видеостраницу аренды. */
#hero.rental-banner .hero-content {
    max-width: 100%;
}
#hero.rental-banner .page-title {
    text-align: center;
    font-size: clamp(29px, 2.5vw, 38px);
    line-height: 1.1;
    font-weight: 500;
    margin: 0 0 18px !important;
    max-width: none;
    transform: skew(-5deg);
    position: static !important;
    top: auto !important;
}
/* Все четыре статичные страницы: те же две фотографии, что и на других разделах.
   Второй фон проявляется при наведении мыши. */
#hero.static-hero.rental-photo-hero {
    background: #161616 url('../img/hero-excavator.jpg') center center / cover no-repeat;
}
#hero.static-hero.rental-photo-hero::after {
    content: '';
    display: block;
    background: url('../img/hero-excavator2.jpg') center center / cover no-repeat;
    opacity: 0;
    pointer-events: none;
    transition: opacity .7s ease;
}
#hero.static-hero.rental-photo-hero:hover::after {
    opacity: 1;
}
/* Фон занимает полный первый экран независимо от длины заголовка. */
#hero.rental-banner {
    min-height: 100vh;
    min-height: 100svh;
}
@media (max-width: 992px) {
    #hero.rental-banner .page-title {
        font-size: clamp(27px, 3vw, 34px);
    }
}
@media (max-width: 760px) {
    #hero.rental-banner .page-title {
        font-size: 27px;
        line-height: 1.12;
        margin-bottom: 16px !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    #hero.static-hero.rental-photo-hero::after { transition: none; }
}

/* === Коммерческая воронка: поиск и заявка на подбор (до подключения MySQL) === */
.catalog-request-inline { display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;background:#161616;color:#fff;padding:20px 24px;border-radius:14px;margin:10px 0 24px;border:1px solid rgba(248,182,0,.45); }
.catalog-request-inline strong {font-size:21px;color:#f8b600;font-family:Oswald,sans-serif;}
.catalog-request-inline p{font-size:15px;font-weight:400;color:#ddd;margin:5px 0 0;line-height:1.45;}
.catalog-request-button,.catalog-empty .catalog-empty-btn {display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;color:#111;background:#f8b600;border:0;border-radius:9px;font-weight:700;cursor:pointer;text-decoration:none;}
.catalog-request-button:hover,.catalog-empty .catalog-empty-btn:hover {background:#ffcc34;color:#111;}
.catalog-empty {display:flex;flex-direction:column;align-items:center;gap:13px;padding:30px 20px;text-align:center;}
.catalog-empty strong {font-size:22px;}
.catalog-empty p {font-weight:400;font-size:16px;line-height:1.5;margin:0;max-width:520px;}
.catalog-result-status {padding:0 0 12px;color:#444;font-size:14px;font-weight:500;}
.catalog-pagination {flex-wrap:wrap;justify-content:center;margin-top:28px;gap:9px;}
.catalog-pagination a{width:auto;min-width:42px;height:42px;padding:0 12px;border-radius:8px;}
.catalog-pagination a[aria-current="page"] {background:#f8b600;font-weight:800;border-color:#f8b600;}
.catalog-pagination a:focus-visible,.catalog-request-button:focus-visible {outline:3px solid #a57000;outline-offset:3px;}
.request-modal-content{max-height:min(90vh,880px);overflow-y:auto;overscroll-behavior:contain;}
.request-modal:target{display:flex;}
.part-request-consent{grid-column:1/-1;font-size:13px;line-height:1.5;color:#e9e9e9;}
.request-modal-content .part-request-consent label{display:flex;align-items:flex-start;gap:10px;font-weight:400;}
.request-modal-content .part-request-consent input[type="checkbox"]{width:19px;min-width:19px;margin:2px 0 0;accent-color:#f8b600;}
.part-request-consent a{color:#f8b600;text-decoration:underline;}
.part-request-honeypot{position:absolute!important;left:-9999px!important;opacity:0;pointer-events:none;}
.request-modal-content .part-request-note{grid-column:1/-1;margin:0;color:#c3c3c3;font-size:13px;}
@media(max-width:680px){.catalog-request-inline{padding:17px;}.catalog-request-button{width:100%;}.catalog-empty{font-size:18px;}.request-modal{padding:10px;}.request-modal-content{padding:22px 17px;max-height:92dvh;}}

/* ===== F-Service — Приоритет 3: быстрый выбор направления и мобильные действия ===== */
.sales-directions {
  padding: clamp(42px,5vw,72px) 22px;
  background: linear-gradient(180deg,#131313 0%,#191919 100%);
  color: #fff;
}
.sales-directions-inner {max-width: 1320px; margin: 0 auto;}
.sales-directions-heading {margin-bottom: 28px;}
.sales-directions-overline {display:block; margin-bottom:9px; color:#f8b600; font-size:13px; letter-spacing:.17em; font-weight:700;}
.sales-directions-heading h2 {color:#fff; font:600 clamp(28px,3vw,41px)/1.16 'Oswald',sans-serif; margin:0 0 10px;}
.sales-directions-heading p {font:400 clamp(14px,1.2vw,17px)/1.55 'Inter',sans-serif; color:#c7c7c7; margin:0;}
.sales-directions-grid {display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px;}
.sales-direction-card {
  display:flex; flex-direction:column; gap:16px;
  padding:25px 21px 23px; background:#202020; border:1px solid rgba(248,182,0,.28);
  border-radius:15px; text-decoration:none!important; color:#fff!important;
  box-shadow:0 9px 25px rgba(0,0,0,.16);
  transition:transform .22s ease, border-color .22s ease, background-color .22s ease;
}
.sales-direction-card:hover,.sales-direction-card:focus-visible {
  transform: translateY(-3px); border-color:#f8b600; background:#252219;
}
.sales-direction-card:focus-visible {outline:2px solid #f8b600;outline-offset:3px;}
.sales-direction-icon {display:inline-flex;align-items:center;justify-content:center; width:46px;height:46px;border-radius:12px;background:rgba(248,182,0,.13); color:#f8b600; font-size:25px;}
.sales-direction-body {display:flex;flex-direction:column;gap:9px; flex:1;min-width:0;}
.sales-direction-body strong {font:600 clamp(21px,1.85vw,26px)/1.17 'Oswald',sans-serif; color:#fff;}
.sales-direction-body > span {font:400 14px/1.5 'Inter',sans-serif; color:#d2d2d2; flex:1;}
.sales-direction-body em {font:600 13px/1.4 'Inter',sans-serif; color:#f8b600; font-style:normal; padding-top:10px;display:flex;align-items:center; gap:8px;}
.quick-contact-bar {display:none;}
@media(max-width:1100px) {
  .sales-directions-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:600px) {
  .sales-directions {padding:35px 16px 40px;}
  .sales-directions-heading {margin-bottom:20px;}
  .sales-directions-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .sales-direction-card {padding:17px 13px 17px;gap:11px;border-radius:12px;}
  .sales-direction-icon {width:38px;height:38px;font-size:21px;border-radius:9px;}
  .sales-direction-body strong {font-size:20px;}
  .sales-direction-body > span {font-size:12px;line-height:1.45;}
  .sales-direction-body em {font-size:12px;}
}
@media(max-width:1199px) {
  body {padding-bottom: calc(78px + env(safe-area-inset-bottom, 0px));}
  .quick-contact-bar {
    display:grid;grid-template-columns:minmax(0,1fr) minmax(104px,.55fr);
    position:fixed; left:12px; right:12px; bottom:calc(10px + env(safe-area-inset-bottom, 0px));
    z-index:1100;gap:9px;padding:8px;border:1px solid rgba(248,182,0,.34);
    border-radius:16px;background:rgba(16,16,16,.96);box-shadow:0 10px 33px rgba(0,0,0,.52);
    transition:opacity .2s ease, transform .2s ease; backdrop-filter:blur(10px);
  }
  .quick-contact-bar.is-hidden, body.part-request-open .quick-contact-bar {
    opacity:0; pointer-events:none;transform:translateY(115%);
    visibility:hidden;
  }
  .quick-contact-primary,.quick-contact-secondary {
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    min-width:0; min-height:48px; border-radius:10px; padding:10px 11px;
    font:700 13px/1.2 'Inter',sans-serif; text-align:center;
    text-decoration:none!important;cursor:pointer;
  }
  .quick-contact-primary {border:1px solid #f8b600;background:#f8b600;color:#111!important;}
  .quick-contact-primary:hover {background:#ffcb41;color:#111!important;}
  .quick-contact-secondary {border:1px solid rgba(255,255,255,.35);background:#272727;color:#fff!important;}
  .quick-contact-secondary:hover {border-color:#f8b600;color:#f8b600!important;}
  .quick-contact-primary:focus-visible,.quick-contact-secondary:focus-visible {outline:2px solid #fff;outline-offset:2px;}
  .quick-contact-bar i {flex-shrink:0;font-size:17px;}
}
@media(max-width:359px) {
  .sales-directions-grid {grid-template-columns:1fr;}
  .quick-contact-bar {left:6px;right:6px;gap:5px;padding:6px;grid-template-columns:minmax(0,1fr) minmax(92px,.5fr);}
  .quick-contact-primary,.quick-contact-secondary {font-size:11px;padding:8px 6px;}
}
@media(prefers-reduced-motion:reduce) {
  .sales-direction-card,.quick-contact-bar {transition:none;}
}


/* F-Service | 24.10.2026: unified Hero heading sizes across inner pages.
   Appended only: earlier image paths, backgrounds, links and styles untouched. */
body[data-page] #hero#hero .page-title {
    font-size: clamp(29px, 2.5vw, 36px) !important;
}
@media (max-width: 760px) {
    body[data-page] #hero#hero .page-title {
        font-size: 27px !important;
    }
}

/* F-Service | 24.10.2026: единое выравнивание заголовков Hero.
   Только заголовки, без изменений картинок, ссылок, шрифтов и карточек. */
body[data-page] #hero#hero .page-title {
    display: block;
    width: 100%;
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    text-align: center !important;
}
