/* Native Contacts and route screens: retain Mini App typography and spacing. */
.app .showroom-photo{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:16px;margin:0 0 24px;filter:none}
.app .showroom-booking{padding:20px;margin:24px 0;background:#142438;border-left:3px solid #91bfff;border-radius:0 12px 12px 0;color:#eef4ff}
.app .showroom-booking h2,.app .showroom-booking h3{margin:0 0 12px;font-size:20px;line-height:1.25;color:#fff}
.app .showroom-booking p{color:#dbe5f4;line-height:1.5;margin:12px 0 18px}
.app .showroom-route{max-width:740px;margin-inline:auto;color:#e8edf5}
.app .showroom-route h1{font-size:clamp(28px,6vw,40px);line-height:1.12;margin:12px 0 18px}
.app .showroom-route h2{font-size:24px;line-height:1.25;color:#f4f7ff}
.app .showroom-route h3{font-size:20px;line-height:1.3;color:#f4f7ff;margin:0 0 12px}
.app .showroom-route p{font-size:16px;line-height:1.55;color:#d4dce8}
.app .route-tabs{display:flex;gap:8px;margin:32px 0 24px}
.app .route-tabs button{flex:1;min-height:48px;padding:12px 14px;border:1px solid #40516a;background:#111b29;border-radius:12px;color:#dce6f5;font:inherit;font-weight:600}
.app .route-tabs button[aria-selected="true"]{background:#c8dfff;color:#0b1728;border-color:#c8dfff}
.app .showroom-route video{display:block;width:100%;max-height:70vh;background:#080d15;border-radius:14px}
.app .showroom-route .route-video-caption{font-size:14px;margin:10px 0 30px;color:#b4c3d8}
.app .route-overview,.app .route-floor,.app .route-help{margin:36px 0}
.app .route-photo{display:block;position:relative;width:100%;padding:0;border:0;background:#111b29;border-radius:12px;overflow:hidden;cursor:zoom-in;color:#fff}
.app .route-photo img{display:block;width:100%;height:auto;max-height:640px;object-fit:contain}
.app .route-photo>span{position:absolute;bottom:10px;right:10px;padding:6px 10px;border-radius:7px;background:#08121ee8;font-size:12px;color:#fff}
.app .route-map-links{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:14px}
.app .route-map-links a{color:#b7d5ff;text-underline-offset:4px;font-size:14px}
.app .route-map-links .route-credit{font-size:12px;color:#bcc8d8}
.app .route-steps{list-style:none;counter-reset:route-step;padding:0;margin:32px 0}
.app .route-steps li{counter-increment:route-step;margin:0 0 36px;padding-top:24px;border-top:1px solid #334052}
.app .route-steps h3:before{content:counter(route-step) '. ';color:#a9ccff}
.route-lightbox{width:min(1000px,calc(100vw - 24px));max-width:none;max-height:90dvh;padding:12px;background:#0b1421;color:#fff;border:1px solid #43516a;border-radius:16px}
.route-lightbox::backdrop{background:#030810df}
.route-lightbox>button{display:block;margin:0 0 12px auto;color:#e8f2ff;background:#1d2b40;border:1px solid #586d8a}
.route-lightbox>img{display:block;max-width:100%;max-height:calc(90dvh - 90px);margin:auto;object-fit:contain}
@media(max-width:480px){.app .showroom-booking{padding:16px}.app .route-help .paired{display:grid;grid-template-columns:1fr}.app .showroom-route h2{font-size:22px}}

.app .showroom .showroom-route-cta{width:100%;margin:16px 0 8px}
.app .showroom .showroom-route-cta+p{margin-top:0}

/* Stable intrinsic ratios before lazy images arrive, including wide floor plans. */
.app .route-photo img{aspect-ratio:auto;max-height:none}
.app .route-map-links a{display:inline-flex;align-items:center;min-height:44px}
