/* Contact location: the same typography and palette in both approved themes. */
.contact-studio {
  display:grid;
  grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);
  align-items:start;
  gap:clamp(32px,5vw,72px);
  max-width:1920px;
  margin-inline:auto;
  padding:clamp(36px,5vw,68px) var(--gutter);
  border-top:1px solid var(--line);
}
.contact-studio-details { min-width:0; }
.contact-studio .section-label { margin-bottom:12px; }
.contact-studio h2 { font-size:clamp(30px,3vw,42px); }
.contact-studio-info { margin:26px 0 18px; }
.contact-studio-info>div {
  display:grid;
  grid-template-columns:80px minmax(0,1fr);
  gap:22px;
  padding-block:16px;
  border-bottom:1px solid var(--line);
}
.contact-studio-info dt { color:var(--muted); font-size:14px; }
.contact-studio-info dd { margin:0; font-size:16px; overflow-wrap:anywhere; }
.contact-studio-appointment { max-width:38ch; color:var(--muted); font-size:14px; }
.contact-studio-appointment:empty { display:none; }
.contact-studio-details>.text-link { margin-top:14px; }
.studio-map { min-width:0; border:1px solid var(--line); background:var(--surface); }
.studio-map-credit { padding:14px 18px; border-top:1px solid var(--line); color:var(--muted); font-size:12px; }
.studio-map-placeholder {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:360px;
  padding:32px 36px;
  text-align:center;
}
.studio-map-pin { width:36px; height:44px; margin-bottom:18px; color:var(--sand); }
.studio-map-placeholder h3 { font-size:28px; }
.studio-map-placeholder>p { margin-top:12px; color:var(--muted); font-size:14px; }
.studio-map-show { margin-top:24px; }
.studio-map-placeholder>.studio-map-privacy { max-width:40ch; margin-top:16px; font-size:12px; line-height:1.6; }
.studio-map-placeholder>.studio-map-nojs { max-width:40ch; font-size:13px; }
.studio-map-view { height:360px; }
.studio-map-view iframe { display:block; width:100%; height:100%; border:0; }
.studio-map-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:8px 18px; border-top:1px solid var(--line); }
.studio-map-toolbar>p { color:var(--muted); font-size:12px; }
.studio-map-hide { min-height:44px; padding:8px 0; border-bottom:1px solid var(--line); font-size:13px; }
.studio-map-hide:hover { color:var(--sand); border-color:var(--sand); }
@media(max-width:760px) {
  .contact-studio { grid-template-columns:minmax(0,1fr); gap:28px; padding-block:36px; }
  .contact-studio h2 { font-size:32px; }
  .contact-studio-info { margin-top:20px; }
  .contact-studio-info>div { grid-template-columns:70px minmax(0,1fr); gap:18px; padding-block:14px; }
  .contact-studio-info dd { font-size:15px; }
  .studio-map-placeholder { min-height:320px; padding:28px 20px; }
  .studio-map-view { height:330px; }
  .studio-map-toolbar { padding-inline:14px; }
}
