/* Vehicle details and inquiry flow extend the existing obsidian / silver theme. */
.photo-count{position:absolute;right:12px;bottom:12px;background:#121823e8;color:#fff;padding:6px 10px;border-radius:6px;font-size:12px}.photo-placeholder{display:flex;min-height:230px;width:100%;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:linear-gradient(135deg,#283345,#101720);color:#dde6f2}.photo-placeholder strong{font-size:28px;letter-spacing:-.04em}.photo-placeholder>span{font-size:14px;color:#aebed3}.expand-photo{position:relative;display:block;width:100%;padding:0;border:0;background:#121823;cursor:zoom-in}.expand-photo>span{position:absolute;bottom:14px;right:14px;background:#121823db;color:white;padding:7px 10px;border-radius:5px;font-size:12px}.gallery-controls{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;font-size:13px}.gallery-controls button,.photo-viewer-controls button{width:40px;height:40px;border:1px solid #ffffff40;border-radius:50%;background:transparent;color:white;font-size:20px}.gallery-controls button:disabled,.photo-viewer-controls button:disabled{opacity:.35;cursor:default}.photo-thumbnails{display:flex;gap:8px;padding:0 16px 16px;overflow-x:auto}.photo-thumbnails button{padding:0;flex:0 0 80px;height:58px;border:2px solid transparent;border-radius:6px;overflow:hidden;background:#121823}.photo-thumbnails button[aria-pressed=true]{border-color:#dae6f8}.photo-thumbnails img{display:block;width:100%;height:100%;object-fit:cover}.gallery-pending{padding:36px 24px;margin:0;color:#aebed3;text-align:center;line-height:1.6}.photo-viewer{width:min(1500px,96vw);max-width:96vw;height:auto;max-height:96dvh;padding:16px;border:1px solid #687b94;border-radius:16px;background:#101720;color:white;overflow:auto}.photo-viewer::backdrop{background:#05080ded}.photo-viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 0 14px}.photo-viewer-bar h2{font-size:18px;margin:0;color:white;letter-spacing:0}.photo-viewer-bar button{background:transparent;color:white;border:1px solid #ffffff50;border-radius:50%;width:44px;height:44px;font-size:26px}.photo-viewer>img{width:100%;height:min(72dvh,960px);object-fit:contain;display:block}.photo-viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:14px}.photo-viewer-controls p{font-size:14px;color:#d2dced;text-align:center;margin:0}.photo-viewer-controls button{flex-shrink:0}.vehicle-gallery [hidden]{display:none!important}.photo-thumbnails:empty{display:none}.photo-viewer button:focus-visible,.vehicle-gallery button:focus-visible{outline:3px solid #b9d5ff;outline-offset:3px}
.car{cursor:pointer}.car-photo-button{display:block;padding:0;border:0;width:calc(100% - 16px);background:none;text-align:left}.car-title-button{border:0;padding:0;background:none;color:inherit;font:inherit;text-align:left}.car-photo-button:focus-visible{outline-offset:-5px}
body.planner-open{overflow:hidden}
#inquiry{width:min(1190px,calc(100% - 40px));height:min(900px,92dvh);max-height:92dvh;padding:0;background:#f8f9fb;border:1px solid #b1bdcf60;border-radius:22px;overflow:auto;color:#172133;scrollbar-gutter:stable;scroll-padding-top:85px}
.booking-bar{display:flex;align-items:center;justify-content:space-between;padding:13px 24px;border-bottom:1px solid #dce1e9;background:#f8f9fb;position:sticky;top:0;z-index:5;min-height:67px;gap:20px}.booking-bar>span{font-size:12px;font-weight:700;letter-spacing:.12em}.bar-divider{padding:0 10px;color:#a3adbb}.booking-bar .close{position:static;width:40px;height:40px;border:1px solid #dce1e9;border-radius:50%;padding:0;line-height:1;flex-shrink:0}.booking-bar .close:hover{background:#e5eaf2}
.booking-layout{display:grid;grid-template-columns:340px minmax(0,1fr);min-height:calc(100% - 67px)}.vehicle-panel{background:#121823;color:#f1f4f9;border-right:1px solid #d9dfe9;min-width:0}.detail-image{display:block;width:100%;aspect-ratio:1.5;object-fit:cover}.vehicle-panel-copy{padding:28px}.vehicle-panel .eyebrow{color:#aabbd1;font-size:12px;line-height:1.6}.vehicle-panel h2{color:#f1f4f9;font-size:29px;line-height:1.16;letter-spacing:-.045em}.vehicle-panel #detail-description{color:#acb8ca;font-size:16px;line-height:1.6}.vehicle-facts{margin:24px 0;font-size:14px}.vehicle-facts>div{padding:12px 0;border-bottom:1px solid #ffffff16;display:flex;justify-content:space-between;gap:18px}.vehicle-facts dt{color:#9eacc1}.vehicle-facts dd{margin:0;text-align:right;max-width:60%}.trip-overview{padding:20px 0}.trip-overview h3{font-size:16px;font-weight:600;letter-spacing:-.01em;margin-bottom:12px}.trip-overview p{font-size:14px;color:#b7c3d3;margin:0 0 10px;overflow-wrap:anywhere}.quote-note{border:1px solid #ffffff24;background:#ffffff05;padding:18px;border-radius:12px}.quote-note strong{font-size:16px}.quote-note p{font-size:14px;color:#acb8ca;margin:8px 0 0}
.booking-main{min-width:0;padding:26px 34px 32px}.booking-intro{font-size:14px;color:#606e81;margin-bottom:22px}.booking-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 0 30px;padding:0 0 19px;border-bottom:1px solid #dce2eb}.booking-steps button{display:flex;align-items:center;justify-content:center;gap:8px;background:none;border:0;border-radius:8px;padding:10px 3px;font-size:14px;color:#69778a}.booking-steps button>span{width:25px;height:25px;border:1px solid #c6cfdb;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:12px}.booking-steps button[aria-current="step"]{font-weight:700;color:#1b2b45;background:#e7edf5}.booking-steps button[aria-current="step"]>span{background:#1b2b45;border-color:#1b2b45;color:white}.booking-steps button.is-complete>span{border-color:#8497b1;color:#253f62}.booking-steps button:hover{background:#e7edf5}.step-heading{margin-bottom:25px;scroll-margin-top:85px}.step-heading .eyebrow{color:#61718a;margin-bottom:8px;font-size:12px}.step-heading h3,#summary h3{font-size:26px;font-weight:600;line-height:1.24;letter-spacing:-.04em;margin-bottom:10px}.step-heading p:last-child{font-size:16px;color:#637086;line-height:1.6;margin:0}.booking-step label{font-size:14px;font-weight:500;margin:16px 0;gap:8px;position:relative}.booking-step label:has(>.optional){display:block}.booking-step label:has(>.optional)>input,.booking-step label:has(>.optional)>textarea{display:block;margin-top:8px}.optional{font-size:12px;color:#6c798d;font-weight:400;margin-left:4px}.booking-step input,.booking-step select,.booking-step textarea{font-size:16px;min-height:48px;border-radius:8px;background:#fff;line-height:1.4}.booking-step select{padding-right:28px}.booking-step textarea{resize:vertical;max-height:240px}.booking-step fieldset{border:0;padding:24px 0 8px;margin:0;border-top:1px solid #dce2eb;min-width:0}.booking-step legend{float:left;width:100%;padding:0;margin-bottom:4px;font-family:Manrope,sans-serif;font-size:18px;line-height:1.4;letter-spacing:-.025em;font-weight:650}.booking-step legend+*{clear:both}.booking-step fieldset:after{content:'';display:block;clear:both}.booking-step .field-help{font-size:14px;color:#637086;line-height:1.6;margin:10px 0 16px}.booking-step .date-row{gap:0 16px}.booking-step .date-row>label{min-width:0}.duration-note{font-size:14px;font-weight:600;color:#2e4668;margin:0 0 12px}.duration-note:empty{display:none}
.booking-step .check-line{flex-direction:row;align-items:flex-start;gap:12px;background:#eef2f7;padding:15px;border:1px solid #dce2eb;border-radius:10px;line-height:1.5}.booking-step input[type="checkbox"],.booking-step input[type="radio"]{padding:0;width:19px;height:19px;min-height:19px;flex-shrink:0;margin:2px 0 0;box-shadow:none;accent-color:#263d5c}.check-line strong{display:block;font-size:15px;font-weight:600}.check-line small,.choice small{display:block;color:#617087;font-size:14px;line-height:1.5;margin-top:4px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;clear:both;padding-top:12px}.booking-step .choice{display:flex;flex-direction:row;align-items:flex-start;padding:16px;gap:12px;border:1px solid #d0d9e5;border-radius:10px;margin:0;background:white;cursor:pointer;font-weight:400}.choice strong{font-size:15px;font-weight:600;color:#23334c}.booking-step .choice:has(:checked){border-color:#4b6484;background:#eaf0f8;box-shadow:inset 0 0 0 1px #4b6484}.protection-options{display:grid;gap:10px;clear:both}.extras-list{clear:both;padding-top:10px}.extra-row{display:flex;align-items:center;gap:16px;justify-content:space-between;padding:17px 0;border-bottom:1px solid #dce2eb}.extra-row strong{font-size:15px;font-weight:600;display:block}.extra-row p{font-size:14px;color:#637086;margin:4px 0 0}.booking-step .quantity-label{width:80px;flex-shrink:0;font-size:12px;color:#596a80;margin:0;gap:5px}.quantity-label select{padding:8px;min-height:44px}.booking-actions{display:flex;align-items:center;gap:14px;padding-top:22px;border-top:1px solid #dce2eb;margin-top:25px}.booking-actions .button{width:auto;font-size:14px;min-height:48px;padding:14px 22px;gap:16px;white-space:normal}.booking-actions #next-step{margin-left:auto}.booking-actions #step-count{font-size:12px;color:#6d7b8f;white-space:nowrap}.button.secondary{background:white;color:#243751;border:1px solid #c9d3e1;font-weight:600}.booking-main .button.dark{background:#1c2e49;color:#fff}.booking-main .button:hover{box-shadow:0 4px 15px #20385416;transform:translateY(-1px)}.booking-main .form-error{font-size:14px;color:#a52f31;line-height:1.6;margin:18px 0 0}.booking-main .form-error:empty{display:none}
.review-card{padding:20px 0;border-top:1px solid #dce2eb}.review-card-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.review-card h4,.quote-breakdown h4{font-size:18px;letter-spacing:-.02em;margin:0;font-family:Manrope,sans-serif}.edit-link{font-size:14px;border:0;padding:6px 0;text-decoration:underline;text-underline-offset:4px;background:none;color:#304f7b}.review-card dl,.quote-breakdown dl{margin:0}.review-card dl>div,.quote-breakdown dl>div{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:12px 0;font-size:14px;line-height:1.5}.review-card dt,.quote-breakdown dt{color:#637086;max-width:45%;flex-shrink:0}.review-card dd,.quote-breakdown dd{margin:0;text-align:right;overflow-wrap:anywhere;white-space:pre-line;color:#26394f;min-width:0}.quote-breakdown{background:#eaf0f7;border:1px solid #d0dbe8;padding:22px;border-radius:12px;margin:10px 0 22px}.quote-breakdown p{font-size:14px;color:#617086;margin:10px 0 18px}.quote-breakdown p:last-child{margin-bottom:0}.quote-breakdown dd{color:#60738d}.quote-total{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #c7d3e4;margin-top:20px;padding-top:18px;font-size:16px}.quote-total strong:last-child{text-align:right}.booking-step .rental-terms{padding:0 0 20px;border-color:#dce2eb}.rental-terms summary{color:#26374e;font-size:16px;line-height:1.5}.rental-terms summary:hover{color:#132239}.rental-terms summary:after{background:#e3e9f2;color:#334c71;flex-shrink:0}.rental-terms ul{padding-left:20px;color:#627187;font-size:14px;line-height:1.65;margin:16px 0 0}.rental-terms li{margin-bottom:9px}.acknowledgement{font-weight:400!important}
.inquiry-ready{text-align:left;padding-top:8px}.ready-symbol{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#e0e8f3;color:#26446a;font-size:25px;margin-bottom:22px}#summary p{font-size:16px;line-height:1.65}#summary-text{font-size:14px;line-height:1.65;resize:vertical;border-radius:10px}.summary-actions{display:flex;gap:12px;flex-wrap:wrap}.summary-actions .button{font-size:14px;gap:10px}.inquiry-ready #copy-status{font-size:14px;min-height:24px;margin:12px 0}.booking-main :focus-visible{outline:3px solid #58749d;outline-offset:3px}.step-heading h3:focus,.inquiry-ready h3:focus{outline:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1000px){.booking-layout{grid-template-columns:280px minmax(0,1fr)}.booking-main{padding:24px}.vehicle-panel-copy{padding:22px}.vehicle-panel h2{font-size:26px}.booking-steps button{gap:5px}.booking-actions #step-count{display:none}}
@media(max-width:760px){#inquiry{width:100%;height:100dvh;max-height:100dvh;max-width:100%;margin:0;border:0;border-radius:0}.booking-layout{grid-template-columns:minmax(0,1fr)}.booking-bar{padding:10px 18px;min-height:60px}.booking-bar>span{font-size:11px;letter-spacing:.08em}.booking-main{padding:24px 20px 30px}.vehicle-panel{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:16px;padding:20px;border:0}.detail-image{aspect-ratio:1.35;border-radius:10px}.vehicle-panel-copy{padding:0}.vehicle-panel .eyebrow{font-size:10px;margin:0 0 6px!important}.vehicle-panel h2{font-size:23px;margin-bottom:5px}.vehicle-panel #detail-description{font-size:14px;margin:0}.vehicle-facts,.trip-overview,.quote-note{display:none}.booking-steps{margin-bottom:24px;gap:4px}.booking-steps button{font-size:14px;gap:6px;padding:10px 0}.booking-steps button>span{width:22px;height:22px;font-size:12px}.step-heading h3,#summary h3{font-size:25px}.booking-actions{gap:8px;position:sticky;bottom:-30px;background:#f8f9fb;padding:16px 0;margin-top:20px;z-index:2}.booking-actions .button{padding:13px 17px;gap:10px}.booking-step .date-row{gap:0 12px}.choice-grid{grid-template-columns:minmax(0,1fr)}.quote-breakdown{padding:18px}.review-card dl>div{gap:16px}.quote-total{font-size:15px}.summary-actions{gap:10px}.summary-actions .button{padding:15px 20px}}
@media(max-width:370px){.vehicle-panel{grid-template-columns:110px minmax(0,1fr);gap:13px}.vehicle-panel h2{font-size:20px}.booking-main{padding-inline:16px}.booking-steps button{gap:4px;font-size:13px}.booking-bar>span{font-size:10px}.booking-actions .button{font-size:13px;padding:13px}.bar-divider{padding:0 5px}}
@media(prefers-reduced-motion:reduce){#inquiry[open]{animation:none}.booking-main .button:hover{transform:none}}
.bot-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-strip{padding:32px 5%;text-align:center;background:#111824;color:#dce6f3}.contact-strip p{margin-bottom:8px}.contact-strip a{font-size:20px;text-decoration:underline}.contact-strip #rental-availability-notice{font-size:14px;margin-top:12px;color:#bbc8dc}.footer-links{display:flex;gap:20px;flex-wrap:wrap;font-size:14px}footer{flex-wrap:wrap}.availability-box{border:1px solid #c9d6e7;border-radius:10px;padding:15px;background:#edf3fa}.availability-box p{font-size:14px;margin:8px 0}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center;font-size:14px}.month-grid>*{padding:8px 0;border-radius:5px}.busy-date{background:#d3a3a3;color:#411f27}.month-grid strong{font-size:12px;color:#536981}#confirmed-vehicle-features{display:flex;flex-wrap:wrap;gap:7px}#confirmed-vehicle-features>span{font-size:13px;padding:5px 8px;background:#ffffff14;border-radius:5px}.request-reference{font-size:20px!important;font-weight:700;letter-spacing:.04em;color:#203955!important}#estimate-status{font-size:14px;line-height:1.6;margin:12px 0}.acknowledgement a{text-decoration:underline;color:#234971}button:disabled{cursor:wait;opacity:.6}
