.deb-hikes { scroll-margin-top:120px; padding:100px 0; background:var(--deb-cream) url('../images/topography.svg') repeat-y left -32px / 1945.46px auto; }
.deb-hikes__inner { max-width:1728px; margin:0 auto; padding:0 80px; visibility:visible; }
.deb-hikes__heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:31px; }
.deb-hikes .deb-hikes__heading h2 { margin:0; color:var(--deb-ink); font-size:30px; font-weight:700; line-height:1; }
.deb-hikes__controls { display:flex; align-items:center; gap:12px; }
.deb-hikes__position { white-space:nowrap; font-size:14px; line-height:20px; }
.deb-hikes .deb-hikes__region-link { display:flex; align-items:center; gap:16px; color:var(--deb-ink); text-decoration:none; }
.deb-hikes__region-label { min-width:0; }
.deb-hikes .deb-hikes__region-arrow { flex:none; width:30px; height:30px; background:var(--deb-green); mask:url('../images/hike-arrow-up-right.svg') center / contain no-repeat; -webkit-mask:url('../images/hike-arrow-up-right.svg') center / contain no-repeat; transition:transform .2s; }
.deb-hikes .deb-hikes__region-link:hover, .deb-hikes .deb-hikes__region-link:focus-visible { color:var(--deb-green); text-decoration:underline; text-underline-offset:3px; }
.deb-hikes .deb-hikes__region-link:hover .deb-hikes__region-arrow { transform:rotate(45deg); }
.deb-region-hikes { padding-top:100px; background:var(--deb-cream); scroll-margin-top:120px; }
.deb-region-hikes:focus { outline:none; }
.deb-region-hikes > .deb-hikes { padding-block:0 50px; background:none; }
.deb-region-hikes > .deb-advertisement.wp-block-group { margin-bottom:100px; }
.deb-region-hikes > .deb-advertisement.wp-block-group:last-child { margin-bottom:0; }
.deb-region-hikes__pagination { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px; padding:0 16px 50px; }
.deb-region-hikes__pagination .page-numbers { display:grid; place-items:center; width:44px; height:44px; min-width:44px; min-height:44px; margin:0; padding:6px; border:0; box-sizing:border-box; border-radius:5px; background:#fff; color:var(--deb-ink); font:inherit; line-height:1; text-align:center; text-decoration:none; }
.deb-region-hikes__pagination .page-numbers > span { min-width:0; margin:0; padding:0; border:0; border-radius:0; background:none; color:inherit; font:inherit; line-height:inherit; box-sizing:border-box; }
.deb-region-hikes__pagination .current, .deb-region-hikes__pagination a:hover { background:var(--deb-green); color:#fff; }
.deb-region-hikes__pagination a:focus-visible, .deb-hikes__region-link:focus-visible { outline:2px solid var(--deb-green); outline-offset:3px; }
.deb-region-hikes__editor-note { padding:0 27px 50px; text-align:center; }
.deb-hikes .splide__toggle { display:none; flex:none; place-items:center; width:44px; height:44px; padding:0; border:1px solid var(--deb-green); border-radius:50%; color:var(--deb-green); background:transparent; cursor:pointer; }
.deb-hikes .is-initialized .splide__toggle { display:grid; }
.deb-hikes .splide__toggle__play { width:0; height:0; margin-left:3px; border-top:7px solid transparent; border-bottom:7px solid transparent; border-left:10px solid currentColor; }
.deb-hikes .splide__toggle__pause { width:12px; height:14px; border-left:4px solid currentColor; border-right:4px solid currentColor; }
.deb-hikes .splide__toggle:hover, .deb-hikes .splide__toggle:focus-visible { color:#fff; background:var(--deb-green); }
.deb-hikes .splide__toggle:focus-visible { outline:2px solid var(--deb-ink); outline-offset:2px; }
.deb-hike-sections.wp-block-group { margin:0; padding:100px 0; background:var(--deb-cream) url('../images/topography.svg') repeat-y left -32px / 1945.46px auto; }
.deb-hike-sections .deb-hikes { padding-block:0; background:none; }
.deb-hike-sections .deb-hikes + .deb-hikes,
.deb-hike-sections [data-type^="acf/deb-"] + [data-type^="acf/deb-"] { margin-top:50px; }
.deb-hikes__arrows { display:none; flex:none; gap:0; height:30px; align-items:center; }
.deb-hikes .is-initialized .deb-hikes__arrows { display:flex; }
.deb-hikes .splide__arrow { display:grid; place-items:center; width:40px; height:44px; padding:0; border:0; border-radius:50%; background:none; cursor:pointer; }
.deb-hikes .splide__arrow img { width:30px; height:30px; border-radius:50%; transition:scale .2s ease, filter .2s ease, box-shadow .2s ease; }
.deb-hikes .splide__arrow:not(:disabled):hover img, .deb-hikes .splide__arrow:not(:disabled):focus-visible img { scale:1.12; filter:brightness(.8); box-shadow:0 0 0 3px rgb(92 121 28 / .18); }
.deb-hikes .splide__arrow--prev img { transform:rotate(180deg); }
.deb-hikes .splide__arrow:disabled { opacity:.35; cursor:default; }
.deb-hikes .splide__arrow:focus-visible,  .deb-hikes .splide__pagination__page:focus-visible { outline:2px solid var(--deb-ink); outline-offset:2px; }
.deb-hikes .splide__list { margin:0; padding:0; list-style:none; }
.deb-hikes .splide__slide { min-width:0; display:flex; }
.deb-hikes__inner:not(.is-active) .splide__list { display:flex; gap:32px; overflow-x:auto; scroll-snap-type:x mandatory; }
.deb-hikes__inner:not(.is-active) .splide__slide { flex:0 0 calc((100% - 96px)/4); scroll-snap-align:start; }
.deb-hikes .deb-hike-card { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:auto minmax(0,1fr) auto; width:100%; margin:0; height:487px; min-height:0; align-self:start; padding:16px; border-radius:15px; overflow:hidden; color:#fff; background:var(--deb-green); font-size:14px; line-height:1.25; text-decoration:none; }
.deb-hikes .deb-hike-card__link, .deb-hikes .deb-hike-card__link:hover { color:#fff; text-decoration:none; }
.deb-hikes .deb-hike-card__link::after { content:''; position:absolute; inset:0; z-index:1; }
.deb-hikes .deb-hike-card__link:focus-visible { outline:0; }
/* Follow the caption height; extend past the card padding and clip at its edges. */
.deb-hikes .deb-hike-card::after { content:''; grid-area:3 / 1; z-index:-1; margin:-72px -32px -32px; background:linear-gradient(to bottom,rgba(0,0,0,0),rgba(0,0,0,.68) 72px,rgba(0,0,0,.9) calc(100% - 32px)); transition:opacity .2s; }
.deb-hikes .deb-hike-card__photo { position:absolute; z-index:-2; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; transition:opacity .2s; }
.deb-hikes .deb-hike-card--no-photo::after, .deb-hikes .deb-hike-card:hover::after, .deb-hikes .deb-hike-card:hover .deb-hike-card__photo, .deb-hikes .deb-hike-card:focus-within::after, .deb-hikes .deb-hike-card:focus-within .deb-hike-card__photo { opacity:0; }
.deb-hikes .deb-hike-card:focus-within { outline:3px solid var(--deb-ink); outline-offset:-3px; }
.deb-hikes .deb-hike-card__top { grid-area:1 / 1; display:flex; justify-content:space-between; align-items:flex-start; gap:10px; min-height:35px; padding-bottom:8px; }
.deb-hikes .deb-hike-card__region { position:relative; z-index:2; padding:7px 12px; border-radius:10px; background:var(--deb-green); overflow-wrap:anywhere; max-height:49px; overflow:hidden; }
.deb-hikes .deb-hike-card:hover a.deb-hike-card__region, .deb-hikes .deb-hike-card:focus-within a.deb-hike-card__region { background:#fff; color:var(--deb-ink); }
.deb-hikes .deb-hike-card__heart { position:relative; z-index:2; width:35px; height:35px; flex:none; margin-left:auto; }
.deb-hikes a.deb-hike-card__heart { display:block; border-radius:50%; }
.deb-hikes a.deb-hike-card__heart::before { content:''; position:absolute; inset:-5px; }
.deb-hikes .deb-hike-card__heart img { width:35px; height:35px; transition:transform .2s; }
.deb-hikes a.deb-hike-card__heart:hover img, .deb-hikes a.deb-hike-card__heart:focus-visible img { transform:scale(1.1); }
.deb-hikes .deb-hike-card__discover { grid-area:2 / 1; display:grid; place-items:center; padding:16px 0; text-align:center; }
.deb-hikes .deb-hike-card__discover > span { padding:6px 10px; border:1px solid #fff; border-radius:10px; font-size:14px; line-height:18px; font-weight:500; opacity:0; transition:opacity .2s; }
.deb-hikes .deb-hike-card:hover .deb-hike-card__discover > span, .deb-hikes .deb-hike-card:focus-within .deb-hike-card__discover > span { opacity:1; }
.deb-hikes .deb-hike-card__body { grid-area:3 / 1; margin:0; }
.deb-hikes .deb-hike-card__stats { display:flex; justify-content:space-between; align-items:flex-start; gap:6px; padding:8px 0; border-block:1px solid rgba(255,255,255,.75); font-size:12px; }
.deb-hikes .deb-hike-card__stats > span { position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; gap:3px; text-align:center; min-width:0; }
.deb-hikes .deb-hike-card__stats > span > img { height:18px; width:auto; max-width:27px; object-fit:contain; }
.deb-hikes .deb-hike-card__difficulty { display:block; position:relative; width:18px; height:18px; flex:none; filter:drop-shadow(1px 0 #fff) drop-shadow(-1px 0 #fff) drop-shadow(0 1px #fff) drop-shadow(0 -1px #fff); }
.deb-hikes .deb-hike-card__difficulty::after { content:''; position:absolute; inset:1px; background:var(--deb-level-color); mask:var(--deb-level-icon) center / contain no-repeat; -webkit-mask:var(--deb-level-icon) center / contain no-repeat; }
.deb-hikes .deb-hike-card h3 { min-height:0; height:44px; margin:8px 0; font-family:inherit; font-size:18px; line-height:22px; font-weight:700; color:inherit; overflow-wrap:anywhere; }
.deb-hikes .deb-hike-card h3, .deb-hikes .deb-hike-card__park { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.deb-hikes .deb-hike-card__park { height:36px; min-height:0; margin:0 0 7px; font-size:14px; line-height:18px; }
.deb-hikes .deb-hike-card__rating { position:relative; z-index:2; display:flex; gap:4px; width:max-content; margin:0 0 7px; }
.deb-hikes .deb-hike-card__star { position:relative; display:block; width:18px; height:18px; background:url('../images/hike-star-empty.svg') center / 18px 18px no-repeat; }
.deb-hikes .deb-hike-card__star > span { display:block; height:100%; background:url('../images/hike-star.svg') left center / 18px 18px no-repeat; }
.deb-hikes .deb-hike-card__bottom { display:flex; justify-content:flex-end; padding-top:8px; border-top:1px solid rgba(255,255,255,.75); }
.deb-hikes .deb-hike-card__bottom img { width:25px; height:25px; transition:transform .2s; }
.deb-hikes .deb-hike-card:hover .deb-hike-card__bottom img { transform:rotate(45deg); }
.deb-hikes .splide__pagination { display:flex; flex-wrap:wrap; gap:0; padding:0; margin:13px 0 0; }
.deb-hikes .splide__pagination__page { display:grid; place-items:center; width:30px; height:30px; padding:0; border:0; background:none; cursor:pointer; }
.deb-hikes .splide__pagination__page::after { content:''; display:block; width:15px; height:15px; border:1px solid var(--deb-green); border-radius:50%; }
.deb-hikes .splide__pagination__page.is-active::after { background:var(--deb-green); }
@media (max-width:1199px) {
	.deb-hikes__inner { padding-inline:32px; }
	.deb-hikes__inner:not(.is-active) .splide__slide { flex-basis:calc((100% - 32px)/2); }
}
@media (max-width:767px) {
	.deb-region-hikes { padding-top:50px; background-image:url('../images/topography.svg'); background-size:1945.46px auto; background-position:left top; background-repeat:repeat-y; }
	.deb-region-hikes > .deb-advertisement.wp-block-group { margin-bottom:50px; }
	.deb-region-hikes .deb-hikes__heading { margin-inline:16px; justify-content:flex-start; }
	.deb-region-hikes .deb-hikes .deb-hikes__heading h2 { width:100%; max-width:none; text-align:left; }
	.deb-region-hikes .deb-hikes__controls:not(:has(.splide__toggle)) { display:none; }
	.deb-region-hikes .deb-hikes__region-link { justify-content:space-between; gap:20px; }
	.deb-hikes__region-name { display:block; }
	.deb-hikes__controls:empty { display:none; }
	.deb-hike-sections.wp-block-group { padding-block:50px; background-position:left top; background-size:1945.46px auto; }
	.deb-hikes__controls:has(.splide__toggle) { justify-content:center; }
	.deb-hikes__heading:has(.splide__toggle) { flex-wrap:wrap; gap:12px; }
	.deb-hikes__heading:has(.splide__toggle) h2 { flex-basis:100%; }
	.deb-hikes { padding-block:50px; background-position:left top; background-size:1945.46px auto; }
	.deb-hikes__inner { padding:0; }
	.deb-hikes__heading { justify-content:center; margin:0 27px 30px; }
	.deb-hikes .deb-hikes__heading h2 { max-width:237px; font-size:25px; line-height:30px; text-align:center; }
	.deb-hikes .is-initialized .deb-hikes__arrows { display:none; }
	.deb-hikes .deb-hike-card { height:400px; }
	.deb-hikes__inner:not(.is-active) .splide__list { padding-inline:10%; gap:12px; }
	.deb-hikes__inner:not(.is-active) .splide__slide { flex-basis:80vw; }
}
@media (prefers-reduced-motion:reduce) {
	.deb-hikes .deb-hikes__region-arrow { transition:none; }
	.deb-hikes .deb-hikes__region-link:hover .deb-hikes__region-arrow { transform:none; }
	.deb-hikes .deb-hike-card::after, .deb-hikes .deb-hike-card__photo, .deb-hikes .deb-hike-card__bottom img, .deb-hikes .deb-hike-card__discover > span { transition:none; }
	.deb-hikes .splide__arrow img, .deb-hikes .deb-hike-card__heart img { transition:none; }
	.deb-hikes .splide__arrow:not(:disabled):hover img, .deb-hikes .splide__arrow:not(:disabled):focus-visible img { scale:1; }
	.deb-hikes .deb-hike-card__heart:hover img, .deb-hikes .deb-hike-card__heart:focus-visible img { transform:none; }
}

/* The related section uses the same cards on the single artboard’s white panel. */
.deb-hikes--suggested { background:#fff; }
.deb-hikes--suggested .is-initialized:not(.is-overflow) .deb-hikes__controls,
.deb-hikes--suggested .is-initialized:not(.is-overflow) .splide__pagination { display:none; }
@media (max-width:767px) {
	.deb-hikes--suggested .deb-hikes__heading h2 { max-width:348px; }
}

/* A touch must keep the photo visible instead of leaving a sticky hover. */
@media (hover:none), (pointer:coarse) {
	.deb-hikes .deb-hike-card:hover::after, .deb-hikes .deb-hike-card:focus-within::after, .deb-hikes .deb-hike-card:hover .deb-hike-card__photo, .deb-hikes .deb-hike-card:focus-within .deb-hike-card__photo { opacity:1; }
	.deb-hikes .deb-hike-card--no-photo::after { opacity:0; }
}
