.gallery-entry{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;max-width:480px;margin:32px auto 0;padding:20px 22px;border:1px solid #dce5d5;border-radius:23px;background:linear-gradient(115deg,#fff 25%,#f0f4e9);color:var(--ink);text-align:left;box-shadow:0 8px 20px -20px #264f3933}.gallery-entry+.availability-entry{margin-top:14px}.gallery-entry strong{display:block;font-size:20px;font-weight:500;letter-spacing:-.035em}.gallery-entry small{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:5px}.gallery-entry-photos{display:flex;padding-right:2px;flex-shrink:0}.gallery-entry-photos img{width:43px;height:57px;object-fit:cover;border:3px solid white;border-radius:9px;box-shadow:0 3px 7px #17382d13}.gallery-entry-photos img+img{margin-left:-17px}.gallery-entry-photos img:first-child{rotate:-7deg}.gallery-entry-photos img:last-child{rotate:7deg}
.gallery-dialog{position:fixed;inset:0;width:min(520px,calc(100vw - 36px));max-width:none;max-height:calc(100dvh - 40px);margin:auto;padding:0;border:1px solid #e0e7d9;border-radius:28px;background:#fff;color:var(--ink);box-shadow:0 30px 90px -25px #17382d44;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#dce3d6 transparent}.gallery-dialog::backdrop{background:#17332b38;backdrop-filter:blur(5px)}.gallery-dialog[open]{animation:gallery-in .24s ease-out both}.gallery-dialog.gallery-leaving[open]{animation:gallery-out .16s ease-in both}@keyframes gallery-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes gallery-out{to{opacity:0}}
.gallery-header{display:flex;align-items:center;gap:13px;position:sticky;top:0;z-index:3;background:#fff;padding:18px 22px 14px}.gallery-header h2{font-size:21px;font-weight:500;letter-spacing:-.035em;margin:0}.gallery-back{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border:1px solid #e0e6d9;border-radius:50%;background:#f0f4e9;color:var(--ink)}.gallery-back svg{width:21px;height:21px}.gallery-count{margin-left:auto;font-size:11px;color:#8a9680;white-space:nowrap;font-variant-numeric:tabular-nums}.gallery-overview{padding:8px 22px 22px}.gallery-intro{padding:9px 0 21px}.gallery-intro>span{font-size:9px;letter-spacing:.16em;color:#8a997d}.gallery-intro p{font-size:22px;letter-spacing:-.035em;font-weight:400;line-height:1.3;margin:9px 0 0;max-width:250px}.gallery-grid{display:grid;align-items:start;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.gallery-card{display:block;min-width:0;padding:0;border:0;background:none;color:var(--ink);text-align:left;transform:none!important}.gallery-card:first-child{grid-column:1/-1}.gallery-image-wrap{position:relative;display:grid;place-items:center;aspect-ratio:4/5;overflow:hidden;border-radius:15px;background:#eef2e8}.gallery-card:first-child .gallery-image-wrap{aspect-ratio:16/10}.gallery-image-wrap img{width:100%;height:100%;object-fit:cover;transition:scale .45s cubic-bezier(.2,.7,.2,1)}.gallery-card:first-child img{object-position:center 45%}.gallery-card-caption{display:block;margin:10px 2px 0;font-size:13px;line-height:1.45;letter-spacing:-.01em}.gallery-card:first-child .gallery-card-caption{font-size:15px}.gallery-card:last-child{grid-column:1/-1}.gallery-card:last-child .gallery-image-wrap{aspect-ratio:16/9}.gallery-image-fallback{font-size:12px;color:#7a886e}.gallery-credits{border-top:1px solid #e6ecdf;margin-top:26px;padding-top:16px;color:#87937d;font-size:11px;line-height:1.6}.gallery-credits summary{cursor:pointer;min-height:28px}.gallery-credits ul{columns:2;padding-left:15px}.gallery-credits a{color:#617b52;text-underline-offset:3px}
.gallery-dialog{overflow-anchor:none}.gallery-card.is-expanded{grid-column:1/-1}.gallery-card.is-expanded .gallery-image-wrap{aspect-ratio:var(--photo-ratio,4/5);height:auto;max-height:min(60dvh,520px)}.gallery-card.is-expanded img{object-fit:contain;object-position:center;scale:1}.gallery-image-wrap,.gallery-card-caption,.gallery-credits{transform-origin:top left}.gallery-dialog [hidden]{display:none!important}
@media(hover:hover){.gallery-card:hover img{scale:1.035}.gallery-entry:hover{border-color:#b9c9ac}}
@media(max-width:350px){.gallery-entry{padding:17px;gap:10px}.gallery-entry strong{font-size:19px}.gallery-entry small{font-size:11px}.gallery-entry-photos img{width:36px;height:49px}.gallery-entry-photos img+img{margin-left:-18px}.gallery-header{padding:16px 15px 12px;gap:10px}.gallery-header h2{font-size:19px}.gallery-count{font-size:10px}.gallery-overview{padding:8px 15px 20px}.gallery-grid{gap:20px 10px}.gallery-card-caption{font-size:12px}}
@media(prefers-reduced-motion:reduce){.gallery-dialog,.gallery-image-wrap img{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Match owner-side tall, centered crops; expansion reveals the natural wide image. */
.gallery-card.is-landscape:not(.is-expanded){grid-column:auto}
.gallery-card.is-landscape:not(.is-expanded) .gallery-image-wrap{aspect-ratio:4/5}
.gallery-card.is-landscape:not(.is-expanded) img{object-fit:cover;object-position:center}
