/*!
Theme Name: KyrgyzHighland
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: kyrgyzhighland
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

KyrgyzHighland is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */


  

:root {
  --primary-color: #fe9217;
  --dark-overlay: rgba(0, 0, 0, 0.4);
  --transition-speed: 0.3s;
  --text-dark: #141414;
  --text-muted: #6b7280;
  --bg-soft: #fffbee;
  --border-color: rgba(254, 108, 23, 0.12);
  --shadow-soft: 0 12px 35px rgba(77, 47, 13, 0.08);
  --header-height: 88px;
}

html {
  scroll-behavior: smooth;
  
}




@font-face {
    font-family: 'Gilroy';
    src: url('/wp-content/themes/kyrgyzhighland/fonts/Gilroy-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gilroy';
    src: url('/wp-content/themes/kyrgyzhighland/fonts/Gilroy-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gilroy';
    src: url('/wp-content/themes/kyrgyzhighland/fonts/Gilroy-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

body {
  font-family: "Gilroy", sans-serif;
  color: var(--text-dark);
  background: #fff;
  overflow-x: hidden;
}


img {
  max-width: 100%;
  display: block;
}

a {
  text-decoration: none;
  transition: var(--transition-speed);
}

.section {
  padding: 80px 0;
}

.section--soft {
  background: var(--bg-soft);
}

.section-title {
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.03em;
  margin-bottom: 12px;
}

.section-subtitle {
  max-width: 720px;
  color: var(--text-muted);
  font-size: 1rem;
  line-height: 1.8;
  margin: 0 auto;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(254, 181, 23, 0.1);
  color: var(--primary-color);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  margin-bottom: 14px;
}

.btn {
  border-radius: 14px;
  font-weight: 700;
  padding: 0.9rem 3.35rem;
  transition:
    transform var(--transition-speed),
    box-shadow var(--transition-speed),
    background var(--transition-speed),
    border-color var(--transition-speed);
}

.btn:hover {
  transform: translateY(-2px);
}

.btn-primary {
  background: var(--primary-color);
  border-color: var(--primary-color);
  box-shadow: 0 10px 25px -5px rgba(254, 146, 23, 0.3);
}

.btn-primary:hover,
.btn-primary:focus {
  background: #e58315 !important;
  border-color: #e58315 !important;
}

.btn-outline-primary {
  color: var(--primary-color);
  border-color: #e58315;
}

.text-primary{
  color:var(--primary-color) !important;
}

.btn-outline-primary:hover {
  background: var(--primary-color);
  border-color: var(--primary-color);
}

/* ВАЖНО: даем "воздух" */
.otherToursSwiper {
    padding: 20px 5px;
}



/* Карточка — тень */
.card-tours {
    border-radius: 18px;
  
    background: #fff;
    transition: 0.3s;
}

/* Обертка для картинки */
.card-media {
    border-radius: 18px 18px 0 0;
    overflow: hidden;
}

/* Картинка */
.tour-card-img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    display: block;
}

/* Hover */
.card-tours:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.12);
}

/* Плавный zoom */
.card-media img {
    transition: 0.5s;
}

.card-tours:hover .card-media img {
    transform: scale(1.05);
}

@media(min-width: 992px) {
   /* Разрешаем теням выходить за границы слайдера */
.swiper {
    overflow: visible !important;
}
}

/* Ограничиваем область видимости родителем, чтобы не было скролла страницы */
.slider-wrapper {
    overflow: hidden;
    /* Можно добавить небольшой технический отступ только здесь, 
       если тени очень жирные */
    padding: 20px 0; 
}


.card-tours,
.feature-card,
.location-card,
.review-card {
  border: 1px solid var(--border-color);
  border-radius: 24px;
  overflow: hidden;
  background: #fff;
  box-shadow: var(--shadow-soft);
  transition:
    transform var(--transition-speed),
    box-shadow var(--transition-speed);
}

.card-tours:hover,
.feature-card:hover,
.location-card:hover,
.review-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(13, 42, 77, 0.12);
}

