.salon-gallery{display:block;column-count:4;column-gap:22px}
.salon-gallery .gallery-item{display:inline-block;vertical-align:top;width:100%;padding:0;margin:0 0 22px;break-inside:avoid;text-align:left}
.salon-gallery .gallery-item img{display:block;width:100%;height:auto;border-radius:4px;background:#e9dbd0}
.salon-gallery .gallery-item>span{display:flex;align-items:baseline;gap:10px;padding:11px 0 0;font-size:11px;line-height:1.5}
.salon-gallery .gallery-item>span small{color:#8f7669;font-size:9px;letter-spacing:1px;flex-shrink:0}
.salon-gallery .gallery-item>span b{margin-left:auto;flex-shrink:0}
.gallery-footer .gallery-count{font-size:11px}
.gallery-toggle{border:1px solid #bba294;background:none;padding:12px 17px;font-size:11px;display:inline-flex;justify-content:space-between;align-items:center;gap:25px}
.gallery-toggle:hover{background:#eee2d9}
.gallery-toggle span[aria-hidden]{font-size:17px;line-height:1}
.photo-dialog.photo-browser{width:min(940px,calc(100vw - 40px));max-width:calc(100vw - 40px);max-height:92vh;max-height:92dvh;padding:0;overflow-y:auto;border-radius:5px}
.photo-browser-toolbar{position:relative;padding:20px 24px;background:#f7f3ed;min-height:67px}
.photo-browser-toolbar .eyebrow{margin:0;line-height:27px;font-size:10px;letter-spacing:1.7px}
.photo-browser-toolbar .close-dialog{top:15px;right:17px;border:1px solid #d2c2b5;width:38px;height:38px}
.photo-viewer{position:relative;background:#302a27;padding:14px 58px;touch-action:pan-y}
.photo-image-stage{position:relative;min-height:220px;display:flex;align-items:center;justify-content:center}
.photo-browser #full-photo{display:block;width:100%;height:min(66vh,670px);height:min(66dvh,670px);object-fit:contain;background:#302a27}
.photo-browser #full-photo.is-loading{opacity:0}
.photo-message{position:absolute;left:15px;right:15px;top:50%;transform:translateY(-50%);text-align:center;font-size:13px;color:#f7f3ed;line-height:1.8;margin:0}
.photo-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:52px;border:1px solid #8c7b71;border-radius:3px;background:#302a27;color:#fffaf5;font-family:Georgia,serif;font-size:38px;line-height:1;padding:0 0 5px}
.photo-nav:hover{background:#81465a;border-color:#b68890}
.photo-prev{left:7px}.photo-next{right:7px}
.photo-browser-footer{display:flex;align-items:center;justify-content:flex-end;gap:24px;padding:18px 24px}
.photo-counter{color:#8a655a;font-size:11px;letter-spacing:1.3px;white-space:nowrap;font-variant-numeric:tabular-nums}
.gallery-tip{font-size:10px;color:#74665c;margin:0 0 22px}
@media(max-width:1050px){.salon-gallery{column-count:3;column-gap:18px}.salon-gallery .gallery-item{margin-bottom:20px}.gallery-footer{flex-wrap:wrap}}
@media(max-width:740px){.salon-gallery{column-count:2;column-gap:14px}.salon-gallery .gallery-item{margin-bottom:20px}.salon-gallery .gallery-item>span{font-size:10px;gap:7px}.salon-gallery .gallery-item>span small{font-size:8px}.gallery-footer{align-items:stretch;gap:18px}.gallery-toggle{padding:14px 17px;justify-content:space-between}.gallery-footer .text-link{align-self:flex-start}.photo-dialog.photo-browser{width:calc(100vw - 24px);max-width:calc(100vw - 24px)}.photo-browser-toolbar{padding:17px 18px;min-height:61px}.photo-browser-toolbar .eyebrow{font-size:9px;line-height:27px}.photo-browser-toolbar .close-dialog{top:12px;right:12px}.photo-viewer{padding:10px 6px}.photo-browser #full-photo{height:65vh;height:65dvh}.photo-nav{width:38px;height:46px;background:rgba(48,42,39,.88);font-size:32px;border-color:#b39b89}.photo-prev{left:7px}.photo-next{right:7px}.photo-browser-footer{padding:16px 18px;gap:15px}.photo-counter{font-size:10px}}
@media(prefers-reduced-motion:reduce){.salon-gallery .gallery-item{transition:none}.salon-gallery .gallery-item:hover{transform:none}}
