/* кастомные стили поверх Bootstrap */
:root {
    --brand-orange: #a6d55a;
    --brand-dark: #1f2d3d;
    --brand-gray: #4a5b6e;
}
.text-secondary {
    --bs-text-opacity: 1;
    color: rgb(0 0 0) !important;
}
body {
    font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    color: var(--brand-dark);
}

/* подключение шрифта Inter */
@import url('https://fonts.googleapis.com/css2?family=Archivo+Narrow:ital,wght@0,400..700;1,400..700&family=Archivo:ital,wght@0,100..900;1,100..900&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

.archivo-narrow {
  font-family: "Archivo Narrow", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}

.montserrat {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}

.archivo {
  font-family: "Archivo", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

.inter {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}

.container-fluid {
  padding-left:0px;
  padding-right: 0px;
}

.sp-megamenu-parent>li>a {
    font-weight: 600;
    font-size: 16px;
}

.sp-megamenu-parent>li:hover>a {
    color: #a6d55a!important;
}

.bg-orange-light {
    background-color: rgba(241, 90, 36, 0.08);
}

.bg-grey {
    background-color: #f2f2f2;
}

.btn-primary, .sppb-btn-primary {
    border-color: transparent!important;
}

.text-brand {
    color: var(--brand-orange);
}

.header-phone {
  background: #a6d55a;
  color: #fff!important;
  padding: 5px 15px!important;
  border-radius: 50px;
  transition: all 0.2s;
  line-height: 30px!important;
  box-shadow: 0 8px 20px rgba(241, 90, 36, 0.2);
}

.header-phone:hover {
  box-shadow: 0 12px 24px rgba(241, 90, 36, 0.3);
  color:#fff;
}

.lead.text-secondary {
  font-weight: 500;
  color: #000 !important;
}

.btn-brand {
    background-color: var(--brand-orange);
    color: white;
    border-radius: 48px;
    padding: 12px 32px;
    font-weight: 700;
    transition: all 0.2s;
    box-shadow: 0 8px 20px rgba(241, 90, 36, 0.2);
}
.btn-brand:hover {
    background-color: #87ae47;
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(241, 90, 36, 0.3);
}
.btn-outline-brand {
    border: 1px solid var(--brand-orange);
    color: var(--brand-orange);
    border-radius: 48px;
    padding: 10px 24px;
    font-weight: 600;
    transition: all 0.2s;
}
.btn-outline-brand:hover {
    background-color: var(--brand-orange);
    color: white;
}

.accordion-button:not(.collapsed) {
  color: #a6d55a;
}

.accordion-button:not(.collapsed) {
    box-shadow: inset 0 calc(-1 * var(--brand-orange)) 0 var(--brand-orange);
}

.hero-section {
    background: linear-gradient(135deg, #fff 0%, #fef6f2 100%);
    padding: 60px 0 80px;
}

.main-slide__wrapper {
  /* From https://css.glass */
  background: rgba(255, 255, 255, 0.2);
  border-radius: 16px;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  padding: 30px 15px;
}

.feature-icon-custom {
    background: rgba(241, 90, 36, 0.1);
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 1.2rem;
    color: var(--brand-orange);
}

.container-box {
    border-radius: 32px;
    overflow: hidden;
    box-shadow: 0 20px 35px -10px rgba(0,0,0,0.08);
    background: #f1f3f6;
}

.badge-brand {
    background-color: rgba(241, 90, 36, 0.12);
    color: var(--brand-orange);
    padding: 6px 16px;
    border-radius: 40px;
    font-weight: 600;
    font-size: 0.85rem;
}

.nav-link-custom {
    font-weight: 500;
    color: var(--brand-dark);
    transition: color 0.2s;
}
.nav-link-custom:hover {
    color: var(--brand-orange);
}

/* адаптивные корректировки */
@media (max-width: 768px) {
    .hero-section {
        padding: 40px 0 60px;
    }
    .hero-title {
        font-size: 2rem;
    }
}

.transition-hover {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.transition-hover:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 30px -12px rgba(0,0,0,0.1) !important;
}
.badge-brand {
    background-color: #a6d55a;
    color: #ffffff;
    padding: 6px 16px;
    border-radius: 40px;
    font-weight: 600;
    font-size: 0.85rem;
}
.text-brand {
    color: #a6d55a !important;
}
.feature-icon-custom {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.bg-brand {
    background-color: #a6d55a !important;
}
.border-brand {
    border-color: #a6d55a !important;
}

@media (max-width: 576px) {
    .messenger-buttons { margin: 0.5rem; }
    .messenger-buttons .btn { width: 48px !important; height: 48px !important; }
}

#sp-main-body {
    padding: 0!important;
}

#hero {
  background-position: center;;
  background-size: cover;
  background-repeat: no-repeat;
}

.sp-megamenu-parent>li:hover>a.header-phone {
    color: #fff !important;
}

/* Тёмная секция: основной текст белый */
.bg-gradient-early,
section[id="service"] {
    color: #ffffff;
}

/* Второстепенный текст и подзаголовки */
.bg-gradient-early .text-secondary,
section[id="service"] .text-secondary,
.bg-gradient-early p:not(.text-white),
section[id="service"] p:not(.text-white) {
    color: rgba(255, 255, 255, 0.8) !important;
}

/* Заголовки всех уровней */
.bg-gradient-early h1, .bg-gradient-early h2, .bg-gradient-early h3,
.bg-gradient-early h4, .bg-gradient-early h5, .bg-gradient-early .h1,
.bg-gradient-early .h2, .bg-gradient-early .h3, .bg-gradient-early .h4,
.bg-gradient-early .h5,
section[id="service"] h1, section[id="service"] h2, section[id="service"] h3,
section[id="service"] h4, section[id="service"] h5 {
    color: #ffffff;
}

/* Бейджи (оранжевые/прозрачные) */
.bg-gradient-early .badge-brand,
section[id="service"] .badge-brand {
    background: rgba(255, 255, 255, 0.15);
    color: #ffffff;
}

/* Карточки внутри секции (если есть) */
.bg-gradient-early .card,
section[id="service"] .card {
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #ffffff;
}

/* Контрастные кнопки-обводки */
.bg-gradient-early .btn-outline-brand,
section[id="service"] .btn-outline-brand {
    border-color: #ffffff;
    color: #ffffff;
}
.bg-gradient-early .btn-outline-brand:hover,
section[id="service"] .btn-outline-brand:hover {
    background-color: #ffffff;
    color: #1f2d3d;
}

/* Иконки в карточках/преимуществах */
.bg-gradient-early .feature-icon-custom,
section[id="service"] .feature-icon-custom {
    background: rgba(255, 255, 255, 0.2);
    color: #ffffff;
}

/* Иконки в тёмной секции — белые */
.bg-gradient-early .feature-icon-custom i,
section[id="service"] .feature-icon-custom i {
    color: #ffffff !important;
}

/* Если используете обычные иконки Bootstrap без обёртки .feature-icon-custom */
.bg-gradient-early i:not(.text-brand):not(.bi-star-fill),
section[id="service"] i:not(.text-brand):not(.bi-star-fill) {
    color: #ffffff;
}

/* А для звёздочек в отзывах (если они там появятся) оставить оранжевыми */
.bg-gradient-early .bi-star-fill,
section[id="service"] .bi-star-fill {
    color: #a6d55a !important;
}

/* Все карточки с классом transition-hover */
.transition-hover {
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.2s ease;
}

.transition-hover:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 30px -12px rgba(0, 0, 0, 0.15) !important;
}

/* Для карточек внутри тёмной секции – дополнительно светлый фон при наведении */
.bg-gradient-early .card:hover,
section[id="service"] .card:hover {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.3);
}