/* logo */
.site-header .logo {
  width: 132px;
  padding: 10px;
  transition: opacity 0.3s ease;
}

.site-header .logo-dark {
  position: absolute;
  opacity: 0;
}

.site-header.scrolled .logo-light {
  opacity: 0;
}

.site-header.scrolled .logo-dark {
  opacity: 1;
}

/* Header */
.site-header {
  position: fixed;
  inset: 18px 0 auto 0;
  z-index: 1050;
  transition: all var(--transition-speed);
  pointer-events: none;
}

.site-header .header-inner {
  pointer-events: auto;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  backdrop-filter: blur(14px);
  border-radius: 22px;
  transition: all var(--transition-speed);
  padding: 3px 18px;
  box-shadow: none;
}

.site-header.scrolled .header-inner {
  background: rgba(255, 255, 255, 0.96);
  border-color: rgba(17, 24, 39, 0.06);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}

.navbar-brand {
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #fff;
}

.site-header.scrolled .navbar-brand,
.site-header.scrolled .nav-link,
.site-header.scrolled .header-contact {
  color: var(--text-dark) !important;
}

.nav-link {
  font-weight: 600;
  color: rgba(255, 255, 255, 0.92);
  padding: 0.5rem 0.9rem !important;
}

.nav-link:hover,
.header-contact:hover {
  color: var(--primary-color) !important;
}

.header-contact {
  color: rgba(255, 255, 255, 0.95);
  font-weight: 700;
  gap: 8px;
}

.navbar-toggler {
  border: 0;
  box-shadow: none !important;
}

.navbar-toggler-icon {
  filter: brightness(1000%);
}

.site-header.scrolled .navbar-toggler-icon {
  filter: none;
}

/* Hero */
.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  color: #fff;
  overflow: hidden;
}

.hero .swiper {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero .swiper-slide {
  position: relative;
  background-size: cover;
  background-position: center;
}

.hero .swiper-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(10, 20, 35, 0.75) 0%,
      rgba(10, 20, 35, 0.35) 55%,
      rgba(10, 20, 35, 0.18) 100%
    ),
    var(--dark-overlay);
}

.hero-content {
  position: relative;
  z-index: 2;
  padding-top: calc(var(--header-height) + 40px);
  padding-bottom: 100px;
}

.hero h1 {
  font-size: clamp(2.8rem, 6vw, 5.7rem);
  font-weight: 800;
  line-height: 0.98;
  letter-spacing: -0.04em;
  max-width: 13ch;
  margin-bottom: 18px;
}

.hero p {
  max-width: 640px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 1.05rem;
  line-height: 1.85;
  margin-bottom: 28px;
}

.hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.hero-badges span {
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(12px);
  border-radius: 999px;
  padding: 10px 14px;
  font-size: 0.9rem;
  font-weight: 600;
}

.swiper-button-next,
.swiper-button-prev {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(10px);
  color: #fff;
  transition:
    transform var(--transition-speed),
    background var(--transition-speed);
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
  background: rgba(255, 255, 255, 0.24);
  transform: scale(1.06);
}

.swiper-button-next::after,
.swiper-button-prev::after {
  font-size: 1.05rem;
  font-weight: 800;
}

.hero .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  opacity: 1;
  background: rgba(255, 255, 255, 0.35);
}

.hero .swiper-pagination-bullet-active {
  background: #fff;
}

/* Cards */
.tour-card-img,
.location-card-img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  font-size: 0.85rem;
  color: var(--text-muted);
  margin-bottom: 12px;
}

.pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(254, 192, 23, 0.08);
  color: var(--primary-color);
  font-weight: 700;
  font-size: 0.84rem;
}

.feature-card {
  padding: 28px;
  height: 100%;
}

.feature-icon {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: rgba(254, 192, 23, 0.1);
  color: var(--primary-color);
  font-size: 1.35rem;
  margin-bottom: 18px;
}

