.ordrivo-booking-app{--red:#c8202f;--ink:#1e2025;max-width:1180px;margin:30px auto;font-family:Inter,system-ui,sans-serif;color:var(--ink)}.ordrivo-hero{padding:52px;border-radius:24px;background:linear-gradient(120deg,#1b1c20,#40151a);color:#fff;margin-bottom:28px;box-shadow:0 18px 50px #0002}.ordrivo-hero span{display:inline-block;color:#ffabb2;font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.ordrivo-hero h2{font-size:clamp(30px,5vw,56px);line-height:1.05;margin:10px 0}.ordrivo-hero p{font-size:18px;opacity:.82;max-width:650px}.ordrivo-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.ordrivo-service{display:block;padding:0;text-align:left;border:2px solid transparent;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 10px 30px #18181815;cursor:pointer;transition:.2s;color:inherit}.ordrivo-service:hover,.ordrivo-service.selected{transform:translateY(-3px);border-color:var(--red)}.ordrivo-service-visual{display:block;position:relative;height:270px}.ordrivo-service img{width:100%;height:100%;object-fit:cover}.ordrivo-service-visual:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(10,10,12,.92))}.ordrivo-image-title{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:24px;color:#fff;display:flex;align-items:end;justify-content:space-between;gap:10px}.ordrivo-image-title strong{font-size:26px;text-shadow:0 2px 8px #000}.ordrivo-image-title small{color:#fff;font-size:14px;font-weight:800;white-space:nowrap}.ordrivo-service-body{padding:20px 24px;display:flex;justify-content:space-between;gap:16px}.ordrivo-service em{font-style:normal;color:#64666d}.ordrivo-service-body b{color:var(--red);white-space:nowrap}.ordrivo-form{margin-top:28px;padding:32px;background:#f7f7f8;border-radius:22px}.ordrivo-form h3{font-size:28px;margin-top:0}.ordrivo-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.ordrivo-fields label{font-weight:700}.ordrivo-fields input,.ordrivo-fields select,.ordrivo-fields textarea{display:block;width:100%;box-sizing:border-box;margin-top:7px;padding:14px;border:1px solid #d8d8dc;border-radius:10px;background:#fff;font:inherit}.ordrivo-fields textarea{height:90px}.ordrivo-submit{border:0;border-radius:10px;padding:15px 24px;margin-top:20px;background:var(--red);color:#fff;font-weight:800;font-size:16px;cursor:pointer}.ordrivo-message{margin-top:15px;font-weight:700}.ordrivo-message.success{color:#18844c}.ordrivo-message.error{color:#b42318}.ordrivo-hp{position:absolute!important;left:-10000px!important}@media(max-width:820px){.ordrivo-service-visual{height:230px}.ordrivo-service-body{display:block}.ordrivo-service-body b{display:block;margin-top:10px}}@media(max-width:620px){.ordrivo-booking-app{margin:14px auto}.ordrivo-hero{padding:32px 22px;border-radius:17px}.ordrivo-service-grid,.ordrivo-fields{grid-template-columns:1fr}.ordrivo-service-visual{height:225px}.ordrivo-image-title{padding:19px;display:block}.ordrivo-image-title strong,.ordrivo-image-title small{display:block}.ordrivo-image-title strong{font-size:23px}.ordrivo-image-title small{margin-top:5px}.ordrivo-form{padding:22px}.ordrivo-submit{width:100%}}
.ordrivo-booking-app [hidden]{display:none!important}.ordrivo-booking-app *{box-sizing:border-box}.ordrivo-booking-app input,.ordrivo-booking-app select,.ordrivo-booking-app textarea{font-size:16px;min-width:0;max-width:100%}.ordrivo-service{min-width:0}.ordrivo-consent{display:flex;align-items:flex-start;gap:10px;margin:20px 0;font-size:14px;line-height:1.5}.ordrivo-consent input{width:18px!important;min-width:18px;min-height:18px!important;margin-top:3px}.ordrivo-booking-app :focus-visible{outline:3px solid #3b87df;outline-offset:3px}.obp-view-booking{display:inline-block;margin-top:12px;padding:12px 18px;border-radius:8px;background:#17664c;color:white!important;font-weight:700;text-decoration:none}.obp-customer-details{padding:26px}.obp-customer-status{display:inline-block;background:#fff2d6;padding:10px 18px;border-radius:30px;font-weight:750}.obp-customer-status.status-confirmed{background:#d8f2e5;color:#206442}.obp-customer-status.status-rejected,.obp-customer-status.status-cancelled{background:#ffe0e2;color:#a0303b}.obp-error{color:#a0303b}@media(max-width:600px){.ordrivo-booking-app{margin:12px auto}.ordrivo-service-grid,.ordrivo-fields{grid-template-columns:minmax(0,1fr)!important}.ordrivo-service-visual img{width:100%;object-fit:cover}.ordrivo-form{padding:18px!important}.ordrivo-fields label{min-width:0}.ordrivo-hero{padding:24px 18px!important}}
.obp-category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:20px 0 30px}.obp-category{padding:0;overflow:hidden;border:2px solid transparent;border-radius:12px;background:#fff;box-shadow:0 5px 18px #0001;cursor:pointer;font:inherit;color:inherit;min-width:0}.obp-category img{display:block;width:100%;height:100px;object-fit:cover}.obp-category strong{display:block;padding:10px;font-size:13px}.obp-category[aria-pressed="true"]{border-color:var(--red)}.obp-postcode,.obp-security{display:flex;flex-direction:column;gap:8px;margin:18px 0;font-weight:650}.obp-postcode input,.obp-security input:not([type="hidden"]){padding:13px;border:1px solid #d8d8dc;border-radius:9px;width:100%;min-height:46px}.obp-reschedule{padding:24px;border:1px solid #e1e5ea;border-radius:14px;margin:20px 0;display:grid;grid-template-columns:1fr 1fr;gap:16px}.obp-reschedule label{display:flex;flex-direction:column;gap:8px}.obp-reschedule input,.obp-reschedule select,.obp-reschedule button{font:inherit;font-size:16px;min-height:48px;border:1px solid #d8d8dc;border-radius:8px;padding:12px}.obp-reschedule button{background:var(--red);color:#fff;cursor:pointer;grid-column:1/-1}.obp-reschedule .obp-feedback{grid-column:1/-1;margin:0}@media(max-width:900px){.obp-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.obp-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.obp-category img{height:110px}.obp-reschedule{grid-template-columns:minmax(0,1fr);padding:16px}}
.obp-login-buttons{display:flex;flex-wrap:wrap;gap:14px;padding:22px}.obp-login-button{display:block;padding:15px 22px;background:#fff;border:1px solid #d2dae1;border-radius:10px;color:#183044;text-decoration:none;font-weight:700;min-height:48px}.obp-login-button:focus-visible{outline:3px solid #3b87df;outline-offset:3px}@media(max-width:600px){.obp-login-buttons{flex-direction:column;padding:16px}.obp-login-button{text-align:center}}
.obp-account-box{padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.obp-account-box>h3{grid-column:1/-1;margin:0}.obp-account-box form{padding:20px;background:#f7f8fa;border-radius:12px;min-width:0}.obp-account-box label{display:flex;flex-direction:column;gap:7px;margin:15px 0}.obp-account-box input:not([type=checkbox]){width:100%;min-height:46px;padding:12px;border:1px solid #d7dde3;border-radius:8px;box-sizing:border-box}.obp-account-box button{min-height:48px;padding:12px 20px;border:0;border-radius:9px;background:var(--red);color:white;font:inherit;font-weight:700;cursor:pointer}.obp-account-box .ordrivo-consent{flex-direction:row}.obp-account-box [role=status]{overflow-wrap:anywhere}.obp-account-box a{display:inline-block;margin:10px 0}@media(max-width:600px){.obp-account-box{grid-template-columns:minmax(0,1fr);padding:16px}.obp-account-box form{padding:16px}}
.obp-account-nav{text-align:right;margin:12px 0;font-size:14px}.obp-my-bookings{display:grid;grid-template-columns:1fr 1fr;gap:18px}.obp-my-booking{padding:22px;border:1px solid #d9e0e7;border-radius:14px;background:#fff}@media(max-width:600px){.obp-my-bookings{grid-template-columns:minmax(0,1fr)}.obp-my-booking{padding:16px}}
