:root {
  --ink: #071d3f;
  --muted: #506276;
  --paper: #fff7e9;
  --cream: #fffdf8;
  --accent: #009fae;
  --line: #e6e0d3;
  --orange: #f98b24;
  --red: #de2634;
}
body { background: var(--paper); }
.topbar, .catalog-header, .footer { background: #071d3f; }
.topbar span { color: #ffad57; }
.nav, .catalog-header .nav { height: 124px; }
.brand { min-width: 150px; width: max-content; }
.brand-logo { width: 108px; height: 88px; object-fit: contain; background: #fff9ef; border-radius: 18px; padding: 4px; filter: drop-shadow(0 3px 6px rgba(3,16,37,.17)); }
.header .brand-logo, .catalog-header .brand-logo { width: 144px; height: 116px; background: transparent; border-radius: 0; padding: 0; filter: drop-shadow(0 3px 4px rgba(255,255,255,.6)); }
.footer .brand-logo { width: 128px; height: 104px; }
.navlinks a:hover, .catalog-header .navlinks a[aria-current="page"] { color: #71e1e1; opacity: 1; }
.lang { border-color: rgba(255,255,255,.7); border-radius: 999px; }
.nav-cta, .button { border-radius: 999px; background: var(--accent); border-color: var(--accent); box-shadow: 0 8px 20px rgba(0,159,174,.18); }
.nav-cta:hover, .button:hover { background: #007e91; border-color: #007e91; }
.hero { background: #071d3f; }
.hero:after { background: linear-gradient(90deg,rgba(4,19,46,.87) 0%,rgba(4,19,46,.58) 48%,rgba(4,19,46,.1) 100%),linear-gradient(0deg,rgba(4,19,46,.45),transparent 45%); }
.hero .eyebrow, .catalog-hero .eyebrow, .story .eyebrow { color: #ffac57; }
.hero .eyebrow:before { background: #ffac57; }
.hero h1 { text-shadow: 0 3px 24px rgba(2,15,37,.22); }
.hero-actions .button-outline { background: transparent; border-color: #fff; box-shadow: none; }
.hero-actions .button-outline:hover { background: #fff; color: var(--ink); }
.trust { background: #fffdf8; border-bottom: 3px solid #edb25c; }
.trust-icon, .tour-meta { color: #ec791d; }
.tour-card, .catalog-card, .filter-panel { border-radius: 20px; }
.tour-card, .catalog-card { box-shadow: 0 6px 26px rgba(5,29,61,.045); }
.tour-badge { border-radius: 999px; color: var(--ink); background: #fff7e9; }
.tour-image img, .card-photo img { object-fit: cover; }
.tour-link span, .route-arrow, .faq-item summary:after { color: #ed791d; }
.tour-body .featured-price strong, .card-price strong, .detail-price strong {
  color: #071d3f;
  font-family: var(--sans);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.035em;
}
.detail-price s { font-family: var(--sans); font-variant-numeric: tabular-nums; }
.destinations, .catalog-bottom { background: #e9f7f4; }
.destination { border-radius: 18px; }
.destination:after { background: linear-gradient(0deg,rgba(4,19,46,.76),transparent 66%); }
.story { background: #071d3f; }
.story-image, .story-image img { border-radius: 18px; }
.story-image:after { border-radius: 12px; }
.cta { background: linear-gradient(120deg,#f98b24 0%,#eb6f20 100%); }
.cta .button { background: #071d3f; border-color: #071d3f; box-shadow: none; }
.footer { border-top: 6px solid #00a9b4; }
.tour-dialog, .catalog-dialog { border-radius: 22px; }
.dialog-note, .detail-note { background: #eaf8f5; }
.catalog-hero { background: radial-gradient(circle at 88% 30%,rgba(0,174,185,.2),transparent 34%),#071d3f; }
.catalog-hero:after { width: 600px; height: 600px; right: -170px; top: -190px; border: 6px solid rgba(0,190,196,.72); box-shadow: 0 0 0 31px rgba(249,139,36,.07),0 0 0 88px rgba(0,190,196,.08); }
.catalog-stat strong { color: #ffb75f; }
.catalog-card .card-photo { border-radius: 18px 18px 0 0; }
.card-type { color: #c65d18; }
.card-days, .route-stop, .itinerary-day-num { background: #e5f7f4; color: #076579; border-radius: 999px; }
.search-input, .filter-select, .results-actions select { border-radius: 11px; }
.load-button, .detail-back { border-radius: 999px; background: #071d3f; border-color: #071d3f; }
.load-button:hover, .detail-back:hover { background: #12375f; }
.detail-price { background: #eaf8f5; border-color: var(--accent); border-radius: 0 14px 14px 0; }
.dialog-categories span, .itinerary-stops, .itinerary-stops li { border-radius: 9px; }
.destination:nth-child(4) img { filter: brightness(.9); object-position: center 58%; }
.day-tours { background: #e8f5f3; }
.day-tours-action { text-align: center; margin-top: 22px; }
@media (min-width: 681px) and (max-width: 950px) {
  .day-tour-grid .tour-card:last-child { display: flex; grid-column: 1 / -1; }
}
@media (max-width: 680px) {
  .nav, .catalog-header .nav { height: 93px; }
  .brand { min-width: 96px; }
  .header .brand-logo, .catalog-header .brand-logo { width: 96px; height: 82px; }
  .footer .brand-logo { width: 110px; height: 92px; }
  .navlinks, .catalog-header .navlinks { top: 93px; background: #071d3f; }
  .hero:after { background: linear-gradient(90deg,rgba(4,19,46,.86),rgba(4,19,46,.46)),linear-gradient(0deg,rgba(4,19,46,.42),transparent 50%); }
  .catalog-hero:after { right: -355px; opacity: .45; }
}

/* Destination gallery in the tour catalogue hero. */
.catalog-hero{min-height:560px;display:flex;align-items:center;isolation:isolate;padding:58px 0 100px;background:#071d3f}
.catalog-hero:after{display:none}
.catalog-slides{position:absolute;z-index:0;top:30px;right:30px;bottom:94px;left:52%;overflow:hidden;border-radius:22px;background:#173957;box-shadow:0 20px 46px rgba(0,0,0,.22)}
.catalog-slide{position:absolute;inset:0;opacity:0;transition:opacity .85s ease;overflow:hidden}
.catalog-slide-backdrop,.catalog-slide-photo{position:absolute;inset:0;width:100%;height:100%}
.catalog-slide-backdrop{object-fit:cover;filter:blur(20px) brightness(.68);transform:scale(1.12)}
.catalog-slide-photo{object-fit:contain;object-position:center}
.catalog-slide.is-active{opacity:1}
.catalog-hero:before{display:none}
.catalog-hero .container{z-index:2;width:100%}
.catalog-hero h1{max-width:min(530px,calc(50vw - 70px))}
.catalog-hero p{max-width:min(510px,calc(50vw - 70px));color:#f0f5f6}
.catalog-stats{max-width:min(600px,calc(52vw - 50px));gap:22px}
.catalog-slider-controls{position:absolute;right:30px;bottom:23px;z-index:3;display:flex;align-items:center;gap:13px;padding:10px 12px 10px 18px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(7,29,63,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 6px 22px rgba(0,0,0,.18)}
.catalog-slide-name{min-width:96px;color:#fff;font:600 13px var(--sans);letter-spacing:.03em}
.catalog-slide-arrow{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid rgba(255,255,255,.48);border-radius:50%;background:transparent;color:white;font:21px/1 var(--sans);cursor:pointer}
.catalog-slide-arrow:hover,.catalog-slide-arrow:focus-visible{background:#00a9b4;border-color:#00a9b4}
.catalog-slide-dots{display:flex;align-items:center;gap:7px}
.catalog-slide-dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer}
.catalog-slide-dot.is-active{width:21px;border-radius:5px;background:#ffb75f}
.catalog-slide-dot:focus-visible,.catalog-slide-arrow:focus-visible{outline:2px solid white;outline-offset:3px}
@media(max-width:900px){.catalog-hero{min-height:0;padding:52px 0 450px;align-items:flex-start}.catalog-hero h1,.catalog-hero p,.catalog-stats{max-width:760px}.catalog-slides{left:max(30px,calc((100vw - 600px)/2));right:max(30px,calc((100vw - 600px)/2));top:auto;bottom:82px;height:320px}.catalog-slider-controls{right:max(30px,calc((100vw - 600px)/2));bottom:20px}}
@media(max-width:680px){.catalog-hero{padding:45px 0 345px}.catalog-hero h1{font-size:clamp(40px,10vw,47px)}.catalog-hero p{font-size:15px}.catalog-stats{gap:13px 20px}.catalog-slides{left:20px;right:20px;bottom:78px;height:238px;border-radius:16px}.catalog-slider-controls{left:20px;right:auto;bottom:18px;gap:10px;padding:8px 10px 8px 14px}.catalog-slide-name{min-width:78px;font-size:12px}.catalog-slide-arrow{width:29px;height:29px}}
@media(prefers-reduced-motion:reduce){.catalog-slide{transition:none}}
