/* Contact directory + footer alignment refinements. */
.public-contact-directory{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(24px,3.2vw,54px);
  margin:0 0 clamp(38px,4.8vw,70px);
}

.public-contact-route{
  min-width:0;
  padding:18px 2px 4px;
  border-top:1px solid var(--line);
}

.public-contact-route-number{
  margin-bottom:26px;
  color:var(--muted);
  font:400 10px/1 Inter,sans-serif;
  letter-spacing:.16em;
}

.public-contact-route h2{
  margin:0 0 18px;
  font-size:clamp(27px,1.65vw,36px);
  font-weight:400;
  line-height:1.02;
  letter-spacing:-.035em;
}

.public-contact-route p,
.public-contact-route address,
.public-contact-hours,
.public-contact-direct-links{
  margin:0;
  color:color-mix(in srgb,var(--ink) 67%,transparent);
  font:400 15px/1.65 Inter,sans-serif;
}

.public-contact-route address{
  margin-top:18px;
  font-style:normal;
}

.public-contact-person{
  display:block;
  margin-bottom:14px;
  font:400 18px/1.35 var(--display-font);
}

.public-contact-director-scope{
  max-width:390px;
  margin:0 0 2px!important;
  color:var(--muted)!important;
  font-size:14px!important;
  line-height:1.55!important;
}

.public-contact-link,
.public-contact-direct-links a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--ink);
  border-bottom:1px solid color-mix(in srgb,var(--ink) 24%,transparent);
  transition:border-color .2s ease,color .2s ease;
}

.public-contact-link{margin-top:18px}
.public-contact-link:hover,
.public-contact-direct-links a:hover{border-color:var(--ink)}

.public-contact-direct-links{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
}

.public-contact-phone-line{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:30px;
}

.public-contact-phone-line>.public-contact-phone{white-space:nowrap}

.public-contact-messenger-icons{
  display:inline-flex;
  align-items:center;
  gap:7px;
}

.public-contact-direct-links .public-contact-messenger-icon{
  display:inline-grid;
  place-items:center;
  width:28px;
  height:28px;
  padding:0;
  border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);
  border-radius:50%;
  color:var(--muted);
  text-decoration:none;
}

.public-contact-direct-links .public-contact-messenger-icon:hover{
  color:var(--ink);
  border-color:color-mix(in srgb,var(--ink) 48%,transparent);
}

.public-contact-messenger-icon .fa-telegram{font-size:15px}
.public-contact-max-mark{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  font:500 11px/1 Inter,sans-serif;
  letter-spacing:-.05em;
}

.public-contact-hours{
  display:grid;
  gap:5px;
  margin-top:19px;
}

.public-contact-hours>span{color:var(--muted);font-size:13px}
.public-contact-hours>strong{color:var(--ink);font-weight:400}

.public-contact-hours-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  max-width:100%;
  margin-top:8px;
  padding:7px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--muted);
  font-size:12px;
  line-height:1.3;
}

.public-contact-hours-dot{
  flex:0 0 auto;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#a57535;
}
.public-contact-hours-status.is-open .public-contact-hours-dot{background:#4a9a61}

.public-contact-panel{
  max-width:none!important;
  display:grid;
  grid-template-columns:minmax(210px,.34fr) minmax(0,.66fr);
  gap:clamp(34px,5vw,82px);
  align-items:start;
}

.public-contact-form-heading{
  position:relative;
  padding-top:2px;
}

.public-contact-form-icon{
  margin-bottom:22px;
  color:color-mix(in srgb,var(--ink) 18%,transparent);
  font-size:clamp(58px,5vw,92px);
  line-height:1;
}

.public-contact-form-heading h2{
  margin:0;
  font-size:clamp(30px,2vw,42px);
  font-weight:400;
  line-height:1;
  letter-spacing:-.04em;
}

.public-contact-form-heading p{
  max-width:330px;
  margin:16px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.6;
}

/* Collection eyebrow follows the same quiet editorial typography as page subtitles. */
.collection-page .public-page-kicker{
  margin:0 0 13px;
  color:var(--muted);
  font-family:Inter,sans-serif;
  font-size:clamp(16px,1.06vw,20px);
  font-weight:400;
  line-height:1.58;
  letter-spacing:0;
  text-transform:none;
}

/* Footer columns start on the same visual baseline. */
.site-footer .footer-grid{
  align-items:start!important;
}
.site-footer .footer-col{
  align-self:start!important;
}
.site-footer .footer-col>:first-child{
  margin-top:0!important;
}
.footer-contact h3{
  margin:0 0 22px!important;
  font-family:Inter,sans-serif!important;
  font-size:11px!important;
  font-weight:500!important;
  line-height:1.25!important;
  letter-spacing:.18em!important;
  text-transform:uppercase;
  color:rgba(244,241,236,.42)!important;
}
.footer-contact p{
  margin:0!important;
}
.footer-contact br{
  display:block;
  content:"";
  height:12px;
}
body.light-theme .footer-contact h3{
  color:rgba(17,18,20,.42)!important;
}

/* Dress-page POS tile: show the actual salon for the resolved visitor city. */
.dress-store-point{
  margin:0 0 24px;
  padding:18px 0;
  border-top:1px solid rgba(255,255,255,.14);
  border-bottom:1px solid rgba(255,255,255,.14);
}

.dress-store-point .store-address{
  margin:0 0 10px!important;
}

.dress-store-phone{
  display:block;
  width:max-content;
  max-width:100%;
  color:rgba(244,241,236,.92);
  border-bottom:1px solid rgba(255,255,255,.20);
}

.dress-store-direct-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  margin-top:13px;
}

