/* NHA v3.1 interaction, package-layout and editorial refinements. */
.nha-home-carousel { position: relative; }
.nha-carousel__controls { display: flex; align-items: center; justify-content: flex-end; gap: .65rem; margin: 0 0 1rem; }
.nha-carousel__controls > button { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; padding: 0; border: 1px solid var(--nha-border); border-radius: 50%; color: var(--nha-forest-950); background: var(--nha-white); cursor: pointer; font-size: 1.1rem; }
.nha-carousel__controls > button:hover,
.nha-carousel__controls > button:focus-visible { color: var(--nha-white); background: var(--nha-forest-900); }
.nha-carousel__dots { display: flex; align-items: center; gap: .4rem; }
.nha-carousel__dots button { width: .55rem; height: .55rem; padding: 0; border: 0; border-radius: 50%; background: color-mix(in srgb, var(--nha-forest-900) 25%, transparent); cursor: pointer; }
.nha-carousel__dots button.is-active { background: var(--nha-rhododendron); }
.nha-home-carousel.is-static .nha-carousel__controls { display: none; }
.nha-carousel__track,
.nha-videos__grid.nha-carousel__track { display: grid !important; grid-template-columns: none !important; grid-auto-flow: column; grid-auto-columns: calc((100% - 3rem) / 3); gap: 1.5rem; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; scroll-behavior: smooth; scrollbar-width: none; }
.nha-carousel__track::-webkit-scrollbar { display: none; }
.nha-carousel__track > * { min-width: 0; scroll-snap-align: start; }
.nha-videos__grid.nha-carousel__track .nha-video-card { display: block; grid-row: auto; }
.nha-videos__grid.nha-carousel__track .nha-video-card__body { padding-top: 1.15rem; }
.nha-videos__grid.nha-carousel__track .nha-video-card h3 { font-size: 1.6rem; }

.nha-archive-featured { margin: 0 0 3rem; padding: 2rem 0 3rem; border-bottom: 1px solid var(--nha-border); }
.nha-archive-featured > header { margin-bottom: 1.5rem; }
.nha-archive-featured h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.25rem); }
.nha-archive-featured + .nha-catalogue-filters { margin-top: 0; }

.nha-content-trip .nha-quickfacts { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.nha-content-trip .nha-single__layout { grid-template-columns: minmax(0, 3fr) minmax(17rem, 1fr); gap: clamp(2rem, 4vw, 4rem); }
.nha-content-trip .nha-single__sidebar { top: 7rem; }
.nha-content-trip .nha-detail-section { margin-top: clamp(2.4rem, 4vw, 3.25rem); padding-top: clamp(1.4rem, 2.5vw, 2rem); }
.nha-content-trip .nha-detail-section h2 { margin-bottom: 1.25rem; }
.nha-content-trip .nha-detail-section > :last-child { margin-bottom: 0; }
.nha-content-trip .nha-prose > *:empty { display: none; }
.nha-route-map a { display: block; }
.nha-route-map figcaption a { display: inline; font-weight: 700; }

.nha-callout,
.is-style-nha-travel-tip,
.is-style-nha-important,
.is-style-nha-safety-warning,
.is-style-nha-local-insight,
.is-style-nha-editors-note { margin: 1.5rem 0; padding: 1.35rem 1.5rem; border-left: .28rem solid var(--nha-forest-700); background: #edf3ef; }
.nha-callout--warning,
.is-style-nha-safety-warning { border-left-color: var(--nha-rhododendron); background: #fff2f2; }
.nha-callout--important,
.is-style-nha-important { border-left-color: var(--nha-saffron); background: #fff8e8; }
.nha-callout__label,
.nha-callout > strong:first-child { display: block; margin-bottom: .55rem; color: var(--nha-forest-800); font: 750 .74rem/1.3 var(--nha-sans); letter-spacing: .1em; text-transform: uppercase; }
.nha-callout p:last-child { margin-bottom: 0; }
.is-style-nha-featured-quotation { margin: 2rem 0; padding: 2rem 2.25rem; border: 0; border-left: .28rem solid var(--nha-forest-700); background: #e5eee9; font: 500 clamp(1.45rem, 3vw, 2rem)/1.42 var(--nha-serif); }
.is-style-nha-featured-quotation cite { display: block; margin-top: 1rem; font: 700 .75rem/1.4 var(--nha-sans); letter-spacing: .08em; text-transform: uppercase; }

@media (max-width: 68rem) {
	.nha-carousel__track,
	.nha-videos__grid.nha-carousel__track { grid-auto-columns: calc((100% - 1.5rem) / 2); }
	.nha-content-trip .nha-quickfacts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.nha-content-trip .nha-single__layout { grid-template-columns: minmax(0, 1fr) minmax(16rem, 19rem); gap: 2rem; }
}

@media (max-width: 48rem) {
	.nha-carousel__track,
	.nha-videos__grid.nha-carousel__track { grid-auto-columns: 100%; }
	.nha-carousel__controls { justify-content: space-between; }
	.nha-content-trip .nha-quickfacts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nha-content-trip .nha-single__layout { grid-template-columns: minmax(0, 1fr); }
	.nha-content-trip .nha-detail-section { margin-top: 2rem; padding-top: 1.25rem; }
	.nha-callout,
	.is-style-nha-travel-tip,
	.is-style-nha-important,
	.is-style-nha-safety-warning,
	.is-style-nha-local-insight,
	.is-style-nha-editors-note { padding: 1.1rem 1.15rem; }
}

@media (prefers-reduced-motion: reduce) {
	.nha-carousel__track { scroll-behavior: auto; }
}
