/* Чуть крупнее текст на мобилках */
@media (max-width: 768px) {
    body {
        font-size: 17px;
        line-height: 1.6;
    }
}UI", sans-serif;
}

/* Гарантированное преобразование H1 в заглавные буквы */
h1 {
    text-transform: uppercase !important;
    font-size: 2.6rem;
    font-weight: 700;
    line-height: 1.2;
}

h1.main-page-h1 {
    text-transform: uppercase !important;
    font-size: 2.9rem;
    font-weight: 700;
}

/* для текста слайдера не мобилах */
@media (max-width: 767px) {
  .slider-caption,
  .nivo-caption,
  .main-slider .caption {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}

/* Размер заголовка в слайдере на всех устройствах */
.slider-caption .caption-title {
  font-size: 36px !important;   /* подбери размер */
  line-height: 1.2 !important;
}

/* Если нужно ещё сильнее уменьшить только на мобиле */
@media (max-width: 767px) {
  .slider-caption .caption-title {
    font-size: 26px !important;
  }
}

/* 1. Невидимый, но доступный H1/H2/H3 */
.screen-reader-only-text {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    width: 1px;
    overflow: hidden;
    word-wrap: normal !important;
    padding: 0;
    border: 0;
    margin: 0;
}

/* херня с таблицами */
table, th, td {
  word-break: break-word;
  overflow-wrap: break-word;
}

.faq-content, .entry-content, .main-content {
  overflow-x: auto;
  box-sizing: border-box;
}

table {
  width: 100%;
  max-width: 100%;
  margin: 0;
  border-collapse: collapse;
}

.faq-content, .entry-content, .main-content, .container {
  padding: 10px 0;
  margin: 0 auto;
  width: 100%;
  max-width: 900px;
  box-sizing: border-box;
}

@media (max-width: 600px) {
  .faq-content, .entry-content, .main-content, .container {
    max-width: 100vw;
    padding: 5px;
  }
  table {
    font-size: 14px;
  }
}

/* Скрыть H2 «МАЛАЙЗИЯ ТУРИЗМ» в нижнем блоке */
body.home .widget-area h2,
body.home #secondary h2,
body.home .sidebar h2 {
    display: none;
}

/* Скрыть нижний H2 «МАЛАЙЗИЯ ТУРИЗМ» над футером на главной */
/* Вариант без display:none – полоса схлопывается */
body.home section.parallax-section .mid-content {
    margin: 0;
    padding: 0;
    border: none;
    height: 0;
    overflow: hidden;
    background: transparent;
}

/* Сам H2 – только для скринридеров */
body.home section.parallax-section .mid-content h2 {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    width: 1px;
    overflow: hidden;
    padding: 0;
    border: 0;
    margin: 0;
}

body.home section.parallax-section.default_template#section-204 {
    margin: 0;
    padding: 0;
    border: none;
    height: 0;
    overflow: hidden;
    background: transparent;
}

/* ТАБЛИЦА */
.hot-tours-table {
    width: 100%;
    border-collapse: collapse;
}

.hot-tours-table th,
.hot-tours-table td {
    padding: 8px 10px;
    vertical-align: top;
}

/* Ширины колонок */
.hot-tours-table th:nth-child(1),
.hot-tours-table td:nth-child(1) {
    width: 25%;
}

.hot-tours-table th:nth-child(2),
.hot-tours-table td:nth-child(2) {
    width: 50%;
}

.hot-tours-table th:nth-child(3),
.hot-tours-table td:nth-child(3) {
    width: 25%;
}

/* Опционально: базовое оформление */
.hot-tours-table thead th {
    font-weight: 600;
    border-bottom: 1px solid #ddd;
}

.hot-tours-table tbody tr:nth-child(odd) {
    background-color: #f8f8f8;
}

/* Широкий экран в постах на мобилах */
/* --- Исправление сжатия основного контента responsive.css на мобиле --- */
@media (max-width: 900px) {

/* Основная колонка контента: растянуть на 100% доступной ширины */
  #primary,
  .content-area,
  .site-main,
  .entry-content {
      width: 100% !important;
      max-width: 100% !important;
      float: none !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      padding-left: 10px !important;
      padding-right: 10px !important;
      box-sizing: border-box;
  }

/* Если responsive.css даёт какие-то фиксированные проценты или max-width — перебьём */
  #primary[class*="col-"],
  .content-area[class*="col-"] {
      width: 100% !important;
      max-width: 100% !important;
  }

/* Колонки Beaver Builder внутри поста — на всю ширину этого контейнера */
  body.single .fl-row,
  body.single .fl-row-content,
  body.single .fl-col-group,
  body.single .fl-col,
  body.single .fl-col-content {
      display: block !important;
      float: none !important;
      flex: 0 0 100% !important;
      width: 100% !important;
      max-width: 100% !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
  }

/* Текстовый модуль BB — 100% ширины + небольшие поля */
  body.single .fl-module.fl-module-rich-text,
  body.single .fl-module.fl-module-rich-text .fl-module-content {
      display: block !important;
      width: 100% !important;
      max-width: 100% !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
      padding-left: 10px !important;
      padding-right: 10px !important;
      box-sizing: border-box;
  }
}

