.accommodation-application .live-shortlist-status { max-width: 1200px; margin: .5rem auto; padding: 0 24px; }
.accommodation-application .live-shortlist-status:empty { display: none; }
.accommodation-application [data-save-property][hidden],
.accommodation-application .live-saved-page [hidden] { display: none !important; }
.accommodation-application [data-save-property][aria-pressed="true"] { background: #f9e9ef; border-color: #a82457; color: #762042; }
.accommodation-application .live-saved-toolbar { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1rem 0; }
.accommodation-application .live-saved-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 1rem; }
.accommodation-application .live-saved-card { border: 1px solid #dce1e8; padding: 1rem; border-radius: 10px; min-width: 0; }
.accommodation-application .live-saved-card img { width: 100%; height: 170px; object-fit: cover; border-radius: 6px; }
.accommodation-application .live-saved-card h2 { font-size: 1.2rem; margin: .6rem 0; }
.accommodation-application .live-saved-card label { display: block; margin: .8rem 0; }
.accommodation-application .live-saved-card button { margin: .3rem .4rem .3rem 0; }
.accommodation-application .live-saved-page button:disabled { opacity: .6; cursor: default; }
.accommodation-application .live-comparison-scroll { overflow-x: auto; max-width: 100%; border: 1px solid #dce1e8; border-radius: 8px; }
.accommodation-application .live-comparison-scroll table { width: 100%; min-width: 740px; border-collapse: collapse; table-layout: fixed; }
.accommodation-application .live-comparison-scroll th,
.accommodation-application .live-comparison-scroll td { padding: .8rem; border: 1px solid #e1e5eb; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.accommodation-application .live-comparison-scroll th { background: #f5f7fa; }
.accommodation-application .live-comparison-scroll th:first-child { width: 160px; }
.accommodation-application .live-comparison-scroll img { width: 100%; height: 110px; object-fit: cover; border-radius: 5px; }
.accommodation-application .live-comparison-scroll button { display: block; margin: .5rem 0; }
.accommodation-application .live-compare-journey { margin: 1rem 0; padding: 1rem; background: #f5f7fa; border-radius: 8px; }
.accommodation-application .live-compare-journey label { display: block; font-weight: 700; }
.accommodation-application .live-compare-journey select { display: block; width: 100%; max-width: 330px; }

.accommodation-application .live-saved-home-nav { max-width: 1200px; margin: 1rem auto; padding: 0 24px; display: flex; justify-content: flex-end; }
.accommodation-application .live-comparison-scroll tbody th,
.accommodation-application .live-comparison-scroll thead th:first-child { position: sticky; left: 0; z-index: 1; }
.accommodation-application .live-saved-page h1 { font-size: 2rem; line-height: 1.2; font-weight: 700; margin: 1rem 0; }
.accommodation-application .live-saved-page h2 { font-size: 1.4rem; line-height: 1.3; font-weight: 700; margin: 1rem 0 .6rem; }
.accommodation-application .live-saved-page p { margin: .6rem 0; line-height: 1.6; }
.accommodation-application .live-compare-journey select { min-height: 44px; padding: .6rem .8rem; border: 1px solid #bac3ce; border-radius: 6px; background-color: #fff; font-size: 1rem; }
.accommodation-application .live-saved-page input[type="checkbox"] { width: 18px; height: 18px; margin-right: .4rem; accent-color: #ae2858; vertical-align: middle; }
.accommodation-application .live-saved-page :focus-visible { outline: 3px solid #142c55; outline-offset: 3px; }
/* Common basis and focused comparison retain the complete table. */
.accommodation-application .live-comparison-filter{display:block;font-weight:700;margin:1rem 0}
.accommodation-application .live-comparison-filter select{display:block;max-width:360px;width:100%;min-height:44px;padding:.65rem;border:1px solid #bac3ce;border-radius:8px;background:#fff;margin-top:.4rem}
.accommodation-application .live-comparison-scroll{max-height:72vh;overflow:auto;scroll-padding-top:160px}
.accommodation-application .live-comparison-scroll thead th{position:sticky;top:0;z-index:2;background:#f5f7fa}
.accommodation-application .live-comparison-scroll thead th:first-child{z-index:3}
.accommodation-application .live-comparison-property-label{display:none}
.accommodation-application .live-comparison-difference{display:block;font-size:.75rem;color:#762042;margin-top:.35rem}
.accommodation-application .live-saved-card>.live-back{display:block;margin:.6rem 0}
.accommodation-application .live-saved-page :focus-visible{outline-color:#b52557}
@media(max-width:600px){.accommodation-application .live-comparison-property-label{display:block;font-size:.8rem;font-weight:700;color:#762042;margin-bottom:.4rem}.accommodation-application .live-comparison-scroll img{display:none}.accommodation-application .live-comparison-scroll thead th{font-size:.875rem}.accommodation-application .live-comparison-scroll thead th:first-child,.accommodation-application .live-comparison-scroll tbody th{width:120px}.accommodation-application .live-comparison-scroll table{min-width:620px}}

/* Guided shortlist: keep the choices visible while revealing the next decision. */
.accommodation-application .live-shortlist-intro { max-width: 760px; }
.accommodation-application .live-shortlist-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); list-style: none; padding: 0; margin: 1.5rem 0; gap: .6rem; }
.accommodation-application .live-shortlist-steps li { border-bottom: 3px solid #dce1e8; padding: .7rem .2rem; font-weight: 700; }
.accommodation-application .live-shortlist-steps li[aria-current="step"] { border-color: #a82457; color: #762042; }
.accommodation-application .live-shortlist-steps span { display: block; font-size: .8rem; font-weight: 400; color: #536174; }
.accommodation-application .live-shortlist-priorities,.accommodation-application .live-shortlist-campus { margin: 1rem 0; padding: 1rem; border: 1px solid #dce1e8; border-radius: 10px; background: #f8f7fa; }
.accommodation-application .live-saved-page summary { cursor: pointer; font-weight: 700; }
.accommodation-application .live-saved-page summary span { display: block; margin: .35rem 0 0 1rem; color: #536174; font-size: .9rem; font-weight: 400; }
.accommodation-application .live-shortlist-campus .live-panel { margin-bottom: 0; background: #fff; }
.accommodation-application .live-shortlist-priority-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin-top: 1rem; }
.accommodation-application .live-shortlist-priority-form>div:last-of-type { grid-column: 1/-1; }
.accommodation-application .live-shortlist-priority-form label { display: block; font-weight: 700; margin-bottom: .4rem; }
.accommodation-application .live-shortlist-priority-form input:not([type="hidden"]) { display: block; width: 100%; min-width: 0; min-height: 44px; padding: .7rem; border: 1px solid #bac3ce; border-radius: 6px; background: #fff; font-size: 1rem; }
.accommodation-application .live-shortlist-priority-form button { justify-self: start; }
.accommodation-application .live-shortlist-priority-form .errorlist { color: #9e233b; }
.accommodation-application .live-saved-card { display: flex; flex-direction: column; }
.accommodation-application .live-saved-card.is-selected { border-color: #a82457; box-shadow: inset 0 0 0 1px #a82457; }
.accommodation-application .live-saved-card label { padding: .5rem 0; font-weight: 700; }
.accommodation-application .live-saved-toolbar { justify-content: space-between; align-items: center; padding: 1rem; background: #f5f3f7; border-radius: 10px; }
.accommodation-application .live-shortlist-selection { font-weight: 700; }
.accommodation-application .live-shortlist-actions { display: flex; gap: .6rem; flex-wrap: wrap; }
.accommodation-application .live-shortlist-next { background: #faf1f5; border: 1px solid #e9cfda; padding: 1.3rem; border-radius: 10px; margin-top: 1.5rem; }
.accommodation-application .live-shortlist-next .live-button { display: inline-flex; margin: .5rem 0; text-align: center; white-space: normal; }
.accommodation-application .live-shortlist-help { border-top: 1px solid #dce1e8; margin-top: 2rem; padding-top: 1rem; }
.accommodation-application .live-compare-journey summary { margin-bottom: .5rem; }
@media(max-width:600px){
 .accommodation-application .live-shortlist-priority-form { grid-template-columns: minmax(0,1fr); }
 .accommodation-application .live-shortlist-steps { font-size: .85rem; gap: .4rem; }
 .accommodation-application .live-shortlist-actions { width: 100%; }
 .accommodation-application .live-shortlist-actions button { flex: 1 1 auto; white-space: normal; }
 .accommodation-application .live-shortlist-next .live-button { width: 100%; }
}
