/* Guided selection and booking share the EASY HOME neutral / gold component system. */
#selection { background:#f5f5f3; color:#202124; }
#selection .selection-intro { max-width:760px; font-size:15px; line-height:1.7; color:#62666b; }
#selection .selection-data-note { background:#fff; border:1px solid #dedfdd; border-radius:12px; color:#60636a; padding:16px 18px; font-size:12px; line-height:1.65; }
#selection .selection-data-note strong { color:#292b2f; }
#selection .selection-data-note a { color:#725b24; text-underline-offset:3px; }
#selection .home-selection-rail { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:12px; margin:28px 0 22px; }
#selection .home-select-field { min-width:0; }
#selection .home-select-field label { display:flex; align-items:center; gap:7px; margin:0 0 9px; font-size:12px; font-weight:650; color:#3a3c40; }
#selection .home-select-field label > span { font-size:10px; color:#787c82; font-variant-numeric:tabular-nums; }
#selection .home-select-shell { position:relative; }
#selection .home-select-shell select { width:100%; height:54px; padding:0 31px 0 12px; border:1px solid #d6d7d4; border-radius:10px; background:#fff; appearance:none; font-family:inherit; font-size:12px; font-weight:500; line-height:1.2; color:#24262a; cursor:pointer; text-overflow:ellipsis; transition:border-color .2s,background .2s,box-shadow .2s; }
#selection .home-select-shell select:hover:not(:disabled) { border-color:#9c8142; }
#selection .home-select-shell select:focus-visible { outline:3px solid #ac873e4a; outline-offset:3px; border-color:#92752d; }
#selection .home-select-shell select:disabled { color:#8e9195; background:#ececea; border-color:#e2e3e0; cursor:not-allowed; opacity:1; }
#selection .home-select-shell svg { position:absolute; pointer-events:none; width:16px; height:16px; top:19px; right:10px; color:#696d72; }
#selection .home-select-field.is-current label { color:#725b24; }
#selection .home-select-field.is-current .home-select-shell select { border-color:#ae8c43; box-shadow:0 0 0 1px #ae8c431c; }
#selection .home-select-field.is-complete:not(.is-current) .home-select-shell select { border-color:#b6bdb5; }
#selection .home-select-field.is-disabled label { color:#86898d; }
#selection .home-select-field > small { display:block; margin-top:8px; min-height:26px; font-size:10px; line-height:1.4; color:#74777d; }
#selection .steps { grid-template-columns:repeat(6,minmax(0,1fr)); margin:0; border:0; border-bottom:1px solid #dedfdd; border-radius:0; background:transparent; gap:4px; }
#selection .step { display:flex; align-items:center; gap:9px; justify-content:center; text-align:left; padding:15px 8px; border:0; border-bottom:2px solid transparent; border-radius:8px 8px 0 0; background:transparent; color:#64676c; transition:background .2s,color .2s; }
#selection .step b { margin:0; color:#7d8085; font-size:10px; }
#selection .step span { font-size:12px; font-weight:650; }
#selection .step small { display:none; }
#selection .step.active { color:#725b24; background:#eee9dd; border-bottom-color:#947431; }
#selection .step.active b { color:#725b24; }
#selection .step.done:not(.active) { color:#313b33; }
#selection .step.done b { color:#58725b; }
#selection .step:disabled { color:#96999c; cursor:not-allowed; }
#selection .step:hover:not(:disabled):not(.active) { background:#eaeae7; }
#selection .step:focus-visible { outline:3px solid #ac873e4a; outline-offset:1px; }
#selection .step[hidden] { display:none; }
#selection .selection-panel { padding:30px; border:1px solid #e0e1de; border-top:0; border-radius:0 0 16px 16px; background:#fff; }
#selection .selection-label { color:#24262a; font-family:inherit; font-size:clamp(22px,2.3vw,31px); font-weight:650; line-height:1.25; letter-spacing:-.025em; }
#selection .selection-guidance { margin:12px 0 18px; font-size:13px; color:#6a6e74; line-height:1.7; max-width:780px; }
#selection .choice-tools { display:flex; align-items:center; flex-wrap:wrap; gap:14px; }
#selection .choice-search { width:min(370px,100%); min-height:48px; background:#f8f8f6; color:#24262a; border:1px solid #d7d9d6; border-radius:10px; padding:12px 15px; font:inherit; font-size:13px; }
#selection .choice-search:focus-visible { outline:3px solid #ac873e4a; outline-offset:3px; border-color:#92752d; }
#selection .choice-result-count { font-size:12px; color:#73777d; }
#selection .choices { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:22px 0 24px; }
#selection .choice { background:#f8f8f6; color:#26292d; border:1px solid #e0e2de; border-radius:11px; padding:17px 15px; min-width:0; min-height:86px; box-shadow:none; transition:transform .2s,border-color .2s,background .2s,box-shadow .2s; }
#selection .choice:hover:not(:disabled) { transform:translateY(-2px); border-color:#a58a4e; background:#fff; box-shadow:0 5px 16px #24242409; }
#selection .choice:active:not(:disabled) { transform:translateY(0); }
#selection .choice:focus-visible { outline:3px solid #ac873e4a; outline-offset:3px; }
#selection .choice.is-selected { border-color:#8d7134; background:#f5f0e4; }
#selection .choice strong { font-size:14px; line-height:1.3; }
#selection .choice small { color:#6e7278; font-size:11px; line-height:1.5; }
#selection .choice-badge { border:1px solid #dedfd9; border-radius:5px; font-size:9px; color:#727579; background:transparent; }
#selection .choice-counts { border-top:1px solid #e1e2dd; margin-top:15px; padding-top:13px; }
#selection .choice-counts strong { font-size:13px; }
#selection .choice-counts span > span { font-size:9px; color:#74787d; }
#selection .tower-choices,#selection .floor-choices { grid-template-columns:repeat(5,minmax(0,1fr)); }
#selection .flat-choices { grid-template-columns:repeat(5,minmax(0,1fr)); }
#selection .flat-grid-home { display:flex; flex-direction:column; align-items:stretch; gap:0; min-height:195px; padding:17px; border:1px solid #d7ddd6; background:#fbfcfa; }
#selection .flat-grid-home.unavailable { opacity:1; cursor:not-allowed; }
#selection .flat-grid-heading { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:18px; }
#selection .flat-grid-heading .booking-ui-icon { color:#637b66; width:24px; height:24px; }
#selection .flat-grid-heading strong { font-size:28px; letter-spacing:-.03em; font-weight:650; line-height:1; }
#selection .flat-grid-heading strong small { display:block; color:#747a77; text-transform:uppercase; letter-spacing:.11em; font-weight:550; font-size:9px; margin:0 0 6px; }
#selection .flat-grid-type { font-size:15px; font-weight:650; }
#selection .flat-grid-area { display:block; font-size:11px; color:#6b7170; margin-top:5px; }
#selection .flat-grid-status { display:flex; align-items:flex-start; gap:7px; padding-top:14px; margin-top:auto; font-size:10px; font-weight:600; line-height:1.45; color:#47624b; }
#selection .flat-grid-status i { flex:0 0 6px; height:6px; border-radius:50%; background:currentColor; margin-top:4px; }
#selection .flat-grid-home.status-payment-processing { background:#fbf8f0; border-color:#e3d7bd; }
#selection .flat-grid-home.status-payment-processing .booking-ui-icon,#selection .flat-grid-home.status-payment-processing .flat-grid-status { color:#856624; }
#selection .flat-grid-home.status-booked { background:#f3f3f2; border-color:#dddeda; }
#selection .flat-grid-home.status-booked .booking-ui-icon,#selection .flat-grid-home.status-booked .flat-grid-status { color:#747779; }
#selection .flat-grid-home.status-booked .flat-grid-type,#selection .flat-grid-home.status-booked .flat-grid-heading strong { color:#787b7d; }
#selection .selection-summary { flex-wrap:wrap; align-items:flex-start; gap:8px 18px; padding-top:20px; border-color:#e1e2df; }
#selection .selection-summary span { font-size:10px; color:#7a7d82; }
#selection .selection-summary strong { flex:1 1 380px; font-size:13px; line-height:1.6; color:#34373b; }
#selection .selection-summary small { flex-basis:100%; font-size:11px; color:#777b81; }
#selection .selection-navigation { display:flex; justify-content:space-between; align-items:center; gap:16px; padding-top:20px; margin-top:8px; }
#selection .selection-navigation .text-link { border:1px solid #d9dcd7; border-radius:999px; padding:12px 19px; color:#464a4e; background:#fff; font-size:12px; }
#selection .selection-navigation .text-link:hover { border-color:#998146; background:#f8f6f0; }
#selection .journey-note { font-size:12px; color:#73777d; }
#selection .inventory-legend { gap:14px 22px; font-size:11px; color:#5e646a; flex-wrap:wrap; margin-top:24px; }
#selection .inventory-legend .dot.available { background:#58775d; }
#selection .inventory-legend .dot.processing { background:#a6853b; }
#selection .inventory-legend .dot.booked { background:#838789; }
#selection .bhk-filter { gap:8px; }
#selection .bhk-filter button { border:1px solid #d6d9d4; border-radius:999px; background:#fff; color:#5a5e64; padding:11px 17px; font-family:inherit; font-size:12px; font-weight:600; line-height:1; box-shadow:none; min-height:42px; transition:background .2s,border-color .2s,color .2s; }
#selection .bhk-filter button.selected { border-color:#252729; background:#252729; color:#fff; }
#selection .bhk-filter button:hover:not(.selected) { border-color:#a58a4e; background:#f9f7f0; }
#selection .bhk-filter button:focus-visible { outline:3px solid #ac873e4a; outline-offset:3px; }

