.accommodation-application .live-map-section { margin: 1rem 0 1.5rem; }
.accommodation-application .live-map-canvas { height: 420px; width: 100%; border-radius: 8px; margin: .75rem 0; z-index: 0; }
.accommodation-application .live-map-canvas-small { height: 280px; }
.accommodation-application .live-map-price { background: #fff; border: 2px solid #862047; border-radius: 16px; color: #52152d; padding: 5px 10px; font-weight: 700; white-space: nowrap; width: max-content !important; height: auto !important; }
.accommodation-application .live-map-price:focus-visible,
.accommodation-application gmp-advanced-marker:focus-visible .live-map-price { outline: 3px solid #142c55; outline-offset: 3px; }
.accommodation-application [data-map-property][data-map-selected="true"] { outline: 3px solid #b52557; outline-offset: 3px; }
.accommodation-application .live-map-popup { display: grid; gap: .5rem; min-width: 160px; }
.accommodation-application .live-map-popup a { color: #862047; text-decoration: underline; }
.accommodation-application .live-map-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.accommodation-application [data-map-region][hidden], .accommodation-application [data-map-toggle][hidden], .accommodation-application [data-show-on-map][hidden] { display: none !important; }
@media (max-width: 600px) { .accommodation-application .live-map-canvas { height: 320px; } .accommodation-application .live-map-canvas-small { height: 260px; } }
.accommodation-application .live-study-destination { padding: 1rem; margin: .75rem 0; background: #f5f7fa; border-radius: 8px; }
.accommodation-application .live-study-destination label { display: block; font-weight: 700; margin-bottom: .4rem; }
.accommodation-application .live-study-destination select { width: 100%; max-width: 100%; margin-bottom: .6rem; }
.accommodation-application .live-map-study { background: #173d70; border: 2px solid #fff; border-radius: 8px; color: #fff; padding: 5px 9px; white-space: nowrap; font-weight: 700; width: max-content !important; height: auto !important; }
.accommodation-application .live-map-study:focus-visible, .accommodation-application gmp-advanced-marker:focus-visible .live-map-study { outline: 3px solid #b52557; outline-offset: 3px; }

.accommodation-application .live-commute { padding: 1rem; margin-top: 1rem; border: 1px solid #dce1e8; border-radius: 8px; }
.accommodation-application .live-commute label { display: block; margin: .5rem 0; font-weight: 700; }
.accommodation-application .live-commute select { width: 100%; max-width: 100%; }
.accommodation-application .live-campus-confirm { font-weight: 400 !important; }
.accommodation-application .live-commute button { margin: .3rem .3rem .3rem 0; }
.accommodation-application .live-commute button:disabled { opacity: .6; cursor: default; }
.accommodation-application .live-commute li { margin: .4rem 0; }
.accommodation-application [data-commute-origin][hidden] { display: none !important; }

.accommodation-application .live-nearby { border: 1px solid #cbded5; padding: 1rem; margin-top: 1rem; border-radius: 8px; }
.accommodation-application .live-nearby h3 { font-size: 1.3rem; font-weight: 700; }
.accommodation-application .live-nearby label { display: block; font-weight: 700; margin: .6rem 0; }
.accommodation-application .live-nearby select { display: block; width: 100%; min-height: 44px; padding: .6rem; border: 1px solid #bac3ce; border-radius: 6px; background: #fff; }
.accommodation-application .live-nearby-options { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
.accommodation-application .live-nearby button { margin: .3rem .4rem .3rem 0; }
.accommodation-application .live-nearby button:disabled { opacity: .6; cursor: default; }
.accommodation-application .live-nearby-results { padding-left: 1.5rem; list-style: decimal; }
.accommodation-application .live-nearby-results li { padding: .8rem 0; border-bottom: 1px solid #dce5df; }
.accommodation-application .live-map-nearby, .accommodation-application .live-nearby-legend { background: #762042; color: #fff; border: 2px solid #fff; border-radius: 50%; width: 28px !important; height: 28px !important; display: inline-grid; place-items: center; font-weight: 700; box-shadow: 0 1px 4px #52645b; }
.accommodation-application .live-map-nearby:focus-visible { outline: 3px solid #142c55; outline-offset: 3px; }
.accommodation-application [data-nearby][hidden], .accommodation-application [data-nearby-origin][hidden], .accommodation-application [data-open-nearby][hidden] { display: none !important; }
@media (max-width:600px) { .accommodation-application .live-nearby-options { grid-template-columns: 1fr; gap: 0; } }

.accommodation-application .live-map-expanded { position: fixed; inset: 0; z-index: 10000; display: flex; flex-direction: column; gap: .5rem; padding: .75rem; background: #fff; box-sizing: border-box; overflow: hidden; }
.accommodation-application .live-map-expanded .live-map-canvas { flex: 1; min-height: 0; height: auto; width: 100%; }
.accommodation-application .live-map-expanded > button { align-self: flex-start; flex-shrink: 0; }
.accommodation-application .live-map-expanded > [data-map-status] { flex-shrink: 0; margin: 0; }

/* Task controls precede one shared map; result details follow the same map. */
.accommodation-application .live-map-heading .live-section-title { margin: 0 0 .5rem; }
.accommodation-application .live-map-coverage { margin: 0 0 1rem; color: #475569; line-height: 1.5; }
.accommodation-application .live-map-intro { color: #475569; line-height: 1.5; margin: 0 0 .75rem; }
.accommodation-application .live-map-workspace { padding: .8rem; border: 1px solid #d9c8d0; border-radius: 12px; background: #fcf8fa; }
.accommodation-application .live-map-tasks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem; margin-bottom: .75rem; }
.accommodation-application .live-map-task-title { display: flex; align-items: center; gap: .5rem; }
.accommodation-application .live-map-task-number { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 1.65rem; height: 1.65rem; border: 1px solid currentColor; border-radius: 50%; font-size: .8rem; }
.accommodation-application .live-map-task-question { display: block; margin-top: .35rem; font-size: .85rem; line-height: 1.4; font-weight: 400; }
.accommodation-application .live-map-guidance { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .5rem; padding-top: .75rem; margin-top: .75rem; border-top: 1px solid #d9c8d0; }
.accommodation-application .live-map-guidance p { margin: 0; color: #475569; }
.accommodation-application .live-map-guidance .live-outline-button { min-height: 44px; margin: 0; }
.accommodation-application [data-map-guidance][hidden] { display: none !important; }
.accommodation-application .live-map-tasks button { flex: 1 1 auto; min-height: 44px; border: 1px solid #c8cdd5; background: #fff; color: #52152d; border-radius: 7px; padding: .65rem .75rem; font-weight: 700; text-align: left; }
.accommodation-application .live-map-tasks [aria-selected="true"] { background: #862047; color: #fff; border-color: #862047; }
.accommodation-application .live-map-section button:focus-visible, .accommodation-application .live-nearby-results li:focus-visible { outline: 3px solid #173d70; outline-offset: 3px; }
.accommodation-application [data-map-panel][hidden], .accommodation-application [data-map-tasks][hidden], .accommodation-application [data-nearby-output][hidden], .accommodation-application [data-commute-output][hidden], .accommodation-application [data-nearby-legend][hidden], .accommodation-application [data-map-health][hidden], .accommodation-application [data-map-health-chip][hidden] { display: none !important; }
.accommodation-application .live-nearby, .accommodation-application .live-commute { margin: 0 0 .75rem; background: #f5f7fa; border-color: #d5dbe3; }
.accommodation-application .live-map-tool-form { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr) minmax(0,1fr); align-items: end; gap: .8rem; }
.accommodation-application .live-map-tool-form label { display: flex; flex-direction: column; gap: .35rem; margin: 0; font-weight: 700; min-width: 0; }
.accommodation-application .live-map-tool-form select { margin: 0; min-height: 44px; padding: .6rem; border: 1px solid #bac3ce; border-radius: 6px; background: #fff; width: 100%; max-width: 100%; }
.accommodation-application .live-map-tool-form > button { margin: 0; min-height: 44px; }
.accommodation-application .live-map-origin { grid-column: 1 / -1; }
.accommodation-application .live-commute-form { grid-template-columns: minmax(0,1fr) auto auto; }
.accommodation-application .live-map-clear, .accommodation-application .live-map-toggle { background: transparent; border: 0; color: #862047; text-decoration: underline; padding: .5rem; min-height: 44px; }
.accommodation-application .live-map-frame { border: 1px solid #d5dbe3; border-radius: 10px; padding: .75rem; background: #fff; }
.accommodation-application .live-map-toolbar { display: flex; flex-direction: column; gap: .65rem; margin-bottom: .75rem; }
.accommodation-application .live-map-context { margin: 0; color: #172b46; font-weight: 700; overflow-wrap: anywhere; }
.accommodation-application .live-map-view-tools { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; }
.accommodation-application .live-map-view-tools button { min-height: 44px; margin: 0; }
.accommodation-application .live-map-viewport { position: relative; isolation: isolate; }
.accommodation-application .live-map-canvas { margin: 0; }
.accommodation-application .live-map-instructions { font-size: .875rem; line-height: 1.5; margin: .6rem 0 0; color: #475569; }
.accommodation-application .live-map-health { position: absolute; z-index: 1000; top: 12px; left: 56px; right: 12px; padding: .85rem; color: #573c08; background: #fff4d6; border: 2px solid #bd811c; border-radius: 8px; box-shadow: 0 2px 8px #172b4626; }
.accommodation-application .live-map-health-icon { float: left; margin-right: .6rem; display: grid; place-items: center; width: 24px; height: 24px; border: 2px solid currentColor; border-radius: 50%; font-weight: 700; }
.accommodation-application .live-map-health strong { font-weight: 700; }
.accommodation-application .live-map-health p { margin: .25rem 0 .5rem; }
.accommodation-application .live-map-health-actions { display: flex; flex-wrap: wrap; gap: .4rem; }
.accommodation-application .live-map-health button, .accommodation-application .live-map-health-chip { min-height: 40px; border: 1px solid #8d650f; border-radius: 6px; color: #573c08; background: #fff9e9; padding: .4rem .65rem; font-weight: 700; }
.accommodation-application .live-map-health details { margin-top: .5rem; }
.accommodation-application .live-map-health code { overflow-wrap: anywhere; }
.accommodation-application .live-map-health[data-severity="error"] { color: #722424; background: #fff0ed; border-color: #b64738; }
.accommodation-application .live-map-health-chip { position: absolute; top: 12px; left: 56px; z-index: 1000; max-width: calc(100% - 68px); }
.accommodation-application .live-map-legend { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-top: .75rem; font-size: .875rem; }
.accommodation-application .live-map-legend button { color: #862047; border: 0; background: transparent; min-height: 44px; padding: .4rem 0; text-decoration: underline; font-weight: 700; }
.accommodation-application .live-nearby-output, .accommodation-application .live-commute-output { margin-top: 1rem; }
.accommodation-application .live-nearby-output h3 { font-size: 1.25rem; font-weight: 700; margin: 0 0 .5rem; }
.accommodation-application .live-nearby-results { list-style: none; padding: 0; margin: 0; }
.accommodation-application .live-nearby-results li { display: grid; grid-template-columns: 30px minmax(0,1fr); gap: .4rem .75rem; padding: 1rem .5rem; border-bottom: 1px solid #dce5df; }
.accommodation-application .live-nearby-results li > * { grid-column: 2; margin: 0; overflow-wrap: anywhere; }
.accommodation-application .live-nearby-results .live-nearby-result-number { grid-column: 1; grid-row: 1 / span 4; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #762042; color: #fff; font-weight: 700; }
.accommodation-application .live-nearby-results li > button { justify-self: start; margin: .2rem 0; }
.accommodation-application .live-nearby-results [data-nearby-selected="true"] { background: #fcf5f8; outline: 2px solid #762042; outline-offset: -2px; }
.accommodation-application .live-map-expanded [data-map-region] { display: flex; flex: 1; min-height: 0; flex-direction: column; }
.accommodation-application .live-map-expanded .live-map-viewport { flex: 1; min-height: 0; }
.accommodation-application .live-map-expanded .live-map-canvas { height: 100%; }
.accommodation-application .live-map-expanded .live-map-toolbar, .accommodation-application .live-map-expanded .live-map-legend { flex-shrink: 0; }
.accommodation-application .live-map-expanded [data-map-toggle] { display: none; }
@media (min-width: 1100px) { .accommodation-application .live-map-tool-form { grid-template-columns: minmax(0,2fr) minmax(0,1fr) minmax(100px,1fr) auto; } .accommodation-application .live-map-tool-form .live-map-origin { grid-column: auto; } .accommodation-application .live-map-tool-form .live-map-clear { grid-column: 1 / -1; justify-self: start; } .accommodation-application .live-commute-form { grid-template-columns: minmax(0,2fr) minmax(0,1fr) auto; } }
@media (max-width: 600px) { .accommodation-application .live-map-tool-form, .accommodation-application .live-commute-form { grid-template-columns: minmax(0,1fr) minmax(0,1fr); } .accommodation-application .live-map-tool-form > .live-button { grid-column: 1 / -1; } .accommodation-application .live-map-health, .accommodation-application .live-map-health-chip { position: static; margin-bottom: .6rem; max-width: 100%; } .accommodation-application .live-map-expanded .live-map-health { max-height: 45%; overflow: auto; } .accommodation-application .live-map-expanded .live-map-viewport { display: flex; flex-direction: column; } .accommodation-application .live-map-expanded .live-map-canvas { flex: 1; min-height: 0; } }

.accommodation-application [data-nearby-status][data-state="error"], .accommodation-application [data-commute-status][data-state="error"] { padding: .75rem; border-left: 4px solid #a33828; border-radius: 4px; color: #722424; background: #fff0ed; font-weight: 600; }
@media (max-width:600px) {
  .accommodation-application .live-map-workspace { padding: .5rem; }
  .accommodation-application .live-map-tasks { grid-template-columns: minmax(0, 1fr); }
  .accommodation-application .live-map-tasks button { min-width: 0; padding: .55rem .65rem; }
  .accommodation-application .live-map-task-question { margin: .15rem 0 0 2.15rem; }
}
.accommodation-application .live-map-coverage > p { margin: 0 0 .25rem; }
.accommodation-application .live-map-coverage details { font-size: .875rem; }
.accommodation-application .live-map-coverage details p { margin: .4rem 0; }
.accommodation-application [data-nearby-clear][hidden] { display: none !important; }
@media (max-width:380px) { .accommodation-application .live-map-tool-form, .accommodation-application .live-commute-form { grid-template-columns: minmax(0,1fr); } }

.accommodation-application [data-map-destination-context]{margin:.75rem 0}.accommodation-application [data-map-edit-destination]{min-height:44px;padding:.5rem;color:#762042;text-decoration:underline;background:transparent;border:0;cursor:pointer}.accommodation-application .live-map-tool-form [hidden]{display:none!important}

/* Search results have a primary property preview; location checks remain optional. */
.accommodation-application .live-results-orientation{margin:.4rem 0 .75rem;color:#51485e;font-size:.9rem;line-height:1.5}
.accommodation-application .live-results-workspace [data-map-context]{font-size:.875rem}
.accommodation-application [data-has-selection=true] .live-results-workspace [data-map-context]{display:none}
.accommodation-application .live-results-workspace .live-map-view-tools button{font-size:.8rem;min-height:40px;padding:.4rem .6rem}
@media(max-width:1000px){
 .accommodation-application .live-results-workspace{padding:.4rem}
 .accommodation-application .live-results-workspace .live-map-frame{padding:.5rem}
 .accommodation-application .live-results-workspace .live-map-toolbar{gap:.4rem;margin-bottom:.4rem}
 .accommodation-application .live-results-workspace .live-map-view-tools{gap:.3rem}
 .accommodation-application .live-results-workspace .live-map-instructions{font-size:.8rem}
}
.accommodation-application .live-map-pages{display:flex;gap:1rem;flex-wrap:wrap;font-size:.85rem;margin:.25rem 0 .5rem}
.accommodation-application .live-map-pages a{color:#862047;min-height:44px;display:inline-flex;align-items:center}
.accommodation-application .live-map-coverage-short{display:none}
.accommodation-application [data-map-task=homes] .live-results-workspace [data-map-context]{display:none}
@media(max-width:1000px){
 .accommodation-application .live-map-heading .live-section-title{font-size:1.2rem;margin-bottom:.35rem}
 .accommodation-application .live-map-coverage{display:flex;align-items:center;flex-wrap:wrap;gap:.2rem .75rem;justify-content:space-between;margin-bottom:.5rem;font-size:.8rem}
 .accommodation-application .live-map-coverage>p{margin:0}
 .accommodation-application .live-map-coverage-long{display:none}
 .accommodation-application .live-map-coverage-short{display:inline}
 .accommodation-application .live-map-coverage>.live-map-pages{margin:0}
 .accommodation-application .live-map-coverage>.live-map-pages a{min-height:36px;font-size:.8rem}
 .accommodation-application .live-map-coverage>details{flex-basis:auto}
 .accommodation-application .live-results-orientation{font-size:.85rem;margin:.3rem 0 .5rem}
}

/* Results context belongs to the result set, not to the active Map/List panel. */
.accommodation-application .live-map-coverage{font-size:.85rem;color:#51485e;margin-bottom:.5rem}
.accommodation-application .live-map-coverage:empty{display:none}
.accommodation-application .live-map-coverage>details>summary{min-height:44px;align-content:center;cursor:pointer;color:#862047}
.accommodation-application .live-results-workspace .live-map-view-tools button{min-height:44px}
@media(max-width:1000px){
 .accommodation-application .live-map-coverage{display:block}
}

.accommodation-application .live-search-page:not(.live-property-page) .live-map-section{margin-top:0}
.accommodation-application [data-has-selection=true] [data-results-tools]:not([open]){display:none}

/* Information is deliberately opened; map failures retain their separate persistent notice. */
.accommodation-application .live-map-info-button{position:absolute;top:12px;right:12px;z-index:1000;display:inline-grid;place-items:center;min-width:44px;min-height:44px;padding:0;border:2px solid #862047;border-radius:50%;background:white;color:#862047;box-shadow:0 2px 8px #30283b33;line-height:1}
.accommodation-application .live-map-info-panel{position:absolute;top:12px;right:12px;z-index:1100;width:min(330px,calc(100% - 24px));max-height:min(360px,65vh);overflow:auto;padding:1rem;background:white;border:1px solid #c7a6b5;border-radius:12px;box-shadow:0 5px 20px #30283b30;color:#30283b;font-size:.875rem;line-height:1.5}
.accommodation-application .live-map-info-panel[hidden]{display:none}
.accommodation-application .live-map-info-heading{display:flex;justify-content:space-between;gap:.5rem;align-items:center}
.accommodation-application .live-map-info-heading h3{font-size:1.05rem;margin:0}
.accommodation-application .live-map-info-heading button{min-width:44px;min-height:44px;background:white;border:1px solid #d6c3cd;border-radius:8px;color:#862047;font-size:1.4rem}
.accommodation-application .live-map-info-panel p{margin:.7rem 0 0}
.accommodation-application .live-results-recovery-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}
.accommodation-application .live-results-recovery-actions button{min-height:44px;font-size:.85rem}

/* A brief location cue is separate from saving a property. */
.accommodation-application [data-map-property][data-map-highlight=true]{outline:3px solid #862047;outline-offset:3px;background:#fcf5f8}
.accommodation-application .live-map-price[aria-pressed=true]{background:#862047;color:white;border-color:#862047}

.accommodation-application .live-map-expand-button{position:absolute;top:12px;right:12px;z-index:1000;display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:2px solid #862047;border-radius:50%;background:white;color:#862047;box-shadow:0 2px 8px #30283b33}
.accommodation-application .live-map-expand-button[hidden],.accommodation-application .live-map-expand-button svg[hidden]{display:none!important}

.accommodation-application .live-map-viewport-with-expand>.live-map-info-button{right:64px}
