/* Guided rental enquiry */
[hidden]{display:none!important}.booking-intro{background:linear-gradient(145deg,#1d211d,#101211);border:1px solid #625030;border-radius:20px;padding:24px;overflow:hidden}.booking-intro img{width:100%;height:185px;object-fit:cover;border-radius:12px;margin:16px 0}.booking-intro h2{font-size:28px;line-height:1.2;margin:10px 0}.booking-intro p{color:var(--muted);font-size:13px}.booking-intro .btn{width:100%;min-height:52px}.intro-steps{display:flex;gap:8px;color:#ebd8a3;font-size:11px;flex-wrap:wrap}.intro-steps span{padding:6px 10px;border:1px solid #55472d;border-radius:30px}.booking-intro small{display:block;margin-top:12px;color:var(--muted);text-align:center;font-size:11px}
.rental-flow{padding-top:64px;padding-bottom:70px;scroll-margin-top:20px}.flow-heading{margin-bottom:24px}.flow-heading h2{margin:7px 0;font-size:clamp(30px,4vw,44px);letter-spacing:-1px}.flow-heading p{color:var(--muted);margin:0;max-width:620px}.flow-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:28px 0}.flow-progress button{display:flex;align-items:center;gap:10px;min-height:56px;padding:12px;text-align:left;background:#111412;border:1px solid #343b34;border-radius:9px;color:#c3c9c3;font:inherit;font-size:13px;cursor:pointer}.flow-progress button span{display:grid;place-items:center;border-radius:50%;width:26px;height:26px;flex-shrink:0;border:1px solid #565e54;font-size:12px}.flow-progress button[aria-current=step]{border-color:var(--gold);color:#fff2cd;background:#272216}.flow-progress button[aria-current=step] span{background:var(--gold2);border-color:var(--gold2);color:#19160e;font-weight:800}.flow-progress button:disabled{opacity:.45;cursor:default}.flow-layout{display:grid;grid-template-columns:minmax(0,1fr) 286px;gap:24px;align-items:start}.flow-main{min-width:0}.flow-main h3.step-title{font-size:26px;margin:0 0 8px;letter-spacing:-.5px}.step-copy{color:var(--muted);font-size:13px;margin:0 0 22px}.rental-flow .cars{grid-template-columns:repeat(2,minmax(0,1fr))}.rental-flow .car-photo{height:176px}.rental-flow .car-card{position:relative}.rental-flow .car-card.is-selected{border:2px solid var(--gold2)}.rental-flow .car-card .btn{min-height:46px;width:100%;font-size:12px}.rental-flow .car-top{flex-wrap:wrap}.rental-flow .price{text-align:left}.selected-label{position:absolute;right:10px;top:10px;z-index:1;background:var(--gold2);color:#15160e;padding:5px 10px;border-radius:20px;font-size:10px;font-weight:800}.flow-summary{position:sticky;top:98px;background:#121613;border:1px solid #444631;border-radius:13px;overflow:hidden}.flow-summary>img{width:100%;height:146px;object-fit:cover}.summary-inner{padding:20px}.summary-caption{font-size:10px;letter-spacing:2px;color:var(--gold2);text-transform:uppercase}.summary-inner h3{font-size:18px;line-height:1.3;margin:8px 0 18px}.summary-inner dl{margin:0}.summary-inner dl>div{padding:10px 0;border-bottom:1px solid #30362d}.summary-inner dt{font-size:10px;color:#9ca79b}.summary-inner dd{font-size:12px;margin:4px 0 0;overflow-wrap:anywhere}.summary-total{padding-top:18px}.summary-total span{display:block;font-size:11px;color:#d5dbc9}.summary-total strong{display:block;font-size:30px;color:var(--gold2);letter-spacing:-1px}.summary-total small{display:block;color:#aab4a6;font-size:10px;line-height:1.6;margin-top:6px}.summary-empty{padding:24px 20px;color:#adb7aa;font-size:13px}.summary-empty b{display:block;color:#efebde;margin:10px 0}.flow-panel{padding:24px;border:1px solid #353c33;background:#111512;border-radius:13px}.flow-panel .field label{font-size:12px}.flow-panel input{min-height:52px}.flow-panel .field-grid{gap:18px}.location-note{padding:15px;background:#1b211a;border:1px solid #354031;border-radius:9px;margin-bottom:22px;font-size:12px;color:#bdc8b8}.location-note strong{display:block;color:#f1eddc;margin-bottom:4px}.duration-choices{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.duration-choices button{min-height:44px;border:1px solid #635332;background:#211e15;color:var(--gold2);border-radius:7px;font:inherit;padding:8px 16px;cursor:pointer}.date-note{color:var(--muted);font-size:11px}.flow-error{border:1px solid #d88265;color:#ffd5bc;background:#38221a;border-radius:8px;padding:12px;margin-bottom:18px;font-size:13px}.flow-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.flow-actions .btn{min-height:50px}.flow-back{background:transparent;color:#e5d9b1;border:1px solid #76633d}.extra-choices{display:grid;grid-template-columns:1fr;gap:12px}.extra-choice{position:relative;display:flex;gap:16px;align-items:center;padding:20px;border:1px solid #3f4539;border-radius:12px;cursor:pointer;background:#111512}.extra-choice:has(input:checked){border-color:var(--gold2);background:#242315}.extra-choice input{accent-color:var(--gold2);width:22px;height:22px;flex-shrink:0;cursor:pointer}.extra-icon{display:grid;place-items:center;min-width:44px;height:44px;border-radius:12px;background:#2c2b1d;color:var(--gold2);font-size:22px}.extra-choice strong{display:block;font-size:15px}.extra-choice small{display:block;color:#acb6a7;font-size:12px;margin-top:4px}.extra-price{margin-left:auto;font-size:11px;white-space:nowrap;color:#e7d69e}.extras-note{color:#aeb8a7;font-size:12px;margin-top:18px}.review-selection{background:#1a2119;border:1px solid #3d4836;padding:18px;border-radius:10px;margin-bottom:22px}.review-selection h4{margin:0 0 12px;font-size:16px}.review-selection dl{margin:0;display:grid;gap:14px}.review-selection dt{font-size:11px;color:#adb8a5}.review-selection dd{font-size:13px;margin:3px 0 0}.review-selection button{background:none;border:0;color:var(--gold2);text-decoration:underline;padding:10px 0 0;font:inherit;cursor:pointer;font-size:12px}.contact-form .form-grid{margin-top:0}.contact-form input{font-size:16px}.contact-form .field label span{color:#a4afa0;font-weight:400}.enquiry-note{font-size:12px;color:#b6c0ad;line-height:1.7;margin-top:18px}.send-note{font-size:12px;color:#e9dbb0;margin:15px 0 0}.flow-summary a{font-size:11px;color:var(--gold2)}.flow-progress button:focus-visible,.extra-choice:focus-within,.rental-flow button:focus-visible{outline:2px solid #fff0b1;outline-offset:3px}.flow-actions .btn:disabled{opacity:.4;cursor:default}.whatsapp{z-index:20}
@media(max-width:1060px){.flow-layout{grid-template-columns:minmax(0,1fr) 250px}.rental-flow .cars{gap:12px}.rental-flow .car-top h3{font-size:16px}}
@media(max-width:760px){.flow-layout{grid-template-columns:1fr}.flow-summary{position:static;order:2;display:flex}.flow-summary>img{width:120px;height:auto;object-fit:cover}.summary-inner{padding:16px;flex:1}.summary-inner h3{margin:5px 0 10px}.summary-inner dl{display:none}.summary-total{padding-top:8px}.summary-total strong{font-size:25px}.summary-caption{font-size:9px}.rental-flow{padding-top:40px}.flow-progress{gap:5px;margin:22px 0}.flow-progress button{flex-direction:column;text-align:center;gap:7px;padding:10px 4px;font-size:10px;min-height:72px}.flow-panel{padding:18px}.flow-main h3.step-title{font-size:24px}.flow-heading p{font-size:13px}.flow-actions{padding:14px 0 max(14px,env(safe-area-inset-bottom));border-top:1px solid #34382f}.flow-actions .btn{font-size:12px}.flow-actions .flow-next{flex:1}.rental-flow .car-photo{height:145px}.rental-flow .car-body{padding:12px}.rental-flow .car-top h3{font-size:15px}.rental-flow .specs{gap:4px;margin:10px 0}.rental-flow .specs span{font-size:9px;padding:5px}.extra-choice{padding:15px;gap:12px}.extra-icon{display:none}.extra-choice strong{font-size:14px}.extra-choice small{font-size:11px}.extra-price{font-size:10px}.booking-intro img{height:170px}}
@media(max-width:440px){.rental-flow .cars{grid-template-columns:1fr}.rental-flow .car-photo{height:190px}.rental-flow .car-top{flex-wrap:nowrap}.flow-panel .field-grid{grid-template-columns:1fr 1fr;gap:12px}.flow-panel .field input,.flow-panel .field select{font-size:14px}.extra-choice{flex-wrap:wrap}.extra-choice>span:not(.extra-icon):not(.extra-price){flex:1}.extra-price{margin-left:34px}.contact-form .form-grid{grid-template-columns:1fr}.flow-summary>img{width:88px}}

.rental-flow .car-photo{height:auto;aspect-ratio:1}.rental-flow .car-photo img{object-fit:contain}.booking-intro img{height:240px;object-fit:contain;background:#090a08}

.how-steps{grid-template-columns:repeat(4,1fr)}@media(max-width:680px){.how-steps{grid-template-columns:1fr}}

.flow-layout:has(.cars){grid-template-columns:1fr}.flow-layout:has(.cars)>.flow-summary{display:none}.rental-flow .cars{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:930px){.rental-flow .cars{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.rental-flow .cars{grid-template-columns:1fr}}

/* On phones, give the title a full text column and show the price below it. */
@media (max-width: 680px) {
  .extra-choice {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: start;
    column-gap: 10px;
    row-gap: 6px;
  }

  .extra-choice > input {
    grid-column: 1;
    grid-row: 1;
    margin: 1px 0 0;
  }

  .extra-choice > span:not(.extra-icon, .extra-price),
  .extra-choice > .extra-price {
    grid-column: 2;
    min-width: 0;
  }

  .extra-choice strong {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }

  .extra-choice > .extra-price {
    margin: 0;
    max-width: none;
    justify-self: start;
    font-size: 12px;
  }
}

/* Give native date and time controls their own row on phones. */
@media (max-width: 680px) {
  .rental-flow .flow-panel .field-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .rental-flow .flow-panel .field-grid :is(input, select) {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
}

.extra-detail{min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.extra-detail summary{display:flex;align-items:center;gap:10px;min-height:46px;padding:12px 16px;cursor:pointer;font-weight:700;color:var(--gold-light);list-style:none}
.extra-detail summary::-webkit-details-marker{display:none}
.extra-detail summary::before{content:"+";display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border:1px solid var(--line);border-radius:50%}
.extra-detail[open] summary::before{content:"−"}
.extra-detail summary:focus-visible{outline:2px solid var(--gold-light);outline-offset:2px}
.extra-detail-body{padding:4px 16px 16px;color:var(--muted);font-size:14px;line-height:1.55}
.extra-detail-body a{color:var(--gold-light);overflow-wrap:anywhere}
.extra-detail-body ul{margin:10px 0 0;padding-left:20px}
.extra-detail-body .field{margin:12px 0}
.chauffeur-rates{display:grid;gap:8px;margin:12px 0}
.chauffeur-rates div{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.chauffeur-rates dd{margin:0;color:var(--text);font-weight:700}
.protection-choice .extra-detail{margin-top:8px}
