.dest-page, .home-page { --d-primary:#1a56db; --d-navy:#0f1f3d; --d-muted:#6b7280; --d-band:#eef4fc; }
.dest-page { background:#fff; color:var(--d-navy); }

/* Hero */
.dest-hero { background:linear-gradient(rgba(4,20,45,.35), rgba(4,20,45,.72)), linear-gradient(120deg,#16305c,#2b4d80); background-size:cover; background-position:center; color:#fff; padding:3.5rem 0 3rem; }
.dest-crumbs { font-size:.85rem; opacity:.9; margin-bottom:1.25rem; }
.dest-crumbs a { color:#fff; text-decoration:none; }
.dest-crumbs a:hover { text-decoration:underline; }
.dest-hero h1 { font-size:clamp(2rem,5vw,3.25rem); font-weight:700; margin:0 0 .5rem; max-width:44rem; }
.dest-hero-locations { font-size:1.05rem; opacity:.95; margin:0 0 .75rem; }
.dest-hero-lead { max-width:38rem; opacity:.92; margin:0 0 1.25rem; line-height:1.7; }
.dest-facts { display:flex; flex-wrap:wrap; gap:.75rem 2rem; list-style:none; padding:0; margin:0 0 1.5rem; }
.dest-facts li { font-weight:600; font-size:1.05rem; }
.dest-facts span { display:block; font-weight:400; font-size:.8rem; opacity:.8; }
.dest-hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; }

/* Sections */
.dest-section { padding:3rem 0; }
.dest-section h2 { font-size:1.6rem; font-weight:700; margin:0; }
.dest-section-head { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:.5rem; margin-bottom:1.75rem; }
.dest-section-head p { color:var(--d-muted); margin:0; }

/* Tour tiles */
.tour-tile { background:#fff; border:1px solid #e5e7eb; border-radius:.75rem; overflow:hidden; height:100%; display:flex; flex-direction:column; transition:box-shadow .15s ease; }
.tour-tile:hover { box-shadow:0 .75rem 1.5rem rgba(15,31,61,.1); }
.tour-tile-image { position:relative; display:block; aspect-ratio:16/10; overflow:hidden; background:var(--d-band); }
.tour-tile-image img { width:100%; height:100%; object-fit:cover; }
.tour-tile-noimage { display:block; width:100%; height:100%; background:linear-gradient(120deg,#dbe7f8,#eef4fc); }
.tour-tile-badge { position:absolute; left:.75rem; bottom:.75rem; background:rgba(15,31,61,.85); color:#fff; font-size:.8rem; font-weight:600; padding:.25rem .6rem; border-radius:.4rem; }
.tour-tile-body { padding:1.1rem 1.25rem 1.25rem; display:flex; flex-direction:column; flex:1; }
.tour-tile-body h3 { font-size:1.1rem; font-weight:700; margin:0 0 .4rem; line-height:1.35; }
.tour-tile-body h3 a { color:var(--d-navy); text-decoration:none; }
.tour-tile-body h3 a:hover { color:var(--d-primary); }
.tour-tile-excerpt { color:var(--d-muted); font-size:.9rem; line-height:1.6; margin:0 0 1rem; }
.tour-tile-foot { margin-top:auto; display:flex; justify-content:space-between; align-items:center; gap:.75rem; }
.tour-tile-price { font-weight:700; font-size:1.05rem; }

/* Empty state, pagination, other destinations */
.dest-empty { background:#f8f9fb; border-radius:1rem; padding:2.5rem 1.5rem; text-align:center; }
.dest-empty h3 { font-size:1.25rem; font-weight:700; }
.dest-empty p { color:var(--d-muted); max-width:32rem; margin:0 auto 1.25rem; }
.dest-pagination { margin-top:2.5rem; }
.dest-pagination ul { display:flex; flex-wrap:wrap; justify-content:center; gap:.4rem; list-style:none; padding:0; margin:0; }
.dest-pagination a, .dest-pagination span { display:block; padding:.45rem .85rem; border:1px solid #d1d5db; border-radius:.5rem; color:var(--d-navy); text-decoration:none; }
.dest-pagination .current { background:var(--d-primary); border-color:var(--d-primary); color:#fff; }
.dest-more { background:var(--d-band); }
.dest-more h2 { margin-bottom:1.25rem; }
.dest-chips { display:flex; flex-wrap:wrap; gap:.6rem; list-style:none; padding:0; margin:0; }
.dest-chips a { display:block; background:#fff; border:1px solid #d5e1f3; border-radius:2rem; padding:.45rem 1rem; font-size:.9rem; color:var(--d-navy); text-decoration:none; }
.dest-chips a:hover { border-color:var(--d-primary); color:var(--d-primary); }

.dest-page a:focus-visible, .dest-page .btn:focus-visible { outline:3px solid rgba(26,86,219,.45); outline-offset:2px; }
@media (max-width:767.98px){ .dest-hero { padding:2.5rem 0 2rem; } .dest-section { padding:2.25rem 0; } }

.dest-filter { display:flex; flex-wrap:wrap; gap:.6rem; list-style:none; padding:0; margin:0 0 2rem; }
.dest-filter a { display:block; border:1px solid #d1d5db; border-radius:2rem; padding:.45rem 1.1rem; font-size:.92rem; color:var(--d-navy); text-decoration:none; background:#fff; }
.dest-filter a:hover { border-color:var(--d-primary); color:var(--d-primary); }
.dest-filter a[aria-current="page"] { background:var(--d-primary); border-color:var(--d-primary); color:#fff; }
