/* Practical information remains readable without enlarging the map's symbols. */
body{font-size:16px}
input,select,textarea{border-color:#8d8d87}
:focus-visible{outline:3px solid #14696f;outline-offset:3px}
.events-banner .button,.about .button,.enquiry-form .button{color:#191919}
.events-banner .button:hover,.about .button:hover,.enquiry-form .button:hover{color:#fff}
.legal-links,.copyright{font-size:12px}
.event-copy>.button:hover,.button-primary:hover{background:#b33408;color:#fff}
.foodhall-stall-nonhalal,.tenant-brand-departments,.dining-field-note{font-size:14px;white-space:normal}
.tenant-card .tenant-location,.tenant-card .tenant-category,.tenant-grid[data-view-mode="list"] .tenant-details-link,.directory-status,.directory-reset,.page-breadcrumb,.outlet-summary-hours,.tenant-hours,.route-playback-status,.map-route-context-details span,.map-sheet-caption>small,.map-search-panel .map-filter-row button,.map-navigation .map-view-controls button,.map-page-heading>a,.map-directions-here,.map-main .official-map-link,.route-source-links .official-map-link,.map-selected .eyebrow{font-size:14px}
.mobile-nav a,.quick-nav a{font-size:12px;min-height:48px}
.category>span:last-child{font-size:14px;line-height:1.35;max-width:130px;white-space:normal}
.category-circle{margin-bottom:18px}
.map-clear-filters,.map-search-scope select,.content-warning button,.visitor-retry{min-height:44px;font:inherit}
.contact-grid a,.social-icons>a,.footer-grid a,.inventory-hero .back-link,.tenant-brand-departments,.catalogue-page-button,.share-button{min-height:44px}
.home-search-suggestion,.map-result{min-height:48px}
.home-search-suggestion small,.map-result span,.route-place-context{font-size:14px}
.visitor-preferences{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0;padding:8px 0}
.visitor-preferences input{width:44px;height:26px}
html[data-visitor-text="large"] body{font-size:19px;line-height:1.7}
html[data-visitor-text="large"] .tenant-location,html[data-visitor-text="large"] .map-result,html[data-visitor-text="large"] .route-playback-status,html[data-visitor-text="large"] .map-result span,html[data-visitor-text="large"] .outlet-summary-hours,html[data-visitor-text="large"] .route-place-context{font-size:17px}
html[data-visitor-text="large"] .category>span:last-child{font-size:14px;max-width:140px}
html[data-visitor-text="large"] .category-circle{margin-bottom:44px}
html[data-visitor-text="large"] .quick-nav a,html[data-visitor-text="large"] .mobile-nav a{font-size:14px}
html[data-visitor-text="large"] .route-access-note,html[data-visitor-text="large"] .route-written-directions ol,html[data-visitor-text="large"] .directory-status,html[data-visitor-text="large"] input,html[data-visitor-text="large"] select{font-size:18px}
html[data-visitor-text="large"] .legal-links,html[data-visitor-text="large"] .copyright{font-size:14px}
.visitor-preferences label{min-width:0;max-width:100%}
.visitor-preferences span,.map-result strong,.route-place-context,.map-route-context-details{overflow-wrap:anywhere}
.map-search-scope{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 0;font-size:14px}
.map-search-scope label{display:flex;align-items:center;gap:6px;flex:1;min-width:0}
.map-search-scope select{min-width:0;max-width:100%;padding:6px;background:#fff;border:1px solid #8d8d87;border-radius:6px}
.map-clear-filters,.visitor-retry,.content-warning button{background:#fff;border:1px solid #8d8d87;border-radius:6px;padding:8px 12px;color:#87300f;cursor:pointer}
.route-access-note,.map-result-context{font-size:14px;color:#555;line-height:1.6}
.route-written-directions{border-top:1px solid #dedbd5;margin-top:8px;padding:0 12px}
.route-written-directions summary{min-height:48px;padding:10px 0;cursor:pointer;font-size:16px;font-weight:600}
.route-written-directions ol{padding-left:24px;line-height:1.7;font-size:16px}
.route-written-directions li{margin-bottom:10px}
.route-written-directions .text-button{font:inherit;line-height:inherit;text-align:left;white-space:normal}
.directory-facilities{display:grid;gap:8px;margin:12px 0}
.directory-facilities a{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:48px;padding:10px;border-bottom:1px solid #dedbd5;color:#87300f}
.directory-facilities span{color:#555}
.tenant-preview-summary{padding:12px 0}
.tenant-preview-summary h1{font-size:26px;margin:8px 0}
.tenant-preview-summary p{font-size:16px}
.visitor-image-recovery{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-height:48px;padding:10px;font-size:14px;background:#f4f5f1;color:#343434}
.route-recent-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px;font-size:14px;font-weight:600}
.route-recent-heading>button{width:44px;height:44px;display:grid;place-items:center;border:0;background:#fff;color:#555;padding:10px;border-radius:4px;cursor:pointer}
.route-place-all{width:100%;min-height:44px;padding:8px;border:0;border-top:1px solid #dedbd5;background:#fff;color:#87300f;font:inherit;font-size:14px;text-align:left;cursor:pointer}
.route-recent-heading[hidden],.route-place-all[hidden]{display:none}
.visit-parking{border-bottom:1px solid #dedbd5;padding-block:24px}
.visit-parking h2{font-size:21px;margin:0 0 12px}
.parking-reminder{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.parking-reminder>svg{width:24px;height:24px;flex:0 0 24px;color:#87300f}
.parking-reminder-location{flex:1 1 150px;min-width:0}
.parking-reminder-location p{margin:0;font-size:17px;font-weight:600;overflow-wrap:anywhere}
.parking-reminder-location small{font-size:13px;color:#62605d}
html[data-visitor-text="large"] .parking-reminder-location p{font-size:20px}
.parking-reminder>a{display:inline-flex;align-items:center;min-height:44px}
.parking-recovery{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px}
.parking-recovery p{margin:0}.parking-recovery button{min-height:44px}
.visitor-image-recovery[hidden],.directory-facilities[hidden],.map-clear-filters[hidden]{display:none!important}
.content-warning{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px;font-size:16px}
@media(max-width:600px){.category>span:last-child{font-size:12px}.visitor-preferences{padding-inline:8px}.map-search-panel{max-height:55dvh;overflow:auto}.directory-facilities a{align-items:flex-start;flex-wrap:wrap}.route-written-directions{padding-inline:12px}.map-navigation .map-view-controls button{font-size:14px}.map-main[data-map-selected="true"] .map-directions-here{font-size:0}.route-place-results{max-width:100%}}