.feature-icon-custom {
    transition: transform 0.25s ease, background-color 0.25s ease;
}

.card:hover .feature-icon-custom,
.transition-hover:hover .feature-icon-custom {
    transform: scale(1.08);
    background-color: rgba(241, 90, 36, 0.2);
}

/* Для тёмной секции иконки при наведении */
.bg-gradient-early .card:hover .feature-icon-custom i,
section[id="service"] .card:hover .feature-icon-custom i {
    color: #ffb085 !important;
    transform: scale(1.05);
}

.btn-brand, .btn-outline-brand {
    transition: all 0.25s ease;
    position: relative;
    overflow: hidden;
}

.btn-brand:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(241, 90, 36, 0.3);
}

.btn-outline-brand:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 16px rgba(241, 90, 36, 0.2);
}

/* Эффект "волны" при клике (опционально) */
.btn-brand:active, .btn-outline-brand:active {
    transform: translateY(1px);
    transition: 0.05s;
}

section {
    animation: fadeInUp 0.6s ease-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Форма в секции booking: делаем текст чёрным */
#booking .card.bg-white,
#booking .card.bg-white * {
    color: #212529 !important;
}

/* Особо явно для заголовка и лейблов */
#booking .card.bg-white h4,
#booking .card.bg-white .form-label,
#booking .card.bg-white label {
    color: #212529 !important;
}

