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: center;
    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.png') center/cover no-repeat;
    border: 1px solid rgba(255, 182, 0, 0.25);
    padding: 25px 30px;
    border-radius: 14px;
    font-size: 52px;    
    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: 18px;
    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.png') center / cover no-repeat;
}

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

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

.rent-card.t {
    background: url('../img/Hitachi-rent.png') 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:120px;
}

/* ====================== ЛЕВАЯ КОЛОНКА ФУТЕРА — КОМПАКТНО И РАВНОМЕРНО ====================== */
.footer-grid > div:first-child {
    display: flex;
    flex-direction: column;
    align-items: center;
    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: auto !important;   /* прижимает иконки вниз, но не слишком далеко */
    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:220px 40px 100px;
    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;
        text-align: center !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;
        text-align: center !important;
    }

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

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

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

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

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

@media (max-width: 700px) {

    .catalog-page {
        padding-left: 16px;
        padding-right: 16px;
    }

    .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: center;
        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: center;
        gap: 14px;
        text-align: center;
    }

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

    .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;
    }
}
