:root{--rwapp-orange:#ff7a00;--rwapp-orange2:#ff9d2f;--rwapp-dark:#0b0d10;--rwapp-text:#20242a;--rwapp-muted:#66707b;--rwapp-light:#f5f6f8;--rwapp-border:#e4e7eb;--rwapp-radius:20px}
.rwapp-shell{max-width:980px;margin:40px auto;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--rwapp-text)}
.rwapp-shell *{box-sizing:border-box}.rwapp-head{margin-bottom:25px}.rwapp-head h2{font-size:clamp(2rem,4vw,3rem);margin:.25rem 0 .6rem;letter-spacing:-.035em}.rwapp-head p{color:var(--rwapp-muted);font-size:1.05rem}.rwapp-eyebrow{color:var(--rwapp-orange);font-size:.78rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.rwapp-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:25px 0 30px}.rwapp-progress span{padding:12px 14px;border-radius:999px;background:#eef0f3;color:#69717b;font-size:.86rem;font-weight:800;text-align:center}.rwapp-progress span.is-active{background:var(--rwapp-dark);color:#fff}.rwapp-progress span.is-done{background:#fff4e8;color:#b75200}
.rwapp-form,.rwapp-manage,.rwapp-success{background:#fff;border:1px solid var(--rwapp-border);border-radius:26px;box-shadow:0 22px 60px rgba(0,0,0,.08);padding:34px}.rwapp-step{display:none}.rwapp-step.is-active{display:block}.rwapp-step h3{font-size:1.55rem;margin:0 0 24px}
.rwapp-services{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.rwapp-service{appearance:none;text-align:left;border:1px solid var(--rwapp-border);background:#fff;border-radius:18px;padding:22px;cursor:pointer;transition:.2s}.rwapp-service:hover,.rwapp-service.is-selected{border-color:var(--rwapp-orange);box-shadow:0 12px 30px rgba(255,122,0,.12);transform:translateY(-2px)}.rwapp-service strong,.rwapp-service span,.rwapp-service small{display:block}.rwapp-service strong{font-size:1.08rem;margin-bottom:8px}.rwapp-service span{color:var(--rwapp-muted);line-height:1.55}.rwapp-service small{color:#b75200;font-weight:800;margin-top:12px}
.rwapp-grid2,.rwapp-manage-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.rwapp-grid2>*,.rwapp-manage-grid>*{min-width:0}.rwapp-grid2 label,.rwapp-manage-grid label{display:grid;gap:7px;font-weight:750}.rwapp-wide{grid-column:1/-1}.rwapp-shell input,.rwapp-shell select,.rwapp-shell textarea{width:100%;border:1px solid #d5d9df;border-radius:12px;background:#fff;padding:13px 14px;font:inherit}.rwapp-shell input:focus,.rwapp-shell select:focus,.rwapp-shell textarea:focus{outline:2px solid rgba(255,122,0,.23);border-color:var(--rwapp-orange)}.rwapp-label{display:block;font-weight:750;margin-bottom:7px}
/* Native select behaviour, with dimensions and arrow isolated from theme styling. */
.rwapp-shell .rwapp-form select{appearance:none!important;-webkit-appearance:none!important;display:block;width:100%;max-width:100%;min-width:0;height:auto!important;min-height:52px;padding:12px 46px 12px 14px!important;border:1px solid #d5d9df;border-radius:12px;background-color:#fff!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234c5662' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 16px center!important;background-size:16px 16px!important;color:#20242a!important;color-scheme:light;font:500 16px/1.5 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:normal;text-transform:none;box-shadow:none;cursor:pointer}
.rwapp-shell .rwapp-form select:hover{border-color:#a8b1bb}.rwapp-shell .rwapp-form select:focus{border-color:#c35e00;outline:2px solid #ffdfbc;outline-offset:2px}
.rwapp-shell .rwapp-form select option{color:#20242a;background:#fff;font-weight:400}
.rwapp-slots{display:flex;flex-wrap:wrap;gap:8px}.rwapp-slot{border:1px solid var(--rwapp-border);background:#fff;border-radius:999px;padding:10px 14px;font-weight:800;cursor:pointer}.rwapp-slot:hover,.rwapp-slot.is-selected{background:var(--rwapp-dark);color:#fff;border-color:var(--rwapp-dark)}.rwapp-muted{color:var(--rwapp-muted)}
.rwapp-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:28px}.rwapp-btn{appearance:none;border:0;border-radius:999px;background:linear-gradient(135deg,var(--rwapp-orange),var(--rwapp-orange2));color:#111!important;text-decoration:none!important;font-weight:900;padding:13px 21px;cursor:pointer;box-shadow:0 10px 26px rgba(255,122,0,.22)}.rwapp-btn[disabled]{opacity:.45;cursor:not-allowed}.rwapp-btn--ghost{background:#eef0f3;box-shadow:none}.rwapp-btn--danger{background:#b42318;color:#fff!important;box-shadow:none}
.rwapp-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:10px!important;font-weight:500!important}.rwapp-check input{width:auto!important;margin-top:4px}.rwapp-hp{position:absolute!important;left:-99999px!important;opacity:0!important}
.rwapp-summary{margin-top:24px;background:var(--rwapp-light);border-radius:16px;padding:18px}.rwapp-summary h4{margin:0 0 8px}.rwapp-summary p{margin:0}.rwapp-message{margin-bottom:15px}.rwapp-message.is-error,.rwapp-error{background:#fff1f0;color:#9f1c13;padding:12px 14px;border-radius:12px}.rwapp-success-card{text-align:center;padding:10px}.rwapp-checkmark{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#e8f7ed;color:#137333;font-size:2rem;font-weight:900;margin:0 auto 16px}.rwapp-success-card h3{font-size:1.7rem}.rwapp-success-card .rwapp-btn{display:inline-block;margin-top:12px}
@media(max-width:700px){.rwapp-shell{margin:25px 0}.rwapp-form,.rwapp-manage,.rwapp-success{padding:22px;border-radius:20px}.rwapp-services,.rwapp-grid2,.rwapp-manage-grid{grid-template-columns:1fr}.rwapp-wide{grid-column:auto}.rwapp-progress{grid-template-columns:repeat(2,1fr)}.rwapp-actions{flex-direction:column-reverse}.rwapp-btn{width:100%;text-align:center}.rwapp-head h2{font-size:2rem}}
.rwapp-shell [hidden]{display:none!important}

/* Isolated controls: Astra's white button text must not hide the time labels. */
.rwapp-shell button.rwapp-slot{appearance:none;color:var(--rwapp-text)!important;background:#fff;border:1px solid #dce1e6;padding:12px 14px;min-height:46px;font:700 .94rem/1.2 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-transform:none;letter-spacing:0;box-shadow:none;transition:background .15s,border-color .15s,color .15s}
.rwapp-shell button.rwapp-slot:hover{color:#111!important;background:#fff4e8;border-color:var(--rwapp-orange)}
.rwapp-shell button.rwapp-slot.is-selected{color:#111!important;background:#ff9d2f;border-color:#ff7a00;box-shadow:0 0 0 2px rgba(255,122,0,.15)}
/* Explicit button states prevent the theme's blue focus/active background. */
.rwapp-shell button.rwapp-service{position:relative;appearance:none;background:#fff!important;background-image:none!important;color:#20242a!important;border:2px solid #e4e7eb;padding:22px 48px 22px 22px;text-align:left;font:inherit;line-height:1.5;text-transform:none;letter-spacing:0;white-space:normal}
.rwapp-shell button.rwapp-service:hover,.rwapp-shell button.rwapp-service:focus,.rwapp-shell button.rwapp-service:active{background:#fff8f0!important;color:#20242a!important;border-color:#d46b0a}
.rwapp-shell button.rwapp-service.is-selected,.rwapp-shell button.rwapp-service[aria-pressed=true]{background:#fff2e3!important;color:#20242a!important;border-color:#d46b0a;box-shadow:0 0 0 1px #d46b0a,0 8px 24px rgba(255,122,0,.1)}
.rwapp-shell button.rwapp-service strong{color:#20242a!important}.rwapp-shell button.rwapp-service span{color:#505965!important}.rwapp-shell button.rwapp-service small{color:#934300!important}
.rwapp-shell button.rwapp-service.is-selected::after{content:'✓';position:absolute;top:18px;right:16px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#ff7a00;color:#17191c;font-size:15px;font-weight:800}
.rwapp-shell button.rwapp-service:focus-visible{outline:3px solid #ad5200;outline-offset:4px}
.rwapp-shell .rwapp-btn{min-height:48px;font:800 .94rem/1.4 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:0;text-transform:none;display:inline-flex;align-items:center;justify-content:center;gap:14px;transition:transform .15s,box-shadow .15s}
.rwapp-shell .rwapp-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 26px rgba(255,122,0,.2)}
.rwapp-shell :is(button,input,a):focus-visible{outline:3px solid #e96900;outline-offset:4px}
.rwapp-shell .rwapp-head h1{font:800 clamp(2rem,4vw,3rem)/1.12 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.035em;margin:12px 0 16px;color:var(--rwapp-text)}
.rwapp-shell .rwapp-message:empty{display:none}
.rwapp-shell .rwapp-message.is-success{background:#eaf7ef;color:#17613c;border:1px solid #c6e6d3;padding:16px 20px;border-radius:14px;font-weight:600}

/* Dedicated shortcode pages share Roziers Wheels' dark header and orange accents. */
body.rwapp-booking-page{background:#f5f6f8}
body.rwapp-booking-page .site-content{background:#f5f6f8}
body.rwapp-booking-page .site-content>.ast-container{max-width:1220px;padding:0 20px;display:block}
body.rwapp-booking-page #primary{width:100%;margin:0;padding:0}
body.rwapp-booking-page .ast-article-single{background:transparent;padding:0;border:0}
body.rwapp-booking-page .entry-header{display:none}
body.rwapp-booking-page .ast-primary-header-bar{background:#0b0d10!important;border-bottom:1px solid rgba(255,255,255,.1)!important}
body.rwapp-booking-page .site-header :is(.site-title,.site-description){display:none!important}
body.rwapp-booking-page .site-header .site-branding{padding:8px 0}
body.rwapp-booking-page .site-header .custom-logo-link img{width:min(210px,46vw)!important;max-height:74px!important;object-fit:contain}
body.rwapp-booking-page .main-header-menu>.menu-item>a{color:#fff!important}
body.rwapp-booking-page .main-header-menu>.menu-item>a:hover,body.rwapp-booking-page .main-header-menu>.current-menu-item>a{color:#ff7a00!important}
body.rwapp-booking-page .ast-mobile-menu-trigger-minimal{color:#fff!important}
body.rwapp-booking-page .site-footer{background:#080a0d!important;color:#cbd0d6!important;border-top:4px solid #ff7a00}
body.rwapp-booking-page .site-footer :is(a,p){color:#cbd0d6!important}
body.rwapp-booking-page .site-footer a:hover{color:#ff9d2f!important}
body.rwapp-booking-page .rwapp-shell{max-width:1180px;margin:0 auto;padding:42px 0 52px}
body.rwapp-booking-page .rwapp-head{background:linear-gradient(135deg,#15191e,#080a0d);border-radius:22px;border-bottom:4px solid #ff7a00;padding:34px 38px;margin-bottom:28px}
body.rwapp-booking-page .rwapp-head h1{color:#fff!important;max-width:820px}
body.rwapp-booking-page .rwapp-head p{color:#cfd5dc;margin:0;line-height:1.65;max-width:780px}
body.rwapp-booking-page .rwapp-eyebrow{color:#ff9d2f}

/* Customer management: details, rescheduling and cancellation stay visually separate. */
.rwapp-shell--manage .rwapp-manage{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none}
.rwapp-shell--manage :is(h2,h3,p,dl){margin:0}
.rwapp-shell--manage h2{font:800 1.45rem/1.3 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.025em;color:#20242a!important}
.rwapp-shell--manage :is(.rwapp-appointment-card,.rwapp-change-card){background:#fff;border:1px solid #e3e7eb;border-radius:20px;box-shadow:0 12px 35px rgba(11,13,16,.035);padding:30px 32px;margin-bottom:22px}
.rwapp-shell--manage .rwapp-overline{display:block;color:#a94b00;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:9px}
.rwapp-shell--manage .rwapp-appointment-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.rwapp-shell--manage .rwapp-status-badge{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;border-radius:999px;padding:8px 13px;font-size:.79rem;font-weight:750;line-height:1.5;color:#445363;background:#edf1f5}
.rwapp-shell--manage .rwapp-status-badge>span{width:7px;height:7px;border-radius:50%;background:currentColor}
.rwapp-shell--manage .rwapp-status-badge--confirmed{color:#17613c;background:#eaf7ef}
.rwapp-shell--manage .rwapp-status-badge--pending{color:#845100;background:#fff3d6}
.rwapp-shell--manage .rwapp-status-badge--cancelled{color:#a12721;background:#fceeed}
.rwapp-shell--manage .rwapp-status-copy{font-size:.93rem;color:#66707b;line-height:1.6;margin-top:9px}
.rwapp-shell--manage .rwapp-appointment-details{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(210px,1fr);gap:28px;background:#f7f8fa;border:1px solid #edf0f3;border-radius:14px;padding:22px 24px;margin-top:23px}
.rwapp-shell--manage .rwapp-current-moment{display:flex;gap:16px;align-items:center;min-width:0}
.rwapp-shell--manage .rwapp-calendar-icon{display:grid;place-items:center;width:52px;height:52px;flex-shrink:0;border-radius:14px;background:#fff0df;color:#c65a00}
.rwapp-shell--manage .rwapp-calendar-icon svg{width:26px;height:26px}
.rwapp-shell--manage .rwapp-detail-label,.rwapp-shell--manage dt{display:block;font-size:.77rem;font-weight:600;color:#66707b;margin-bottom:5px}
.rwapp-shell--manage time{display:grid;gap:3px;font-size:.98rem;color:#20242a;line-height:1.5}
.rwapp-shell--manage time strong{font-size:1.05rem;font-weight:800}
.rwapp-shell--manage time strong:first-letter{text-transform:uppercase}
.rwapp-shell--manage .rwapp-appointment-meta{display:flex;flex-wrap:wrap;gap:14px 28px;border-left:1px solid #e1e5ea;padding-left:24px;align-content:center}
.rwapp-shell--manage dd{margin:0;font-size:.91rem;font-weight:700;color:#20242a;overflow-wrap:anywhere}
.rwapp-shell--manage .rwapp-location{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:.85rem;line-height:1.65;color:#66707b;margin-top:18px}
.rwapp-shell--manage .rwapp-location strong{color:#20242a}
.rwapp-shell--manage .rwapp-section-heading p{color:#66707b;font-size:.94rem;line-height:1.65;max-width:740px;margin-top:9px}
.rwapp-shell--manage .rwapp-manage-grid{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(0,1.6fr);gap:30px;align-items:start;margin-top:25px}
.rwapp-shell--manage .rwapp-date-panel label,.rwapp-shell--manage .rwapp-label{font-size:.88rem;font-weight:750;color:#20242a;text-align:left;display:block;margin:0 0 10px}
.rwapp-shell--manage .rwapp-date-panel input{min-width:0;min-height:49px;padding:12px 14px;color:#20242a;background:#fff;border:1px solid #dce1e6;border-radius:10px;font-size:1rem;color-scheme:light}
.rwapp-shell--manage .rwapp-date-panel p{color:#66707b;font-size:.81rem;line-height:1.6;margin-top:11px}
.rwapp-shell--manage .rwapp-time-panel .rwapp-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.rwapp-shell--manage button.rwapp-slot{border-radius:10px;min-height:45px;padding:11px 5px;width:100%}
.rwapp-shell--manage button.rwapp-slot.is-current:not(.is-selected){border-color:#a0a8b0;background:#f7f8fa}
.rwapp-shell--manage .rwapp-slot-notice{grid-column:1/-1;background:#f5f6f8;border-radius:10px;padding:16px;font-size:.88rem;line-height:1.6;color:#66707b}
.rwapp-shell--manage .rwapp-change-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #edf0f3;padding-top:22px;margin-top:26px}
.rwapp-shell--manage .rwapp-change-footer p{font-size:.85rem;line-height:1.6;color:#66707b;max-width:530px}
.rwapp-shell--manage .rwapp-change-footer p.has-selection{color:#20242a;font-weight:700}
.rwapp-shell--manage .rwapp-actions{display:flex;margin:0;flex-shrink:0}
.rwapp-shell--manage .rwapp-cancel-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 28px;background:#fff;border:1px solid #e3e7eb;border-radius:16px}
.rwapp-shell--manage .rwapp-cancel-card h2{font-size:1rem}
.rwapp-shell--manage .rwapp-cancel-card p{font-size:.86rem;color:#66707b;margin-top:5px;line-height:1.6}
.rwapp-shell--manage .rwapp-btn--cancel{background:#fff;color:#a12721!important;border:1px solid #e6cbc9;box-shadow:none;font-weight:700;min-height:44px}
.rwapp-shell--manage .rwapp-btn--cancel:hover:not(:disabled){background:#fff4f3;box-shadow:none;border-color:#a12721}
.rwapp-shell--manage .rwapp-manage-help{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 4px 0;color:#66707b;font-size:.87rem}
.rwapp-shell--manage .rwapp-manage-help a{font-weight:800;color:#20242a;text-decoration:none}
.rwapp-shell--manage .rwapp-manage-help a:hover{color:#a94b00}
.rwapp-shell--manage :is(.rwapp-manage-loading,.rwapp-manage-error){padding:32px;background:#fff;border:1px solid #e3e7eb;border-radius:20px;color:#66707b}
.rwapp-shell--manage .rwapp-manage-error p{margin:16px 0;line-height:1.65}
@media(max-width:760px){
 body.rwapp-booking-page .site-content>.ast-container{padding:0 16px}
 body.rwapp-booking-page .rwapp-shell{padding:24px 0 34px}
 body.rwapp-booking-page .rwapp-head{padding:27px 24px;border-radius:17px;margin-bottom:20px}
 .rwapp-shell--manage :is(.rwapp-appointment-card,.rwapp-change-card){padding:24px;border-radius:17px}
 .rwapp-shell--manage .rwapp-appointment-details{grid-template-columns:1fr;gap:20px;padding:20px}
 .rwapp-shell--manage .rwapp-appointment-meta{border-left:0;border-top:1px solid #e1e5ea;padding:16px 0 0}
 .rwapp-shell--manage .rwapp-manage-grid{grid-template-columns:1fr;gap:22px}
 .rwapp-shell--manage .rwapp-change-footer{align-items:stretch;flex-direction:column;gap:15px}
 .rwapp-shell--manage .rwapp-change-footer .rwapp-actions{width:100%}
 .rwapp-shell--manage .rwapp-change-footer .rwapp-btn{width:100%}
 .rwapp-shell--manage .rwapp-cancel-card{padding:22px 24px;align-items:flex-start}
 .rwapp-shell--manage .rwapp-cancel-card .rwapp-btn{white-space:nowrap;width:auto}
}
@media(max-width:480px){
 body.rwapp-booking-page .site-header .custom-logo-link img{width:min(190px,54vw)!important}
 .rwapp-shell--manage .rwapp-appointment-top{flex-direction:column;gap:12px}
 .rwapp-shell--manage .rwapp-current-moment{align-items:flex-start;gap:12px}
 .rwapp-shell--manage .rwapp-appointment-details{padding:17px}
 .rwapp-shell--manage .rwapp-calendar-icon{width:42px;height:42px;border-radius:10px}
 .rwapp-shell--manage .rwapp-cancel-card{flex-direction:column;gap:16px}
 .rwapp-shell--manage .rwapp-cancel-card .rwapp-actions,.rwapp-shell--manage .rwapp-cancel-card .rwapp-btn{width:100%}
 .rwapp-shell--manage .rwapp-manage-help{flex-direction:column;align-items:flex-start;gap:9px;padding:22px 2px 0}
 .rwapp-shell--manage .rwapp-time-panel .rwapp-slots{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.rwapp-shell *{scroll-behavior:auto!important;transition:none!important}}
