/* Roadbook public booking: scoped styles preserve the WordPress theme. */
.rb-public,.rb-public-header,.rb-widget{--rb-bg:#f2f4fa;--rb-surface:#fff;--rb-text:#202940;--rb-muted:#53617b;--rb-accent:#b3e4ef;--rb-ink:#142c3b;--rb-border:#78859e;--rb-link:#235d70;--rb-raised:#e8edf7;--rb-danger:#9b203c;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.5;color:var(--rb-text);box-sizing:border-box}
.rb-public *,.rb-public-header *{box-sizing:border-box}
.rb-public-page{margin:0;background:#f2f4fa;color:#202940}
.rb-public-page main{padding:0 24px 80px}
.rb-public-header{max-width:1150px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:24px;gap:24px}
.rb-public-header img{width:150px;height:auto;display:block}
.rb-public-header span{color:var(--rb-muted)}
.rb-public{max-width:1050px;margin:24px auto 72px;scroll-margin-top:24px;overflow-wrap:anywhere}
.rb-public h1,.rb-public h2,.rb-public h3{font-family:inherit;color:inherit;text-transform:none;line-height:1.2;letter-spacing:-.025em;margin:0 0 16px;font-weight:700}
.rb-public h1{font-size:clamp(28px,4vw,40px);max-width:26ch;text-wrap:balance}
.rb-public h2{font-size:24px}.rb-public h3{font-size:20px}
.rb-public p{margin:0 0 20px;max-width:70ch}.rb-muted{color:var(--rb-muted)}
.rb-public button,.rb-public input,.rb-public select,.rb-public textarea{font:inherit;letter-spacing:normal;text-transform:none}
.rb-public button,.rb-public a{touch-action:manipulation}
.rb-public button{cursor:pointer}.rb-public button:disabled{cursor:not-allowed;opacity:.65}
.rb-public :focus-visible,.rb-widget:focus-visible{outline:3px solid var(--rb-link);outline-offset:4px}
.rb-public ::selection{background:var(--rb-accent);color:var(--rb-ink)}
.rb-public .rb-btn,.rb-widget{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:13px 20px;border:0;border-radius:12px;background:var(--rb-accent);color:var(--rb-ink);font-weight:650;text-decoration:none;text-align:center}
.rb-public .rb-btn:hover,.rb-widget:hover{background:var(--rb-accent);color:var(--rb-ink);filter:brightness(.95)}
.rb-public .rb-text{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;background:none;border:0;color:var(--rb-link);text-decoration:underline;text-underline-offset:4px}
.rb-heading{margin-bottom:28px}.rb-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.rb-filters button{border:1px solid var(--rb-border);background:transparent;color:var(--rb-text);padding:10px 14px;border-radius:12px;min-height:44px}
.rb-filters button[aria-pressed=true]{background:var(--rb-text);color:var(--rb-surface);border-color:var(--rb-text)}
.rb-services{display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr))}
.rb-service{background:var(--rb-surface);border-radius:16px;overflow:hidden;align-self:start}
.rb-cover{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.rb-service-content{padding:24px}.rb-service details{margin:20px 0}.rb-service summary{color:var(--rb-link);cursor:pointer;min-height:44px;padding:10px 0;text-decoration:underline;text-underline-offset:4px}
.rb-description img{max-width:100%;height:auto}.rb-description a{color:var(--rb-link)}.rb-description{max-width:70ch}
.rb-dates{display:grid;gap:10px}.rb-date{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;text-align:left;padding:14px;border:1px solid var(--rb-border);border-radius:12px;background:transparent;color:var(--rb-text)}
.rb-date:hover:not(:disabled){background:var(--rb-raised)}.rb-date strong{font-size:15px}.rb-date small{display:block;color:var(--rb-muted);font-size:14px;margin-top:4px}.rb-date b{white-space:nowrap;font-variant-numeric:tabular-nums}
.rb-step-title{margin-top:12px!important}.rb-progress{list-style:none;display:flex;gap:20px;padding:0;margin:0 0 28px;color:var(--rb-muted);font-size:14px}.rb-progress li{padding-bottom:10px;border-bottom:2px solid transparent}.rb-progress [aria-current]{color:var(--rb-link);border-color:var(--rb-link);font-weight:700}
.rb-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;align-items:start}.rb-form-area{background:var(--rb-surface);padding:28px;border-radius:16px;animation:rb-arrive .22s cubic-bezier(.16,1,.3,1)}
@keyframes rb-arrive{from{transform:translateY(7px)}to{transform:translateY(0)}}
.rb-summary{background:var(--rb-raised);padding:24px;border-radius:16px;position:sticky;top:24px}.rb-summary>strong{display:block;margin-bottom:12px}.rb-summary p{font-size:14px}.rb-summary dl{margin:24px 0 0}.rb-summary dl>div{display:flex;justify-content:space-between;gap:16px;margin:10px 0}.rb-summary dt,.rb-summary dd{margin:0}.rb-summary dd{white-space:nowrap;font-variant-numeric:tabular-nums}.rb-summary .rb-total{padding-top:16px;margin-top:20px;border-top:1px solid var(--rb-border);font-weight:700}.rb-summary .rb-muted{margin:16px 0 0}
.rb-public .rb-field{display:grid;gap:8px;margin:0 0 20px;font-weight:600}.rb-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rb-public .rb-field input,.rb-public .rb-field select,.rb-public .rb-field textarea{appearance:none!important;-webkit-appearance:none!important;background:var(--rb-surface)!important;border:1px solid var(--rb-border)!important;color:var(--rb-text)!important;-webkit-text-fill-color:var(--rb-text)!important;border-radius:10px!important;padding:12px!important;width:100%!important;min-width:0;min-height:48px;font-size:16px!important;opacity:1!important;box-shadow:none!important;font-weight:400;caret-color:var(--rb-link)}
.rb-public .rb-field select{appearance:auto!important;-webkit-appearance:auto!important}.rb-public textarea{resize:vertical}
.rb-option{display:flex;align-items:center;gap:12px;padding:16px 0;min-height:56px;border-bottom:1px solid #c9d1df;margin-bottom:16px}.rb-option input{appearance:auto!important;-webkit-appearance:auto!important;width:22px!important;height:22px!important;min-width:22px;accent-color:var(--rb-link);opacity:1!important;margin:0}.rb-option span{flex:1}.rb-option small{display:block;color:var(--rb-muted)}.rb-option b{font-variant-numeric:tabular-nums;white-space:nowrap}.rb-payment{border:0;padding:0;margin:24px 0}.rb-payment legend{font-weight:700;font-size:20px;margin-bottom:8px}
.rb-error{color:var(--rb-danger);font-weight:600;margin:20px 0 0!important}.rb-error:empty{display:none}.rb-empty{padding:24px 0}.rb-resume{background:var(--rb-raised);padding:24px;border-radius:16px;margin-bottom:24px}.rb-resume .rb-text{margin-left:16px}.rb-confirmation{max-width:650px;margin:auto}.rb-confirmation .rb-summary{position:static;margin:24px 0}
.rb-widget{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:900;box-shadow:0 8px 24px #171b3026}
@media(max-width:700px){.rb-public-page main{padding:0 16px 80px}.rb-public-header{padding:20px 16px}.rb-public-header img{width:120px}.rb-public-header span{font-size:13px;max-width:17ch;text-align:right}.rb-public{margin-top:16px}.rb-services,.rb-layout,.rb-field-grid{grid-template-columns:1fr}.rb-service-content,.rb-form-area,.rb-summary{padding:20px}.rb-layout{gap:20px}.rb-summary{position:static}.rb-progress{gap:12px;font-size:12px;justify-content:space-between}.rb-public .rb-btn{width:100%}.rb-date{gap:10px}.rb-date strong{font-size:14px}.rb-widget{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));max-width:calc(100vw - 32px)}.rb-resume .rb-text{margin-left:0}}
@media(prefers-reduced-motion:reduce){.rb-public *{animation:none!important;scroll-behavior:auto!important}}

.rb-widget.rb-widget-left{left:24px;right:auto}@media(max-width:700px){.rb-widget.rb-widget-left{left:16px}}

.rb-confirmation>.rb-form-area{margin:24px 0}

.rb-balance-page form{margin:24px 0}

.rb-promo{margin-block:24px;padding-block:20px;border-block:1px solid var(--rb-border,#ccd0db)}
.rb-promo .rb-field{margin-top:0}