.booking-ui-icon { display:inline-block; width:18px; height:18px; flex:0 0 18px; vertical-align:middle; }
#booking-modal { background:#171a20b3; backdrop-filter:blur(7px); padding:26px; }
#booking-modal .modal-card { width:min(880px,100%); background:#fff; border-radius:20px; padding:38px 42px; box-shadow:0 25px 80px #0003; max-height:calc(100dvh - 52px); color:#25282d; }
#booking-modal .close { position:absolute; top:15px; right:16px; width:34px; height:34px; border:1px solid #e5e6e2; border-radius:50%; display:grid; place-items:center; background:#f6f6f4; color:#65686c; font-size:22px; line-height:1; transition:background .2s; }
#booking-modal .close:hover { background:#e9e9e6; color:#26292d; }
#booking-modal .close:focus-visible { outline:3px solid #ac873e4a; outline-offset:3px; }
#booking-modal .booking-journey-label { display:flex; justify-content:space-between; gap:14px; padding-right:26px; font-size:10px; letter-spacing:.1em; color:#73777d; margin-bottom:14px; }
#booking-modal .booking-journey-label strong { letter-spacing:0; font-size:11px; font-weight:550; color:#54585e; }
#booking-modal .booking-journey { margin:0 0 30px; padding:0 0 20px; border-bottom:1px solid #e4e5e2; overflow-x:auto; }
#booking-modal .booking-journey ol { display:grid; grid-template-columns:repeat(6,minmax(100px,1fr)); list-style:none; padding:0; margin:0; gap:5px; }
#booking-modal .booking-journey li { display:flex; align-items:flex-start; gap:7px; min-width:0; color:#8e9197; font-size:11px; }
#booking-modal .journey-step-number { display:grid; place-items:center; flex:0 0 22px; width:22px; height:22px; border:1px solid #e0e1de; border-radius:50%; background:#f7f7f5; font-size:10px; margin:0; color:#8a8e92; }
#booking-modal .booking-journey li > span:last-child { line-height:1.3; font-weight:600; padding-top:2px; }
#booking-modal .booking-journey small { display:block; font-size:9px; line-height:1.35; color:#989ba0; font-weight:400; margin-top:3px; }
#booking-modal .booking-journey li.is-current { color:#725b24; }
#booking-modal .is-current .journey-step-number { color:#fff; background:#907335; border-color:#907335; }
#booking-modal .booking-journey .is-current small { color:#8b763e; }
#booking-modal .booking-journey li.is-complete { color:#4e6251; }
#booking-modal .is-complete .journey-step-number { color:#49644d; background:#ecf1eb; border-color:#cbd6ca; }
#booking-modal h2 { font-family:inherit; font-size:clamp(26px,3.1vw,39px); font-weight:650; line-height:1.16; letter-spacing:-.035em; color:#26292d; margin:0 0 12px; }
#booking-modal .eyebrow { color:#8a7033; font-size:10px; letter-spacing:.1em; }
#booking-modal .form-intro { max-width:670px; color:#686d74; font-size:14px; line-height:1.65; }
#booking-modal .booking-context { display:flex; flex-direction:column; gap:7px; background:#f5f5f3; border:1px solid #e4e5e1; border-radius:11px; padding:17px 18px; margin:20px 0; }
#booking-modal .booking-context strong { font-size:15px; font-weight:650; }
#booking-modal .booking-context small { font-size:12px; line-height:1.55; color:#6e7278; }
#booking-modal .flat-property-layout { display:grid; grid-template-columns:1.15fr 1fr; gap:22px; margin:26px 0 22px; align-items:start; }
#booking-modal .booking-plan-preview { margin:0; border:1px solid #e1e3de; background:#f8f8f5; border-radius:12px; overflow:hidden; }
#booking-modal .booking-plan-drawing { padding:18px; height:315px; display:grid; place-items:center; }
#booking-modal .booking-plan-drawing svg { display:block; width:100%; height:100%; max-width:100%; }
#booking-modal .booking-plan-preview figcaption { display:grid; gap:9px; padding:18px; background:#fff; border-top:1px solid #e3e5df; }
#booking-modal .booking-plan-preview figcaption strong { font-size:13px; font-weight:650; }
#booking-modal .booking-plan-preview figcaption > span { font-size:11px; line-height:1.6; color:#787c82; }
#booking-modal .booking-plan-preview .text-link { color:#80662b; padding:5px 0; justify-content:flex-start; }
#booking-modal .booking-property-facts dl { margin:15px 0 0; }
#booking-modal .booking-property-facts dl > div { display:flex; justify-content:space-between; gap:15px; border-bottom:1px solid #eeefeb; padding:9px 0; }
#booking-modal .booking-property-facts dt { color:#777c83; font-size:12px; }
#booking-modal .booking-property-facts dd { color:#35393e; font-size:12px; font-weight:600; text-align:right; margin:0; max-width:63%; overflow-wrap:anywhere; }
#booking-modal .booking-availability { display:inline-flex; align-items:center; gap:7px; border:1px solid #d4dfd2; border-radius:999px; padding:7px 10px; color:#4d6952; font-size:10px; background:#f3f7f0; }
#booking-modal .booking-availability .booking-ui-icon { width:14px; height:14px; flex-basis:14px; }
#booking-modal .booking-property-pricing { display:grid; grid-template-columns:1fr 1.5fr; gap:20px; border-top:1px solid #e1e3de; border-bottom:1px solid #e1e3de; padding:23px 0; }
#booking-modal .booking-property-pricing span { display:block; color:#6e737a; font-size:11px; margin-bottom:8px; }
#booking-modal .booking-property-pricing strong { font-size:30px; letter-spacing:-.025em; font-weight:650; }
#booking-modal .booking-property-pricing small { font-size:13px; color:#7c8085; font-weight:400; }
#booking-modal .booking-payment-information { display:flex; align-items:flex-start; gap:12px; border:1px solid #e4e0d5; border-radius:11px; background:#faf8f2; color:#7e6a3c; padding:17px; margin:20px 0; }
#booking-modal .booking-payment-information .booking-ui-icon { margin-top:2px; }
#booking-modal .booking-payment-information p { margin:0; color:#777168; font-size:11px; line-height:1.7; }
#booking-modal .booking-payment-information strong { display:block; font-size:12px; color:#746030; margin-bottom:5px; }
#booking-modal .booking-summary { margin:24px 0; padding:10px 0; border-color:#e1e3de; }
#booking-modal .booking-summary > div { padding:12px 0; font-size:13px; }
#booking-modal .booking-summary span { color:#757a81; }
#booking-modal .booking-summary strong { color:#35393f; line-height:1.5; font-weight:600; }
#booking-modal .booking-summary .booking-fee-total { border-top:1px solid #e3e4df; margin-top:10px; padding-top:20px; }
#booking-modal .booking-fee-total strong { font-size:28px; letter-spacing:-.025em; }
#booking-modal .booking-room-schedule { border:1px solid #dfe2da; border-radius:11px; background:#fff; margin:24px 0; padding:0; overflow:hidden; }
#booking-modal .booking-room-schedule summary { padding:16px 18px; background:#f6f7f3; color:#40463e; font-size:12px; font-weight:650; cursor:pointer; line-height:1.55; }
#booking-modal .room-schedule-scroll { overflow-x:auto; }
#booking-modal .booking-room-schedule table { min-width:520px; width:100%; border-collapse:collapse; font-size:11px; }
#booking-modal .booking-room-schedule th,#booking-modal .booking-room-schedule td { text-align:left; padding:10px 16px; border-bottom:1px solid #edeFE9; color:#5c625c; white-space:normal; }
#booking-modal .booking-room-schedule tbody th { font-weight:500; color:#3d433e; }
#booking-modal .booking-room-schedule thead th { background:#fafbf8; color:#70786e; font-size:10px; font-weight:650; }
#booking-modal .room-schedule-note { padding:15px 18px; margin:0; font-size:11px; line-height:1.65; color:#7d6b3e; background:#faf8f1; }
#booking-modal .modal-form { gap:18px; margin:24px 0 0; }
#booking-modal .modal-form > label { gap:8px; font-size:12px; font-weight:600; color:#555b62; }
#booking-modal .registration-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
#booking-modal .registration-form-grid > label { min-width:0; }
#booking-modal .registration-form-grid .field-span-2 { grid-column:1 / -1; }
#booking-modal .modal-form input:not([type="radio"]),#booking-modal .modal-form select,#booking-modal .modal-form textarea { width:100%; min-height:51px; padding:13px 15px; background:#fafaf8; border:1px solid #d9ddd5; border-radius:9px; font:inherit; font-size:14px; color:#2d3136; transition:border-color .2s,background .2s,box-shadow .2s; }
#booking-modal .modal-form textarea { min-height:88px; resize:vertical; line-height:1.5; }
#booking-modal .modal-form input:not([type="radio"]):focus-visible,#booking-modal .modal-form select:focus-visible,#booking-modal .modal-form textarea:focus-visible { background:#fff; border-color:#947c40; outline:3px solid #ac873e36; outline-offset:2px; }
#booking-modal .modal-form input[aria-invalid="true"],#booking-modal .modal-form select[aria-invalid="true"],#booking-modal .modal-form textarea[aria-invalid="true"] { border-color:#a5675e; background:#fcf7f5; }
#booking-modal .field-hint { display:block; color:#8a8e92; font-size:10px; font-weight:400; line-height:1.45; margin-top:-2px; }
#booking-modal .booking-field-feedback,#booking-modal .form-error,#booking-modal .booking-failure-note { color:#8e4f45; background:#fcf2ef; border:1px solid #e8cdc5; border-radius:9px; padding:13px 15px; font-size:12px; line-height:1.6; margin:0; }
#booking-modal .booking-field-feedback[hidden] { display:none; }
#booking-modal .terms-copy { max-height:260px; padding:20px; background:#f6f6f3; border:1px solid #e2e5de; border-radius:11px; color:#656b65; font-size:13px; line-height:1.7; }
#booking-modal .terms-copy strong { color:#464f43; }
#booking-modal .agree { color:#565d61; font-size:13px; gap:11px; align-items:flex-start; }
#booking-modal .agree input { width:17px; height:17px; margin-top:2px; flex-shrink:0; }
#booking-modal .button { display:inline-flex; align-items:center; gap:12px; border:1px solid #99804a; border-radius:999px; background:#a88b49; color:#fff; padding:15px 23px; min-height:49px; text-transform:none; letter-spacing:0; font-size:13px; font-weight:600; box-shadow:none; transition:background .2s,transform .2s,box-shadow .2s; }
#booking-modal .button:hover:not(:disabled) { background:#907337; border-color:#907337; transform:translateY(-1px); box-shadow:0 5px 15px #70582216; }
#booking-modal .button:active:not(:disabled) { transform:translateY(0); }
#booking-modal .button:disabled { background:#e6e4dc; border-color:#e6e4dc; color:#96978f; opacity:1; cursor:not-allowed; }
#booking-modal .button:focus-visible,#booking-modal .text-link:focus-visible { outline:3px solid #ac873e4a; outline-offset:4px; }
#booking-modal .text-link { display:inline-flex; align-items:center; gap:8px; color:#646970; font-size:12px; font-weight:550; min-height:34px; padding:6px 0; background:none; text-transform:none; letter-spacing:0; transition:color .2s; }
#booking-modal .text-link:hover { color:#8b7034; }
#booking-modal .text-link > span { color:inherit; }
#booking-modal .journey-back { margin-top:18px; }
#booking-modal .modal-actions .journey-back { margin:0; }
#booking-modal .modal-actions,#booking-modal .processing-actions { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:24px; }
#booking-modal .modal-note { color:#83888e; font-size:11px; line-height:1.65; margin-top:22px; }
#booking-modal .journey-note { color:#757c83; font-size:12px; line-height:1.65; }
#booking-modal .booking-payment-status { display:flex; gap:12px; align-items:flex-start; border:1px solid #e3d7b6; border-radius:11px; padding:16px; background:#fbf8ef; color:#896e31; margin:20px 0; }
#booking-modal .booking-payment-status strong { display:block; font-size:12px; line-height:1.55; }
#booking-modal .booking-payment-status span { display:block; color:#92846a; font-size:11px; line-height:1.6; margin-top:4px; }
#booking-modal .payment-methods { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; padding:0; border:0; margin:0 0 5px; }
#booking-modal .payment-methods legend { color:#5a6066; font-size:12px; font-weight:600; margin-bottom:12px; padding:0; }
#booking-modal .payment-methods label { display:flex; align-items:center; gap:9px; min-height:58px; border:1px solid #dce0d8; border-radius:10px; padding:13px 16px; font-size:13px; color:#5f656c; background:#fafbf8; cursor:pointer; transition:border-color .2s,background .2s; }
#booking-modal .payment-methods label:has(input:checked) { border-color:#ae914f; background:#faf7ed; color:#775e24; }
#booking-modal .payment-methods input[type="radio"] { width:15px; height:15px; margin:0 0 0 auto; accent-color:#997c37; }
#booking-modal .payment-methods label > span { order:1; }
#booking-modal .payment-methods input { order:2; }
#booking-modal .payment-methods input:focus-visible { outline:3px solid #ac873e4a; outline-offset:3px; }
#booking-modal .cancel-payment,#booking-modal .booking-danger-action { color:#8e6056; margin:0; }
#booking-modal .success-mark,#booking-modal .processing-mark,#booking-modal .booking-failure-mark { width:50px; height:50px; border-radius:50%; display:grid; place-items:center; margin:0 0 20px; background:#edf3e9; color:#547552; font-size:25px; }
#booking-modal .processing-mark { background:#f4ecd9; color:#937739; }
#booking-modal .processing-mark .booking-ui-icon { width:22px; height:22px; }
#booking-modal .booking-failure-mark { background:#faeee9; color:#a66c5b; }
#booking-modal .booking-failure-mark .booking-ui-icon { width:22px; height:22px; }
#booking-modal .booking-success-action { background:#597153; border-color:#597153; }
#booking-modal .booking-success-action:hover:not(:disabled) { background:#476142; border-color:#476142; }
#booking-modal .qr-preview { border:1px solid #e2e5dd; border-radius:11px; background:#f6f7f3; padding:16px; }
#booking-modal .qr-preview strong { color:#545d4c; }
#booking-modal .qr-preview small { color:#858c7e; font-size:11px; line-height:1.55; }
#booking-modal .qr-faux { background:#e9ece4; border:1px solid #d8ded0; outline:0; color:#788369; font-size:18px; border-radius:8px; }

