.destination-detail { --dest-ink:#143440; --dest-muted:#60747c; --dest-teal:#087f8c; color:var(--dest-ink); background:#fff; padding-bottom:64px; }
.destination-detail .destination-breadcrumb { display:flex; gap:12px; align-items:center; padding:22px 0; color:var(--dest-muted); font-size:12px; }
.destination-breadcrumb a { color:var(--dest-muted); }
.destination-detail .destination-hero { position:relative; min-height:330px; display:flex; align-items:center; overflow:hidden; border-radius:20px; background:linear-gradient(120deg,#123d49,#137e86); }
.destination-hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 47%; }
.destination-hero.has-image::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,35,44,.88),rgba(8,35,44,.5) 55%,rgba(8,35,44,.1)); }
.destination-hero-content { position:relative; z-index:1; padding:42px 48px; max-width:660px; color:#fff; }
.destination-detail .destination-eyebrow { display:block; font-size:10px; font-weight:700; letter-spacing:2px; line-height:1.7; color:var(--dest-teal); margin-bottom:10px; }
.destination-hero .destination-eyebrow { color:#f4d28b; }
.destination-detail .destination-hero h1 { font-size:54px; font-weight:600; letter-spacing:-1.6px; line-height:1.12; margin:0 0 18px; color:#fff; }
.destination-hero p { font-size:16px; line-height:1.8; max-width:480px; color:#eef5f5; margin:0 0 22px; }
.destination-hero-link { display:inline-flex; align-items:center; gap:15px; color:#fff; font-size:13px; font-weight:600; border-bottom:1px solid #ffffff70; padding-bottom:6px; }
.destination-hero-link:hover { color:#f4d28b; }
.destination-image-caption { position:absolute; right:24px; bottom:18px; z-index:1; color:#fff; font-size:10px; padding:5px 9px; border-radius:5px; background:#143440aa; }
.destination-search { position:relative; z-index:10; display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr auto; gap:0; margin:20px 0 0; padding:22px 24px 14px; background:#fff; border:1px solid #dce7e8; border-radius:14px; box-shadow:0 8px 28px #14344008; align-items:center; }
.destination-search-place { display:flex; gap:13px; align-items:center; padding-right:16px; }
.destination-search-place>i { color:var(--dest-teal); font-size:24px; }
.destination-search-place span,.destination-search label>span { display:block; font-size:11px; color:var(--dest-muted); margin-bottom:5px; }
.destination-search-place strong { font-size:14px; font-weight:600; }
.destination-search label { margin:0; padding:0 18px; border-left:1px solid #e2ebed; min-width:0; }
.destination-search input[type=date],.destination-search select { display:block; width:100%; min-height:32px; background:transparent; color:var(--dest-ink); font:inherit; font-size:13px; border:0; padding:3px 0; border-radius:3px; }
.destination-search button,.destination-more a,.destination-help>a { display:inline-flex; justify-content:center; align-items:center; gap:12px; min-height:48px; border:0; border-radius:9px; padding:12px 20px; background:var(--dest-teal); color:#fff; font-size:13px; font-weight:600; cursor:pointer; }
.destination-search button:hover,.destination-more a:hover,.destination-help>a:hover { background:#066875; color:#fff; }
.destination-search-note { grid-column:1/-1; margin:14px 0 0; padding-top:12px; border-top:1px solid #edf2f2; color:var(--dest-muted); font-size:11px; }
.destination-guests { position:relative; min-width:0; padding:0 14px; border-left:1px solid #e2ebed; }
.destination-guests summary { position:relative; cursor:pointer; list-style:none; padding-right:14px; }
.destination-guests summary::-webkit-details-marker { display:none; }
.destination-guests summary>span:first-child { display:block; color:var(--dest-muted); font-size:11px; margin-bottom:5px; }
.destination-guest-summary { display:block; color:var(--dest-ink); font-size:12px; line-height:1.5; }
.destination-guests summary>i { position:absolute; right:0; top:23px; color:var(--dest-teal); }
.destination-guest-panel { position:absolute; top:calc(100% + 16px); right:0; z-index:20; width:320px; padding:20px; background:#fff; border:1px solid #dce7e8; border-radius:12px; box-shadow:0 12px 36px #14344026; max-height:65vh; overflow:auto; }
.destination-guest-row { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:16px; }
.destination-search .destination-guest-panel label { border:0; padding:0; font-size:13px; color:var(--dest-ink); }
.destination-guest-counter { display:flex; align-items:center; gap:6px; }
.destination-search .destination-guest-counter button { width:32px; min-height:32px; padding:0; border:1px solid #d3e5e5; background:#edf6f5; color:var(--dest-teal); font-size:20px; border-radius:6px; }
.destination-search .destination-guest-counter button:disabled { opacity:.35; cursor:default; }
.destination-guest-counter input { width:34px; text-align:center; border:0; background:#fff; font-size:14px; color:var(--dest-ink); appearance:textfield; -moz-appearance:textfield; }
.destination-guest-counter input::-webkit-inner-spin-button,.destination-guest-counter input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.destination-child-ages { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.destination-child-ages select { margin-top:6px; border:1px solid #d3e5e5; padding:6px 8px; background:#f6fafa; }
.destination-age-hint { color:var(--dest-muted); font-size:11px; line-height:1.6; margin:12px 0; }
.destination-search .destination-guests-done { width:100%; margin-top:8px; min-height:40px; }
.destination-guests summary:focus-visible { outline:3px solid #d4a846; outline-offset:4px; border-radius:4px; }
@media(max-width:991px) { .destination-guests { padding:0; border:0; }.destination-guest-panel { left:0; right:auto; width:min(320px,calc(100vw - 68px)); } }
.destination-overview { margin-top:32px; max-width:850px; line-height:1.8; color:var(--dest-muted); }
.destination-detail .destination-stays { padding-top:48px; scroll-margin-top:24px; }
.destination-section-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:26px; }
.destination-detail .destination-section-heading h2,.destination-detail .destination-help h2 { margin:0 0 10px; color:var(--dest-ink); font-size:28px; line-height:1.3; font-weight:600; letter-spacing:-.6px; }
.destination-section-heading p,.destination-help p { color:var(--dest-muted); margin:0; line-height:1.7; font-size:13px; }
.destination-text-link { display:inline-flex; align-items:center; gap:12px; color:var(--dest-teal); font-size:13px; font-weight:600; flex-shrink:0; }
.destination-detail .bc-list-hotel.hotel-selection { margin:0; }
.destination-stays .tab-pane>.container { padding:0; max-width:none; }
.destination-detail .destination-stays .hotel-selection-heading { display:none; }
.destination-stays .hotel-selection-name { min-height:44px; }
.destination-stays .hotel-selection-image { aspect-ratio:4/3; }
.destination-stays .hotel-selection-placeholder { background:linear-gradient(135deg,#eff5f4,#deebeb); color:#59757c; }
.destination-stays .hotel-selection-image:has(.hotel-selection-placeholder)>a::after { display:none; }
.destination-stays .hotel-selection-detail { background:#eaf5f4; border-color:#d8e9e8; color:var(--dest-teal); }
.destination-stays .hotel-selection-detail:hover { background:var(--dest-teal); color:#fff; }
.destination-service-tabs { display:flex; gap:8px; margin-bottom:24px; }
.destination-service-tabs a { display:block; padding:10px 18px; border-radius:8px; background:#f2f6f6; color:var(--dest-muted); font-size:13px; }
.destination-service-tabs a.active { background:var(--dest-teal); color:#fff; }
.destination-more { text-align:center; margin:8px 0 0; }
.destination-detail .destination-map-section { margin-top:52px; }
.destination-map { border-radius:16px; overflow:hidden; border:1px solid #dce7e8; }
.destination-map iframe { display:block; width:100%; height:340px; border:0; }
.destination-help { display:flex; justify-content:space-between; align-items:center; gap:30px; margin-top:52px; padding:32px; border-radius:16px; background:#eff6f5; }
.destination-help>a { flex-shrink:0; }
.destination-detail .destination-help h2 { font-size:23px; }
.destination-empty { text-align:center; padding:40px 24px; background:#f3f7f7; border-radius:14px; }
.destination-empty>i { color:var(--dest-teal); font-size:32px; margin-bottom:18px; }
.destination-detail a:focus-visible,.destination-detail button:focus-visible,.destination-detail input:focus-visible,.destination-detail select:focus-visible { outline:3px solid #d4a846; outline-offset:3px; }
@media(max-width:991px) { .destination-search { grid-template-columns:1fr 1fr; gap:18px; }.destination-search-place { grid-column:1/-1; }.destination-search label { border:0; padding:0; }.destination-search button { width:100%; }.destination-search-note { margin-top:0; }.destination-help { align-items:flex-start; flex-direction:column; } }
@media(max-width:575px) { .destination-detail { padding-bottom:32px; }.destination-detail .destination-breadcrumb { padding:16px 0; }.destination-detail .destination-hero { min-height:310px; border-radius:14px; }.destination-hero-content { padding:30px 24px 48px; }.destination-detail .destination-hero h1 { font-size:40px; }.destination-hero p { font-size:14px; }.destination-image-caption { right:16px; bottom:14px; }.destination-search { padding:20px 18px 14px; margin-top:14px; }.destination-search input[type=date] { font-size:12px; }.destination-detail .destination-stays { padding-top:34px; }.destination-section-heading { flex-direction:column; align-items:flex-start; gap:12px; margin-bottom:20px; }.destination-detail .destination-section-heading h2 { font-size:25px; }.destination-help { padding:24px; margin-top:34px; }.destination-map-section #map_content { height:270px; } }
@media(prefers-reduced-motion:reduce) { .destination-detail * { transition:none!important; scroll-behavior:auto!important; } }