.cta-block {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  background: linear-gradient(135deg, var(--primary-color) 0%, #d09c0b 100%);
  color: #fff;
  padding: 42px;
  box-shadow: 0 20px 45px rgba(254, 192, 23, 0.25);
}

.cta-block::after {
  content: "";
  position: absolute;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  right: -60px;
  top: -80px;
  background: rgba(255, 255, 255, 0.12);
}

.cta-block p {
  color: rgba(255, 255, 255, 0.9);
}

.philosophy-box {
  border-radius: 30px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  border: 1px solid var(--border-color);
  padding: 36px;
  box-shadow: var(--shadow-soft);
}

.team-photo {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 28px;
  box-shadow: var(--shadow-soft);
}

.trust-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.trust-list li {
  display: flex;
  gap: 12px;
  margin-bottom: 14px;
  color: var(--text-dark);
  line-height: 1.6;
}

.trust-list i {
  color: var(--primary-color);
  margin-top: 4px;
}

.review-card {
  padding: 30px;
  height: auto;
}

.quote-mark {
  font-size: 2.2rem;
  color: rgba(23, 129, 254, 0.18);
  line-height: 1;
  margin-bottom: 10px;
}

.footer {
  background: linear-gradient(135deg, #1c140d 0%, #2a1b10 40%, #1a120b 100%);
  color: rgba(255, 255, 255, 0.82);
  padding: 70px 0 24px;
}

.footer a {
  color: rgba(255, 255, 255, 0.82);
}

.footer a:hover {
  color: #fff;
}

.social-links a {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: inline-grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.08);
  margin-right: 10px;
  transition:
    transform var(--transition-speed),
    background var(--transition-speed);
}

.social-links a:hover {
  background: var(--primary-color);
  transform: translateY(-2px);
}

.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  height: 4px;
  background: rgba(23, 129, 254, 0.08);
}

.swiper-scrollbar-drag {
  background: var(--primary-color);
}

.section-actions {
  margin-top: 30px;
}

@media (max-width: 991.98px) {
  .site-header {
    inset: 12px 0 auto 0;
  }

  .site-header .header-inner {
    border-radius: 18px;
    padding: 3px 14px;
  }

  .navbar-collapse {
    background: #fff;
    border-radius: 18px;
    margin-top: 14px;
    padding: 14px;
    box-shadow: var(--shadow-soft);
  }

  .nav-link,
  .header-contact {
    color: var(--text-dark) !important;
  }

  .hero-content {
    padding-top: calc(var(--header-height) + 90px);
  }

  .hero h1 {
    max-width: none;
  }

  .cta-block {
    padding: 28px;
  }
}

@media (max-width: 575.98px) {
  .section {
    padding: 64px 0;
  }

  .hero {
    min-height: 92vh;
  }

  .hero p {
    font-size: 0.98rem;
  }

  .feature-card,
  .review-card,
  .philosophy-box {
    padding: 22px;
  }

  .cta-block {
    padding: 24px;
  }
}



.location-card {
    position: relative;
    height: 340px;
    border-radius: 24px;
    overflow: hidden;
    cursor: pointer;
}

/* изображение */
.location-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

/* градиент */
.location-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(0,0,0,0.85) 0%,
        rgba(0,0,0,0.5) 40%,
        rgba(0,0,0,0.1) 70%
    );
}

/* контент снизу */
.location-content {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 20px;
    color: #fff;

  
}

/* блюр слой */
.location-blur {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 45%;

    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);

    /* ВАЖНО — плавное затухание */
    mask-image: linear-gradient(to top, rgba(0,0,0,1), rgba(0,0,0,0));
    -webkit-mask-image: linear-gradient(to top, rgba(0,0,0,1), rgba(0,0,0,0));

    pointer-events: none;
}

.destinations-slider {
   
    padding: 20px 5px 40px;
}

