/* =========================================================
   2) УНИВЕРСАЛЬНЫЙ ШАБЛОН СТРАНИЦЫ ЭКСКУРСИИ
========================================================= */
.entry-content .two-col-wrap{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px !important;
  margin:0 0 20px !important;
  align-items:stretch !important;
}
.entry-content .col-box,
.entry-content .tour-card-box{
  background:#fff !important;
  border:1px solid #e6d8b5 !important;
  border-radius:12px !important;
  padding:16px 18px !important;
  box-shadow:0 8px 20px rgba(0,0,0,.04) !important;
}
.entry-content .col-left p,
.entry-content .tour-desc p{
  margin:0 0 12px !important;
  line-height:1.55 !important;
  color:#1f3554 !important;
  font-size:17px !important;
}
.entry-content .col-left p{max-width:58ch !important;}

.entry-content .two-col-wrap h2,
.entry-content .tour-card-box h2,
.entry-content .tour-cta h2{
  display:inline-block !important;
  background:#f7e6c4 !important;
  color:#243447 !important;
  padding:6px 12px !important;
  border-radius:8px !important;
  margin:0 0 12px !important;
  line-height:1.25 !important;
  font-weight:700 !important;
}

.entry-content .two-col-wrap table{width:100% !important;border-collapse:collapse !important;}
.entry-content .two-col-wrap td{
  border:1px solid #d9d9d9 !important;
  padding:10px !important;
  color:#1f3554 !important;
  font-size:16px !important;
}
.entry-content .two-col-wrap tr:nth-child(odd) td{background:#fffdf7 !important;}
.entry-content .two-col-wrap tr:nth-child(even) td{background:#fffaf0 !important;}

.entry-content .tour-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
  row-gap:20px !important;
  margin:0 0 24px !important;
}
.entry-content .tour-grid > .tour-card-box{
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
}
.entry-content .tour-card-box ul{
  margin:0 0 0 18px !important;
  padding:0 !important;
  line-height:1.45 !important;
}

.wi-checks{list-style:none !important;margin:0 !important;padding:0 !important;}
.wi-checks li{
  position:relative !important;
  padding-left:28px !important;
  margin:0 0 8px !important;
  line-height:1.45 !important;
}
.wi-checks li::before{
  content:"✓" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  color:#16a34a !important;
  font-weight:800 !important;
  font-size:28px !important;
  line-height:1 !important;
}

.entry-content .tour-cta{
  width:100% !important;
  text-align:center !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  margin:32px 0 10px !important;
}
.entry-content .tour-cta h2{
  display:block !important;
  width:max-content !important;
  margin:0 auto 12px !important;
}
.entry-content .tour-cta p{
  text-align:center !important;
  margin:0 auto 12px !important;
  max-width:760px !important;
}

/* В tour-cta кнопкой может быть только .tour-book-btn */
.entry-content .tour-cta .tour-book-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:260px !important;
  padding:14px 26px !important;
  border-radius:14px !important;
  font-weight:800 !important;
  font-size:34px !important;
  color:#fff !important;
  text-decoration:underline !important;
  background:linear-gradient(180deg,#2f9bff 0%,#1566d8 55%,#0d4fae 100%) !important;
  border:1px solid #0e58bd !important;
  box-shadow:0 10px 0 #0a3f8d,0 16px 24px rgba(12,67,144,.30),inset 0 1px 0 rgba(255,255,255,.35) !important;
}

/* Обычные ссылки в тексте tour-cta НЕ кнопки */
.entry-content .tour-cta a:not(.tour-book-btn){
  display:inline !important;
  padding:0 !important;
  background:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  color:#005bd1 !important;
  font-weight:inherit !important;
  min-width:0 !important;
}

@media (max-width:768px){
  .entry-content .tour-cta .tour-book-btn{
    min-width:0 !important;
    width:92% !important;
    max-width:320px !important;
    font-size:16px !important;
    padding:12px 14px !important;
    border-radius:12px !important;
  }
}

/* Глобальная модалка */
.gt24-book-modal{position:fixed;inset:0;z-index:99999;display:none;}
.gt24-book-modal.is-open{display:block;}
.gt24-book-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.52);}
.gt24-book-modal__dialog{
  position:relative;width:min(760px,92vw);margin:8vh auto 0;background:#fff;border-radius:16px;
  padding:26px 24px 22px;box-shadow:0 24px 48px rgba(0,0,0,.3);z-index:2;text-align:center;
}
.gt24-book-modal__close{
  position:absolute;right:10px;top:6px;width:34px;height:34px;border:0;background:transparent;
  font-size:28px;cursor:pointer;color:#2c3e50;
}
.gt24-book-icons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px;}
.gt24-book-icons a{text-decoration:none;color:#1b2d3e;font-weight:700;background:#f7fbff;border:1px solid #d8e6f5;border-radius:12px;padding:14px 8px;}
.gt24-book-icons img{width:50px;height:50px;display:block;margin:0 auto 8px;}
@media (max-width:900px){.gt24-book-icons{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* FAQ */
.gt24-faq-wrap {
  max-width: 980px;
  margin: 42px auto;
  padding: 0 14px;
}

.gt24-faq-title {
  margin: 0 0 22px;
  color: #10284a;
  font-size: 38px;
  line-height: 1.15;
  font-weight: 800;
}

.gt24-faq-item {
  margin: 0 0 16px;
  border: 0;
  background: transparent;
}

.gt24-faq-item summary {
  cursor: pointer;
  list-style: none;
  position: relative;
  display: flex;
  align-items: center;
  min-height: 72px;
  padding: 18px 64px 18px 24px;
  border-radius: 14px;
  color: #10284a;
  font-size: 22px;
  line-height: 1.3;
  font-weight: 800;
  background: linear-gradient(180deg, #ffffff 0%, #f2f8ff 100%);
  border: 1px solid #cfe2f7;
  box-shadow:
    0 8px 0 #d6e8fb,
    0 16px 26px rgba(17, 55, 96, .10),
    inset 0 1px 0 rgba(255,255,255,.85);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.gt24-faq-item summary::-webkit-details-marker {
  display: none;
}

.gt24-faq-item summary:hover {
  transform: translateY(-2px);
  border-color: #8cc8ff;
  box-shadow:
    0 10px 0 #c6def8,
    0 20px 30px rgba(17, 55, 96, .14),
    inset 0 1px 0 rgba(255,255,255,.9);
}

.gt24-faq-item summary::after {
  content: "⌄";
  position: absolute;
  right: 22px;
  top: 50%;
  transform: translateY(-52%);
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #0874dd;
  color: #fff;
  font-size: 26px;
  line-height: 30px;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 4px;
  box-shadow: 0 5px 0 #0753a0;
}

.gt24-faq-item[open] summary {
  transform: translateY(5px);
  background: linear-gradient(180deg, #2f9bff 0%, #1566d8 56%, #0d4fae 100%);
  color: #fff;
  border-color: #0f5dbf;
  box-shadow:
    0 3px 0 #0a3f8d,
    0 9px 18px rgba(12,67,144,.22),
    inset 0 1px 0 rgba(255,255,255,.35);
}

.gt24-faq-item[open] summary::after {
  content: "⌃";
  background: #fff;
  color: #0874dd;
  box-shadow: 0 4px 0 rgba(255,255,255,.35);
}

.gt24-faq-answer {
  margin: 18px 0 4px;
  padding: 20px 24px;
  border-radius: 12px;
  background: #ffffff;
  border-left: 5px solid #f3b13f;
  box-shadow: 0 8px 22px rgba(17, 55, 96, .07);
  color: #10284a;
  font-size: 20px;
  line-height: 1.6;
}

.gt24-faq-answer p {
  margin: 0;
}

@media (max-width: 700px) {
  .gt24-faq-wrap {
    margin: 34px auto;
    padding: 0 12px;
  }

  .gt24-faq-title {
    font-size: 30px;
  }

  .gt24-faq-item summary {
    min-height: 64px;
    padding: 16px 54px 16px 16px;
    font-size: 18px;
    border-radius: 12px;
  }

  .gt24-faq-item summary::after {
    right: 14px;
    width: 30px;
    height: 30px;
    font-size: 23px;
  }

  .gt24-faq-answer {
    font-size: 17px;
    padding: 16px;
  }
}

.gt24-related-wrap {
  max-width: 980px;
  margin: 34px auto;
  padding: 0 14px;
}

.gt24-related-box {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 24px 26px 26px;
  box-shadow: 0 10px 24px rgba(20, 40, 70, .08);
}

.gt24-related-title {
  margin: 0 0 20px;
  color: #071f3d;
  font-size: 26px;
  line-height: 1.2;
  font-weight: 800;
}

.gt24-related-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.gt24-related-card {
  display: block;
  text-decoration: none !important;
  color: #071f3d !important;
}

.gt24-related-card img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 7px;
  display: block;
  margin-bottom: 8px;
}

.gt24-related-card span {
  display: block;
  font-size: 16px;
  line-height: 1.25;
  font-weight: 700;
}

.gt24-related-card strong {
  color: #e00000;
  font-weight: 900;
  white-space: nowrap;
}

.gt24-related-card:hover span {
  color: #0753a0;
}

@media (max-width: 700px) {
  .gt24-related-box {
    padding: 18px 16px;
  }

  .gt24-related-title {
    font-size: 22px;
  }

  .gt24-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gt24-related-card span {
    font-size: 14px;
  }
}