.skip-link{position:fixed;left:12px;top:-100px;z-index:10000;background:white;color:#173c34;padding:12px}.skip-link:focus{top:12px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b08e46;outline-offset:4px}.yhj-content{padding-top:70px;padding-bottom:70px}.yhj-content img{max-width:100%;height:auto}.yhj-gallery-controls{display:flex;gap:12px;margin-top:16px;align-items:center}.yhj-gallery-controls button{font:inherit;padding:10px 18px;cursor:pointer}.gallery.is-slider{display:block!important;position:relative;touch-action:pan-y}.gallery.is-slider figure{margin:0;display:none;min-height:280px}.gallery.is-slider figure.is-active{display:block}.gallery.is-slider img{width:100%;height:min(65vh,520px);object-fit:contain;background:#eee}.gallery.is-slider figcaption{background:#173c34;padding:6px 10px}.yhj-filter-empty{padding:20px}@media(max-width:760px){.nav{flex-wrap:wrap}.nav ul{flex-wrap:wrap;gap:12px}.nav .btn{padding:10px 14px}.yhj-content h1{overflow-wrap:anywhere}.gallery.is-slider img{height:360px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.nav{min-width:0}.nav ul{min-width:0;flex-wrap:wrap}.nav a{overflow-wrap:anywhere}@media(max-width:760px){.nav{align-items:flex-start}.nav ul{width:100%;padding-left:0}.nav .brand{max-width:100%}.nav .btn{max-width:100%}}

.yhj-hero-slider{position:relative;min-width:0;touch-action:pan-y}.yhj-hero-slide{display:none}.yhj-hero-slide.is-active{display:block}.yhj-hero-controls{display:flex;gap:8px;align-items:center;justify-content:center;padding:12px 0;flex-wrap:wrap}.yhj-hero-controls[hidden]{display:none}.yhj-hero-controls button{font:inherit;padding:7px 12px;background:var(--paper);border:1px solid var(--navy);cursor:pointer}.yhj-hero-controls span{font-size:.8rem}

/* Stable editorial photo frames even when WP adds intrinsic width/height attributes. */
.hero-grid > *, .head > *, .faith-grid > *, .host-grid > *, .loc-grid > *,
.split > *, .paths > *, .cards > *, .spots > * { min-width:0; }
.hero-photo { aspect-ratio:4/3; overflow:hidden; min-width:0; }
.hero-photo img { width:100%; height:100%; aspect-ratio:auto; object-fit:cover; }
.hero-photo figcaption { max-width:100%; overflow-wrap:anywhere; }
.yhj-hero-slider, .yhj-hero-slide { min-width:0; max-width:100%; }
.path figure { aspect-ratio:4/5; min-width:0; overflow:hidden; }
.path img { width:100%; height:100%; aspect-ratio:auto; object-fit:cover; }
.split figure { aspect-ratio:5/4; min-width:0; overflow:hidden; }
.split figure img { width:100%; height:100%; aspect-ratio:auto; object-fit:cover; }
.card figure { aspect-ratio:4/3; min-width:0; overflow:hidden; }
.card figure img { width:100%; height:100%; aspect-ratio:auto; object-fit:cover; }
.faith-grid > img { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.spots figure { aspect-ratio:1/1; min-width:0; overflow:hidden; }
.spots figure img { width:100%; height:100%; aspect-ratio:auto; object-fit:cover; }
.gallery figure { min-width:0; min-height:0; }
.gallery:not(.is-slider) img { width:100%; height:100%; object-fit:cover; }
/* Keep detailed room images fully visible; preserve existing slider frame heights. */
.gallery.is-slider figure { min-height:280px; }
.gallery.is-slider img { width:100%; height:min(65vh,520px); object-fit:contain; }
.yusuf-photo { min-width:0; overflow:hidden; }
.yusuf-photo img { width:100%; height:100%; object-fit:cover; }
/* Leaflet popup keeps its existing 16:10 photo shape. */
.pop img { width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; }
@media(max-width:900px) { .path figure { aspect-ratio:16/10; } }
@media(max-width:760px) { .gallery.is-slider img { height:360px; } }
