/* Midlothian location-page addition. Shared homepage styles remain unchanged. */
.wax-location-feature { background: #fff; padding: 64px max(5vw, calc((100vw - var(--max))/2)) 74px; border-bottom: 1px solid var(--line); }
.wax-location-photo-wrap { position: relative; max-width: var(--max); margin: 0 auto 48px; overflow: hidden; background: #211f1c; }
.wax-location-photo { display: block; width: 100%; height: clamp(280px, 43vw, 500px); object-fit: cover; object-position: center 54%; }
.wax-photo-caption { position: absolute; left: 18px; bottom: 18px; padding: 9px 13px; color: #fff; background: rgba(23,23,23,.82); font-size: 10px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.wax-location-details { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .88fr); gap: clamp(36px, 6vw, 84px); align-items: start; }
.wax-location-copy h2 { margin: 0 0 18px; font-size: clamp(38px, 4.3vw, 58px); line-height: 1.04; letter-spacing: -.05em; }
.wax-location-intro { max-width: 560px; margin-bottom: 28px; color: var(--muted); font-size: 15px; }
.wax-detail-block { padding: 19px 0; border-top: 1px solid var(--line); }
.wax-detail-label { display: block; margin-bottom: 8px; color: var(--red-dark); font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.wax-detail-block address { margin: 0 0 5px; font-size: 16px; font-style: normal; font-weight: 750; line-height: 1.6; }
.wax-detail-link { font-size: 14px; font-weight: 650; }
.wax-detail-link:hover, .wax-map-link:hover { color: var(--red); }
.wax-hours { margin: 0; }
.wax-hours > div { display: flex; justify-content: space-between; gap: 16px; padding: 4px 0; font-size: 13px; }
.wax-hours dt { color: var(--muted); }
.wax-hours dd { margin: 0; text-align: right; font-weight: 700; }
.wax-location-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.wax-map-wrap { position: relative; min-width: 0; background: #f6f5ef; border: 1px solid var(--line); overflow: hidden; }
.wax-static-map { display: block; width: 100%; height: auto; aspect-ratio: 470 / 432; object-fit: contain; }
.wax-map-link { display: inline-flex; align-items: center; gap: 7px; padding: 13px 16px; color: var(--ink); font-size: 12px; font-weight: 750; text-decoration: none; }
.wax-map-link:hover { color: var(--red); }
@media (max-width: 900px) {
  .wax-location-feature { padding: 48px 5vw 58px; }
  .wax-location-photo-wrap { margin-bottom: 36px; }
  .wax-location-details { grid-template-columns: 1fr; gap: 34px; }
  .wax-location-photo { height: clamp(260px, 48vw, 420px); }
  .wax-static-map { width: 100%; height: auto; }
}
@media (max-width: 680px) {
  .wax-location-feature { padding: 34px 20px 44px; }
  .wax-location-photo-wrap { margin-bottom: 28px; }
  .wax-location-photo { height: 245px; object-position: center 54%; }
  .wax-photo-caption { left: 10px; bottom: 10px; font-size: 9px; }
  .wax-location-copy h2 { font-size: clamp(36px, 9vw, 46px); }
  .wax-hours > div { flex-direction: column; gap: 1px; }
  .wax-hours dd { text-align: left; }
  .wax-location-actions { display: grid; grid-template-columns: 1fr; }
  .wax-static-map { width: 100%; height: auto; }
}

/* Midlothian-specific visitor information: visible, concise, and fact-based. */
.wax-local-faq { background: var(--paper); border-bottom: 1px solid var(--line); }
.wax-faq-heading { max-width: var(--max); margin: 0 auto 30px; }
.wax-faq-heading h2 { margin: 0 0 14px; font-size: clamp(34px, 4vw, 50px); line-height: 1.08; letter-spacing: -.045em; }
.wax-faq-heading h2 em { color: var(--red); font-style: normal; }
.wax-faq-heading > p:last-child { max-width: 620px; color: var(--muted); font-size: 14px; }
.wax-faq-grid { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 38px; }
.wax-faq-grid article { padding: 20px 0; border-top: 1px solid var(--line); }
.wax-faq-grid h3 { margin: 0 0 8px; font-size: 17px; letter-spacing: -.02em; }
.wax-faq-grid p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
@media (max-width: 680px) { .wax-local-faq { padding: 52px 20px; } .wax-faq-grid { grid-template-columns: 1fr; gap: 0; } }

/* Midlothian location additions */
.midlothian-photo-pending { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; background:linear-gradient(135deg,#deded5,#f3f2ec); color:#292923; text-align:center; }
.midlothian-photo-pending span { font-size:clamp(20px,3vw,34px); font-weight:800; letter-spacing:-.03em; }
.midlothian-photo-pending small { font-size:13px; color:#62645c; font-weight:650; }
.midlothian-map-wrap .wax-static-map { display:block; width:100%; height:auto; aspect-ratio:470 / 432; object-fit:contain; }
.midlothian-map-wrap .wax-map-link { background:var(--paper); border-top:1px solid var(--line); }

/* Deliberately blank map area until the correct Picard Midlothian map is supplied. */
.midlothian-map-placeholder {
  width: 100%;
  aspect-ratio: 470 / 432;
  background: var(--paper, #f6f5ef);
}


/* Approved location PNGs retain their original square proportions. */
.wax-static-map {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
}

/* The Midlothian map PNG is square; override the legacy SVG aspect ratio. */
.midlothian-map-wrap .wax-static-map {
  aspect-ratio: auto;
}