.dress-store-direct-links a{
  color:rgba(244,241,236,.68);
  border-bottom:1px solid rgba(255,255,255,.16);
}

.store-city-picker{
  margin:3px 0 24px;
  padding-top:2px;
}

.store-city-picker summary{
  width:max-content;
  max-width:100%;
  cursor:pointer;
  color:rgba(244,241,236,.70);
  font:400 var(--utility-size)/1.45 Inter,sans-serif;
  text-decoration:underline;
  text-decoration-color:rgba(255,255,255,.22);
  text-underline-offset:4px;
}

.store-city-picker[open] summary{
  margin-bottom:13px;
  color:rgba(244,241,236,.92);
}

.store-city-picker-form{width:100%}
.store-city-picker-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:stretch;
}

.store-city-select{position:relative;min-width:0}
.store-city-select::after{
  content:"⌄";
  position:absolute;
  right:13px;
  top:50%;
  transform:translateY(-55%);
  color:rgba(244,241,236,.55);
  pointer-events:none;
}

.store-city-select select,
.store-city-submit{
  min-height:42px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  font:400 13px Inter,sans-serif;
}

.store-city-select select{
  width:100%;
  appearance:none;
  padding:0 38px 0 15px;
  background:#111417;
  color:#f4f1ec;
  outline:none;
}

.store-city-submit{
  padding:0 16px;
  background:#f1eee8;
  color:#111214;
  cursor:pointer;
}

.store-city-submit:hover{filter:brightness(.94)}

body.light-theme .dress-store-point{
  border-color:rgba(0,0,0,.14);
}
body.light-theme .dress-store-phone{color:#17181a;border-color:rgba(0,0,0,.20)}
body.light-theme .dress-store-direct-links a{color:rgba(17,18,20,.65);border-color:rgba(0,0,0,.16)}
body.light-theme .store-city-picker summary{color:rgba(17,18,20,.62);text-decoration-color:rgba(0,0,0,.22)}
body.light-theme .store-city-picker[open] summary{color:#17181a}
body.light-theme .store-city-select::after{color:rgba(17,18,20,.52)}
body.light-theme .store-city-select select{
  border-color:rgba(0,0,0,.16);
  background:#f5f3ee;
  color:#17181a;
}
body.light-theme .store-city-submit{
  border-color:#17181a;
  background:#17181a;
  color:#f5f3ee;
}

@media(max-width:980px){
  .public-contact-directory{
    grid-template-columns:1fr;
    gap:28px;
  }
  .public-contact-route{padding-top:16px}
  .public-contact-route-number{margin-bottom:17px}
  .public-contact-panel{
    grid-template-columns:1fr;
    gap:30px;
  }
  .public-contact-form-heading p{max-width:620px}
}

@media(max-width:560px){
  .store-city-picker-row{grid-template-columns:1fr}
  .store-city-submit{width:100%}
  .public-contact-phone-line{flex-wrap:wrap}
  .public-contact-hours-status{width:100%;border-radius:14px}
}
