:root{--velix:#306eeb;--velix-dark:#174fae;--ink:#13233a;--muted:#687891;--line:#dfe5ee;--soft:#f5f7fa;--green:#1fc66b;--shadow:0 18px 50px rgba(19,35,58,.1)}*{box-sizing:border-box}html{scroll-behavior:smooth}.booking-page{margin:0;background:#fff;color:var(--ink);font-family:Manrope,system-ui,sans-serif;min-height:100vh}.booking-page button,.booking-page input,.booking-page select,.booking-page textarea{font:inherit}.booking-topbar{height:84px;padding:0 clamp(20px,4vw,64px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);background:#fff;position:relative;z-index:20}.booking-logo img{display:block;width:auto;height:46px;object-fit:contain}.topbar-action{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:15px;font-weight:700;text-decoration:none;background:none;border:0;padding:10px 0;cursor:pointer}.topbar-action:last-child{justify-self:end}.topbar-action svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.booking-promise{min-height:80px;background:#f3f5f8;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:13px 20px;gap:5px}.booking-promise strong{font-size:16px}.booking-promise span{font-size:13px;color:var(--muted);font-weight:600}.booking-promise svg{width:16px;vertical-align:-3px;fill:none;stroke:currentColor;stroke-width:2}.booking-main{max-width:1160px;margin:0 auto;padding:30px 24px 125px}.booking-progress{max-width:780px;margin:0 auto 30px;display:flex;align-items:flex-start}.progress-item{width:92px;flex:0 0 92px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:#7c8799;font-size:13px;font-weight:700}.progress-circle{width:56px;height:56px;border-radius:50%;background:#edf0f4;display:grid;place-items:center;color:#7d8798;transition:.2s}.progress-circle svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.progress-item.is-active,.progress-item.is-complete{color:var(--ink)}.progress-item.is-active .progress-circle,.progress-item.is-complete .progress-circle{background:var(--ink);color:#5e8ff2}.progress-item.is-active .progress-circle{box-shadow:0 0 0 5px rgba(48,110,235,.1)}.progress-item.is-complete .progress-circle{color:#fff}.progress-line{height:5px;background:#e5e8ed;border-radius:9px;flex:1;margin-top:26px;min-width:30px}.progress-line.is-complete{background:var(--ink)}.booking-card{border:1.5px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow);overflow:hidden}.booking-card-head{text-align:center;padding:38px 30px 20px}.eyebrow{display:inline-block;color:var(--velix);font-weight:800;font-size:11px;letter-spacing:.16em;margin-bottom:10px}.booking-card h1{font-size:clamp(27px,3vw,40px);letter-spacing:-.04em;margin:0 0 8px}.booking-card-head p{color:var(--muted);font-size:16px;margin:0}.booking-card-body{margin:12px 38px 36px;padding:30px;border-radius:20px;background:var(--soft)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}.field{display:flex;flex-direction:column;gap:8px}.field label,.field-label{font-weight:800;font-size:14px}.field input,.field select,.field textarea{width:100%;border:1.5px solid #d8e0eb;background:#fff;border-radius:13px;min-height:54px;padding:13px 15px;color:var(--ink);outline:none;transition:.2s}.field textarea{min-height:90px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--velix);box-shadow:0 0 0 4px rgba(48,110,235,.1)}.field input:disabled,.field select:disabled{background:#f1f3f6;color:#a2abba}.field-error{color:#c93636;font-size:12px;font-weight:700}.vehicle-section{margin-top:24px}.vehicle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:12px}.vehicle-option{position:relative}.vehicle-option input{position:absolute;opacity:0;pointer-events:none}.vehicle-option label{min-height:142px;border:2px solid #e1e5eb;background:#fff;border-radius:17px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;font-weight:800;cursor:pointer;transition:.2s}.vehicle-option label:hover{transform:translateY(-2px);border-color:#b8c8e5}.vehicle-option img{height:70px;max-width:130px;object-fit:contain}.vehicle-option input:checked+label{border-color:var(--ink);box-shadow:0 0 0 3px rgba(19,35,58,.1);background:#f0f3f7}.booking-actions{display:grid;grid-template-columns:1fr 1.6fr;gap:18px;margin:28px 0 0}.booking-button{min-height:60px;border-radius:14px;border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;gap:12px;font-weight:800;text-decoration:none;cursor:pointer;padding:12px 22px;transition:.2s}.booking-button.primary{background:var(--velix);border-color:var(--velix);color:#fff;box-shadow:0 10px 25px rgba(48,110,235,.22)}.booking-button.secondary{background:#fff;color:var(--ink);border-color:#dfe5ee}.booking-button:hover{transform:translateY(-1px)}.booking-button:disabled{background:#98a3af;border-color:#98a3af;box-shadow:none;cursor:not-allowed;transform:none}.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.service-option{position:relative}.service-option input{position:absolute;opacity:0}.service-option label{height:100%;min-height:360px;background:#fff;border:2px solid #e1e5eb;border-radius:20px;padding:26px;display:flex;flex-direction:column;cursor:pointer;transition:.2s}.service-option label:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(19,35,58,.09)}.service-option input:checked+label{border-color:var(--velix);box-shadow:0 0 0 4px rgba(48,110,235,.1)}.service-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.service-top h2{font-size:21px;margin:0}.selected-check{width:26px;height:26px;border:2px solid #ced5df;border-radius:50%;display:grid;place-items:center;color:transparent}.service-option input:checked+label .selected-check{color:#fff;background:var(--velix);border-color:var(--velix)}.service-price{margin:22px 0 18px;color:var(--ink)}.service-price b{font-size:39px;letter-spacing:-.05em}.service-price span{color:var(--muted);font-weight:700}.feature-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;color:#3c4b60;font-size:13px}.feature-list li{display:flex;gap:9px}.feature-list li:before{content:'✓';color:var(--velix);font-weight:900}.service-choose{margin-top:auto;padding-top:22px;color:var(--velix);font-weight:800;font-size:13px}.schedule-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px}.schedule-panel,.location-panel,.contact-panel,.summary-panel{background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:24px}.panel-title{display:flex;align-items:center;gap:10px;font-size:18px;margin:0 0 18px}.panel-title svg{width:22px;height:22px;fill:none;stroke:var(--velix);stroke-width:2}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.slot-button{border:1.5px solid var(--line);border-radius:12px;background:#fff;color:#344257;min-height:47px;font-weight:800;cursor:pointer}.slot-button:hover:not(:disabled){border-color:var(--velix)}.slot-button.is-selected{background:var(--ink);border-color:var(--ink);color:#fff}.slot-button:disabled{opacity:.38;cursor:not-allowed;text-decoration:line-through}.slots-message{color:var(--muted);font-size:13px;margin:14px 0 0}.booking-summary{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:17px;margin-top:20px}.booking-summary strong{display:block}.booking-summary small{color:var(--muted)}.summary-price{font-size:24px;font-weight:800;white-space:nowrap}.contact-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:24px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-fields .full{grid-column:1/-1}.summary-panel{height:max-content;position:sticky;top:20px}.summary-line{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #edf0f4;font-size:13px}.summary-line span{color:var(--muted)}.summary-line b{text-align:right}.summary-line.total{font-size:18px;border:0}.map-shell{height:250px;border-radius:14px;border:1.5px solid var(--line);overflow:hidden;background:#e9eef5;margin-bottom:15px}.payment-choice{display:flex;align-items:center;gap:12px;border:1.5px solid var(--velix);background:#f4f8ff;border-radius:13px;padding:15px;font-weight:800}.trust-line{display:flex;align-items:center;gap:8px;margin-top:16px;color:var(--muted);font-size:12px}.trust-line svg{width:18px;stroke:var(--green);fill:none;stroke-width:2}.booking-whatsapp{position:fixed;right:28px;bottom:28px;width:62px;height:62px;border-radius:50%;background:var(--green);display:grid;place-items:center;color:#fff;box-shadow:0 15px 35px rgba(31,198,107,.35);z-index:30}.booking-whatsapp:before{content:'';position:absolute;inset:-12px;border-radius:50%;background:rgba(31,198,107,.1);z-index:-1}.booking-whatsapp svg{width:34px;fill:currentColor}.booking-modal{position:fixed;inset:0;display:none;place-items:center;padding:25px;z-index:100}.booking-modal.is-open{display:grid}.booking-modal-backdrop{position:absolute;inset:0;background:rgba(9,18,31,.66);backdrop-filter:blur(4px)}.booking-modal-panel{position:relative;width:min(850px,100%);max-height:86vh;overflow:auto;background:#fff;border-radius:24px;padding:30px;box-shadow:0 30px 80px rgba(0,0,0,.28);outline:none}.booking-modal-panel header{display:flex;align-items:flex-start;justify-content:space-between}.booking-modal-panel h2{font-size:30px;margin:0}.modal-close{font-size:35px;line-height:1;border:0;background:none;cursor:pointer;color:var(--ink)}.modal-intro{color:var(--muted)}.pricing-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden}.pricing-row{display:grid;grid-template-columns:150px 1fr;gap:15px;padding:18px;border-bottom:1px solid var(--line)}.pricing-row:last-child{border:0}.pricing-row>div{display:flex;flex-wrap:wrap;gap:12px}.pricing-row span{display:flex;flex-direction:column;background:var(--soft);border-radius:10px;padding:9px 12px;min-width:115px}.pricing-row small{color:var(--muted)}.pricing-note{display:block;color:var(--muted);text-align:center;margin-top:16px}.modal-open{overflow:hidden}
@media(max-width:760px){.booking-topbar{height:70px;padding:0 18px}.booking-logo img{height:39px}.topbar-action span{display:none}.booking-promise{min-height:92px}.booking-promise strong{font-size:14px}.booking-promise span{font-size:11px;line-height:1.55}.booking-main{padding:22px 14px 115px}.booking-progress{margin-bottom:22px}.progress-item{width:62px;flex-basis:62px;font-size:10px}.progress-circle{width:46px;height:46px}.progress-circle svg{width:23px}.progress-line{margin-top:22px;height:4px;min-width:10px}.booking-card{border-radius:18px}.booking-card-head{padding:27px 18px 14px}.booking-card h1{font-size:27px}.booking-card-head p{font-size:14px}.booking-card-body{margin:8px 12px 20px;padding:20px 16px}.field-grid,.schedule-grid,.contact-layout,.contact-fields{grid-template-columns:1fr}.contact-fields .full{grid-column:auto}.vehicle-grid{grid-template-columns:1fr 1fr;gap:10px}.vehicle-option label{min-height:125px;font-size:13px}.vehicle-option img{height:58px;max-width:105px}.service-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -16px;padding:4px 16px 14px}.service-option{min-width:86%;scroll-snap-align:center}.service-option label{min-height:370px}.booking-actions{position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);padding:12px max(14px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));z-index:25;border-top:1px solid var(--line);margin:0;grid-template-columns:.8fr 1.2fr}.booking-button{min-height:56px;padding:8px 12px}.slot-grid{grid-template-columns:repeat(3,1fr)}.summary-panel{position:static}.booking-whatsapp{width:54px;height:54px;right:16px;bottom:88px}.booking-whatsapp svg{width:29px}.pricing-row{grid-template-columns:1fr}.booking-modal{padding:12px}.booking-modal-panel{padding:22px 18px;border-radius:18px}.pricing-row>div{display:grid;grid-template-columns:1fr 1fr}.pricing-row span{min-width:0}}
