.salon-name{color:var(--rose);line-height:1.5}
.salon-identity{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left}
.salon-identity>.salon-name{flex:1;min-width:0;font-size:18px;font-weight:700;line-height:1.5}
.salon-brand-name{font-size:12px;font-weight:500;letter-spacing:.08em}
.salon-branch-name{display:block}
.salon-phone{display:flex;flex:none;flex-direction:column;align-items:center;justify-content:center;width:224px;max-width:100%;min-height:100px;padding:12px 18px;border:1px solid #dabfc9;border-radius:14px;background:#fff9fb;color:var(--rose);font-family:Arial,'Yu Gothic',sans-serif;text-decoration:none}
.salon-phone:hover{background:#f8eaf0;border-color:var(--rose)}.salon-phone:focus-visible{outline:3px solid var(--rose);outline-offset:3px}
.salon-phone-action{font-size:18px;font-weight:500;line-height:1.5;letter-spacing:.02em}
.salon-phone-number{font-size:26px;font-weight:700;line-height:1.5;white-space:nowrap;font-variant-numeric:tabular-nums}
.nail-store-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.nail-store-banner>div{display:contents}.nail-store-banner>div>small{grid-column:1;grid-row:1}
.nail-store-banner>div>strong{grid-column:1/-1;grid-row:2}
.nail-store-banner>button{grid-column:2;grid-row:1;max-width:none!important}
.salon-mini-map{position:relative;width:100%;margin:12px 0 14px;border:1px solid #e2d5d9;border-radius:9px;overflow:hidden;background:#f3efec}
.salon-mini-map iframe{display:block;width:100%;height:200px;border:0}
.salon-mini-map .salon-map-status{position:absolute;inset:0 0 auto;height:200px;display:grid;place-items:center;pointer-events:none;font-size:13px;color:var(--muted);z-index:0}.salon-mini-map iframe{position:relative;z-index:1}
.salon-map-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 8px;padding:2px 10px;background:#fff;font:12px/1.5 'Yu Gothic',sans-serif}
.salon-map-tools button,.salon-map-tools a{font:inherit;color:var(--rose);min-height:40px;display:inline-flex;align-items:center;background:none;border:0;padding:6px 0;margin:0;text-decoration:underline;text-underline-offset:3px}
.nail-location-map{margin:-6px 0 24px}.nail-location-map .salon-mini-map{margin:0}
.salon-address{font-size:12px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}
.eye-store-card,.nail-store-grid .nail-store-card{border:1px solid #dfc9d2;border-radius:12px;padding:18px;background:white;text-align:left}
.eye-store-card.is-selected{border:2px solid var(--rose);padding:17px;background:#f8eef2}
.eye-store-card h3,.nail-store-card h2{font-size:19px;margin:7px 0 10px}
.eye-store-card .eye-store-button,.nail-store-card button[data-nail-store]{display:block;width:100%;min-height:44px;margin-top:14px;padding:10px 12px;text-align:center;border:1px solid #ba91a1;border-radius:7px;background:#fff9fb;color:var(--rose);font:inherit;font-size:14px}
.eye-store-card .eye-store-button[aria-pressed=true]{background:var(--rose);color:white;padding:10px 12px;border:1px solid var(--rose)}
.nail-store-banner>div{min-width:0}.nail-store-banner .salon-name{font-size:19px}.nail-store-banner>button{flex-shrink:0;max-width:38%}
/* The price message belongs inside the booking button, not a separate banner. */
.official-button-price{display:block;font-size:12px;font-weight:700;line-height:1.4;letter-spacing:.14em;margin:0 0 4px}
.official-button-label{display:block;line-height:1.55}
/* More specific than the nail grid's generic span rules. Keep the call on the right at every width. */
body .salon-identity{display:grid;grid-template-columns:minmax(0,1fr) minmax(128px,48%);align-items:center;gap:12px;container-type:inline-size}
body .salon-identity .salon-name{display:block;min-width:0;font-size:18px;overflow-wrap:anywhere}
body .salon-identity .salon-brand-name{display:block;font-size:13px;font-weight:500;line-height:1.6}
body .salon-identity .salon-branch-name{display:block;font-size:inherit;line-height:1.5}
body .salon-identity .salon-phone{grid-column:2;grid-row:1;justify-self:end;width:100%;max-width:224px;min-height:100px;padding:12px 8px}
body .salon-identity .salon-phone-action{font-size:17px;line-height:1.6}
body .salon-identity .salon-phone-number{font-size:16px;font-size:clamp(16px,4.9cqw,23px);font-weight:700;line-height:1.6;letter-spacing:0;white-space:nowrap}
@media(max-width:420px){body .salon-identity{gap:8px}body .salon-identity .salon-name{font-size:16px}body .salon-identity .salon-phone{min-height:92px}body .salon-identity .salon-phone-action{font-size:15px}body .salon-identity .salon-phone-number{font-size:16px}}
