@font-face {
  font-family: 'Normiyola';
  src: url('/public/fonts/1FTV-VIP-Normiyola.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
}

.page-tours {
  --tour-bg-dark: #17120d;
  --tour-gold: #d7ad67;
  --tour-bronze: #d49a32;
  --tour-paper: #f4e9d8;
  --tour-ink: #2e2014;
  --tour-muted: #6f5c48;
  font-family: 'Manrope', var(--ff-sans);
  color: var(--tour-ink);
  background: linear-gradient(180deg, #f9f3ea 0%, #fffaf2 65%, #f7eee0 100%);
}

.page-tours .site-header__logo,
.page-tours .footer-brand__logo {
  font-family: var(--ff-sans);
  letter-spacing: 0.04em;
}

.page-tours .scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  width: 0;
  height: 3px;
  z-index: 9999;
  background: linear-gradient(90deg, var(--tour-bronze), var(--tour-gold));
  transition: width 0.15s ease;
}

.tours-hero {
  position: relative;
  min-height: 90vh;
  display: flex;
  align-items: center;
  color: #fff;
  overflow: hidden;
}

.tours-hero .parallax-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 25%, rgba(215, 173, 103, 0.3), transparent 35%),
    linear-gradient(125deg, rgba(14, 10, 6, 0.86), rgba(39, 23, 9, 0.44));
}

.tours-hero__content {
  position: relative;
  z-index: 2;
  max-width: 760px;
  padding-block: 160px 90px;
}

.tours-hero__eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.75rem;
  color: #f9e4bf;
  margin-bottom: 16px;
}

.tours-hero__title {
  font-family: var(--ff-sans);
  font-size: clamp(2rem, 4vw, 4rem);
  font-weight: 600;
  line-height: 1.06;
  margin-bottom: 18px;
  color: #f8fafc;
  text-shadow: 0 8px 28px rgba(5, 10, 18, 0.42);
}

.tours-hero__title .text-reveal__word:nth-child(1),
.tours-hero__title .text-reveal__word:nth-child(2) {
  font-family: 'Normiyola', var(--ff-sans);
  font-weight: normal;
  font-size: 1.3em;
}

.tours-hero__title .text-reveal__word:nth-child(3) {
  display: block;
}

.tours-hero__desc {
  max-width: 65ch;
  font-size: 1.02rem;
  color: rgba(255, 245, 225, 0.92);
}

