/* Font families come from the active theme: body inheritance and native heading rules. */
.dt-scope,.dt-guide { --dt-ink:#142e32; --dt-muted:#526566; --dt-line:#d8dfda; --dt-paper:#faf8f2; color:var(--dt-ink); box-sizing:border-box; width:100%; max-width:var(--global-content-width,1290px); margin:auto; padding:clamp(20px,4vw,60px) var(--global-content-edge-padding,24px); font-family:inherit; line-height:1.7; }
.dt-scope *,.dt-guide * { box-sizing:border-box; }
.dt-guide h1,.dt-scope h1 { font-weight:400; font-size:clamp(36px,5vw,70px); line-height:1.08; max-width:950px; margin:12px 0 24px; letter-spacing:-.03em; }
.dt-guide h2,.dt-scope h2 { font-weight:400; font-size:clamp(27px,3vw,40px); line-height:1.2; }
.dt-guide h3 { font-size:21px; line-height:1.4; }
.dt-guide a,.dt-scope a { color:inherit; text-underline-offset:4px; }
.dt-guide a:focus-visible,.dt-scope a:focus-visible { outline:3px solid #b75d3d; outline-offset:5px; }
.dt-deck { font-size:clamp(19px,2vw,25px); max-width:800px; color:var(--dt-muted); }
.dt-eyebrow { font-size:12px; font-weight:650; text-transform:uppercase; letter-spacing:.12em; }
.dt-byline,.dt-disclosure,.dt-photo figcaption { font-size:13px; color:var(--dt-muted); }
.dt-photo { margin:30px 0; }
.dt-photo img { display:block; width:100%; height:auto; }
.dt-photo figcaption { padding-top:8px; }
.dt-photo figcaption span { display:block; }
.dt-jumps { display:flex; flex-wrap:wrap; gap:12px 24px; padding:20px 0; margin:24px 0; border-top:1px solid var(--dt-line); border-bottom:1px solid var(--dt-line); }
.dt-guide section,.dt-evidence { margin:44px 0; scroll-margin-top:30px; }
.dt-atglance { background:var(--dt-paper); border-left:3px solid #b75d3d; padding:24px 32px; }
.dt-story,.dt-guide #dt-plan,.dt-evidence { max-width:none; width:100%; }
.dt-button { display:inline-block; padding:11px 18px; background:var(--dt-ink); color:white!important; text-decoration:none; margin:8px 12px 8px 0; font-weight:600; border-radius:2px; }
.dt-recommendations { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.dt-pick { border:1px solid var(--dt-line); padding:24px; }
.dt-pick h3 { margin-top:6px; }
.dt-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.dt-card img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.dt-card h2 { font-size:28px; margin:8px 0; }
.dt-card h2 a { text-decoration:none; }
.dt-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.dt-evidence { border-top:1px solid var(--dt-line); padding-top:20px; }
.dt-evidence summary { cursor:pointer; }
.dt-evidence a { overflow-wrap:anywhere; }
.dt-home > header { padding:40px 0; }
.dt-scope .dt-scope,.dt-guide-body .dt-scope { padding:0; max-width:none; }
.dt-pagination { margin:30px 0; }
@media(max-width:760px) { .dt-grid,.dt-gallery,.dt-recommendations { grid-template-columns:1fr; } .dt-atglance { padding:20px; } }

/* Guide presentation: full-width photography, contained editorial reading. */
.dt-guide.dt-guide--immersive { max-width:none; width:100%; padding:0; margin:0; background:#fff; }
.dt-guide .dt-hero { position:relative; display:flex; align-items:center; justify-content:center; isolation:isolate; min-height:420px; height:74vh; height:74svh; max-height:850px; padding:48px 24px; background:#18393e; overflow:hidden; }
.dt-guide .dt-hero::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(5,22,27,.2),rgba(5,22,27,.48) 55%,rgba(5,22,27,.3)); pointer-events:none; }
.dt-guide .dt-hero .dt-hero__image { position:absolute; inset:0; display:block; width:100%; max-width:none; height:100%; object-fit:cover; object-position:50% 50%; margin:0; }
.dt-guide .dt-hero__title { position:relative; z-index:2; width:100%; max-width:1120px; text-align:center; color:#fff; }
.dt-guide .dt-hero__title .dt-eyebrow { color:#fff; margin:0 0 18px; font-size:13px; letter-spacing:.2em; }
.dt-guide .dt-hero__title h1 { margin:0 auto; max-width:1100px; color:#fff; font-size:clamp(36px,5vw,76px); font-weight:750; line-height:1.12; letter-spacing:.065em; text-transform:uppercase; text-wrap:balance; overflow-wrap:anywhere; text-shadow:0 2px 24px rgba(0,0,0,.28); }
.dt-guide .dt-hero--text { min-height:300px; height:auto; padding:90px 24px; }
.dt-guide .dt-guide-nav { justify-content:center; align-items:center; width:100%; margin:0; padding:16px 24px; gap:12px 32px; background:#f2f2ef; border:0; }
.dt-guide .dt-guide-nav a { font-size:12px; font-weight:750; text-transform:uppercase; letter-spacing:.07em; text-decoration:none; padding:4px 0; }
.dt-guide .dt-guide-nav a:hover { text-decoration:underline; text-underline-offset:5px; }
.dt-guide-body { width:100%; max-width:var(--global-content-width,1290px); margin:0 auto; padding:44px var(--global-content-edge-padding,24px) 64px; }
.dt-guide-intro { max-width:850px; margin:0 auto 40px; text-align:center; }
.dt-guide-intro .dt-deck { max-width:none; margin:0 0 16px; }
.dt-guide-intro .dt-byline { margin:8px 0; }
.dt-hero-caption { margin:8px 0; color:var(--dt-muted); font-size:11px; line-height:1.55; }
.dt-guide--immersive .dt-story,.dt-guide--immersive #dt-plan,.dt-guide--immersive .dt-evidence { margin-left:auto; margin-right:auto; }
.dt-guide--immersive h2 { margin-top:0; margin-bottom:26px; }
.dt-guide--immersive h3 { margin-top:28px; margin-bottom:12px; }
.dt-guide--immersive .dt-atglance { max-width:none; width:100%; margin:40px 0; }
.dt-guide--immersive .dt-atglance h2,.dt-guide--immersive .dt-atglance h3 { font-size:21px; font-weight:700; line-height:1.4; margin:28px 0 12px; }
.dt-guide--immersive .dt-atglance h2:first-child { margin-top:0; }
.dt-guide--immersive .dt-pick h3 { margin-top:8px; }
.dt-planning-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 44px; }
.dt-planning-item { min-width:0; border-top:1px solid var(--dt-line); padding-top:20px; }
.dt-guide--immersive .dt-planning-item h3 { margin:0 0 12px; }
.dt-planning-item p:last-child { margin-bottom:0; }
.dt-plan-actions:not(:empty) { margin-top:24px; }
.dt-months { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:6px; padding:0; margin:12px 0; list-style:none; }
.dt-month { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:60px; padding:7px 2px; border:1px solid transparent; border-radius:3px; font-size:13px; font-weight:700; line-height:1.5; }
.dt-month-mark { display:block; font-size:8px; letter-spacing:1px; line-height:1.5; }
.dt-month--best { background:#234c43; color:#fff; border-color:#234c43; }
.dt-month--good { background:#dce8dc; color:#213e35; border-color:#789783; }
.dt-month--limited { background:#f1e7d6; color:#58452d; border-color:#aa9271; }
.dt-month--unknown { background:#f3f3f1; color:#526566; border-color:#d8dfda; }
.dt-month-key { display:flex; flex-wrap:wrap; gap:6px 16px; padding:0; margin:12px 0 18px; list-style:none; font-size:12px; }
.dt-month-key li { display:flex; align-items:center; gap:6px; }
.dt-key-swatch { display:inline-block; width:12px; height:12px; border-width:1px; border-style:solid; flex-shrink:0; }
.dt-ability { display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:0 0 16px; list-style:none; }
.dt-ability li { border:1px solid var(--dt-line); padding:5px 10px; border-radius:3px; font-size:13px; color:var(--dt-muted); }
.dt-ability .dt-ability--selected { background:#234c43; color:#fff; border-color:#234c43; font-weight:700; }
.dt-transport { display:flex; align-items:flex-start; gap:12px; margin:0 0 18px; }
.dt-transport svg { width:23px; height:23px; flex:0 0 23px; margin-top:3px; }
.dt-transport p { margin:2px 0; overflow-wrap:anywhere; }
.dt-transfer { color:var(--dt-muted); font-size:14px; }
.dt-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.dt-pick { display:flex; flex-direction:column; min-width:0; }
.dt-pick-action { margin-top:auto; padding-top:12px; }
.dt-pick-action .dt-button { margin:0; }
.dt-guide--immersive .dt-evidence { font-size:13px; color:var(--dt-muted); line-height:1.65; padding-top:20px; margin-top:36px; }
.dt-evidence .dt-evidence-label { margin:0 0 8px; font-size:13px; font-weight:700; color:var(--dt-ink); }
.dt-evidence p { margin:8px 0; }
.dt-evidence details { margin-top:10px; }
.dt-evidence summary { padding:4px 0; font-weight:600; }
@media(min-width:1100px) { .dt-guide--immersive .dt-recommendations { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:760px) {
  .dt-guide .dt-hero { min-height:360px; height:62vh; height:62svh; max-height:640px; padding:32px 22px; }
  .dt-guide .dt-hero__title h1 { font-size:clamp(30px,9vw,48px); letter-spacing:.04em; }
  .dt-guide .dt-hero__title .dt-eyebrow { font-size:11px; letter-spacing:.13em; }
  .dt-guide .dt-hero--text { min-height:260px; height:auto; }
  .dt-guide .dt-guide-nav { padding:13px 16px; gap:8px 20px; }
  .dt-guide-body { padding:30px var(--global-content-edge-padding,24px) 44px; }
  .dt-guide-intro { margin-bottom:30px; }
  .dt-planning-grid { grid-template-columns:1fr; gap:24px; }
}

/* Collection browsing stays within the same theme container as the header. */
.dt-collection-page > .dt-hero { margin:0; }
.dt-collection-page .dt-guide-body > .dt-deck { margin:0 0 32px; }
.dt-collection-page .dt-collection-intro:empty { display:none; }
.dt-collection-page .dt-collection-intro { margin-bottom:28px; }
.dt-home section,.dt-hub section { margin:44px 0; }
.dt-collection-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.dt-collection-card { min-width:0; border:1px solid var(--dt-line); padding:0; background:#fff; }
.dt-collection-link { display:block; height:100%; padding:24px; text-decoration:none; }
.dt-collection-card h3 { font-size:25px; line-height:1.25; margin:0 0 12px; overflow-wrap:anywhere; }
.dt-collection-card h3 a { text-decoration:none; }
.dt-collection-card h3 a:hover { text-decoration:underline; }
.dt-collection-card p { margin:0; color:var(--dt-muted); }
.dt-collection-card--image { border:0; background:transparent; }
.dt-collection-card--image .dt-collection-link { position:relative; isolation:isolate; display:flex; align-items:center; justify-content:center; aspect-ratio:16/10; height:auto; min-height:190px; padding:24px; overflow:hidden; background:var(--dt-ink); color:#fff; }
.dt-collection-card--image .dt-collection-link::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.60) 40%,rgba(0,0,0,.60) 65%,rgba(0,0,0,.45)); }
.dt-collection-card--image .dt-collection-card-image { position:absolute; inset:0; width:100%; max-width:none; height:100%; object-fit:cover; }
.dt-collection-card--image .dt-collection-label { position:relative; z-index:2; width:100%; text-align:center; }
.dt-collection-card--image h3 { color:#fff; font-size:clamp(23px,2.3vw,32px); line-height:1.2; margin:0 0 10px; text-wrap:balance; }
.dt-collection-card--image .dt-collection-count { color:#fff; font-size:14px; }
.dt-collection-link:hover h3 { text-decoration:underline; text-underline-offset:5px; }
.dt-collection-photo { margin:0 0 20px; }
.dt-collection-photo img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
.dt-collection-photo figcaption { font-size:12px; color:var(--dt-muted); margin-top:6px; }
.dt-archive > header > .dt-collection-photo { max-width:750px; margin-top:24px; }
.dt-archive-children { margin:32px 0; }
.dt-region-countries { margin:28px 0 36px; }
.dt-filters { display:flex; flex-wrap:wrap; align-items:end; gap:16px 24px; border-block:1px solid var(--dt-line); padding:24px 0; margin:32px 0 20px; }
.dt-filters > div { flex:1 1 220px; min-width:0; }
.dt-filters label { display:block; font-size:14px; font-weight:700; margin-bottom:8px; }
.dt-filters select { display:block; width:100%; max-width:100%; min-height:48px; padding:10px; color:inherit; background:#fff; border:1px solid #869795; font:inherit; }
.dt-filters .dt-button { border:0; min-height:48px; margin:0; font:inherit; font-weight:650; cursor:pointer; }
.dt-filters > a { padding-block:10px; }
.dt-result-count { color:var(--dt-muted); font-size:14px; margin:20px 0 28px; }
.dt-pagination { display:flex; flex-wrap:wrap; gap:12px; }
.dt-pagination .page-numbers { padding:6px 12px; border:1px solid var(--dt-line); }
.dt-pagination .current { background:var(--dt-paper); font-weight:700; }
.dt-breadcrumbs { font-size:13px; color:var(--dt-muted); margin:0 0 18px; overflow-wrap:anywhere; }
.dt-activity-links { display:flex; flex-wrap:wrap; gap:12px; font-size:13px; margin-bottom:28px; }
.dt-activity-links a { padding:4px 12px; border:1px solid var(--dt-line); text-decoration:none; }
.dt-card { min-width:0; overflow-wrap:anywhere; }
@media(max-width:1000px) { .dt-collection-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) {
  .dt-collection-grid { grid-template-columns:1fr; }
  .dt-filters { align-items:stretch; gap:16px; }
  .dt-filters > div { flex-basis:100%; }
  .dt-collection-link { padding:20px; }
}

.dt-map { margin:12px 0; border:1px solid var(--dt-line); border-radius:6px; overflow:hidden; }
.dt-map iframe { display:block; width:100%; height:360px; border:0; }
.dt-faq { border-top:1px solid var(--dt-line); padding:12px 0; }
.dt-faq summary { cursor:pointer; font-weight:600; }
.dt-faq p { margin:8px 0 0; }
@media (max-width:640px) { .dt-map iframe { height:280px; } }

/* Compare pages */
.dt-compare .dt-table-wrap { overflow-x:auto; margin:28px 0; border:1px solid var(--dt-line); border-radius:6px; }
.dt-compare-table { width:100%; border-collapse:collapse; font-size:16px; line-height:1.5; }
.dt-compare-table th,.dt-compare-table td { padding:14px 16px; text-align:left; vertical-align:top; border-bottom:1px solid var(--dt-line); }
.dt-compare-table thead th { background:var(--dt-paper); font-weight:600; font-size:14px; letter-spacing:.02em; }
.dt-compare-table tbody tr:last-child th,.dt-compare-table tbody tr:last-child td { border-bottom:0; }
.dt-compare-table tbody th { font-weight:600; min-width:180px; }
.dt-compare .dt-muted { color:var(--dt-muted); font-weight:400; font-size:14px; }
.dt-seealso { margin-top:28px; }
@media(max-width:760px) {
  .dt-compare .dt-table-wrap { border:0; }
  .dt-compare-table,.dt-compare-table tbody,.dt-compare-table tr,.dt-compare-table th,.dt-compare-table td { display:block; width:100%; }
  .dt-compare-table thead { position:absolute; left:-9999px; }
  .dt-compare-table tr { border:1px solid var(--dt-line); border-radius:6px; margin-bottom:16px; padding:6px 0; }
  .dt-compare-table th,.dt-compare-table td { border:0; padding:8px 16px; }
  .dt-compare-table td[data-label]::before { content:attr(data-label); display:block; font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--dt-muted); }
}