.widget-title {
    font-size: 1.3em;
    font-weight: bold;
    margin: 0 0 15px 0;
    padding: 0;
    line-height: 1.3;
    display: block;
}

.widget-title span {
    display: inline-block;
}

@media (max-width: 1000px) {

    /* ВНЕШНИЕ КОНТЕЙНЕРЫ ТЕМЫ — ГЛАВНЫЕ ОГРАНИЧИТЕЛИ */
    .wrapper,
    .inner-wrap,
    #content.site-content,
    #content.site-content .mid-content,
    #content.site-content .content-area {
        width: 98% !important;
        max-width: 98% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* ОСНОВНОЙ КОНТЕНТ */
    #content.site-content .site-main,
    #content.site-content .article-wrap,
    #content.site-content .entry-content {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    /* BEAVER BUILDER — ВСЕ ВНУТРЕННИЕ ОБЁРТКИ */
    #content.site-content .fl-row-content-wrap,
    #content.site-content .fl-row-content,
    #content.site-content .fl-col-group,
    #content.site-content .fl-col,
    #content.site-content .fl-col-content {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* ТАБЛИЦЫ — БЕЗ СКРОЛЛА, С ПЕРЕНОСОМ ТЕКСТА */
    #content.site-content table {
        width: 100% !important;
        max-width: 100% !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
    }

    #content.site-content table td,
    #content.site-content table th {
        white-space: normal !important;
        word-wrap: break-word !important;
        box-sizing: border-box !important;
    }
}

/* Только для мобильных (до 600px), чтобы не трогать планшеты */
/* Строго до 767px — мобильные. Планшеты (от 768px) не изменятся */
@media screen and (max-width: 767px) {
    
    /* 1. Выводим контейнер из невидимости */
    .ax_slider_wrapper .caption, 
    #parallax-slider .caption, 
    .caption {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: absolute !important;
        top: 45% !important; /* Позиция чуть выше центра */
        left: 5% !important;
        width: 90% !important;
        height: auto !important;
        transform: translateY(-50%) !important;
        z-index: 9999 !important;
    }

    /* 2. Заголовок: ставим Relative, чтобы работал Margin */
    .caption h2, 
    .caption .header-title {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
        top: 0 !important; /* Обнуляем смещение темы */
        left: 0 !important;
        font-size: 18px !important;
        line-height: 1.3 !important;
        margin: 0 0 20px 0 !important; /* ЖЕСТКИЙ РАЗРЫВ 20px СНИЗУ */
        text-align: center !important;
    }

    /* 3. Описание: ставим под заголовком */
    .caption p, 
    .caption .header-desc {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
        top: 0 !important; /* Обнуляем смещение темы */
        left: 0 !important;
        font-size: 13px !important;
        line-height: 1.4 !important;
        margin: 0 !important;
        text-align: center !important;
    }

    /* 4. Отключаем мешающие анимации */
    .caption .animated {
        animation: none !important;
        transition: none !important;
        opacity: 1 !important;
    }
}

/* ФОРМА МО-ПУТЕШЕСТВИЯ */
.mo-trip-form {
  max-width: 520px;
  padding: 20px;
  border-radius: 8px;
  background-color: #f6f8fb;
}

.mo-trip-form__title {
  margin: 0 0 12px;
  font-size: 18px;
  font-weight: 600;
}

.mo-trip-form__field {
  margin-bottom: 12px;
}

.mo-trip-form__field input,
.mo-trip-form__field textarea {
  width: 100%;
  padding: 9px 11px;
  border-radius: 4px;
  border: 1px solid #d3d7e0;
  font-size: 14px;
  box-sizing: border-box;
}

.mo-trip-form__field input::placeholder,
.mo-trip-form__field textarea::placeholder {
  color: #999;
  font-size: 13px;
}

.mo-trip-form__note {
  font-size: 13px;
  margin: 6px 0 14px;
  color: #555;
}

