/* ============================================================
   1Alco — современный скин поверх существующей вёрстки темы.
   Не меняет HTML-структуру, ACF-поля, JS-хуки (модалка, аккордеон,
   слайдер отзывов, мобильное меню) — только переопределяет визуал.
   ============================================================ */

:root {
    --c-green: #23bd7a;
    --c-green-deep: #0f6e56;
    --c-green-pale: #e7f6ef;
    --c-ink: #1c1e22;
    --c-slate: #34363d;
    --c-slate-2: #2a2c32;
    --c-paper: #f7f6f2;
    --c-paper-2: #efece3;
    --c-line: #e4e1d8;
    --c-muted: #75786f;
}

body, html {
    font-family: 'Inter', sans-serif;
    background-color: var(--c-paper);
    color: var(--c-ink);
}
h1, h2, h3, h4, h5, .ui-section__title, .header__nav__link, .footer__logo,
.about-inst__title, .about-license__title, .about-staff__title, .c-offers__item__title,
.c-advantage__title, .h-adventures__list__item, .articles__item__title, .blog-item__title {
    font-family: 'Montserrat', sans-serif;
}

a { transition: color .2s ease; }

/* ===== section title ===== */
.ui-section__title.highlight {
    font-weight: 800;
    color: var(--c-ink);
    padding-top: 0;
}
.ui-section__title.highlight:before {
    display: none;
}
.ui-section__title.highlight span,
.ui-section__title.highlight { position: relative; }
.ui-section__title.highlight:after {
    content: "";
    display: block;
    width: 56px;
    height: 4px;
    background: var(--c-green);
    border-radius: 2px;
    margin-top: 14px;
}

/* ===== buttons ===== */
.ui-button {
    border-radius: 8px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
    transition: background .2s ease, transform .15s ease, border-color .2s ease;
}
.ui-button--primary {
    background: var(--c-green);
    border-color: var(--c-green);
}
.ui-button--primary:hover, .ui-button--primary:focus, .ui-button--primary:active {
    background: var(--c-green-deep) !important;
    border-color: var(--c-green-deep) !important;
}
.ui-button:active { transform: scale(.98); }

/* ===== top bar ===== */
.header-top {
    background: var(--c-slate-2);
    height: 38px;
    font-family: 'Inter', sans-serif;
}
.header-top a { font-weight: 500; }
.header-top a:hover { color: var(--c-green); }

/* ===== header ===== */
.header { background: var(--c-slate); }
.header__logo__link img { height: 26px; width: auto; }
.header__nav__link {
    text-transform: none;
    font-weight: 600;
    font-size: 13px;
}
.header__nav__link:hover, .header__nav__link.active { color: var(--c-green); }
.header__nav__link.active:before { background: var(--c-green); }
.header__phone a { font-weight: 700; text-transform: none; }
.header__menu-toggle.opened { background-color: rgba(35,189,122,.15); }
.header__menu-toggle.opened > div:first-child,
.header__menu-toggle.opened > div:nth-child(3) { background-color: var(--c-green); }

/* ===== hero / main-banner ===== */
.main-banner {
    background-color: var(--c-slate) !important;
    background-image: none !important;
    position: relative;
    padding: 96px 0 90px !important;
    overflow: hidden;
}
.main-banner:after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 24px;
    height: 40px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 460 40' preserveAspectRatio='none'%3E%3Cpath d='M0 20 H150 L165 4 L182 36 L198 20 H460' fill='none' stroke='%2323bd7a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 320px 40px;
    opacity: .8;
}
.main-banner__title {
    font-weight: 800;
    text-transform: none;
    font-size: 38px;
    max-width: 680px;
}
.main-banner__title .accent { color: var(--c-green); }
.main-banner__button {
    border-radius: 8px;
    background: var(--c-green);
    border-color: var(--c-green);
    text-transform: none;
    font-weight: 700;
}
.main-banner__button:hover {
    background: var(--c-green-deep);
    border-color: var(--c-green-deep);
    color: #fff;
}

/* ===== services grid ===== */
.h-services { margin-bottom: 80px; }
.h-services__item {
    background: #fff;
    border: 1px solid var(--c-line);
    border-radius: 14px;
    overflow: hidden;
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.h-services__item:hover {
    border-color: var(--c-green);
    transform: translateY(-3px);
    box-shadow: 0 16px 32px rgba(28,30,34,.08);
}
.h-services__item__cover img { filter: none !important; }
.h-services__item__cover:before { background: var(--c-slate); }
.h-services__item__title {
    text-transform: none;
    font-weight: 700;
    color: var(--c-ink);
    padding: 18px 16px;
}

/* ===== advantages list ===== */
.h-adventures__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px 20px;
}
.h-adventures__list__item {
    background: #fff;
    border: 1px solid var(--c-line);
    border-radius: 14px;
    padding: 28px 20px;
    text-align: left;
    font-weight: 700;
    font-size: 15px;
}
.h-adventures__list__item__icon {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: var(--c-green-pale);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}
.h-adventures__list__item__icon img { max-height: 26px; width: auto; }