@media(min-width: 992px) {
    .destinations-slider {
        overflow: visible;
    }

    .destinations-slider .swiper-wrapper {
    overflow: visible;
}
}


@media(max-width: 991.98px) {
  .hero .swiper-button-next,
  .hero .swiper-button-prev {
    display: none;}
}


.destinations-slider .swiper-slide {
    height: auto;
}

/* тип */
.location-type {
    display: inline-block;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: rgba(255,255,255,0.15);
    padding: 5px 12px;
    border-radius: 999px;
    margin-bottom: 10px;
}

/* заголовок */
.location-title {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 600;
}

/* hover эффект */
.location-card:hover img {
    transform: scale(1.1);
}


/* карточка */
.team-card {
    padding: 20px;
}

/* аватар */
.team-avatar {
    width: 120px;
    height: 120px;
    margin: 0 auto 15px;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}

.team-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* имя */
.team-name {
    font-weight: 700;
    margin-bottom: 4px;
}

/* роль */
.team-role {
    font-size: 0.85rem;
    color: #888;
}

/* центр */
.team-about {
    font-size: 0.95rem;
    color: #444;
    line-height: 1.6;
    max-width: 420px;
    margin: 0 auto;
}

/* адаптив */
@media (max-width: 991px) {
    .team-avatar {
        width: 100px;
        height: 100px;
    }

    .team-about {
        margin: 20px auto;
    }
}

/* Контейнер аккордеона */
#faqAccordion {
    --bs-accordion-border-color: #eee;
    --bs-accordion-btn-focus-box-shadow: none; /* Убираем синюю обводку */
    --bs-accordion-active-color: #FE9217;      /* Цвет текста при открытии */
    --bs-accordion-active-bg: #fff;            /* Фон при открытии (делаем белым) */
}

.accordion-item {
    border: 1px solid #eee !important;
    border-radius: 12px !important; /* Скругляем углы */
    margin-bottom: 15px;
    overflow: hidden;
    transition: all 0.3s ease;
    background: #fff;
}

/* Эффект при наведении и открытии */
.accordion-item:hover {
    border-color: #ddd !important;
}

.accordion-item:has(.show) {
    border-color: #FE9217 !important; /* Оранжевая рамка у открытого */
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

/* Кнопка (заголовок) */
.accordion-button {
    padding: 20px 25px;
    font-weight: 600;
    font-size: 1.1rem;
    color: #1a1a1a;
    box-shadow: none !important;
}

/* Когда аккордеон закрыт */
.accordion-button.collapsed {
    background: #fff;
    color: #1a1a1a;
}

/* Когда аккордеон открыт */
.accordion-button:not(.collapsed) {
    background: #fff;
    color: #FE9217;
}

/* Иконка стрелочки */
.accordion-button::after {
    background-size: 1rem;
    transition: transform 0.3s ease;
}

/* Меняем цвет иконки на оранжевый через фильтр (если это стандартная иконка) */
.accordion-button:not(.collapsed)::after {
    filter: sepia(100%) hue-rotate(10deg) saturate(500%);
}

/* Тело аккордеона */
.accordion-body {
    padding: 0 25px 25px 25px;
    color: #444;
    line-height: 1.7;
    font-size: 1rem;
}


.floating-social {
  position: fixed;
  left: 20px;
  bottom: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 9999;
}

.floating-social a {
  width: 45px;
  height: 45px;
  background: #FE9217;
  border: 1px solid #c56f0d;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  transition: 0.3s;
}

.floating-social a:hover {
  background: #FE9217;
  transform: translateY(-3px);
}


.back-to-top {
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 45px;
  height: 45px;
  background: #FE9217;
  border: none;
  border-radius: 100px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
  z-index: 9999;
}

.back-to-top.show {
  opacity: 1;
  visibility: visible;
}

.back-to-top:hover {
  transform: translateY(-3px);
}

.kh-gallery img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  border-radius: 16px;
  transition: 0.4s;
}

.kh-gallery a:hover img {
  transform: scale(1.05);
}