.mo-trip-form__submit {
  display: inline-block;
  width: 100%;
  box-sizing: border-box;
  padding: 12px 20px;
  font-size: 15px;
  line-height: 1.3;
  text-align: center;
  border-radius: 25px;
  border: none;
  background-color: #0070ba;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
}

.mo-trip-form__submit:hover {
  background-color: #005c97;
}

.mo-trip-form__error {
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid #e53935;
  background: #ffebee;
  color: #b71c1c;
  border-radius: 4px;
  font-size: 14px;
}

/* Универсальный класс для таблиц с 2 колонками 30/70 */
.table-30-70 {
  width: 100%;
  border-collapse: collapse;
}

.table-30-70 td,
.table-30-70 th {
  vertical-align: top;
  padding: 6px 4px;
}

/* Левый столбец уже, правый шире */
.table-30-70 td:nth-child(1),
.table-30-70 th:nth-child(1) {
  width: 30%;
  max-width: 120px;
  white-space: nowrap;
}

.table-30-70 td:nth-child(2),
.table-30-70 th:nth-child(2) {
  width: 70%;
}

/* На очень узких экранах можно разрешить перенос дат */
@media (max-width: 400px) {
  .table-30-70 td:nth-child(1),
  .table-30-70 th:nth-child(1) {
    white-space: normal;
  }
}

/* стили для кнопки */
.btn-primary {
    background-color: white;
    color: #0073aa !important;
    border: 2px solid #0073aa;
    padding: 10px 20px;
    text-decoration: none;
    border-radius: 5px;
    font-weight: bold;
    display: inline-block;
}

.btn-primary:hover {
    background-color: #ff6600;
    color: white !important;
}


/* СТИЛИ ДЛЯ ТАБЛИЦ-КАРТОЧЕК СПЕЦПРЕДЛОЖЕНИЯ */

.tour-grid{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:22px !important;

  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

/* WP CLEAN */
.tour-grid > *:not(.tour-card){
  display:none !important;
}

/* CARD BASE */
.tour-card{
  display:flex !important;
  flex-direction:column !important;

  height:600px !important;
  max-height:600px !important;
  overflow:hidden !important;

  background:#fff;
  border-radius:18px;
  box-shadow:0 6px 22px rgba(0,0,0,.08);

  position:relative;

  transition:transform .18s ease, box-shadow .18s ease;
}

/* HOVER (мягкий, без агрессии) */
.tour-card:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 30px rgba(0,0,0,.14);
}

/* IMAGE */
.tour-card img{
  width:100%;
  height:200px;
  object-fit:cover;
  display:block;
  transition:transform .25s ease;
}

/* лёгкий zoom */
.tour-card:hover img{
  transform:scale(1.03);
}

/* BADGE */
.tour-badge{
  position:absolute;
  top:12px;
  right:12px;

  background:#ff2b2b;
  color:#fff;

  font-weight:700;
  padding:6px 10px;
  border-radius:8px;

  font-size:13px;

  z-index:2;
}

/* TYPE */
.tour-type{
  background:#13375F;
  color:#fff;

  display:inline-block;
  padding:5px 10px;
  font-size:12px;

  margin:14px 18px 8px;

  border-radius:6px;

  align-self:flex-start;
}

/* TITLE */
.tour-card h3{
  margin:0 18px 8px;
  font-size:20px;
  line-height:1.2;
}

/* DATE */
.tour-date{
  margin:0 18px 6px;
  color:#911A1C;
  font-weight:700;
}

/* ROUTE */
.tour-route{
  margin:0 18px 10px;
  color:#555;
  font-size:14px;
}

/* LIST */
.tour-card ul{
  margin:0 18px 14px !important;
  padding-left:18px !important;
  flex-grow:1;
  overflow:hidden;
}

/* PRICE */
.tour-price{
  margin:0 18px 14px;
  font-size:22px;
  font-weight:700;
  color:#13375F;
}

.tour-price span{
  display:block;
  font-size:14px;
  color:#777;
  margin-top:3px;
}

/* BUTTON */
.tour-btn{
  display:block;
  margin:0 18px 18px !important;

  background:#13375F;
  color:#fff !important;

  text-align:center;
  padding:12px;

  border-radius:10px;

  text-decoration:none;
  font-weight:700;

  transition:all .18s ease;
}

/* BUTTON HOVER */
.tour-btn:hover{
  background:#0f2a45;
  transform:translateY(-2px);
}

/* MOBILE */
@media(max-width:768px){
  .tour-grid{
    grid-template-columns:1fr !important;
  }
}