/* ===== about ===== */
.h-about { background: var(--c-paper-2); padding: 80px 0; border-radius: 0; }
.h-about__img img {
    border-radius: 16px;
    box-shadow: none !important;
}
.h-about__text { font-family: 'Inter', sans-serif; color: var(--c-muted); font-size: 15px; }
.accordion-item { background: #fff; border: 1px solid var(--c-line); border-radius: 12px !important; }
.accordion-button { font-weight: 700; color: var(--c-ink); }
.accordion-button:not(.collapsed) { color: var(--c-green-deep); }

/* ===== steps text sections ===== */
.h-steps { padding: 70px 0; }
.h-steps .ui-text { font-family: 'Inter', sans-serif; color: var(--c-muted); }
.h-steps .ui-text ul li::marker { color: var(--c-green); }

/* ===== articles ===== */
.articles__item__title a { font-weight: 700; }
.articles__item__title a:hover { color: var(--c-green-deep); }
.articles__item__more { text-transform: none; font-weight: 700; color: var(--c-green-deep); }
.articles__item__more:before { background: var(--c-green); }

/* ===== reviews ===== */
.h-reviews { background: var(--c-paper-2); padding: 80px 0; }
.review-item__body {
    background: #fff;
    border: 1px solid var(--c-line);
    border-radius: 14px;
    padding: 28px;
    max-width: 460px;
}
.review-item__text { font-family: 'Inter', sans-serif; text-align: left; color: var(--c-ink); }
.review-item__position { text-align: left; }
.review-item__years { text-align: left; }
.h-reviews__nav--prev, .h-reviews__nav--next { background-color: var(--c-slate); border-radius: 50%; }
.swiper-pagination-bullet-active { background: var(--c-green); border-color: var(--c-green); }

/* ===== CTA form band (main / decor) ===== */
.f-main { background: var(--c-green) !important; background-image: none !important; }
.f-main--decor1, .f-main--price { background-image: none !important; background-color: var(--c-slate) !important; }
.f-main .ui-button { background: #fff !important; color: var(--c-green-deep) !important; border-color: #fff !important; }
.f-main .ui-button:hover { background: var(--c-paper) !important; }

/* ===== footer ===== */
.footer { background: var(--c-slate-2) !important; }
.footer, .footer__links a, .footer__logo__text, .footer__contacts a { color: #b9bbb5; }
.footer__logo img { height: 22px; width: auto; }
.footer__links a:hover { color: var(--c-green); }
.footer__contacts__phone { color: #fff !important; font-weight: 700; }

/* ===== map ===== */
.h-map { border-top: 1px solid var(--c-line); }

/* ===== modal (booking form) ===== */
.modal-content { border-radius: 16px; }
.modal-header { border-bottom: 1px solid var(--c-line); }
.f-control:focus { border-color: var(--c-green); box-shadow: 0 0 0 .2rem rgba(35,189,122,.15); }

/* ===== contacts page ===== */
.contacts__info { background: var(--c-slate) !important; border-radius: 16px; }
.contacts__info__item__name { color: var(--c-green); text-transform: none; font-weight: 700; }
.contacts__map { border-color: var(--c-slate) !important; border-radius: 16px; overflow: hidden; }

/* ===== sidebar (blog / service single pages) ===== */
.sidebar__nav a {
    font-family: 'Inter', sans-serif;
    border-radius: 10px;
    margin-bottom: 4px;
    font-weight: 600;
}
.sidebar__nav a.active, .sidebar__nav a:hover {
    background: var(--c-green) !important;
    color: #fff !important;
}
.sidebar__banner img { border-radius: 14px; }

/* ===== article / single post & service page ===== */
.article__title { font-weight: 800; }
.article__preview__image { border-radius: 14px; }
.text { font-family: 'Inter', sans-serif; }
.text h2, .text h3 { font-weight: 800; }
.text a { color: var(--c-green-deep); }
.text ul li::marker { color: var(--c-green); }

/* ===== reviews archive page ===== */
.reviews-list .review-item { max-width: 460px; margin-left: auto; margin-right: auto; }

/* ===== 404 ===== */
.error-404 { padding: 100px 24px; text-align: center; font-family: 'Inter', sans-serif; max-width: 640px; margin: 0 auto; }
.error-404 .page-title { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 28px; color: var(--c-ink); }
.error-404 a { color: var(--c-green-deep); }

/* ===== legacy page.php title banner (privacy-policy etc.) ===== */
.header_h1 {
    background-color: var(--c-slate) !important;
    background-image: none !important;
    padding: 56px 0;
    margin-bottom: 40px;
}
.header_h1 h1 { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 28px; margin: 0; }
.header_h1 h1.text_wh, .text_wh { color: #fff !important; }
.container-fluid.section { padding-bottom: 60px; }
.green { color: var(--c-green-deep) !important; font-family: 'Montserrat', sans-serif; font-weight: 700; }

/* ===== responsive tweaks ===== */
@media (max-width: 991px) {
    .h-adventures__list { grid-template-columns: repeat(2, 1fr); }
    .main-banner__title { font-size: 28px; }
}
@media (max-width: 575px) {
    .h-adventures__list { grid-template-columns: 1fr; }
}