@media (max-width:1100px) {
  #selection .home-selection-rail { grid-template-columns:repeat(4,minmax(0,1fr)); }
  #selection .home-select-field > small { min-height:14px; }
  #selection .floor-choices,#selection .tower-choices { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:850px) {
  #selection .choices { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #selection .flat-choices { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #selection .steps { gap:1px; }
  #selection .step { padding:13px 5px; gap:4px; }
  #selection .step b { display:none; }
  #selection .step span { font-size:11px; }
  #booking-modal .modal-card { padding:34px 28px; }
  #booking-modal .flat-property-layout { grid-template-columns:1fr; }
  #booking-modal .booking-plan-drawing { height:340px; }
}
@media (max-width:600px) {
  #selection .home-selection-rail { grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px 12px; }
  #selection .home-select-field:first-child { grid-column:1/-1; }
  #selection .home-select-shell select { font-size:13px; }
  #selection .home-select-field label { font-size:12px; }
  #selection .selection-panel { padding:23px 17px; }
  #selection .steps { grid-template-columns:repeat(3,minmax(0,1fr)); gap:3px; border:0; }
  #selection .step { border:1px solid #e0e1dc; border-radius:7px; min-height:42px; }
  #selection .step.active { border-color:#b8a36c; }
  #selection .choices,#selection .flat-choices,#selection .floor-choices,#selection .tower-choices { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  #selection .choice { padding:14px 12px; }
  #selection .choice-heading { flex-wrap:wrap; gap:6px; }
  #selection .flat-grid-home { min-height:190px; padding:15px 13px; }
  #selection .flat-grid-heading strong { font-size:28px; }
  #selection .selection-summary strong { flex-basis:100%; }
  #selection .selection-navigation { flex-wrap:wrap; }
  #selection .inventory-legend { gap:12px; font-size:10px; }
  #selection .inventory-legend small { flex-basis:100%; }
  #selection .bhk-filter button { padding:10px 13px; font-size:11px; }
  #booking-modal { padding:12px; }
  #booking-modal .modal-card { padding:32px 20px 26px; max-height:calc(100dvh - 24px); border-radius:15px; }
  #booking-modal .booking-journey { padding-bottom:15px; margin-bottom:24px; }
  #booking-modal .booking-journey ol { grid-template-columns:repeat(6,100px); }
  #booking-modal .booking-journey-label { font-size:9px; padding-right:28px; }
  #booking-modal .booking-journey-label strong { font-size:10px; }
  #booking-modal .flat-property-layout { gap:20px; margin-top:22px; }
  #booking-modal .booking-plan-drawing { height:265px; padding:12px; }
  #booking-modal .booking-property-pricing { grid-template-columns:1fr 1fr; gap:13px; }
  #booking-modal .booking-property-pricing strong { font-size:25px; }
  #booking-modal .booking-property-pricing small { display:block; font-size:11px; margin-top:4px; }
  #booking-modal .booking-summary > div { font-size:12px; gap:15px; }
  #booking-modal .booking-summary strong { max-width:60%; }
  #booking-modal .booking-summary .booking-fee-total strong { font-size:25px; }
  #booking-modal .modal-actions,#booking-modal .processing-actions { align-items:stretch; flex-direction:column; gap:12px; }
  #booking-modal .modal-actions .button,#booking-modal .processing-actions .button { width:100%; }
  #booking-modal .payment-methods { grid-template-columns:1fr; }
  #booking-modal .registration-form-grid { grid-template-columns:1fr; gap:15px; }
  #booking-modal .registration-form-grid .field-span-2 { grid-column:auto; }
  #booking-modal .modal-form input:not([type="radio"]),#booking-modal .modal-form select,#booking-modal .modal-form textarea { font-size:16px; }
}
@media (prefers-reduced-motion:reduce) {
  #selection *,#booking-modal * { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  #selection .choice:hover:not(:disabled),#booking-modal .button:hover:not(:disabled) { transform:none; }
}
