/* Scoped to the public salon directory; no change to checkout/editor layouts. */
.helen-retail .hpn-directory{max-width:1120px;margin:0 auto;color:var(--cp-tone-ink,#4e453b);padding:0 12px 28px}
.helen-retail .hpn-hero{display:grid;grid-template-columns:1.4fr 1fr;gap:44px;align-items:center;padding:34px 0}
.helen-retail .hpn-hero h1{font:clamp(32px,4.3vw,52px)/1.12 Georgia,serif;margin:12px 0 20px;max-width:620px}
.helen-retail .hpn-hero p{font-size:17px;line-height:1.7;color:var(--cp-tone-ink,#4e453b);max-width:600px}
.helen-retail .hpn-hero img{width:100%;height:280px;object-fit:cover;border-radius:140px 140px 12px 12px}
.helen-retail .hpn-search{padding:22px;background:#fff;border:1px solid var(--cp-tone-edge,#d4c7b6);border-radius:12px;margin:10px 0 25px}
.helen-retail .hpn-search label{display:block;margin:0 0 10px;font-weight:600}
.helen-retail .hpn-search>div{display:flex;gap:12px;align-items:stretch}
.helen-retail .hpn-directory input{min-width:0;flex:1;margin:0;padding:12px 14px;font-size:16px;border:1px solid var(--cp-tone-edge,#d4c7b6);border-radius:6px;background:#fff;color:var(--cp-tone-ink,#4e453b);width:auto}
.helen-retail .hpn-directory button{min-height:44px;padding:12px 18px;white-space:normal;line-height:1.4;border-radius:6px;margin:0;background:var(--cp-tone-ink,#4e453b);color:#fff;border:1px solid var(--cp-tone-ink,#4e453b)}
.helen-retail .hpn-results-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:24px 0 18px}
.helen-retail .hpn-results-head h2{font:28px/1.2 Georgia,serif;margin:0}
.helen-retail .hpn-results-head span,.helen-retail .hpn-distance{font-size:13px;color:var(--cp-tone-ink,#4e453b)}
.helen-retail .hpn-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.helen-retail .hpn-card{border:1px solid var(--cp-tone-edge,#d4c7b6);background:#fff;border-radius:12px;overflow:hidden;min-width:0;align-self:start}
.helen-retail .hpn-photo{height:180px;background:var(--cp-tone-wash,#f5f0e8);display:flex;align-items:center;justify-content:center}
.helen-retail .hpn-photo>span{font:44px Georgia,serif;color:var(--cp-tone-muted,#6f6458);letter-spacing:4px}
.helen-retail .hpn-photo img{width:100%;height:100%;object-fit:cover}
.helen-retail .hpn-copy{padding:22px;overflow-wrap:anywhere}
.helen-retail .hpn-copy h3{font-size:19px;line-height:1.35;margin:7px 0 12px}
.helen-retail .hpn-copy p{font-size:14px;color:var(--cp-tone-ink,#4e453b);margin:0 0 14px;line-height:1.65}
.helen-retail .hpn-town{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--cp-tone-ink,#4e453b)}
.helen-retail .hpn-copy details{margin-top:18px;border-top:1px solid var(--cp-tone-wash,#f5f0e8);padding-top:8px}
.helen-retail .hpn-copy summary{padding:12px 0;min-height:44px;cursor:pointer;font-size:14px}
.helen-retail .hpn-details{display:grid;gap:14px;padding:10px 0 0}
.helen-retail .hpn-details a{padding:5px 0;font-size:14px;min-height:34px}
.helen-retail .hpn-details form,.helen-retail .hpn-notice form{margin:0}
.helen-retail .hpn-details button{width:100%}
.helen-retail .hpn-notice{background:var(--cp-tone-wash,#f5f0e8);padding:18px 22px;border-radius:10px;display:flex;align-items:center;flex-wrap:wrap;gap:16px;overflow-wrap:anywhere}
.helen-retail .hpn-notice p{margin:0;flex:1 1 240px}
.helen-retail .hpn-notice a{padding:8px 0}
.helen-retail .hpn-end{border-top:1px solid var(--cp-tone-edge,#d4c7b6);margin-top:30px;padding-top:22px;color:var(--cp-tone-ink,#4e453b)}
.helen-retail .rtd-nav-tools{display:flex;flex-wrap:wrap;gap:12px 24px}
.helen-retail .hpn-nav[aria-current=page]{text-decoration:underline;text-underline-offset:5px}
@media(max-width:850px){.helen-retail .hpn-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.helen-retail .hpn-hero{gap:24px}.helen-retail .hpn-hero img{height:230px}}
@media(max-width:540px){.helen-retail .hpn-directory{padding:0 0 20px}.helen-retail .hpn-hero{display:block;padding:24px 0 14px}.helen-retail .hpn-hero img{display:none}.helen-retail .hpn-hero p{font-size:16px}.helen-retail .hpn-search{padding:16px}.helen-retail .hpn-search>div{flex-wrap:wrap}.helen-retail .hpn-directory input,.helen-retail .hpn-search button{width:100%;flex-basis:100%}.helen-retail .hpn-grid{grid-template-columns:1fr;gap:16px}.helen-retail .hpn-card{display:grid;grid-template-columns:80px minmax(0,1fr)}.helen-retail .hpn-photo{height:100%;min-height:180px}.helen-retail .hpn-photo>span{font-size:26px}.helen-retail .hpn-copy{padding:16px}.helen-retail .hpn-copy h3{font-size:18px}.helen-retail .hpn-results-head{align-items:start;flex-direction:column;gap:6px}.helen-retail .hpn-details a{min-height:44px}.helen-retail .hpn-notice{padding:16px}}

.rt-salon-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px}.rt-salon-actions a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid #b6a998;border-radius:10px;color:#514539;background:#fff;text-decoration:none}.rt-salon-actions button{min-height:44px}

/* Compact salon identity on phones; full address and disclosure keep their width. */
.helen-retail .hpn-photo img.hpn-illustration{object-fit:contain;width:140px;height:140px;padding:12px;box-sizing:border-box}
.helen-retail .hpn-details img.hpn-full-photo{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;border-radius:8px;background:var(--cp-tone-wash,#f5f0e8)}
.helen-retail .hpn-photo img[src$="esthe-tiff.webp"]{object-position:50% 62%}
@media(max-width:540px){
 .helen-retail .hpn-card{grid-template-columns:90px minmax(0,1fr);gap:14px;padding:16px}
 .helen-retail .hpn-photo{grid-column:1;grid-row:1;width:90px;height:90px;min-height:0;border-radius:10px;overflow:hidden}
 .helen-retail .hpn-photo img.hpn-illustration{width:90px;height:90px;padding:8px}
 .helen-retail .hpn-copy{display:contents}
 .helen-retail .hpn-heading{grid-column:2;grid-row:1;align-self:center;min-width:0;overflow-wrap:anywhere}
 .helen-retail .hpn-heading h3{margin:6px 0 0}
 .helen-retail .hpn-copy .hpn-address{grid-column:1/-1;margin:0;overflow-wrap:anywhere}
 .helen-retail .hpn-copy>small,.helen-retail .hpn-copy>details{grid-column:1/-1;min-width:0;margin:0}
 .helen-retail .hpn-copy summary{box-sizing:border-box;border:1px solid var(--cp-tone-edge,#d4c7b6);border-radius:8px;padding:12px;line-height:1.4}
 .helen-retail .hpn-copy>details{border:0;padding:0}
}
/* Photo enlargement is independent of the salon information. */
.helen-retail .hpn-directory .hpn-photo-open{position:relative;display:block;width:100%;height:100%;min-height:0;padding:0;margin:0;border:0;border-radius:inherit;overflow:hidden;background:transparent;color:#514539;cursor:zoom-in}
.helen-retail .hpn-photo-open>img{display:block}
.helen-retail .hpn-zoom{position:absolute;right:5px;bottom:5px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#fff;box-shadow:0 1px 5px #0003}
.helen-retail .hpn-zoom svg{width:14px;height:14px}
.helen-retail .hpn-details a.hpn-contact{display:flex;align-items:center;gap:10px;padding:11px 14px;min-height:44px;box-sizing:border-box;background:#fff;border:1px solid var(--cp-tone-edge,#d4c7b6);border-radius:8px;color:var(--cp-tone-ink,#4e453b);text-decoration:none}
.helen-retail .hpn-contact svg{width:21px;height:21px;flex:none}
.helen-retail .hpn-photo-dialog{padding:12px;border:0;border-radius:12px;width:min(820px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);box-sizing:border-box;background:#fff;color:#514539;overflow:auto}
.helen-retail .hpn-photo-dialog::backdrop{background:rgb(0 0 0 / .72)}
.helen-retail .hpn-photo-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.helen-retail .hpn-photo-toolbar p{margin:0;font-size:16px;font-weight:600;overflow-wrap:anywhere}
.helen-retail .hpn-directory .hpn-photo-close{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:10px;background:#fff;color:#514539;border:1px solid #d4c7b6;border-radius:50%}
.helen-retail .hpn-photo-close svg{width:22px;height:22px}
.helen-retail .hpn-photo-large{display:block;width:100%;height:auto;max-height:calc(100dvh - 120px);object-fit:contain}
.helen-retail .hpn-photo-open:focus-visible,.helen-retail .hpn-contact:focus-visible{outline:3px solid #514539;outline-offset:3px}