/* Кнопка должна остаться с белым текстом */
#booking .card.bg-white .btn-brand {
    color: #ffffff !important;
}

/* Тёмная секция «Как арендовать» */
#arenda {
    color: #ffffff;
}
/* Элементы с белым/светлым текстом */
#arenda .badge-brand,
#arenda .lead,
#arenda h2 {
    color: #ffffff !important;
}
#arenda .badge-brand {
    background: rgba(255, 255, 255, 0.15);
    color: #ffffff !important;
}
#arenda .text-secondary {
    color: rgba(255, 255, 255, 0.75) !important;
}
/* Карточки — белый фон, тёмный текст */
#arenda .card {
    background: #ffffff !important;
    color: #212529 !important;
    border: none;
    box-shadow: 0 8px 20px rgba(0,0,0,0.2);
}
#arenda .card .text-secondary {
    color: #6c757d !important;
}
#arenda .card h4,
#arenda .card .fw-bold {
    color: #1f2d3d !important;
}
/* Иконки в карточках (оранжевые) */
#arenda .feature-icon-custom {
    background: rgba(241, 90, 36, 0.12) !important;
}
#arenda .feature-icon-custom i {
    color: #a6d55a !important;
}
/* Кнопка внутри секции — стандартная оранжевая */
#arenda .btn-brand {
    background-color: #a6d55a;
    color: #fff;
}
#arenda .btn-brand:hover {
    background-color: #87ae47;
    transform: translateY(-2px);
}

/* Поля ввода и селекты – чёрный текст на белом фоне */
#booking .card.bg-white .form-control,
#booking .card.bg-white .form-select {
    color: #212529;
    background-color: #fff;
    border: 1px solid #ced4da;
}

/* Чекбокс – оранжевый акцент */
#booking .card.bg-white .form-check-input:checked {
    background-color: #a6d55a;
    border-color: #a6d55a;
}

/* Только для модальных окон с политиками – центрирование по вертикали */
#privacyModal,
#cookieModal {
    text-align: center;
    padding: 0 !important;
}
#privacyModal:before,
#cookieModal:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    margin-right: -4px;
}
#privacyModal .modal-dialog,
#cookieModal .modal-dialog {
    display: inline-block;
    text-align: left;
    vertical-align: middle;
    top: 50px;
}

/* Убираем возможное вмешательство глобальных стилей (если есть) */
#privacyModal .modal-content,
#cookieModal .modal-content {
    border-radius: 1rem;
}

/* Оранжевая шапка только в этих модалках */
#privacyModal .modal-header.bg-brand,
#cookieModal .modal-header.bg-brand {
    background-color: #a6d55a !important;
}
#privacyModal .btn-close-white,
#cookieModal .btn-close-white {
    filter: brightness(0) invert(1);
}

footer p,
footer a.text-white-50,
footer i,
footer li {
  color: #fff!important;
}

#reviews img {
  border-radius: 50%;
}

#sp-header .logo {
    outline-color: transparent;
}
