

/* V20: a shorter footer tail, with no scroll trapping and no white bottom gap.
   Shared header, footer colours, transparency and all other pages are retained. */
@media screen {
  .footer { padding-bottom:calc(var(--quick-panel-h,var(--quick-h,154px)) + var(--dw20-footer-clearance,34px)); }
}
#pageMain .dw20-locations { padding-block:64px 76px; }
#pageMain .dw20-location-stack { display:grid;gap:64px; }
#pageMain .dw20-location-row { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:54px;align-items:stretch; }
#pageMain .dw20-location-row + .dw20-location-row { padding-top:64px;border-top:1px solid #d8e3eb; }
#pageMain .dw20-map-slot { min-width:0;min-height:438px;border:1px solid #cfdee8;background:linear-gradient(120deg,#e1eff6,#edf5f9);position:relative;overflow:hidden; }
#pageMain .dw20-map-slot>iframe { width:100%;height:100%;min-height:438px;border:0;display:block; }
#pageMain .dw20-map-fallback { display:flex;flex-direction:column;align-items:flex-start;justify-content:center;height:100%;min-height:438px;padding:44px 46px; }
#pageMain .dw20-map-label { color:#527c94;font-size:12px;letter-spacing:.025em;line-height:1.7;margin-bottom:28px; }
#pageMain .dw20-map-pin { width:28px;height:35px;color:#397b9c;margin-bottom:18px;flex:none; }
#pageMain .dw20-map-fallback strong { display:block;color:#214d67;font-size:27px;line-height:1.4;font-weight:600;letter-spacing:-.045em;word-break:keep-all; }
#pageMain .dw20-map-fallback p { font-size:14px;line-height:1.9;color:#4e748b;margin-top:16px;word-break:keep-all; }
#pageMain .dw20-map-footnote { display:block;font-size:12px;line-height:1.8;color:#5d7a8e;margin-top:24px;word-break:keep-all; }
#pageMain .dw20-location-info { min-width:0;align-self:center; }
#pageMain .dw20-location-kicker { font-family:inherit;font-size:12px;font-weight:600;letter-spacing:.10em;color:#347d9d; }
#pageMain .dw20-location-info h2 { margin:22px 0 26px;font-size:34px;font-weight:650;line-height:1.3;letter-spacing:-.05em;color:#122d40; }
#pageMain .dw20-location-table { margin:0;border-top:1px solid #24475e; }
#pageMain .dw20-location-table>div { display:grid;grid-template-columns:90px minmax(0,1fr);gap:22px;align-items:center;min-height:58px;padding:16px 0;border-bottom:1px solid #d7e3eb; }
#pageMain .dw20-location-table dt { font-size:12px;line-height:1.8;color:#597890; }
#pageMain .dw20-location-table dd { margin:0;color:#244156;font-size:14px;line-height:1.8;word-break:keep-all;overflow-wrap:anywhere; }
#pageMain .dw20-location-table a { color:inherit;text-decoration:none; }
#pageMain .dw20-location-table a:hover { text-decoration:underline;text-underline-offset:4px; }
#pageMain .dw20-location-actions { display:flex;gap:14px;flex-wrap:wrap;margin-top:27px; }
#pageMain .dw20-location-actions .dw-button { min-height:48px;gap:20px;border-radius:3px;padding-inline:20px; }
#pageMain .dw20-visit-note { font-size:11px;line-height:1.8;color:#6a8090;margin-top:13px;word-break:keep-all; }
@media(max-width:1120px) {
  #pageMain .dw20-location-row { gap:36px; }
  #pageMain .dw20-map-fallback { padding:30px; }
  #pageMain .dw20-location-table>div { grid-template-columns:82px minmax(0,1fr);gap:16px; }
}
@media(max-width:860px) {
  #pageMain .dw20-locations { padding-block:42px 50px; }
  #pageMain .dw20-location-stack { gap:40px; }
  #pageMain .dw20-location-row { grid-template-columns:1fr;gap:28px; }
  #pageMain .dw20-location-row + .dw20-location-row { padding-top:40px; }
  #pageMain .dw20-map-slot,#pageMain .dw20-map-fallback,#pageMain .dw20-map-slot>iframe { min-height:295px; }
  #pageMain .dw20-map-fallback { padding:26px 30px; }
  #pageMain .dw20-map-label { margin-bottom:18px; }
  #pageMain .dw20-map-fallback strong { font-size:25px; }
  #pageMain .dw20-map-footnote { margin-top:16px; }
  #pageMain .dw20-location-info h2 { font-size:30px;margin:16px 0 22px; }
}
@media(max-width:480px) {
  #pageMain .dw20-map-fallback { padding:25px; }
  #pageMain .dw20-location-table>div { grid-template-columns:72px minmax(0,1fr);gap:13px;min-height:56px;padding-block:14px; }
  #pageMain .dw20-location-table dd { font-size:13px; }
  #pageMain .dw20-location-table dt { font-size:11px; }
  #pageMain .dw20-location-actions { gap:12px; }
  #pageMain .dw20-location-actions .dw-button { min-height:46px;padding-inline:17px; }
}
@media print {
  .footer { padding-bottom:28px!important; }
  #pageMain .dw20-location-row { break-inside:avoid;grid-template-columns:1fr 1fr;gap:24px; }
  #pageMain .dw20-map-fallback { min-height:300px;padding:24px; }
}