/* СТИЛИ ДЛЯ FAQ АККОРДЕОНА — ОСТАВЛЕНА ОДНА ВЕРСИЯ (С ЗЕБРОЙ) */

.faq-container {
    width: 100%;
    max-width: 900px;
    margin: 30px auto !important;
    padding: 0 15px;
    box-sizing: border-box;
}

/* Элемент списка */
.faq-item {
    border: 1px solid #e3e8ee;
    border-radius: 10px;
    margin-bottom: 14px !important;
    box-shadow: 0 3px 10px rgba(0,0,0,.03);
    transition: box-shadow .2s ease;
    overflow: hidden;
}
.faq-item:hover {
    box-shadow: 0 5px 15px rgba(0,0,0,.07);
}

/* ЧЕРЕДОВАНИЕ ЦВЕТОВ (ЗЕБРА) */
.faq-item:nth-of-type(odd) .faq-question {
    background-color: #ffffff;
}
.faq-item:nth-of-type(even) .faq-question {
    background-color: #f4f7fa !important;
}

/* Заголовок плашки */
.faq-question {
    padding: 16px 20px;
    font-size: 16px;
    font-weight: 700;
    color: #13375F;
    cursor: pointer;
    outline: none;
    list-style: none;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    user-select: none;
}
.faq-question::-webkit-details-marker {
    display: none;
}
.faq-question::after {
    content: "";
    width: 8px;
    height: 8px;
    border-right: 2px solid #13375F;
    border-bottom: 2px solid #13375F;
    transform: rotate(45deg);
    transition: transform .2s ease;
    margin-left: 15px;
    flex-shrink: 0;
}

/* Состояние при раскрытии */
.faq-item[open] .faq-question::after {
    transform: rotate(-135deg);
}
.faq-item[open] .faq-question {
    border-bottom: 1px solid #e3e8ee;
    background: rgba(19, 55, 95, 0.05) !important;
}

/* Текстовый блок ответа */
.faq-answer {
    padding: 20px;
    font-size: 15px;
    line-height: 1.6;
    color: #333;
    background: #ffffff;
}
.faq-answer p {
    margin: 0 0 12px 0 !important;
}
.faq-answer p:last-child {
    margin-bottom: 0 !important;
}
.faq-answer ul {
    margin: 0 0 12px 0 !important;
    padding-left: 20px !important;
}
.faq-answer li {
    margin-bottom: 6px;
}
.faq-answer a {
    color: #13375F;
    font-weight: 600;
    text-decoration: underline;
}
.faq-answer a:hover {
    text-decoration: none;
}

/* Адаптивность для мобильных (FAQ) */
@media (max-width: 768px) {
    .faq-question {
        padding: 14px 16px;
        font-size: 15px;
    }
    .faq-answer {
        padding: 16px;
        font-size: 14px;
    }
}

/* ДОПОЛНИТЕЛЬНЫЕ СТИЛИ ДЛЯ 2 КАРТОЧЕК */

/* СЕТКА ДЛЯ 2 КАРТОЧЕК В РЯД (НЕ ЛОМАЕТ СТАРУЮ .tour-grid) */
.tour-grid-2{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:22px !important;

  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

/* Чистим мусор, если WP/BF что-то добавит внутрь контейнера */
.tour-grid-2 > *:not(.tour-card){
  display:none !important;
}

/* Адаптив: на мобилках по одной карточке в ряд */
@media(max-width:768px){
  .tour-grid-2{
    grid-template-columns:1fr !important;
  }
}

/* ОБЩИЙ КОНТЕЙНЕР АККОРДЕОНА СЕКЦИИ */
.section-accordion {
  margin: 20px auto;
  max-width: 1200px;
  border: 1px solid #e3e8ee;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}

/* Заголовок секции */
.section-accordion > summary {
  padding: 14px 18px;
  font-size: 18px;
  font-weight: 700;
  color: #13375F;
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  user-select: none;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* убираем стандартный маркер */
.section-accordion > summary::-webkit-details-marker {
  display: none;
}

/* своя стрелка */
.section-accordion > summary::after {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid #13375F;
  border-bottom: 2px solid #13375F;
  transform: rotate(45deg);
  transition: transform .2s ease;
  margin-left: 12px;
}

/* Поворот стрелки при открытии */
.section-accordion[open] > summary::after {
  transform: rotate(-135deg);
}

/* внутренний контент секции */
.section-accordion > .tour-grid-2 {
  padding: 10px 18px 18px;
}