.tours-hero__cta {
  margin-top: 30px;
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.tours-hero__cta .btn {
  --hero-cta-bevel: 10px;
  border-radius: 0;
  clip-path: polygon(
    var(--hero-cta-bevel) 0,
    calc(100% - var(--hero-cta-bevel)) 0,
    100% var(--hero-cta-bevel),
    100% calc(100% - var(--hero-cta-bevel)),
    calc(100% - var(--hero-cta-bevel)) 100%,
    var(--hero-cta-bevel) 100%,
    0 calc(100% - var(--hero-cta-bevel)),
    0 var(--hero-cta-bevel)
  );
}

.heritage-stream {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.heritage-stream__item {
  position: absolute;
  left: -40px;
  top: calc(10% + (var(--delay) * 8));
  color: rgba(255, 225, 176, 0.5);
  font-size: 1rem;
  animation: heritageFly 10s linear infinite;
  animation-delay: var(--delay);
  transform: translateY(var(--offset));
}

@keyframes heritageFly {
  0% {
    transform: translateX(0) translateY(var(--offset)) scale(0.85);
    opacity: 0;
  }
  15% { opacity: 0.7; }
  85% { opacity: 0.55; }
  100% {
    transform: translateX(calc(100vw + 80px)) translateY(calc(var(--offset) + 24px)) scale(1.1);
    opacity: 0;
  }
}

.luxury-filter {
  --filter-panel-bevel: 16px;
  margin-top: -48px;
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  padding: 20px;
  border-radius: 0;
  clip-path: polygon(
    var(--filter-panel-bevel) 0,
    calc(100% - var(--filter-panel-bevel)) 0,
    100% var(--filter-panel-bevel),
    100% calc(100% - var(--filter-panel-bevel)),
    calc(100% - var(--filter-panel-bevel)) 100%,
    var(--filter-panel-bevel) 100%,
    0 calc(100% - var(--filter-panel-bevel)),
    0 var(--filter-panel-bevel)
  );
  background: rgba(252, 247, 238, 0.97);
  box-shadow: 0 18px 50px rgba(71, 45, 22, 0.18);
  border: 1px solid rgba(167, 119, 78, 0.2);
}

.luxury-filter__field label {
  display: block;
  font-size: 0.73rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--tour-muted);
  margin-bottom: 8px;
}

.luxury-filter__field select,
.luxury-filter__field input[type='text'] {
  --filter-control-bevel: 10px;
  width: 100%;
  border-radius: 0;
  clip-path: polygon(
    var(--filter-control-bevel) 0,
    calc(100% - var(--filter-control-bevel)) 0,
    100% var(--filter-control-bevel),
    100% calc(100% - var(--filter-control-bevel)),
    calc(100% - var(--filter-control-bevel)) 100%,
    var(--filter-control-bevel) 100%,
    0 calc(100% - var(--filter-control-bevel)),
    0 var(--filter-control-bevel)
  );
  border: 0;
  padding: 12px 14px;
  background: #fff;
  color: var(--tour-ink);
  font-size: 0.92rem;
}

.luxury-filter__field input[type='range'] {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(to right, #d49a32 0%, #d49a32 100%, #e8d8c5 100%, #e8d8c5 100%);
  outline: none;
}

.luxury-filter__field input[type='range']::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #d49a32;
  border: 2px solid #fff7eb;
  box-shadow: 0 2px 8px rgba(50, 30, 12, 0.25);
}

.luxury-filter__field input[type='range']::-moz-range-thumb {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #d49a32;
  border: 2px solid #fff7eb;
  box-shadow: 0 2px 8px rgba(50, 30, 12, 0.25);
}

.luxury-filter__value {
  margin-top: 6px;
  color: #d49a32;
  font-weight: 800;
  font-size: 0.95rem;
  letter-spacing: 0.01em;
  font-variant-numeric: tabular-nums;
}

.luxury-filter__actions {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px dashed #dcc5a8;
  padding-top: 12px;
  gap: 12px;
}

.luxury-filter__summary {
  color: #7a6147;
  font-size: 0.88rem;
  font-variant-numeric: tabular-nums;
}

.luxury-filter__chips {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.luxury-filter__chips.is-empty {
  display: none;
}

.filter-chip {
  --filter-chip-bevel: 8px;
  border: 1px solid #e0c8a9;
  border-radius: 0;
  clip-path: polygon(
    var(--filter-chip-bevel) 0,
    calc(100% - var(--filter-chip-bevel)) 0,
    100% var(--filter-chip-bevel),
    100% calc(100% - var(--filter-chip-bevel)),
    calc(100% - var(--filter-chip-bevel)) 100%,
    var(--filter-chip-bevel) 100%,
    0 calc(100% - var(--filter-chip-bevel)),
    0 var(--filter-chip-bevel)
  );
  padding: 6px 10px;
  background: #fff8ed;
  color: #6e4f33;
  font-size: 0.78rem;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.filter-chip i {
  font-size: 0.7rem;
}

.luxury-filter__reset {
  --filter-reset-bevel: 10px;
  border: 1px solid #d8bf9d;
  color: #fff;
  background: #d49a32;
  border-radius: 0;
  clip-path: polygon(
    var(--filter-reset-bevel) 0,
    calc(100% - var(--filter-reset-bevel)) 0,
    100% var(--filter-reset-bevel),
    100% calc(100% - var(--filter-reset-bevel)),
    calc(100% - var(--filter-reset-bevel)) 100%,
    var(--filter-reset-bevel) 100%,
    0 calc(100% - var(--filter-reset-bevel)),
    0 var(--filter-reset-bevel)
  );
  font-size: 0.82rem;
  font-weight: 600;
  padding: 9px 14px;
  transition: 0.2s ease;
}

.luxury-filter__reset:hover {
  border-color: #d49a32;
  color: #fff;
  background: #d49a32;
}

.tours-results {
  padding-block: 72px 56px;
}

.tours-results__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 14px;
  margin-bottom: 28px;
}

.tours-results__head h2 {
  font-family: var(--ff-sans);
  font-size: clamp(2rem, 3.4vw, 3rem);
  font-weight: 800;
  color: #1d3433;
}

.tours-results .tour-card-category {
  --tour-category-bevel: 8px;
  border-radius: 0 !important;
  clip-path: polygon(
    var(--tour-category-bevel) 0,
    calc(100% - var(--tour-category-bevel)) 0,
    100% var(--tour-category-bevel),
    100% calc(100% - var(--tour-category-bevel)),
    calc(100% - var(--tour-category-bevel)) 100%,
    var(--tour-category-bevel) 100%,
    0 calc(100% - var(--tour-category-bevel)),
    0 var(--tour-category-bevel)
  );
}

.tours-results__head p {
  color: var(--tour-muted);
}

.tours-results .tour-card--bevel {
  --bevel-size: 26px;
}

.tours-results .tour-card {
  --tour-card-bevel: 36px;
  border-radius: 0;
  clip-path: polygon(
    var(--tour-card-bevel) 0,
    calc(100% - var(--tour-card-bevel)) 0,
    100% var(--tour-card-bevel),
    100% calc(100% - var(--tour-card-bevel)),
    calc(100% - var(--tour-card-bevel)) 100%,
    var(--tour-card-bevel) 100%,
    0 calc(100% - var(--tour-card-bevel)),
    0 var(--tour-card-bevel)
  );
  overflow: hidden;
}

.tours-results .tour-card--bevel {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.tours-results .tour-card-media {
  flex: 0 0 240px;
}

.tours-results .tour-card-media__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tours-results .tour-card-content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 282px;
  gap: 8px;
}

.tours-results .tour-card-meta {
  min-height: 22px;
}

.tours-results .tour-card-location {
  max-width: 72%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tours-results .tour-card-rating {
  flex-shrink: 0;
}

.tours-results .tour-card-title {
  margin: 0;
  min-height: 62px;
}

.tours-results .tour-card-title-link {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tours-results .tour-card-subtitle {
  margin: 0;
  min-height: 56px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tours-results .tour-card-tags {
  min-height: 46px;
  align-content: flex-start;
}

.tours-results .tour-card-tag {
  --tour-tag-bevel: 8px;
  max-width: 125px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border-radius: 0 !important;
  clip-path: polygon(
    var(--tour-tag-bevel) 0,
    calc(100% - var(--tour-tag-bevel)) 0,
    100% var(--tour-tag-bevel),
    100% calc(100% - var(--tour-tag-bevel)),
    calc(100% - var(--tour-tag-bevel)) 100%,
    var(--tour-tag-bevel) 100%,
    0 calc(100% - var(--tour-tag-bevel)),
    0 var(--tour-tag-bevel)
  );
}

.tours-results .tour-card-footer {
  margin-top: auto;
}

.tours-results .tour-card-cta {
  --tour-cta-bevel: 10px;
  border-radius: 0 !important;
  clip-path: polygon(
    var(--tour-cta-bevel) 0,
    calc(100% - var(--tour-cta-bevel)) 0,
    100% var(--tour-cta-bevel),
    100% calc(100% - var(--tour-cta-bevel)),
    calc(100% - var(--tour-cta-bevel)) 100%,
    var(--tour-cta-bevel) 100%,
    0 calc(100% - var(--tour-cta-bevel)),
    0 var(--tour-cta-bevel)
  );
  border: 1px solid #d8bf9d !important;
  background: #d49a32 !important;
  color: #fff !important;
}

.tours-results .tour-card-cta:hover {
  border-color: #d49a32 !important;
  background: #d49a32 !important;
  color: #fff !important;
}

.tours-results .tour-card__image-wrap {
  clip-path: polygon(
    var(--tour-card-bevel) 0,
    calc(100% - var(--tour-card-bevel)) 0,
    100% var(--tour-card-bevel),
    100% 100%,
    0 100%,
    0 var(--tour-card-bevel)
  );
  overflow: hidden;
}


.agency-banner {
  position: relative;
  margin-top: 30px;
  padding-block: 130px;
  color: #fff;
  overflow: hidden;
}

.agency-banner .parallax-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, rgba(19, 13, 7, 0.86), rgba(55, 30, 12, 0.65));
}

.agency-banner__content {
  position: relative;
  z-index: 2;
  max-width: 700px;
}

.agency-banner h3 {
  font-family: var(--ff-sans);
  font-size: clamp(2rem, 3vw, 3rem);
  color: #d49a32;
  line-height: 1.1;
  margin-bottom: 10px;
}

.agency-banner .btn {
  --agency-btn-bevel: 10px;
  border-radius: 0;
  clip-path: polygon(
    var(--agency-btn-bevel) 0,
    calc(100% - var(--agency-btn-bevel)) 0,
    100% var(--agency-btn-bevel),
    100% calc(100% - var(--agency-btn-bevel)),
    calc(100% - var(--agency-btn-bevel)) 100%,
    var(--agency-btn-bevel) 100%,
    0 calc(100% - var(--agency-btn-bevel)),
    0 var(--agency-btn-bevel)
  );
}

.agency-banner p {
  color: rgba(255, 243, 225, 0.9);
  margin-bottom: 24px;
}

@media (max-width: 1180px) {
  .luxury-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
  .tours-hero { min-height: 82vh; }
  .tours-hero__content { padding-block: 140px 78px; }
  .luxury-filter { grid-template-columns: 1fr; margin-top: -36px; }
  .luxury-filter__actions { flex-direction: column; align-items: flex-start; }
  .tours-results__head { flex-direction: column; align-items: flex-start; }
  .tours-results .tour-card-content { min-height: 270px; }
  .tours-results .tour-card-title { min-height: 58px; }
  .tours-results .tour-card-subtitle { min-height: 52px; }
  .tours-results .tour-card-tag { max-width: 112px; }
  .agency-banner { padding-block: 88px; }
}
