/* =========================================================
   1) КАТАЛОГ ЭКСКУРСИЙ
========================================================= */
.exc-section{
  margin:20px 0 30px !important;
  padding:16px !important;
  border-radius:14px !important;
  border:1px solid transparent !important;
}
.exc-section.sea-wrap{background:linear-gradient(180deg,#eaf7ff 0%,#dff1ff 100%) !important;border-color:#c9e6ff !important;}
.exc-section.fun-wrap{background:linear-gradient(180deg,#fff1ec 0%,#ffe5dc 100%) !important;border-color:#ffd1c2 !important;}
.exc-section.safari-wrap{background:linear-gradient(180deg,#fdf6e8 0%,#f8edd9 100%) !important;border-color:#f1d9a2 !important;}
.exc-section.history-wrap{background:linear-gradient(180deg,#eef3ff 0%,#e0e8ff 100%) !important;border-color:#cbd7ff !important;}

.exc-section .section-title{
  display:block !important;
  width:100% !important;
  text-align:center !important;
  margin:0 0 12px !important;
  font-size:26px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  background:transparent !important;
  padding:0 !important;
  border-radius:0 !important;
}
.exc-section .section-more{
  margin-top:16px !important;
  text-align:center !important;
}
.exc-section .section-more a{
  width:360px !important;
  min-height:50px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:nowrap !important;
  background:linear-gradient(180deg,#2f9bff 0%,#1566d8 100%) !important;
  color:#fff !important;
  font-weight:800 !important;
  text-decoration:none !important;
  padding:12px 20px !important;
  border-radius:12px !important;
  box-shadow:0 8px 16px rgba(21,102,216,.25) !important;
  transition:transform .15s ease, box-shadow .15s ease !important;
}
.exc-section .section-more a:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 10px 20px rgba(21,102,216,.35) !important;
}

.tour-grid, .sea-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr)) !important;
  gap:16px !important;
  align-items:stretch !important;
  margin:12px 0 8px !important;
}
.tour-card, .sea-card{
  display:flex !important;
  flex-direction:column !important;
  background:#f4f9ff !important;
  border:1px solid #d6e4f5 !important;
  border-radius:12px !important;
  overflow:hidden !important;
}
.tour-thumb, .sea-thumb{
  display:block !important;
  line-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:#dfeaf6 !important;
  overflow:hidden !important;
}
.tour-thumb img, .sea-thumb img{
  display:block !important;
  width:100% !important;
  height:230px !important;
  object-fit:cover !important;
  object-position:50% 72% !important;
  margin:0 !important;
}
.tour-card h3, .sea-card h3{
  margin:12px 14px 8px !important;
  font-size:18px !important;
  line-height:1.25 !important;
  min-height:0 !important;
}
.tour-card h3 a, .sea-card h3 a{
  color:#143a63 !important;
  text-decoration:none !important;
}
.tour-card h3 a:hover, .sea-card h3 a:hover{text-decoration:underline !important;}
.tour-card p, .sea-card p{
  margin:0 14px 10px !important;
  font-size:16px !important;
  line-height:1.4 !important;
  color:#34506f !important;
}
.tour-price, .sea-price{
  margin:0 14px 2px !important;
  margin-top:auto !important;
  font-size:36px !important;
  line-height:1.1 !important;
  font-weight:800 !important;
  color:#1f73d9 !important;
}
.tour-days, .sea-days{
  margin:0 14px 12px !important;
  font-size:15px !important;
  color:#4a627f !important;
}

.tour-filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
  margin:10px 0 18px;
}
.tour-filter-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #c9d9ec;
  background:#fff;
  color:#163b63;
  border-radius:999px;
  padding:8px 14px;
  font-weight:700;
  cursor:pointer;
  text-decoration:none !important;
}
.tour-filter-btn:hover{
  color:#1f73d9;
  border-color:#1f73d9;
  text-decoration:none !important;
}
.tour-filter-btn.is-active{
  background:#1f73d9;
  color:#fff;
  border-color:#1f73d9;
}
.tour-filter-btn.is-active:hover{
  color:#fff;
}
.exc-section.is-hidden{display:none !important;}

/* Каталог: всегда 3 карточки в ряд на десктопе */
@media (min-width: 901px){
  .tour-grid,
  .sea-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

.sea-price {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
}

.sea-price-now {
  color: #147adf;
  font-weight: 900;
  font-size: 32px;
  line-height: 1;
}

.sea-discount {
  background: #16a34a;
  color: #fff;
  font-weight: 900;
  font-size: 11px;
  line-height: 1;
  padding: 5px 6px;
  border-radius: 6px;
}

.sea-price-old {
  color: #e22626;
  text-decoration: line-through;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
}

@media (max-width: 600px) {
  .sea-price-now {
    font-size: 30px;
  }
}

/* Mobile catalog prices: keep discount row compact inside 3-column cards */
@media (max-width: 700px) {
  .entry-content .exc-section .sea-card .sea-price {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    flex-wrap: nowrap !important;
    margin: 0 6px 2px !important;
    line-height: 1 !important;
  }

  .entry-content .exc-section .sea-card .sea-price .sea-price-now {
    font-size: 22px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  .entry-content .exc-section .sea-card .sea-price .sea-discount {
    font-size: 8px !important;
    line-height: 1 !important;
    padding: 3px 4px !important;
    border-radius: 5px !important;
    white-space: nowrap !important;
  }

  .entry-content .exc-section .sea-card .sea-price .sea-price-old {
    font-size: 10px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 390px) {
  .entry-content .exc-section .sea-card .sea-price {
    gap: 3px !important;
  }

  .entry-content .exc-section .sea-card .sea-price .sea-price-now {
    font-size: 20px !important;
  }

  .entry-content .exc-section .sea-card .sea-price .sea-discount {
    font-size: 7px !important;
    padding: 3px 4px !important;
  }

  .entry-content .exc-section .sea-card .sea-price .sea-price-old {
    font-size: 9px !important;
  }
}