/* One continuous booking surface, shared by the homepage and the direct booking URL. */
.rns-home-inline-booking{grid-column:1 / -1;min-width:0;}
.rns-flow-page{max-width:1080px;margin:36px auto 72px;padding:0 24px;}
body.rns-friendly .rns-flow{--flow-ink:#2c3c4b;--flow-muted:#586979;--flow-blue:#2269ac;--flow-line:#dfe7ee;max-width:100%;padding:32px 40px;border:1px solid var(--flow-line);border-radius:24px;background:#fff;color:var(--flow-ink);font:400 16px/1.6 Inter,system-ui,sans-serif;box-shadow:0 8px 30px rgb(39 64 87 / 4%);scroll-margin-top:150px;}
.rns-flow [hidden]{display:none!important;}
.rns-flow *{box-sizing:border-box;}
.rns-flow .rns-flow-intro{max-width:720px;margin:0 auto 24px;text-align:center;}
.rns-flow .rns-flow-kicker{font-size:11px;font-weight:600;letter-spacing:.13em;color:#42729a;margin:0 0 8px;}
body.rns-friendly .rns-flow .rns-flow-intro :is(h1,h2){font-size:clamp(25px,2.5vw,32px)!important;line-height:1.3!important;font-weight:600!important;letter-spacing:-.025em!important;margin:0 0 10px;max-width:none;color:var(--flow-ink);}
.rns-flow-intro>p:last-child{color:var(--flow-muted);font-size:15px;max-width:60ch;margin:0 auto;}
.rns-flow-app,.rns-flow-success{max-width:820px;margin:auto;}
.rns-flow-progress{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:0;margin:0 0 24px;}
.rns-flow-progress li{margin:0;min-width:0;}
.rns-flow-progress button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 6px;background:#f5f7f9;color:#607181;border:0;border-radius:10px;font-size:13px;font-weight:500;line-height:1.4;}
.rns-flow-progress button span{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border-radius:50%;background:#e8edf2;font-size:12px;}
.rns-flow-progress button[aria-current]{background:#eaf2fa;color:#1a5d98;font-weight:600;}
.rns-flow-progress button[aria-current] span{background:#2269ac;color:#fff;}
.rns-flow-progress button[data-complete] span{background:#e0f0e9;color:#28775a;}
.rns-flow-progress button:disabled{opacity:1;cursor:default;}
.rns-flow form{margin:0;}
.rns-flow-heading{margin:28px 0 24px;}
body.rns-friendly .rns-flow #flowQuestion{font-size:clamp(21px,2vw,26px)!important;font-weight:500!important;line-height:1.35!important;letter-spacing:-.018em!important;margin:0 0 8px;scroll-margin-top:160px;color:var(--flow-ink);}
.rns-flow #flowHint{font-size:15px;line-height:1.6;margin:0;color:var(--flow-muted);}
.rns-flow :is(button,input,select,textarea){font-family:inherit;}
.rns-flow :is(button,input,select,textarea,summary):focus-visible{outline:3px solid #83b3dc;outline-offset:3px;}
.rns-flow button{cursor:pointer;}
.rns-flow button:disabled{cursor:wait;}
.rns-flow-devices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.rns-flow-devices button{display:flex;flex-direction:column;align-items:flex-start;gap:16px;position:relative;min-height:150px;padding:22px;background:#fff;color:var(--flow-ink);border:1px solid #d5e0e9;border-radius:16px;text-align:left;transition:background .15s,border-color .15s;}
.rns-flow-devices strong{font-size:17px;font-weight:500;line-height:1.4;}
.rns-flow-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;color:#377eb8;background:#edf5fc;}
.rns-flow-icon svg{width:30px;height:30px;}
.rns-flow [data-flow-type=tablet] .rns-flow-icon{background:#edf7f3;color:#398475;}
.rns-flow [data-flow-type=laptop] .rns-flow-icon{background:#f3f0f9;color:#8063a6;}
.rns-flow [data-flow-type=watch] .rns-flow-icon{background:#fcf4e9;color:#a47a39;}
.rns-flow-arrow{position:absolute;right:18px;top:30px;color:#8395a5;}
.rns-flow-crumbs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px;}
.rns-flow-crumbs:empty{display:none;}
.rns-flow-crumbs button{padding:6px 12px;border:1px solid #dce5ee;border-radius:20px;background:#f7f9fb;color:#4d687f;font-size:13px;}
.rns-flow-brands,.rns-flow-model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.rns-flow .rns-flow-choice{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:78px;padding:16px 18px;border:1px solid #d5e0e9;border-radius:13px;background:#fff;color:var(--flow-ink);font-size:16px;font-weight:500;text-align:left;line-height:1.5;}
.rns-flow-choice strong{font-size:16px;font-weight:500!important;}
.rns-flow-choice span{font-size:12px;font-weight:400;color:#657786;margin-top:3px;}
.rns-flow :is(.rns-flow-choice,.rns-flow-devices button):hover{background:#f2f7fc;border-color:#87afd0;}
.rns-flow .rns-flow-choice[aria-pressed=true]{background:#edf5fc;border-color:#2269ac;}
.rns-flow-search{display:block;font-size:14px;color:var(--flow-muted);font-weight:500;margin:0 0 20px;}
.rns-flow input:not([type=radio]):not([type=checkbox]),.rns-flow select,.rns-flow textarea{display:block;width:100%;max-width:100%;min-height:48px;padding:11px 14px;border:1px solid #ccd9e3;border-radius:10px;background:#fff;color:#2c3c4b;font-size:16px;font-weight:400;line-height:1.5;margin-top:7px;}
.rns-flow input[type=search]{padding-left:16px;background:#f9fbfd;}
.rns-flow select:disabled{background:#f4f6f8;color:#657786;}
.rns-flow .rns-flow-more,.rns-flow .rns-flow-retry{border:1px solid #ccdce9;border-radius:10px;padding:11px 18px;background:#f5f9fc;color:#2269ac;font-size:14px;margin-top:18px;min-height:44px;}
.rns-flow-help{font-size:13px;color:var(--flow-muted);line-height:1.65;margin:24px 0 0;}
.rns-flow-help a{color:#2269ac;white-space:normal;}
.rns-flow-selected-device{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:16px 20px;border:1px solid #dce7f0;background:#f3f7fb;border-radius:13px;margin-bottom:20px;}
.rns-flow-selected-device>span{font-size:12px;color:var(--flow-muted);grid-column:1;}
.rns-flow-selected-device strong{font-size:18px;font-weight:500;grid-column:1;}
.rns-flow-selected-device button{grid-column:2;grid-row:1 / span 2;align-self:center;background:none;border:0;color:#2269ac;text-decoration:underline;font-size:13px;padding:8px 0;}
.rns-flow-repairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:430px;overflow:auto;padding:4px;margin:-4px;}
.rns-flow .rns-flow-repair{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid #d5e0e9;border-radius:12px;background:white;cursor:pointer;margin:0;}
.rns-flow-repair input{width:19px;height:19px;flex:0 0 19px;accent-color:#2269ac;margin:0;}
.rns-flow-repair strong{display:block;font-weight:500!important;font-size:14px;line-height:1.45;}
.rns-flow-repair span span{display:block;margin-top:4px;font-size:13px;color:#586979;}
.rns-flow-repair:has(input:checked){background:#eef5fc;border-color:#4685b7;}
.rns-flow :is(.rns-flow-price-note,.rns-flow-privacy,.rns-flow-submit-note){font-size:13px;font-weight:400;color:#586979;line-height:1.65;margin:18px 0 0;}
.rns-flow-details{padding-top:18px;margin-top:18px;border-top:1px solid #e4ebf1;}
.rns-flow details summary{font-size:14px;font-weight:500;color:#4e6477;cursor:pointer;min-height:38px;}
.rns-flow .rns-flow-add{min-height:44px;padding:10px 16px;margin-top:20px;background:#fff;color:#2269ac;border:1px dashed #a5bdd1;border-radius:10px;font-size:14px;}
.rns-flow-added>div{display:flex;align-items:center;gap:12px;border-bottom:1px solid #e1e8ee;padding:12px 0;font-size:14px;}
.rns-flow-added>div span{flex:1;}
.rns-flow-added button{padding:8px 0;font-size:13px;color:#2269ac;border:0;background:transparent;}
body.rns-friendly .rns-flow .rns-booking-card{padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;}
.rns-flow .rns-booking-card>.rns-booking-step{display:none;}
.rns-flow .rns-booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;}
.rns-flow .rns-booking-fields label{font-size:14px;font-weight:500;color:#425669;min-width:0;}
.rns-flow .rns-booking-field-full{grid-column:1 / -1;}
.rns-flow .rns-booking-grid--flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.rns-flow .rns-booking-choice{border:1px solid #d5e0e9;border-radius:12px;padding:18px;background:#fff;box-shadow:none;cursor:pointer;}
.rns-flow .rns-booking-choice>span{font-size:16px;font-weight:500;}
.rns-flow .rns-booking-choice small{font-size:13px;font-weight:400;color:#586979;line-height:1.6;}
.rns-flow .rns-booking-choice input{accent-color:#2269ac;}
.rns-flow .rns-booking-choice:has(input:checked){border-color:#4685b7;background:#eef5fc;box-shadow:none;}
.rns-flow .rns-location-select{display:block;margin-top:24px;font-size:14px;font-weight:500;}
.rns-flow .rns-field-hint{font-size:13px;color:#586979;}
.rns-flow .rns-booking-insurance{margin-top:24px;border-top:1px solid #e4ebf1;padding-top:24px;}
.rns-flow .rns-booking-step--compact>span{display:none;}
body.rns-friendly .rns-flow .rns-booking-step--compact h2{font-size:18px!important;font-weight:500!important;}
.rns-flow .rns-booking-step--compact p{font-size:13px;color:#586979;}
.rns-flow .rns-booking-address{margin-top:24px;}
.rns-flow .rns-flow-actions{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;gap:14px;margin-top:28px;padding:18px 0 4px;background:rgba(255,255,255,.97);border-top:1px solid #e4ebf1;}
.rns-flow-actions button{min-height:48px;border-radius:11px;padding:12px 22px;font-size:15px;font-weight:500;}
.rns-flow #flowBack{background:#fff;border:1px solid #d5e0e9;color:#4a6175;}
.rns-flow #flowNext{margin-left:auto;background:#2269ac;color:#fff;border:1px solid #2269ac;}
.rns-flow #flowNext:disabled{opacity:.65;}
.rns-flow #flowStepCount{font-size:12px;color:#718291;margin-left:auto;}
.rns-flow #flowNext:not([hidden])+#flowStepCount{margin:0;}
.rns-flow-error{padding:14px 18px;background:#fff4f0;border:1px solid #e8c5b9;color:#8a3c25;border-radius:12px;margin:16px 0;font-size:14px;}
.rns-flow-status{font-size:13px;color:#586979;margin:0;}
.rns-flow-status:empty{display:none;}
.rns-flow-empty{grid-column:1 / -1;padding:22px;background:#f6f9fb;border-radius:12px;color:#586979;font-size:15px;}
.rns-flow-review-group{padding:18px 0;border-bottom:1px solid #e0e8ee;}
.rns-flow-review-group>div{display:flex;align-items:center;justify-content:space-between;gap:14px;}
body.rns-friendly .rns-flow-review-group h3{font-size:17px!important;font-weight:500!important;margin:0;}
.rns-flow-review-group p{margin:6px 0;font-size:14px;color:#586979;white-space:pre-line;overflow-wrap:anywhere;}
.rns-flow .rns-flow-edit{padding:8px 0;background:none;border:0;font-size:13px;color:#2269ac;text-decoration:underline;}
.rns-flow-success{padding:32px 12px;text-align:center;}
.rns-flow-success-icon{display:grid;place-items:center;width:64px;height:64px;background:#e6f3eb;color:#327952;border-radius:50%;font-size:30px;margin:0 auto 20px;}
.rns-flow-success p{font-size:16px;line-height:1.7;color:#526579;}
.rns-flow-success a{display:inline-flex;padding:12px 18px;border-radius:10px;background:#2269ac;color:#fff;}
.rns-flow .rns-flow-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden;}
@media(max-width:700px){
 body.rns-friendly .rns-flow{padding:24px 18px;border-radius:18px;}
 .rns-flow-page{padding:0 12px;margin-top:20px;}
 .rns-flow-devices{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
 .rns-flow-devices button{min-height:125px;padding:16px;gap:10px;}
 .rns-flow-progress{gap:4px;}
 .rns-flow-progress button{flex-direction:column;font-size:11px;padding:10px 1px;gap:5px;white-space:nowrap;}
 .rns-flow-brands,.rns-flow-model-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
 .rns-flow .rns-flow-choice{padding:12px;font-size:15px;min-height:76px;}
 .rns-flow-choice strong{font-size:15px;}
 .rns-flow-repairs,.rns-flow .rns-booking-fields,.rns-flow .rns-booking-grid--flow{grid-template-columns:1fr;}
 .rns-flow #flowStepCount{display:none;}
 .rns-flow-actions button{padding:12px 15px;font-size:14px;}
 .rns-flow-heading{margin-top:22px;}
 .rns-flow-selected-device{padding:14px;}
 .rns-flow-selected-device strong{font-size:16px;}
 .rns-flow-selected-device button{font-size:12px;}
}
@media(prefers-reduced-motion:reduce){.rns-flow *{transition:none!important;scroll-behavior:auto!important;}}

@media(max-width:380px){
 .rns-flow-progress button{font-size:0;gap:0;padding:10px 0;}
 .rns-flow-progress button span{font-size:12px;}
 .rns-flow-devices button{padding:12px;}
 .rns-flow-devices strong{font-size:15px;}
 body.rns-friendly .rns-flow{padding:20px 12px;}
}
