/* =================================================================
   Full booking form  [regal_booking]
   ================================================================= */
.rbs{--rbs-primary:#162D44;--rbs-ink:#1d2733;--rbs-muted:#5d6b7a;--rbs-line:#d6dde5;--rbs-tint:#f3f6f9;
  font-family:'Ubuntu',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;font-size:15px;line-height:1.5;color:var(--rbs-ink);
  max-width:1140px;margin:24px auto;box-sizing:border-box;background:#fff;border-radius:14px;overflow:hidden;
  box-shadow:0 18px 40px -18px color-mix(in srgb,var(--rbs-primary) 55%,transparent);border:1px solid #e6ebf0}
.rbs *,.rbs *::before,.rbs *::after{box-sizing:inherit}
.rbs [hidden]{display:none!important}
.rbs select,.rbs input,.rbs textarea,.rbs button,.rbq select,.rbq input,.rbq button{font-family:inherit}

/* header + progress */
.rbs-header{position:relative;background:var(--rbs-primary);color:#fff;padding:28px 30px 24px}
.rbs-header::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.07;
  background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:28px 28px;
  mask-image:linear-gradient(100deg,transparent 35%,#000 100%);-webkit-mask-image:linear-gradient(100deg,transparent 35%,#000 100%)}
.rbs-header>*{position:relative}
.rbs-head{margin-bottom:22px}
.rbs-title{margin:0;color:#fff;font-family:inherit;font-size:26px;font-weight:700;line-height:1.25}
.rbs-sub{margin:4px 0 0;color:rgba(255,255,255,.72)}
.rbs-steps{display:flex;list-style:none;margin:0;padding:0;counter-reset:none}
.rbs-step{flex:1;display:flex;align-items:center;gap:10px;margin:0;position:relative;color:rgba(255,255,255,.6)}
.rbs-step:not(:last-child)::after{content:"";flex:1;height:2px;margin:0 14px;background:rgba(255,255,255,.2);border-radius:2px}
.rbs-step.is-done:not(:last-child)::after{background:#fff}
.rbs-step p{margin:0;font-weight:500;white-space:nowrap}
.rbs-num{flex:none;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;
  border:2px solid rgba(255,255,255,.35);font-weight:700;color:rgba(255,255,255,.7);transition:background .2s,color .2s}
.rbs-step.is-active,.rbs-step.is-done{color:#fff}
.rbs-step.is-active .rbs-num{background:#fff;border-color:#fff;color:var(--rbs-primary)}
.rbs-step.is-done .rbs-num{background:rgba(255,255,255,.15);border-color:#fff;color:#fff}

.rbs-panel{padding:30px}

/* step 1 rows */
.rbs-row{display:grid;grid-template-columns:minmax(150px,24%) 1fr 1fr;gap:12px 16px;align-items:start;margin-bottom:12px}
.rbs-label{font-weight:500;color:var(--rbs-primary);padding-top:13px}
.rbs-label small a{color:var(--rbs-muted);font-weight:400;text-decoration:underline;text-underline-offset:3px}
.rbs select,.rbs input[type=text],.rbs input[type=email],.rbs input[type=tel],.rbs textarea{
  width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--rbs-line);border-radius:8px;background:#fff;
  color:var(--rbs-ink);font-size:15px}
.rbs textarea{min-height:96px;resize:vertical}
.rbs select:focus,.rbs input:focus,.rbs textarea:focus{outline:none;border-color:var(--rbs-primary);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--rbs-primary) 18%,transparent)}
.rbs input[readonly]{background:var(--rbs-tint);color:var(--rbs-muted)}
.rbs .is-invalid,.rbs .has-error .rbs-type{border-color:#b3261e;box-shadow:0 0 0 3px rgba(179,38,30,.12)}
.rbs-feedback{color:#b3261e;font-size:13px;margin-top:6px}
.rbs-postcode-row{margin-top:18px}
.rbs-input-icon{display:flex;align-items:center;max-width:320px;border:1px solid var(--rbs-line);border-radius:8px;background:#fff}
.rbs-input-icon:focus-within{border-color:var(--rbs-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--rbs-primary) 18%,transparent)}
.rbs-input-icon svg{flex:none;margin-left:12px;color:var(--rbs-primary);opacity:.6}
.rbs .rbs-input-icon input{border:0;box-shadow:none;text-transform:uppercase}
.rbs .rbs-input-icon input::placeholder{text-transform:none}

/* extra questions + pills */
.rbs-question{margin:0 0 14px;padding:14px 16px;border-radius:10px;background:var(--rbs-tint);border:1px solid #e3e9ef}
.rbs-question h4{margin:0 0 10px;font-family:inherit;font-size:15px;font-weight:500;color:var(--rbs-primary)}
.rbs-pill{position:relative;display:inline-block;margin:0 8px 8px 0;cursor:pointer}
.rbs-pill input{position:absolute;opacity:0;width:1px;height:1px}
.rbs-pill span{display:inline-block;padding:9px 20px;border-radius:999px;border:1.5px solid var(--rbs-line);background:#fff;
  color:var(--rbs-ink);font-size:14px;font-weight:500;transition:background .15s,color .15s,border-color .15s}
.rbs-pill:hover span{border-color:var(--rbs-primary)}
.rbs-pill input:checked+span{background:var(--rbs-primary);border-color:var(--rbs-primary);color:#fff}
.rbs-pill input:focus-visible+span{outline:2px solid var(--rbs-primary);outline-offset:2px}
.rbs-choice{margin-bottom:4px}
.rbs-tip{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;
  border:1.5px solid var(--rbs-primary);color:var(--rbs-primary);font-size:11px;font-weight:700;cursor:help;position:relative;vertical-align:middle}
.rbs-tip:hover::after,.rbs-tip:focus::after{content:attr(data-tip);position:absolute;bottom:135%;left:50%;transform:translateX(-50%);
  width:260px;background:var(--rbs-ink);color:#fff;padding:9px 11px;border-radius:6px;font-size:12px;font-weight:400;line-height:1.45;z-index:10}

/* buttons */
.rbs hr{border:0;border-top:1px solid #e6ebf0;margin:22px 0}
.rbs-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.rbs-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:8px;
  border:2px solid var(--rbs-primary);font-size:15px;font-weight:700;cursor:pointer;transition:background .15s,color .15s}
.rbs-btn-primary{background:var(--rbs-primary);color:#fff;font-size:16px;margin-left:auto}
.rbs-btn-primary:hover{background:#fff;color:var(--rbs-primary)}
.rbs-btn-outline{background:#fff;color:var(--rbs-primary);border-color:var(--rbs-line)}
.rbs-btn-outline:hover{border-color:var(--rbs-primary)}
.rbs-btn:disabled{opacity:.6;cursor:wait}
.rbs-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--rbs-primary) 35%,transparent);outline-offset:2px}

.rbs-alert{margin-top:16px;padding:10px 14px;border-radius:8px;background:#fdf1f0;color:#b3261e;border-left:4px solid #b3261e;font-size:14px}
.rbs-alert ul{margin:0;padding-left:18px}

/* quote */
.rbs-quote-card{border:1px solid #e3e9ef;border-radius:12px;overflow:hidden}
.rbs-quote-head{text-align:center;padding:28px 16px;background:var(--rbs-tint);border-bottom:1px solid #e3e9ef}
.rbs-badge{display:inline-block;padding:5px 14px;border-radius:999px;background:#fff;border:1.5px solid var(--rbs-primary);
  color:var(--rbs-primary);font-size:13px;font-weight:500}
.rbs-tier-premium .rbs-badge{background:var(--rbs-primary);color:#fff}
.rbs-price{font-size:52px;font-weight:700;line-height:1.1;margin:12px 0 4px;color:var(--rbs-primary)}
.rbs-price-sub{color:var(--rbs-muted);font-size:14px}
.rbs-quote-table{width:100%;border-collapse:collapse;margin:0}
.rbs-quote-table th,.rbs-quote-table td{padding:12px 16px;border:0;border-bottom:1px solid #eef2f5;text-align:left}
.rbs-quote-table th{font-size:13px;font-weight:500;color:var(--rbs-muted);background:#fff}
.rbs-quote-table tr:last-child td{border-bottom:0}
.rbs-breakdown,.rbs-note{color:var(--rbs-muted);font-size:14px;margin:12px 0 0}
.rbs-breakdown{padding:0 16px 14px}

/* details */
.rbs-h{margin:6px 0 14px;font-family:inherit;font-size:18px;font-weight:700;color:var(--rbs-primary)}
.rbs-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin-bottom:22px}
.rbs-grid label{display:block;margin-bottom:5px;font-size:14px;font-weight:500;color:var(--rbs-primary)}
.rbs-span{grid-column:1/-1}
.rbs-landlord{margin-top:14px;padding:4px 18px 2px;border-radius:10px;background:var(--rbs-tint);border:1px solid #e3e9ef}
.rbs-landlord .rbs-note{margin:12px 0 14px}
.rbs-consent{display:flex;gap:10px;align-items:center;margin-top:18px;font-size:14px;cursor:pointer}
.rbs input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--rbs-primary)}
.rbs-hp{position:absolute!important;left:-9999px!important;height:1px;overflow:hidden}

/* done */
.rbs-done{text-align:center;padding:36px 10px}
.rbs-tick{width:72px;height:72px;margin:0 auto 16px;border-radius:50%;background:var(--rbs-primary);color:#fff;font-size:36px;line-height:72px}
.rbs-thanks{max-width:560px;margin:0 auto;font-size:17px}
.rbs-ref{margin-top:10px;font-weight:700;color:var(--rbs-primary)}

@media (max-width:767px){
  .rbs{border-radius:12px}
  .rbs-header{padding:22px 18px 20px}
  .rbs-title{font-size:21px}
  .rbs-step{flex-direction:column;gap:6px;text-align:center}
  .rbs-step:not(:last-child)::after{position:absolute;top:19px;left:calc(50% + 26px);right:calc(-50% + 26px);margin:0}
  .rbs-step p{font-size:12px;white-space:normal}
  .rbs-panel{padding:22px 18px}
  .rbs-row,.rbs-grid{grid-template-columns:1fr}
  .rbs-label{padding-top:0}
  .rbs-input-icon{max-width:none}
  .rbs-actions .rbs-btn{width:100%;margin-left:0}
  .rbs-price{font-size:42px}
}
@media (prefers-reduced-motion:reduce){.rbs *{transition:none!important}}

/* =================================================================
   Quick quote bar  [regal_quick_quote]
   ================================================================= */
.rbq{--rbs-primary:#162D44;font-family:'Ubuntu',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  color:#fff;box-sizing:border-box;margin:24px auto;max-width:1140px}
.rbq *,.rbq *::before,.rbq *::after{box-sizing:inherit}
.rbq [hidden]{display:none!important}
.rbq-form{position:relative;overflow:hidden;background:var(--rbs-primary);border-radius:14px;padding:28px 30px 20px;
  box-shadow:0 18px 40px -18px color-mix(in srgb,var(--rbs-primary) 70%,transparent)}
/* subtle blueprint grid, a nod to engineering */
.rbq-form::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.07;
  background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:28px 28px;
  mask-image:linear-gradient(100deg,transparent 35%,#000 100%);-webkit-mask-image:linear-gradient(100deg,transparent 35%,#000 100%)}
.rbq-form>*{position:relative}

.rbq-head{margin-bottom:18px}
.rbq-title{margin:0;color:#fff;font-family:inherit;font-size:24px;font-weight:700;line-height:1.25}
.rbq-sub{margin:4px 0 0;color:rgba(255,255,255,.72);font-size:15px}

.rbq-row{display:grid;grid-template-columns:minmax(150px,1.1fr) 1fr 1fr minmax(190px,1.15fr) auto;gap:12px;align-items:center}
.rbq-row-extra{margin-top:12px}
.rbq-lead{font-weight:500;font-size:15px;line-height:1.3;color:#fff}
.rbq-remove,.rbq-add{background:none;border:0;padding:0;color:#fff;font:inherit;font-size:13px;text-decoration:underline;
  text-underline-offset:3px;cursor:pointer;opacity:.85}
.rbq-remove{margin-left:6px}
.rbq-remove:hover,.rbq-add:hover{opacity:1}

.rbq select,.rbq input[type=text]{width:100%;height:48px;padding:0 14px;border:1px solid transparent;border-radius:8px;background:#fff;
  color:#1d2733;font-size:15px;appearance:auto}
.rbq select:focus,.rbq input:focus{outline:none;border-color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.35)}
.rbq .is-invalid,.rbq .is-error .rbq-type{box-shadow:0 0 0 2px #ff8a80}

.rbq-pc{display:flex;align-items:center;gap:10px}
.rbq-in{font-weight:500;color:rgba(255,255,255,.85)}
.rbq-pc-box{flex:1;display:flex;align-items:center;background:#fff;border-radius:8px}
.rbq-pc-box svg{flex:none;margin-left:12px;color:var(--rbs-primary);opacity:.6}
.rbq-pc-box input{border:0;background:transparent;text-transform:uppercase}
.rbq-pc-box input::placeholder{text-transform:none}
.rbq-pc-box:focus-within{box-shadow:0 0 0 3px rgba(255,255,255,.35)}
.rbq-pc-box input:focus{box-shadow:none}

.rbq-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:48px;padding:0 22px;border:2px solid #fff;
  border-radius:8px;background:#fff;color:var(--rbs-primary);font-size:16px;font-weight:700;white-space:nowrap;cursor:pointer;
  transition:background .15s,color .15s}
.rbq-btn:hover{background:transparent;color:#fff}
.rbq-btn:focus-visible{outline:3px solid rgba(255,255,255,.5);outline-offset:2px}

.rbq-question{margin-top:12px;padding:14px 16px;border-radius:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}
.rbq-q-title{margin:0 0 10px;font-weight:500;color:#fff}
.rbq .rbs-tip{border-color:#fff;color:#fff}
.rbq-pills{display:flex;flex-wrap:wrap;gap:8px}
.rbq-pill{position:relative;cursor:pointer;margin:0}
.rbq-pill input{position:absolute;opacity:0;width:1px;height:1px}
.rbq-pill span{display:inline-block;padding:8px 18px;border-radius:999px;border:1.5px solid rgba(255,255,255,.55);color:#fff;
  font-size:14px;font-weight:500;transition:background .15s,color .15s}
.rbq-pill:hover span{border-color:#fff}
.rbq-pill input:checked+span{background:#fff;color:var(--rbs-primary);border-color:#fff}
.rbq-pill input:focus-visible+span{outline:2px solid #fff;outline-offset:2px}

.rbq-msg{margin-top:14px;padding:10px 14px;border-radius:8px;background:#fff;color:#b3261e;font-size:14px;border-left:4px solid #b3261e}
.rbq-msg ul{margin:0;padding-left:18px}

.rbq-foot{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.14);text-align:center;
  font-size:14px;color:rgba(255,255,255,.8)}

@media (max-width:1024px){
  .rbq-row{grid-template-columns:1fr 1fr}
  .rbq-lead{grid-column:1/-1}
  .rbq-pc{grid-column:1/2}
  .rbq-row-extra .rbq-lead{grid-column:1/-1}
}
@media (max-width:600px){
  .rbq-form{padding:22px 18px 16px;border-radius:12px}
  .rbq-title{font-size:21px}
  .rbq-row{grid-template-columns:1fr}
  .rbq-pc{grid-column:auto}
  .rbq-in{display:none}
  .rbq-btn{width:100%}
}
@media (prefers-reduced-motion:reduce){.rbq *{transition:none!important}}

/* =================================================================
   Field hardening: beats theme / Elementor kit input styles
   ================================================================= */
.rbs .rbs-form input:not([type=radio]):not([type=checkbox]):not([type=hidden]):not([type=submit]),
.rbs .rbs-form select,
.rbs .rbs-form textarea,
.rbq .rbq-form input[type=text],
.rbq .rbq-form select{
  font-family:'Ubuntu',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif!important;
  font-size:15px!important;line-height:1.4!important;color:var(--rbs-ink,#1d2733)!important;
  width:100%!important;max-width:none!important;margin:0!important;box-shadow:none;
}
.rbs .rbs-form input:not([type=radio]):not([type=checkbox]):not([type=hidden]):not([type=submit]),
.rbs .rbs-form select,
.rbs .rbs-form textarea{
  min-height:48px!important;padding:11px 14px!important;
  border:1px solid var(--rbs-line)!important;border-radius:8px!important;background:#fff!important;
}
.rbs .rbs-form textarea{min-height:104px!important;resize:vertical}
.rbs .rbs-form input:not([type=radio]):not([type=checkbox]):focus,
.rbs .rbs-form select:focus,
.rbs .rbs-form textarea:focus{
  outline:none!important;border-color:var(--rbs-primary)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--rbs-primary) 18%,transparent)!important;
}
.rbs .rbs-form input[readonly]{background:var(--rbs-tint)!important;color:var(--rbs-muted)!important}
.rbs .rbs-form .is-invalid{border-color:#b3261e!important;box-shadow:0 0 0 3px rgba(179,38,30,.12)!important}
.rbs .rbs-form .rbs-input-icon input{border:0!important;box-shadow:none!important;min-height:46px!important}
.rbs .rbs-form input::placeholder,.rbs .rbs-form textarea::placeholder{color:#8a96a3!important;opacity:1}

/* labels: themes often make these bold/uppercase/block with big margins */
.rbs .rbs-form .rbs-grid label{display:block!important;margin:0 0 6px!important;padding:0!important;
  font-size:14px!important;font-weight:500!important;color:var(--rbs-primary)!important;
  text-transform:none!important;letter-spacing:0!important;line-height:1.3!important}
.rbs .rbs-form .rbs-grid>div{margin:0;min-width:0}
.rbs .rbs-form .rbs-grid p{margin:0}

/* step 3 grouping */
.rbs-card{padding:22px 22px 6px;margin-bottom:18px;border:1px solid #e3e9ef;border-radius:12px;background:#fff}
.rbs-card .rbs-h{margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #eef2f5}
.rbs-card .rbs-grid{margin-bottom:16px}
.rbs-card .rbs-choice{margin-bottom:6px}
.rbs-card>.rbs-note{margin:4px 0 16px}
.rbs .rbs-landlord{margin:4px 0 18px;padding:16px 18px 2px}
.rbs .rbs-landlord .rbs-note{margin:0 0 14px}
.rbs .rbs-landlord .rbs-grid{grid-template-columns:repeat(3,1fr);margin-bottom:14px}

/* consent */
.rbs .rbs-consent{display:flex!important;align-items:flex-start;gap:10px;margin:6px 0 0!important;padding:14px 16px;
  border-radius:10px;background:var(--rbs-tint);font-size:14px!important;font-weight:400!important;color:var(--rbs-ink)!important;cursor:pointer}
.rbs .rbs-consent input{flex:none;margin:1px 0 0!important}

/* pills: keep theme from styling the hidden radio or the label */
.rbs .rbs-form .rbs-pill{display:inline-block!important;margin:0 8px 8px 0!important;padding:0!important;font-weight:400!important;text-transform:none!important}
.rbs .rbs-form .rbs-pill input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;margin:0!important}

@media (max-width:767px){
  .rbs-card{padding:18px 16px 4px}
  .rbs .rbs-landlord .rbs-grid{grid-template-columns:1fr}
}
.rbs .rbs-form .rbs-consent,.rbs .rbs-form .rbs-consent span,
.rbs .rbs-form .rbs-label,.rbs .rbs-form .rbs-pill span{text-transform:none!important;letter-spacing:0!important}
.rbs .rbs-form .rbs-label{font-size:15px!important;font-weight:500!important;color:var(--rbs-primary)!important}
.rbs .rbs-form .rbs-consent input[type=checkbox]{width:18px!important;height:18px!important;accent-color:var(--rbs-primary)}

/* =================================================================
   Kill theme hover colours (red) on links and buttons
   ================================================================= */
.rbs a,.rbs a:hover,.rbs a:focus,.rbs a:active,
.rbs .rbs-label small a,.rbs .rbs-label small a:hover{color:var(--rbs-primary)!important;background:none!important;text-decoration:underline}
.rbs button,.rbq button{text-shadow:none!important;box-shadow:none}

/* primary: navy -> white with navy text */
.rbs .rbs-form .rbs-btn-primary,
.rbs .rbs-form .rbs-btn-primary:focus{background:var(--rbs-primary)!important;color:#fff!important;border:2px solid var(--rbs-primary)!important}
.rbs .rbs-form .rbs-btn-primary:hover,
.rbs .rbs-form .rbs-btn-primary:active{background:#fff!important;color:var(--rbs-primary)!important;border-color:var(--rbs-primary)!important}

/* outline: stays white, border turns navy */
.rbs .rbs-form .rbs-btn-outline,
.rbs .rbs-form .rbs-btn-outline:focus{background:#fff!important;color:var(--rbs-primary)!important;border:2px solid var(--rbs-line)!important}
.rbs .rbs-form .rbs-btn-outline:hover,
.rbs .rbs-form .rbs-btn-outline:active{background:var(--rbs-tint)!important;color:var(--rbs-primary)!important;border-color:var(--rbs-primary)!important}

/* quick bar */
.rbq .rbq-form .rbq-btn,
.rbq .rbq-form .rbq-btn:focus{background:#fff!important;color:var(--rbs-primary)!important;border:2px solid #fff!important}
.rbq .rbq-form .rbq-btn:hover,
.rbq .rbq-form .rbq-btn:active{background:transparent!important;color:#fff!important;border-color:#fff!important}
.rbq .rbq-form .rbq-add,.rbq .rbq-form .rbq-remove,
.rbq .rbq-form .rbq-add:hover,.rbq .rbq-form .rbq-remove:hover,
.rbq .rbq-form .rbq-add:focus,.rbq .rbq-form .rbq-remove:focus,
.rbq .rbq-form .rbq-add:active,.rbq .rbq-form .rbq-remove:active{background:none!important;color:#fff!important;border:0!important;padding:0!important}

/* pills */
.rbs .rbs-form .rbs-pill:hover span{border-color:var(--rbs-primary)!important;color:var(--rbs-ink)!important;background:#fff!important}
.rbs .rbs-form .rbs-pill input:checked+span,
.rbs .rbs-form .rbs-pill:hover input:checked+span{background:var(--rbs-primary)!important;color:#fff!important;border-color:var(--rbs-primary)!important}
.rbq .rbq-form .rbq-pill:hover span{border-color:#fff!important;color:#fff!important;background:transparent!important}
.rbq .rbq-form .rbq-pill input:checked+span,
.rbq .rbq-form .rbq-pill:hover input:checked+span{background:#fff!important;color:var(--rbs-primary)!important}

/* =================================================================
   v1.4 Normal vs emergency call-out choice (quote step)
   ================================================================= */
.rbs .rbs-quote-head{padding:24px 20px}
.rbs .rbs-quote-head .rbs-price-sub{margin:8px 0 16px}
.rbs-services{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:640px;margin:0 auto;text-align:left}
.rbs .rbs-form .rbs-service{position:relative;display:block!important;margin:0!important;cursor:pointer}
.rbs .rbs-form .rbs-service input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important}
.rbs-service-box{display:flex;flex-direction:column;height:100%;padding:16px 18px;border-radius:12px;background:#fff;
  border:2px solid var(--rbs-line);transition:border-color .15s,box-shadow .15s}
.rbs-service:hover .rbs-service-box{border-color:var(--rbs-primary)}
.rbs-service input:checked+.rbs-service-box{border-color:var(--rbs-primary);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--rbs-primary) 16%,transparent)}
.rbs-service input:focus-visible+.rbs-service-box{outline:2px solid var(--rbs-primary);outline-offset:2px}
.rbs-service-title{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--rbs-primary)}
.rbs-service-title::before{content:"";flex:none;width:16px;height:16px;border-radius:50%;border:2px solid var(--rbs-line);background:#fff}
.rbs-service input:checked+.rbs-service-box .rbs-service-title::before{border:5px solid var(--rbs-primary)}
.rbs-service-desc{margin:6px 0 10px 24px;font-size:13px;color:var(--rbs-muted);line-height:1.45}
.rbs-service-desc strong{color:var(--rbs-ink);font-weight:500}
.rbs .rbs-service .rbs-price{margin:auto 0 0 24px;font-size:36px;text-align:left}

/* quick bar notice */
.rbq-foot{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 20px}
.rbq-emergency{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:500}
.rbq-emergency::before{content:"";width:8px;height:8px;border-radius:50%;background:#ffb347;box-shadow:0 0 0 3px rgba(255,179,71,.25)}

/* =================================================================
   Price table  [regal_callout_prices]
   ================================================================= */
.rbp{font-family:'Ubuntu',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;color:#1d2733;max-width:900px;margin:24px auto;box-sizing:border-box}
.rbp *{box-sizing:inherit}
.rbp-title{margin:0 0 16px;font-family:inherit;font-size:24px;font-weight:700;color:var(--rbs-primary,#162D44);text-align:center}
.rbp-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rbp-card{padding:22px 24px;border-radius:14px;background:#fff;border:1px solid #e3e9ef;box-shadow:0 12px 30px -20px rgba(22,45,68,.45)}
.rbp-emergency{background:var(--rbs-primary,#162D44);color:#fff;border-color:transparent}
.rbp-kicker{margin:0;font-size:18px;font-weight:700;color:var(--rbs-primary,#162D44)}
.rbp-emergency .rbp-kicker{color:#fff}
.rbp-hours{margin:2px 0 14px;font-size:14px;color:#5d6b7a}
.rbp-emergency .rbp-hours{color:rgba(255,255,255,.75)}
.rbp-row{display:flex;justify-content:space-between;align-items:baseline;padding:10px 0;border-top:1px solid #eef2f5}
.rbp-emergency .rbp-row{border-top-color:rgba(255,255,255,.15)}
.rbp-row strong{font-size:26px;font-weight:700;color:var(--rbs-primary,#162D44)}
.rbp-emergency .rbp-row strong{color:#fff}
.rbp-note{margin:14px 0 0;font-size:13px;color:#5d6b7a;text-align:center}
.rbp .rbp-btn,.rbp .rbp-btn:focus{display:table;margin:18px auto 0;padding:12px 26px;border-radius:8px;border:2px solid var(--rbs-primary,#162D44)!important;
  background:var(--rbs-primary,#162D44)!important;color:#fff!important;font-weight:700;text-decoration:none!important}
.rbp .rbp-btn:hover,.rbp .rbp-btn:active{background:#fff!important;color:var(--rbs-primary,#162D44)!important}

@media (max-width:640px){
  .rbs-services,.rbp-grid{grid-template-columns:1fr}
  .rbs .rbs-service .rbs-price{font-size:30px}
}

/* =================================================================
   v1.5 One call-out charge per appliance (job boxes)
   ================================================================= */
.rbs-jobs{display:grid;gap:12px;padding:18px}
.rbs-job{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:4px 14px;
  padding:14px 16px;border:1.5px solid var(--rbs-line);border-radius:12px;background:#fff}
.rbs-job-premium{border-color:color-mix(in srgb,var(--rbs-primary) 45%,#fff);background:var(--rbs-tint)}
.rbs-job-n{grid-row:span 2;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;
  border-radius:50%;background:var(--rbs-primary);color:#fff;font-size:12px;font-weight:700;text-align:center;line-height:1.1}
.rbs-job-name{font-weight:700;color:var(--rbs-primary)}
.rbs-job-details{grid-column:2;font-size:13px;color:var(--rbs-muted)}
.rbs-job-tier{grid-row:span 2;padding:4px 12px;border-radius:999px;border:1.5px solid var(--rbs-line);
  font-size:12px;font-weight:500;color:var(--rbs-muted);white-space:nowrap}
.rbs-job-premium .rbs-job-tier{border-color:var(--rbs-primary);color:var(--rbs-primary)}
.rbs-job-price{grid-row:span 2;font-size:26px;font-weight:700;color:var(--rbs-primary);white-space:nowrap}
.rbs-quote-card .rbs-breakdown{padding:0 18px 16px;margin:0;text-align:center}
.rbp-big{font-size:44px;font-weight:700;line-height:1.1;color:var(--rbs-primary,#162D44)}
.rbp-emergency .rbp-big{color:#fff}

@media (max-width:600px){
  .rbs-jobs{padding:14px}
  .rbs-job{grid-template-columns:auto 1fr;gap:4px 12px}
  .rbs-job-n{grid-row:span 3}
  .rbs-job-tier,.rbs-job-price{grid-row:auto;grid-column:2}
  .rbs-job-tier{justify-self:start}
  .rbs-job-price{font-size:24px}
}
