/* One photographic strip; native touch scrolling, no autoplay or wheel capture. */
.travel-home .destinations-reel .destinations-heading { display:flex; align-items:end; justify-content:space-between; gap:var(--space-4); margin-bottom:var(--space-4); }
.travel-home .destinations-reel .directions-title { display:block; width:auto; }
.travel-home .destinations-reel .destination-subtitle { margin:12px 0 0; max-width:none; font:400 var(--text-sm)/1.5 var(--catalog-reading); }
.travel-home .destinations-reel .reel-controls { display:flex; width:auto; flex-direction:row; align-items:center; justify-content:flex-end; gap:var(--space-4); flex-shrink:0; }
.travel-home .destinations-reel .reel-controls[hidden] { display:none; }
.reel-count { display:flex; gap:10px; align-items:baseline; font:400 15px/1 var(--catalog-reading); font-variant-numeric:tabular-nums; white-space:nowrap; }
.reel-count b { font-weight:500; min-width:5ch; }
.reel-count > span { opacity:.75; }
.reel-arrows { display:flex; border:1px solid var(--journal-rule); border-radius:var(--radius-button); padding:5px; gap:5px; }
.reel-arrows button { display:grid; place-items:center; width:var(--reel-control-size); height:var(--reel-control-size); border:0; padding:0; border-radius:var(--radius-round); background:var(--white); color:var(--brand-ink); transition:background var(--duration-fast),color var(--duration-fast),opacity var(--duration-fast); }
.reel-arrows svg { width:30px; height:24px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.reel-arrows button[aria-disabled=true] { opacity:.4; background:transparent; color:var(--white); cursor:default; }
.travel-home .destinations-reel .destination-gallery { position:relative; display:flex; flex-wrap:nowrap; align-items:stretch; gap:var(--reel-gap); height:auto; padding:10px var(--gutter) 22px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-padding-inline:var(--gutter); overscroll-behavior-x:contain; scrollbar-width:none; }
.destinations-reel .destination-gallery::-webkit-scrollbar { display:none; }
.travel-home .destinations-reel .destination-card { flex:0 0 calc((100% - var(--reel-gap) * 2.15) / 3.15); height:var(--reel-card-height); margin:0; transform:none; scroll-snap-align:start; border-radius:var(--radius-country); transition:none; user-select:none; -webkit-user-drag:none; }
.travel-home .destinations-reel .destination-card:last-child { scroll-snap-align:end; }
.travel-home .destinations-reel .destination-caption { inset:auto 26px 28px; transform:none; }
.travel-home .destinations-reel .destination-caption strong { font-size:var(--reel-card-title); white-space:normal; }
.direction-country { display:block; font:500 12px/1.4 var(--catalog-reading); letter-spacing:.08em; margin-bottom:10px; }
.travel-home .destinations-reel .destination-description { min-height:3em; margin:12px 0 20px; font:400 15px/1.5 var(--catalog-reading); }
.travel-home .destinations-reel .destination-action { font:600 13px/1.4 var(--catalog-reading); min-height:46px; padding:12px 20px; margin-top:0; }
.reel-footer { display:flex; align-items:center; gap:var(--space-5); padding:var(--space-2) var(--gutter) 0; }
.reel-hint { flex-shrink:0; font:400 13px/1.5 var(--catalog-reading); }
.reel-progress { height:2px; flex:1; background:var(--journal-rule); overflow:hidden; }
.reel-progress > span { display:block; height:100%; width:100%; background:var(--white); transform-origin:left; transform:translateX(var(--reel-progress-start,0%)) scaleX(var(--reel-progress-size,.25)); }
.reel-announcement { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.directions-directory { margin:var(--space-4) var(--gutter) 0; border-top:1px solid var(--journal-rule); }
.directions-directory summary { display:flex; align-items:center; justify-content:space-between; padding:16px 0; min-height:48px; cursor:pointer; list-style:none; font:400 14px/1.5 var(--catalog-reading); }
.directions-directory summary::-webkit-details-marker { display:none; }
.directions-directory summary > span { font-size:24px; transition:rotate var(--duration-fast); }
.directions-directory[open] summary > span { rotate:45deg; }
.directions-directory nav { display:grid; grid-template-columns:repeat(6,1fr); gap:4px 20px; padding:0 0 16px; }
.directions-directory a { color:var(--white); font:400 14px/1.5 var(--catalog-reading); padding:12px 0; text-decoration:none; text-underline-offset:5px; }
.destinations-reel :is(button,a,summary,.destination-gallery):focus-visible { outline:2px solid var(--white); outline-offset:5px; }
.destinations-reel .destination-gallery:focus-visible { outline-offset:-4px; }
.destinations-reel .destination-gallery.is-dragging { scroll-snap-type:none; cursor:grabbing; }
.destinations-reel .is-dragging .destination-card { cursor:grabbing; }
@media(hover:hover) {
  .destinations-reel .destination-gallery { cursor:grab; }
  .reel-arrows button:not([aria-disabled=true]):hover { background:var(--brand-light); }
  .directions-directory a:hover { text-decoration:underline; }
  .travel-home .destinations-reel .destination-card:hover { transform:none; }
}
@media(max-width:1050px) and (min-width:701px) {
  .travel-home .destinations-reel .destination-card { flex-basis:calc((100% - var(--reel-gap) * 1.15) / 2.15); }
}
@media(max-width:700px) {
  .travel-home .destinations-reel .destinations-heading { display:block; margin-bottom:18px; }
  .travel-home .destinations-reel .reel-controls { margin-top:22px; justify-content:space-between; gap:16px; }
  .reel-count b { min-width:0; }
  .travel-home .destinations-reel .destination-card { flex-basis:86%; height:var(--reel-card-height-mobile); }
  .travel-home .destinations-reel .destination-gallery { gap:16px; padding-bottom:16px; }
  .travel-home .destinations-reel .destination-caption { inset:auto 22px 24px; }
  .travel-home .destinations-reel .destination-caption strong { font-size:clamp(30px,8.5vw,40px); }
  .travel-home .destinations-reel .destination-description { font-size:14px; margin-bottom:18px; }
  .reel-footer { display:block; padding-top:4px; }
  .reel-hint { font-size:12px; }
  .reel-progress { margin-top:16px; }
  .directions-directory { margin-top:22px; }
  .directions-directory nav { grid-template-columns:repeat(3,1fr); gap:4px 12px; }
  .directions-directory a { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) { .reel-arrows button,.directions-directory summary > span { transition:none; } }
