/* ReTech: the approved three-step design, with one stable footer. */
.rt-simple-page { color-scheme:light; background:#fff; overflow-x:clip; --rt-simple-green:#00853e; }
.rt-simple-page body { margin:0; background:#fff!important; overflow-x:clip; }
.rt-simple-page #app,.rt-simple-page .wrap,.rt-simple-page #booking-form { transform:none!important; filter:none!important; perspective:none!important; contain:none!important; min-width:0; }
.rt-simple-page #app>header { padding:14px 16px 2px!important; max-width:600px; margin:auto; background:#fff!important; border-radius:0; }
.rt-simple-page header .brand { min-height:43px; }
.rt-simple-page header .brand-wordmark { width:120px!important; height:auto!important; }
.rt-simple-page header :is(h1,header>p),.rt-simple-page .rt-bright-city { display:none!important; }
.rt-simple-page #app>header>p { display:none!important; }
.rt-simple-page .wrap { width:min(100%,600px); padding:8px 16px 0!important; }
#app .rt-simple-booking { --rt-action:var(--rt-simple-green); --rt-footer-height:142px; padding-bottom:calc(var(--rt-footer-height) + 20px)!important; }
#app .rt-simple-booking>section.card { border:0!important; border-radius:0; padding:8px 0 16px!important; background:#fff!important; margin:0!important; box-shadow:none; }
#app .rt-simple-booking>section>h2 { font-size:23px!important; letter-spacing:-.5px; line-height:1.2; margin:10px 0 15px; color:#10221b; }
#app .rt-simple-booking .booking-progress { position:relative!important; top:auto!important; padding:0!important; margin:0 0 8px!important; background:#fff!important; border:0!important; box-shadow:none!important; }
#app .rt-simple-booking #booking-step-count { font-size:12px; margin:0 0 8px; color:#527363; }
#app .rt-simple-booking .booking-progress ol { display:grid; grid-template-columns:1fr 1fr 1fr; gap:6px; margin:0; padding:0; list-style:none; }
#app .rt-simple-booking .booking-progress li { min-width:0; padding:0; }
#app .rt-simple-booking .booking-progress li::before,#app .rt-simple-booking .booking-progress li::after { display:none!important; }
#app .rt-simple-booking .booking-progress [data-step] { position:static!important; display:flex; flex-direction:row; justify-content:center; align-items:center; gap:5px; width:100%; min-height:38px; padding:7px 4px!important; border:0; border-radius:24px; background:#eff1f0!important; color:#4e5b55!important; font-size:11px!important; white-space:nowrap; }
#app .rt-simple-booking .booking-progress [data-step] span { display:grid; place-items:center; width:19px; height:19px; min-width:19px; margin:0; border:0; border-radius:50%; background:#dce2df; font-size:11px; color:inherit; }
#app .rt-simple-booking .booking-progress [aria-current=step] { background:var(--rt-action)!important; color:#fff!important; }
#app .rt-simple-booking .booking-progress [aria-current=step] span { background:#ffffff35; }
#app .rt-simple-booking .booking-progress [data-complete] { background:#e7f6ed!important; color:#007637!important; }
#app .rt-simple-booking .booking-progress button:disabled { opacity:1; cursor:default; }
#app .rt-simple-booking .rt-catalogue-search { margin:0 0 12px; }
#app .rt-simple-booking .rt-search-controls { min-height:46px; border:1px solid #c6d2cb; border-radius:10px; padding-left:10px; }
#app .rt-simple-booking .rt-search-controls:focus-within { border-color:var(--rt-action); outline:2px solid #bfe7d0; outline-offset:1px; }
#app .rt-simple-booking .rt-search-controls input,#app .rt-simple-booking .rt-search-controls input:focus-visible { font-size:16px; outline:0!important; box-shadow:none!important; border:0!important; background:transparent!important; min-height:44px; padding:9px 6px!important; }
#app .rt-simple-booking .rt-search-done { min-height:44px; padding:6px 10px; border:0; border-radius:8px; background:transparent!important; color:var(--rt-action)!important; font-size:13px; }
#app .rt-simple-booking .booking-categories { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; overflow:visible; padding:10px 0 0; }
#app .rt-simple-booking .booking-categories button { display:flex!important; position:relative; align-items:center; justify-content:center; flex-direction:column; gap:3px; min-width:0; min-height:86px; padding:7px!important; border:1px solid #dce4df!important; border-radius:12px; background:#fff!important; color:#18251e!important; font-size:13px; }
#app .rt-simple-booking .booking-categories button b { font-size:13px; line-height:1.2; }
#app .rt-simple-booking .booking-categories button .rt-category-photo { display:grid!important; place-items:center; width:100%; height:49px; }
#app .rt-simple-booking .rt-category-photo>.rt-search-photo { display:block!important; width:76px; height:49px; flex:none; border-radius:7px; }
#app .rt-simple-booking .rt-category-photo .rt-bright-item-art { width:80px; height:49px; min-width:0; }
#app .rt-simple-booking .rt-category-photo>svg { width:85px; height:49px; }
#app .rt-simple-booking .rt-category-check { display:none!important; position:absolute; right:5px; top:5px; width:20px; height:20px; border-radius:50%; background:var(--rt-action); color:#fff; font-size:13px; }
#app .rt-simple-booking .booking-categories :is(.rt-category-selected,[aria-pressed=true]) { border-color:var(--rt-action)!important; box-shadow:0 0 0 1px var(--rt-action); background:#f2fbf5!important; color:#15291b!important; }
#app .rt-simple-booking .booking-categories .rt-category-selected .rt-category-check { display:grid!important; place-items:center; }
#app .rt-simple-booking .quick-results:not(:empty) { margin-top:10px; max-height:300px; }
#app .rt-simple-booking .rt-empty-item { display:none!important; }
#app .rt-simple-booking #items>.rt-compact-item { grid-template-columns:42px minmax(0,1fr) 116px; gap:3px 8px; padding:9px; border-radius:10px; margin:8px 0; }
#app .rt-simple-booking .rt-compact-item>.rt-bright-item-art { width:42px; height:45px; grid-column:1; grid-row:1/4; }
#app .rt-simple-booking .rt-compact-name b { font-size:14px; }
#app .rt-simple-booking .rt-compact-item>.rt-compact-name { grid-column:2; grid-row:1; }
#app .rt-simple-booking .rt-compact-item>.item-guide { grid-column:2; grid-row:2; font-size:11px; }
#app .rt-simple-booking .rt-compact-item>.rt-compact-quantity { grid-column:3; grid-row:1/3; }
#app .rt-simple-booking .rt-compact-item>.item-edit { grid-column:2; grid-row:3; }
#app .rt-simple-booking .rt-compact-item>[data-remove-item] { grid-column:3; grid-row:3; }
#app .rt-simple-booking .rt-compact-item>.item-edit[open] { grid-column:1/-1; grid-row:4; }
#app .rt-simple-booking .quantity-control button { flex:0 0 40px!important; min-height:44px!important; }
#app .rt-simple-booking .quantity-control input { width:34px; }
#app .rt-simple-booking .booking-photo-actions { display:grid; grid-template-columns:1fr 76px; gap:3px 10px; position:relative; padding:12px; border:1px solid #dce5df; border-radius:12px; margin:12px 0 4px; background:#fbfdfb; }
#app .rt-simple-booking .booking-photo-actions h3 { grid-column:1; margin:0; font-size:17px; }
#app .rt-simple-booking .rt-photo-required { grid-column:1; margin:0; font-size:12px; color:#53745f; }
#app .rt-simple-booking #main-item-photo { grid-column:2; grid-row:1/5; width:76px; height:76px; max-height:76px; border-radius:10px; object-fit:cover; }
#app .rt-simple-booking #photo-count { grid-column:1; margin:3px 0; font-size:12px; color:#007c3a; }
#app .rt-simple-booking .booking-photo-actions>.actions { grid-column:1/-1; margin:5px 0 0; display:flex; gap:8px; }
#app .rt-simple-booking .booking-photo-actions>.actions>* { flex:1; min-height:44px; padding:9px 7px; font-size:13px; border:1px solid #9bc7a9; border-radius:8px; background:#fff!important; color:#007c3a!important; }
#app .rt-simple-booking #photo-feedback { grid-column:1/-1; margin:0; }
#app .rt-simple-booking #photos { grid-column:1/-1; gap:7px; }
#app .rt-simple-booking #photos:empty { display:none; }
#app .rt-simple-booking #review-photos { display:none; }
#app .rt-simple-booking .rt-simple-extras { margin:2px 0 8px; }
#app .rt-simple-booking :is(.rt-simple-extras,.rt-simple-schedule,.rt-simple-review,.booking-more-items)>summary { min-height:44px; padding:12px 0; font-size:13px; color:#007c3a; cursor:pointer; }
#app .rt-simple-booking .rt-related-items { margin:0; }
#app .rt-simple-booking .pickup-map-panel { min-height:280px; height:clamp(270px,38svh,350px); margin:12px 0; border-radius:12px; overflow:hidden; }
#app .rt-simple-booking #pickup-map { height:100%!important; min-height:0!important; margin:0!important; }
#app .rt-simple-booking .pickup-location-summary { padding:12px; border:1px solid #dce5df; border-radius:12px; background:#fff; }
#app .rt-simple-booking .pickup-location-summary strong { font-size:15px; }
#app .rt-simple-booking .pickup-location-summary p { font-size:13px; line-height:1.5; }
#app .rt-simple-booking .field { margin:13px 0; gap:7px; }
#app .rt-simple-booking .field>span { font-size:14px; }
#app .rt-simple-booking :is(input,select,textarea) { font-size:16px; min-height:48px; padding:12px; border:1px solid #c6d2cb; border-radius:9px; background:#fff; }
#app .rt-simple-booking #booking-otp h2 { margin:14px 0 8px; font-size:17px; }
#app .rt-simple-booking #booking-otp p { font-size:12px; line-height:1.5; }
#app .rt-simple-booking #booking-otp .rt-login-code-note { color:#687d70; }
#app .rt-simple-booking #booking-otp :is(#request,#verify) { min-height:48px; background:var(--rt-action); border-radius:9px; }
#app .rt-simple-booking .rt-otp-cells { position:relative; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; }
#app .rt-simple-booking .rt-otp-cells>input { position:absolute; inset:0; width:100%; height:100%; opacity:.01; color:transparent; caret-color:transparent; z-index:1; padding:0; letter-spacing:normal; }
#app .rt-simple-booking .rt-otp-cells>span { height:52px; display:grid; place-items:center; border:1px solid #b9cbbf; border-radius:9px; background:#fff; font-size:25px; }
#app .rt-simple-booking .rt-otp-cells:focus-within { outline:2px solid var(--rt-action); outline-offset:3px; border-radius:9px; }
#app .rt-simple-booking .rt-simple-review { margin:14px 0; border:1px solid #dce5df; padding:0 12px; border-radius:12px; }
#app .rt-simple-booking .rt-simple-review>summary { color:#13291c; font-weight:700; }
#app .rt-simple-booking .rt-simple-review>summary>span { float:right; font-size:11px; color:#007c3a; font-weight:400; }
#app .rt-simple-booking .rt-simple-payment { padding:15px; background:#e8f7e7; border-radius:10px; text-align:center; font-size:16px; font-weight:700; }
#app .rt-simple-booking .rt-simple-footer { position:fixed!important; z-index:1000; bottom:0!important; inset-inline:0!important; width:100%!important; margin:0!important; padding:0 0 env(safe-area-inset-bottom,0px); background:#fff; border-top:1px solid #dce7df; box-shadow:0 -3px 12px #123c1f09; transform:none!important; transition:none!important; animation:none!important; }
#app .rt-simple-footer .booking-dock { position:static!important; display:flex!important; align-items:center; width:min(100%,600px)!important; height:76px!important; min-height:76px!important; max-height:76px; margin:0 auto!important; padding:10px 16px!important; border:0!important; border-radius:0!important; box-shadow:none!important; background:#fff!important; transform:none!important; transition:none!important; animation:none!important; }
#app .rt-simple-footer .booking-dock :is(#flow-back,#flow-total) { display:none!important; }
#app .rt-simple-footer .booking-dock :is(#flow-next,#flow-requirement,#submit-booking) { width:100%!important; max-width:none!important; flex:1; height:54px; min-height:54px; max-height:54px; padding:12px!important; border-radius:10px; background:var(--rt-simple-green)!important; color:#fff!important; font-size:17px!important; line-height:1.2; box-shadow:none; }
#app .rt-simple-footer .booking-dock .hidden { display:none!important; }
#app .rt-simple-footer .booking-dock button:disabled { opacity:.55; background:#dcebe1!important; color:#516c5a!important; }
#app .rt-simple-footer .rt-bright-nav { position:static!important; display:grid!important; grid-template-columns:repeat(5,minmax(0,1fr)); align-items:stretch; gap:0; width:min(100%,600px)!important; height:66px; min-height:66px; margin:0 auto!important; padding:3px 6px!important; border-top:1px solid #e6ece8; border-radius:0!important; background:#fff!important; transform:none!important; box-shadow:none!important; }
#app .rt-simple-footer .rt-bright-nav a { position:static!important; display:flex!important; justify-content:center; align-items:center; flex-direction:column; gap:4px; width:100%!important; min-width:0; min-height:56px; padding:4px 1px!important; border:0!important; border-radius:8px!important; background:transparent!important; color:#4c6254!important; transform:none!important; }
#app .rt-simple-footer .rt-bright-nav a::before,#app .rt-simple-footer .rt-bright-nav a::after { display:none!important; }
#app .rt-simple-footer .rt-bright-nav svg { width:23px!important; height:23px!important; min-width:23px; padding:0!important; border:0!important; border-radius:0!important; background:transparent!important; box-shadow:none!important; transform:none!important; }
#app .rt-simple-footer .rt-bright-nav span { font-size:10px!important; white-space:nowrap; line-height:1.3; }
#app .rt-simple-footer .rt-bright-nav a.active { color:var(--rt-simple-green)!important; font-weight:700; }
.rt-keyboard-open #app .rt-simple-footer { display:none!important; }
.rt-keyboard-open #app .rt-simple-booking { padding-bottom:24px!important; }
@media(min-width:700px) { #app .rt-simple-booking .booking-categories button { min-height:104px; } #app .rt-simple-booking .rt-category-photo { height:62px!important; } }
@media(prefers-reduced-motion:reduce) { .rt-simple-page * { scroll-behavior:auto!important; } }
