:root{
  --trf-primary:#31a9cf;
  --trf-primary-dark:#1687ab;
  --trf-soft:#eaf8fd;
  --trf-border:#8ad7ee;
  --trf-text:#050505;
  --trf-muted:#59636a;
  --trf-card:#ffffff;
  --trf-danger:#b42318;
  --trf-warning:#fff7e6;
  --trf-line:#e7eef2;
}
.trf-search-form{background:var(--trf-soft);border:1px solid var(--trf-border);border-radius:10px;padding:28px 30px;margin:20px 0;box-sizing:border-box}
.trf-search-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:end}
.trf-search-form label{display:block;font-weight:700;color:var(--trf-text);font-size:14px;line-height:1.2}
.trf-search-form label span{display:block;margin-bottom:10px}
.trf-search-form input,.trf-search-form select{width:100%;height:46px;border:0;border-radius:8px;background:#fff;color:#222;padding:0 14px;font-size:15px;box-sizing:border-box;outline:none}
.trf-search-form button,.trf-button{height:46px;border:0;border-radius:8px;background:var(--trf-primary);color:#fff!important;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-weight:700;padding:0 26px;cursor:pointer;transition:.2s ease;white-space:nowrap}
.trf-search-form button:hover,.trf-button:hover{background:var(--trf-primary-dark);color:#fff!important;transform:translateY(-1px)}
.trf-vehicle-grid{display:grid;gap:26px;margin:26px 0}.trf-cols-1{grid-template-columns:1fr}.trf-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.trf-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.trf-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.trf-vehicle-card{background:var(--trf-card);border-radius:10px;box-shadow:0 2px 14px rgba(0,0,0,.10);padding:28px 30px 22px;box-sizing:border-box;display:flex;flex-direction:column;min-height:430px;overflow:hidden}
.trf-card-head h3{font-size:22px;line-height:1.15;margin:0;color:#000;font-weight:800}.trf-card-head p{margin:3px 0 18px;color:#000;font-weight:700}
.trf-card-image{height:200px;display:flex;align-items:center;justify-content:center;background:#fff;margin:0 0 20px}.trf-card-image img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.trf-card-features{display:flex;gap:15px;flex-wrap:wrap;margin:0 0 16px;font-size:14px;font-weight:700;color:#000}.trf-card-features span{display:inline-flex;align-items:center;gap:4px}
.trf-card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:auto;gap:12px}.trf-price strong{font-size:28px;color:var(--trf-primary);font-weight:800}.trf-price span{color:#222;margin-left:5px;font-size:14px}.trf-card-mini{font-size:12px;color:var(--trf-muted);margin-top:14px;font-weight:600}
.trf-results-summary{display:flex;gap:16px;flex-wrap:wrap;background:#fff;border:1px solid #e3eef2;border-radius:8px;padding:16px 18px;margin:20px 0;color:#222}.trf-results-summary strong{color:#000}
.trf-notice{padding:16px 18px;border-radius:8px;background:#eef8fc;border:1px solid #c5eaf5;color:#123;margin:18px 0;font-weight:600}.trf-warning{background:var(--trf-warning);border-color:#ffdf99;color:#5c3a00}

/* Checkout */
.trf-checkout-hero{background:linear-gradient(135deg,#eaf8fd 0%,#ffffff 72%);border:1px solid var(--trf-border);border-radius:16px;padding:28px 30px;margin:28px 0 24px;box-shadow:0 8px 28px rgba(49,169,207,.12)}
.trf-checkout-eyebrow{display:inline-flex;align-items:center;background:#fff;border:1px solid #d9f0f8;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--trf-primary-dark);margin-bottom:10px}
.trf-checkout-hero h2{margin:0;color:#000;font-size:32px;line-height:1.15;font-weight:900}
.trf-checkout-hero p{max-width:760px;margin:10px 0 18px;color:#3f4b52;font-size:15px;line-height:1.55}
.trf-checkout-badges{display:flex;gap:10px;flex-wrap:wrap}.trf-checkout-badges span{background:#fff;border:1px solid #dcecf2;border-radius:999px;padding:8px 12px;font-weight:800;font-size:13px;color:#111}
.trf-booking-wrap{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:28px;align-items:start;margin:24px 0}
.trf-step-card,.trf-booking-summary,.trf-policies-box{background:#fff;border:1px solid #edf2f5;border-radius:16px;box-shadow:0 8px 26px rgba(0,0,0,.07);padding:28px;margin-bottom:22px;overflow:hidden}
.trf-step-card h3,.trf-booking-summary h3,.trf-policies-box h3{display:flex;align-items:center;gap:10px;margin:0 0 20px;font-size:22px;color:#000;font-weight:900;line-height:1.2}
.trf-step-number{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--trf-primary);color:#fff;font-size:14px;font-weight:900;flex:0 0 30px}
.trf-selected-vehicle{display:flex;gap:18px;align-items:center;background:#f8fcfe;border:1px solid #e1f2f8;border-radius:14px;padding:16px;margin-bottom:18px}
.trf-selected-vehicle img{width:190px;height:118px;object-fit:contain;background:#fff;border:1px solid #eef3f5;border-radius:12px;padding:4px}.trf-selected-vehicle h4{margin:0 0 6px;font-size:23px;font-weight:900;color:#000}.trf-selected-vehicle p{margin:4px 0;color:#333;line-height:1.45}
.trf-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.trf-rental-date-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.trf-booking-form label{font-weight:800;color:#000;display:block;font-size:14px;line-height:1.25}
.trf-booking-form input[type="text"],.trf-booking-form input[type="email"],.trf-booking-form input[type="tel"],.trf-booking-form input[type="date"],.trf-booking-form select,.trf-booking-form textarea{width:100%;box-sizing:border-box;border:1px solid #d8e5eb;border-radius:10px;padding:12px 13px;margin-top:8px;font-size:15px;background:#fff;color:#111;outline:none;transition:border-color .2s ease,box-shadow .2s ease}
.trf-booking-form input[type="date"],.trf-booking-form select{height:48px}.trf-booking-form textarea{resize:vertical;min-height:72px}.trf-booking-form input:focus,.trf-booking-form select:focus,.trf-booking-form textarea:focus{border-color:var(--trf-primary);box-shadow:0 0 0 3px rgba(49,169,207,.16)}
.trf-check-row{display:flex!important;gap:12px;align-items:flex-start;margin:12px 0;font-weight:700!important;line-height:1.45;background:#fbfdfe;border:1px solid #edf3f5;border-radius:12px;padding:12px 14px}.trf-check-row input{margin-top:3px;min-width:17px}.trf-disclosure,.trf-small-note{font-size:13px;color:#59636a;margin:10px 0 0;line-height:1.5}.trf-disclosure{background:#fff8e8;border-left:4px solid #f2b84b;padding:10px 12px;border-radius:8px;color:#4f3a0a;font-weight:700}.trf-submit-btn{margin-top:12px;width:100%;height:52px;font-size:17px;border-radius:12px}.trf-submit-btn[disabled]{opacity:.65;cursor:not-allowed}.trf-booking-message{margin-top:14px;font-weight:800;line-height:1.45}.trf-booking-message.trf-success{color:#147a3b}.trf-booking-message.trf-error{color:var(--trf-danger)}
.trf-booking-summary{position:sticky;top:32px;border-top:5px solid var(--trf-primary)}.trf-booking-summary h3{margin-bottom:4px}.trf-summary-helper{margin:0 0 16px;color:var(--trf-muted);font-size:13px;font-weight:700}.trf-summary-line,.trf-summary-total{display:flex;justify-content:space-between;gap:10px;padding:14px 0;border-bottom:1px solid #edf1f3;color:#222;align-items:center}.trf-summary-line span{color:#4d5a62;font-weight:700}.trf-summary-line strong{color:#000;font-weight:900}.trf-summary-total{font-size:20px;font-weight:900;border-bottom:0;margin-top:6px;background:#f3fbfe;border-radius:12px;padding:16px;margin-left:-6px;margin-right:-6px}.trf-summary-total strong{color:var(--trf-primary);font-size:24px}.trf-policies-box ul{margin:0;padding-left:18px}.trf-policies-box li{margin:8px 0}
@media(max-width:1180px){.trf-rental-date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trf-rental-date-grid label:last-child{grid-column:1/-1}}
@media(max-width:1024px){.trf-search-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trf-search-grid button{grid-column:auto}.trf-cols-3,.trf-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.trf-booking-wrap{grid-template-columns:1fr}.trf-booking-summary{position:static}.trf-rental-date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.trf-search-form{padding:20px 16px}.trf-search-grid,.trf-form-grid,.trf-rental-date-grid,.trf-cols-2,.trf-cols-3,.trf-cols-4{grid-template-columns:1fr}.trf-rental-date-grid label:last-child{grid-column:auto}.trf-vehicle-card{padding:22px 20px}.trf-card-bottom{align-items:flex-start;flex-direction:column}.trf-card-bottom .trf-button{width:100%}.trf-checkout-hero{padding:22px 18px}.trf-checkout-hero h2{font-size:26px}.trf-selected-vehicle{align-items:flex-start;flex-direction:column}.trf-selected-vehicle img{width:100%;height:170px}.trf-step-card,.trf-booking-summary{padding:20px}.trf-check-row{padding:11px 12px}.trf-summary-total strong{font-size:21px}}

/* 15-minute reservation date/time controls */
.trf-date-time-field{min-width:0}
.trf-date-time-pair{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:0;margin-top:8px;overflow:hidden;background:#fff}
.trf-date-time-pair input,.trf-date-time-pair select{min-width:0}
.trf-date-time-pair input[type="date"]{border-right:1px solid #e7eef2!important}
.trf-time-select{appearance:auto}
.trf-search-grid{grid-template-columns:1.35fr 1.35fr 1fr 1fr 1.05fr}
.trf-search-form .trf-date-time-pair{height:46px;border-radius:8px;background:#fff}
.trf-search-form .trf-date-time-pair input,.trf-search-form .trf-date-time-pair select{height:46px!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:0 12px!important}
.trf-search-form .trf-date-time-pair input[type="date"]{padding-right:8px!important}
.trf-search-form .trf-date-time-pair select{padding-left:10px!important}
.trf-booking-form .trf-date-time-pair{height:48px;border:1px solid #d8e5eb;border-radius:10px;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}
.trf-booking-form .trf-date-time-pair:focus-within{border-color:var(--trf-primary);box-shadow:0 0 0 3px rgba(49,169,207,.16)}
.trf-booking-form .trf-date-time-pair input,.trf-booking-form .trf-date-time-pair select{height:46px!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:0 13px!important}
.trf-booking-form .trf-date-time-pair input:focus,.trf-booking-form .trf-date-time-pair select:focus{box-shadow:none!important;border:0!important}
.trf-booking-form .trf-date-time-pair input[type="date"]{padding-right:8px!important}
.trf-booking-form .trf-date-time-pair select{padding-left:10px!important}
@media(max-width:1180px){.trf-search-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trf-search-grid button{grid-column:1/-1}}
@media(max-width:680px){.trf-date-time-pair{grid-template-columns:1fr}.trf-date-time-pair input[type="date"]{border-right:0!important;border-bottom:1px solid #e7eef2!important}.trf-search-form .trf-date-time-pair,.trf-booking-form .trf-date-time-pair{height:auto}.trf-search-form .trf-date-time-pair input,.trf-search-form .trf-date-time-pair select,.trf-booking-form .trf-date-time-pair input,.trf-booking-form .trf-date-time-pair select{height:46px!important}}

/* Clickable MN insurance disclosure */
.trf-inline-disclosure{margin:10px 0 0;font-size:13px;color:#59636a;font-weight:700}
.trf-mn-disclosure-link{font-size:12px;font-weight:900;color:var(--trf-primary-dark)!important;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.trf-check-row .trf-mn-disclosure-link{font-size:inherit}
.trf-modal{display:none;position:fixed;inset:0;z-index:999999;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}
.trf-modal.is-open{display:flex}
.trf-modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.54)}
.trf-modal-panel{position:relative;background:#fff;border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.28);max-width:560px;width:100%;padding:28px 30px;box-sizing:border-box;z-index:1;border-top:5px solid var(--trf-primary)}
.trf-modal-panel h3{margin:0 40px 12px 0;color:#000;font-size:24px;font-weight:900;line-height:1.2}
.trf-modal-panel p{margin:0;color:#313b42;font-size:15px;line-height:1.6;font-weight:600}
.trf-modal-close{position:absolute;right:16px;top:14px;width:34px;height:34px;border:0;border-radius:50%;background:#eef8fc;color:#000;font-size:24px;line-height:1;cursor:pointer;font-weight:800}
.trf-modal-close:hover{background:var(--trf-primary);color:#fff}
@media(max-width:680px){.trf-modal-panel{padding:24px 20px}.trf-modal-panel h3{font-size:21px}}

/* Stripe Payment Element + Express Checkout */
.trf-payment-card{border-top:5px solid var(--trf-primary)}
.trf-payment-heading{display:flex;align-items:center;gap:14px;padding:16px 18px;margin:0 0 16px;background:linear-gradient(135deg,#effaff 0%,#fff 100%);border:1px solid #d7eef7;border-radius:14px}
.trf-payment-heading>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.trf-payment-heading strong{font-size:17px;line-height:1.25;color:#081015;font-weight:900}
.trf-payment-heading span:not(.trf-payment-lock){font-size:13px;line-height:1.45;color:#52616a;font-weight:650}
.trf-payment-lock{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:var(--trf-primary);box-shadow:0 7px 18px rgba(49,169,207,.24)}
.trf-payment-lock svg{width:21px;height:21px;fill:#fff}
.trf-payment-intro{display:flex;flex-direction:column;gap:5px;background:#f8fafb;border:1px solid #e2ebef;border-radius:12px;padding:15px 17px;margin:0 0 16px}
.trf-payment-intro strong{font-size:15px;color:#111;font-weight:900}
.trf-payment-intro span{font-size:13px;color:#58666e;line-height:1.5;font-weight:600}
.trf-stripe-payment-ui{margin:0 0 16px}
.trf-stripe-payment-ui[hidden],.trf-express-checkout-wrap[hidden],.trf-edit-booking-btn[hidden]{display:none!important}
.trf-payment-option-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:0 0 12px}
.trf-payment-option-title h4{margin:0 0 3px;color:#111;font-size:17px;line-height:1.25;font-weight:900}
.trf-payment-option-title p{margin:0;color:#647179;font-size:12.5px;line-height:1.45;font-weight:600}
.trf-recommended-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:999px;background:#e8f8fd;color:#087b9d;border:1px solid #bfe8f4;padding:5px 9px;font-size:10px;line-height:1;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.trf-express-checkout-wrap,.trf-standard-payment-wrap{background:#fff;border:1px solid #dce8ed;border-radius:14px;padding:17px;box-shadow:0 4px 14px rgba(18,52,66,.045)}
.trf-express-checkout-wrap{margin:0 0 16px}
.trf-express-element-shell{border-radius:10px;overflow:hidden}
#trf-express-checkout-element{min-height:50px}
.trf-payment-divider{display:flex;align-items:center;gap:12px;margin:19px -1px 2px;color:#758188;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.045em}
.trf-payment-divider:before,.trf-payment-divider:after{content:"";height:1px;background:#e3eaee;flex:1}
.trf-payment-divider span{white-space:nowrap}
#trf-payment-element{border:0;border-radius:10px;padding:0;background:#fff;min-height:80px}
.trf-payment-trust-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:15px 0 4px}
.trf-payment-trust-row>span{position:relative;display:flex;flex-direction:column;gap:2px;min-width:0;padding:11px 10px 11px 30px;background:#f8fbfc;border:1px solid #e4ecef;border-radius:10px}
.trf-payment-trust-row>span:before{content:"✓";position:absolute;left:10px;top:11px;display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:#daf4e4;color:#087633;font-size:10px;font-weight:900}
.trf-payment-trust-row strong{font-size:11.5px;color:#152026;line-height:1.25;font-weight:900}
.trf-payment-trust-row small{font-size:10.5px;color:#68757c;line-height:1.35;font-weight:600}
.trf-payment-actions{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.trf-payment-actions .trf-submit-btn{margin:0;width:100%;height:54px;border-radius:12px;font-size:17px;box-shadow:0 8px 18px rgba(49,169,207,.22)}
.trf-payment-actions .trf-submit-btn:hover{box-shadow:0 10px 22px rgba(22,135,171,.28)}
.trf-payment-actions .trf-submit-btn[disabled]{opacity:.65;cursor:not-allowed;box-shadow:none}
.trf-edit-booking-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:44px;border:1px solid #cddde4;border-radius:10px;background:#fff;color:#26343b;font-size:14px;font-weight:850;text-decoration:none;cursor:pointer;margin:0;padding:0 16px;transition:.2s ease}
.trf-edit-booking-btn:hover{border-color:var(--trf-primary);background:#f3fbfe;color:var(--trf-primary-dark)}
.trf-edit-booking-btn:disabled{opacity:.55;cursor:not-allowed}
.trf-booking-message:empty{display:none}
.trf-booking-message{position:relative;margin-top:14px;border-radius:10px;padding:12px 14px 12px 38px;font-size:13px;font-weight:800;line-height:1.45}
.trf-booking-message:before{position:absolute;left:14px;top:12px;font-size:15px;line-height:1}
.trf-booking-message.trf-success{color:#0b6730;background:#eefaf3;border:1px solid #ccebd8}
.trf-booking-message.trf-success:before{content:"✓"}
.trf-booking-message.trf-error{color:#97231a;background:#fff2f0;border:1px solid #f3c9c4}
.trf-booking-message.trf-error:before{content:"!"}
.trf-details-locked .trf-step-card:not(.trf-payment-card){opacity:.72}
.trf-details-locked input:disabled,.trf-details-locked select:disabled,.trf-details-locked textarea:disabled{cursor:not-allowed;background:#f5f7f8;color:#4d565b}
@media(max-width:680px){
  .trf-payment-heading{padding:14px}
  .trf-payment-heading strong{font-size:16px}
  .trf-payment-lock{width:38px;height:38px;flex-basis:38px}
  .trf-express-checkout-wrap,.trf-standard-payment-wrap{padding:14px}
  .trf-payment-option-title{gap:8px}
  .trf-payment-option-title h4{font-size:15px}
  .trf-recommended-badge{font-size:9px;padding:5px 7px}
  .trf-payment-divider span{white-space:normal;text-align:center}
  .trf-payment-trust-row{grid-template-columns:1fr}
  .trf-payment-actions .trf-submit-btn{height:52px;font-size:16px;white-space:normal;line-height:1.2;padding:0 14px}
}

/* v2.6 Vehicle specifications and availability */
.trf-card-feature-chips{gap:8px}.trf-card-feature-chips span{background:#f4fafc;border:1px solid #e0eef3;border-radius:999px;padding:7px 10px;font-size:12px;line-height:1.2}.trf-card-specs,.trf-checkout-specs{margin:0 0 16px;border-top:1px solid #edf2f5;padding-top:10px}.trf-card-specs summary,.trf-checkout-specs summary{cursor:pointer;color:var(--trf-primary-dark);font-weight:800;font-size:13px}.trf-card-specs ul,.trf-checkout-specs ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;margin:10px 0 0;padding-left:18px;color:#394850;font-size:13px;line-height:1.45}.trf-rate-pending{display:flex;flex-direction:column}.trf-rate-pending strong{font-size:20px!important;color:#6c7580!important}.trf-rate-pending span{margin:2px 0 0!important}.trf-button-disabled{background:#a9b4ba!important;cursor:not-allowed!important;transform:none!important}.trf-live-availability{margin-top:14px;border-radius:11px;padding:12px 14px;font-weight:800;font-size:13px;border:1px solid #dce7ec;background:#f7fafb;color:#53616a}.trf-live-availability[data-state="checking"]{background:#eef7fb;border-color:#b9dfea;color:#1b6077}.trf-live-availability[data-state="available"]{background:#ecf8f0;border-color:#bde4c8;color:#116b32}.trf-live-availability[data-state="unavailable"]{background:#fff0f0;border-color:#efc5c5;color:#9d1d1d}.trf-checkout-calendar-preview{margin-top:16px;border:1px solid #e2ebef;border-radius:14px;padding:14px;background:#fbfdfe}.trf-checkout-calendar-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.trf-checkout-calendar-heading strong{color:#102a3a}.trf-checkout-calendar-heading span{color:#6b7a84;font-size:12px}.trf-availability-calendar{--trf-cell-width:62px}.trf-calendar-legend{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin:0 0 10px;font-size:12px;font-weight:800;color:#4c5b64}.trf-calendar-legend span{display:inline-flex;align-items:center;gap:6px}.trf-legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.trf-legend-booked{background:#111}.trf-legend-hold{background:#d68a10}.trf-legend-open{background:#dce5ea}.trf-calendar-scroll{overflow-x:auto;border:1px solid #e1e9ed;border-radius:12px;background:#fff}.trf-calendar-table{border-collapse:separate;border-spacing:0;min-width:max-content;width:100%;font-size:12px}.trf-calendar-table th,.trf-calendar-table td{box-sizing:border-box;border-right:1px solid #e7ecef;border-bottom:1px solid #e7ecef;height:66px;padding:0;text-align:center;position:relative;background:#fff;min-width:var(--trf-cell-width)}.trf-calendar-table thead th{height:58px;background:#f8fafb;color:#52616a;position:sticky;top:0;z-index:3}.trf-calendar-table thead th span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.trf-calendar-table thead th strong{display:block;font-size:20px;color:#182329;line-height:1.1}.trf-calendar-table thead th.is-today{background:#eef8fc}.trf-calendar-table thead th.is-today strong{color:var(--trf-primary-dark)}.trf-calendar-table .trf-calendar-vehicle-col{min-width:220px;width:220px;position:sticky;left:0;z-index:4;text-align:left;background:#fff;padding:8px 10px;box-shadow:2px 0 0 #e7ecef}.trf-calendar-table thead .trf-calendar-vehicle-col{z-index:5;background:#f8fafb}.trf-calendar-vehicle{display:flex;align-items:center;gap:9px}.trf-calendar-vehicle img{width:58px;height:42px;object-fit:contain;border:1px solid #e4ebef;border-radius:8px;background:#fff}.trf-calendar-vehicle strong{display:block;color:#182329;font-size:12px;line-height:1.25}.trf-calendar-vehicle span{display:block;color:#72808a;font-size:11px;margin-top:2px}.trf-calendar-table td.is-booked{background:#f7f7f7}.trf-calendar-table td.is-hold{background:#fff8e9}.trf-reservation-bar{position:absolute;left:0;right:0;top:29px;height:6px;background:#111;display:block;z-index:2}.is-hold .trf-reservation-bar{background:#d68a10}.is-start .trf-reservation-bar,.is-single .trf-reservation-bar{left:10px;border-radius:999px 0 0 999px}.is-end .trf-reservation-bar,.is-single .trf-reservation-bar{right:10px;border-radius:0 999px 999px 0}.is-single .trf-reservation-bar{border-radius:999px}.trf-open-dot{display:block;width:7px;height:7px;border-radius:50%;background:#d7e0e5;margin:auto}.trf-checkout-calendar-preview .trf-calendar-vehicle-col{display:none}.trf-checkout-calendar-preview .trf-calendar-table{width:max-content}.trf-checkout-calendar-preview .trf-calendar-table tr>*:not(.trf-calendar-vehicle-col){min-width:56px}.trf-checkout-calendar-preview .trf-calendar-legend{margin-top:2px}.trf-checkout-calendar-preview .trf-calendar-table tbody tr:not(:first-child){display:none}
@media(max-width:680px){.trf-card-specs ul,.trf-checkout-specs ul{grid-template-columns:1fr}.trf-checkout-calendar-heading{align-items:flex-start;flex-direction:column}.trf-availability-calendar{--trf-cell-width:54px}.trf-calendar-table .trf-calendar-vehicle-col{min-width:180px;width:180px}}

/* v2.7 Interactive calendar booking and checkout date clarity */
.trf-calendar-source-badge{background:#eaf8fd!important;border-color:#bfe8f4!important;color:var(--trf-primary-dark)!important}
.trf-calendar-booking-panel{display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(360px,1.5fr);gap:18px;background:linear-gradient(135deg,#f0fbff 0%,#fff 70%);border:1px solid #cceaf4;border-radius:16px;padding:20px;margin:0 0 16px;box-shadow:0 7px 22px rgba(25,105,132,.08)}
.trf-calendar-booking-copy{display:flex;flex-direction:column;gap:5px;justify-content:center}.trf-calendar-booking-kicker{font-size:11px;line-height:1;text-transform:uppercase;letter-spacing:.07em;color:var(--trf-primary-dark);font-weight:900}.trf-calendar-booking-copy strong{font-size:17px;line-height:1.35;color:#10212b}.trf-calendar-booking-copy small{font-size:12px;line-height:1.45;color:#64747d;font-weight:650}
.trf-calendar-booking-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.trf-calendar-booking-controls label{font-size:11px;color:#44545d;font-weight:850}.trf-calendar-booking-controls select{display:block;width:100%;height:42px;border:1px solid #d6e5eb;border-radius:9px;background:#fff;color:#142028;padding:0 10px;margin-top:6px;font-size:13px;box-sizing:border-box;outline:none}.trf-calendar-booking-controls select:focus{border-color:var(--trf-primary);box-shadow:0 0 0 3px rgba(49,169,207,.14)}
.trf-calendar-selection-bar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#fff;border:1px solid #e0ebef;border-radius:12px;padding:13px 14px}.trf-calendar-selection-bar>div{min-width:0;display:flex;flex-direction:column;gap:3px}.trf-calendar-selection-bar span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#718089;font-weight:900}.trf-calendar-selection-bar strong{font-size:13px;color:#1b2930;line-height:1.4}.trf-calendar-book-selected{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:9px;background:var(--trf-primary);color:#fff!important;text-decoration:none;padding:0 17px;font-size:13px;font-weight:900;white-space:nowrap;transition:.2s ease}.trf-calendar-book-selected:hover{background:var(--trf-primary-dark);transform:translateY(-1px)}.trf-calendar-book-selected.is-disabled{background:#c5d0d5;color:#fff!important;cursor:not-allowed;transform:none;pointer-events:none}
.trf-legend-selected{background:var(--trf-primary)}
.trf-calendar-table thead th small{display:block;font-size:9px;line-height:1;color:#89959c;text-transform:uppercase;margin-top:2px}.trf-calendar-vehicle-meta{min-width:0;flex:1}.trf-calendar-quick-book{display:inline-flex;align-items:center;justify-content:center;margin-top:6px;min-height:28px;border-radius:7px;background:var(--trf-primary);color:#fff!important;text-decoration:none;padding:0 10px;font-size:10px;line-height:1;font-weight:900;white-space:nowrap}.trf-calendar-quick-book:hover{background:var(--trf-primary-dark)}.trf-calendar-quick-book.is-disabled{background:#b7c1c6;color:#fff!important}
.trf-calendar-day-button{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;padding:0;margin:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.trf-calendar-day-button:hover{background:#edf9fd}.trf-calendar-day-button:focus-visible{outline:3px solid rgba(49,169,207,.35);outline-offset:-3px}.trf-calendar-day-button:hover .trf-open-dot{background:var(--trf-primary);transform:scale(1.35)}
.trf-calendar-table td.is-selected-range{background:#dff5fc!important}.trf-calendar-table td.is-selected-start,.trf-calendar-table td.is-selected-end{background:#bceafa!important;box-shadow:inset 0 0 0 2px var(--trf-primary)}.trf-calendar-table td.is-selected-start:after,.trf-calendar-table td.is-selected-end:after{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;border-radius:50%;background:var(--trf-primary);transform:translate(-50%,-50%);z-index:1;pointer-events:none}.trf-calendar-table td.is-selected-start .trf-open-dot,.trf-calendar-table td.is-selected-end .trf-open-dot{opacity:0}.trf-calendar-table td.is-selection-invalid{animation:trfCalendarShake .25s linear 2;background:#fff0f0!important}.trf-calendar-table td.is-selection-invalid .trf-open-dot{background:#c7372f}@keyframes trfCalendarShake{0%,100%{transform:translateX(0)}50%{transform:translateX(3px)}}
.trf-rental-date-overview{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:stretch;margin:18px 0 0;padding:14px;background:#f7fbfd;border:1px solid #dfeef3;border-radius:14px}.trf-date-overview-card{display:flex;flex-direction:column;gap:3px;background:#fff;border:1px solid #e4edf1;border-radius:11px;padding:13px 14px;min-width:0}.trf-date-overview-card>span,.trf-date-overview-location>span{font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.06em;color:#718089;font-weight:900}.trf-date-overview-card strong{font-size:15px;line-height:1.35;color:#10202a;font-weight:900}.trf-date-overview-card small{font-size:12px;line-height:1.3;color:var(--trf-primary-dark);font-weight:850}.trf-date-overview-journey{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:110px;text-align:center}.trf-date-overview-journey span{font-size:11px;color:#596a73;font-weight:850}.trf-date-overview-journey i{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--trf-primary);color:#fff;font-size:18px;font-style:normal;font-weight:900}.trf-date-overview-location{grid-column:1/-1;display:flex;align-items:center;gap:10px;border-top:1px solid #e3ecef;padding:11px 4px 1px}.trf-date-overview-location strong{font-size:12px;color:#26373f;font-weight:850}
.trf-summary-period{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center;background:#f7fbfd;border:1px solid #e0edf2;border-radius:12px;padding:12px;margin:0 0 8px}.trf-summary-period>div{min-width:0}.trf-summary-period span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#77858d;font-weight:900;margin-bottom:3px}.trf-summary-period strong{display:block;font-size:11px;line-height:1.35;color:#1a2930;font-weight:850}.trf-summary-period i{font-style:normal;color:var(--trf-primary-dark);font-weight:900}
.trf-checkout-calendar-preview{position:relative}.trf-checkout-calendar-heading>div:first-child{display:flex;flex-direction:column;gap:4px}.trf-checkout-calendar-heading>div:first-child span{max-width:680px;line-height:1.45}.trf-checkout-calendar-nav{display:flex;align-items:center;gap:6px;flex:0 0 auto}.trf-checkout-calendar-nav button{height:34px;min-width:36px;border:1px solid #d4e2e8;border-radius:8px;background:#fff;color:#263841;padding:0 10px;font-size:12px;font-weight:900;cursor:pointer;transition:.2s ease}.trf-checkout-calendar-nav button:hover{border-color:var(--trf-primary);background:#eef9fd;color:var(--trf-primary-dark)}.trf-checkout-calendar-status{border-radius:9px;background:#eef8fc;border:1px solid #cae8f2;color:#265f74;padding:10px 12px;margin:0 0 10px;font-size:12px;line-height:1.4;font-weight:800}.trf-checkout-calendar-content{position:relative;transition:opacity .2s ease}.trf-checkout-calendar-preview.is-loading .trf-checkout-calendar-content{opacity:.5;pointer-events:none}.trf-checkout-calendar-preview.is-loading:after{content:"Refreshing calendar…";position:absolute;left:50%;top:58%;transform:translate(-50%,-50%);z-index:8;background:#102a3a;color:#fff;border-radius:999px;padding:8px 13px;font-size:11px;font-weight:900;box-shadow:0 7px 20px rgba(0,0,0,.18)}
.trf-checkout-calendar-preview .trf-calendar-table td.is-selected-range{background:#dff5fc!important}.trf-checkout-calendar-preview .trf-calendar-table td.is-selected-start,.trf-checkout-calendar-preview .trf-calendar-table td.is-selected-end{background:#bceafa!important}.trf-checkout-calendar-preview .trf-calendar-day-button{cursor:pointer}
@media(max-width:900px){.trf-calendar-booking-panel{grid-template-columns:1fr}.trf-calendar-booking-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.trf-calendar-selection-bar{grid-column:auto}.trf-rental-date-overview{grid-template-columns:1fr auto 1fr}}
@media(max-width:680px){.trf-calendar-booking-panel{padding:15px}.trf-calendar-booking-controls{grid-template-columns:1fr}.trf-calendar-selection-bar{align-items:stretch;flex-direction:column}.trf-calendar-book-selected{width:100%;box-sizing:border-box}.trf-rental-date-overview{grid-template-columns:1fr}.trf-date-overview-journey{min-width:0;flex-direction:row}.trf-date-overview-journey i{transform:rotate(90deg)}.trf-date-overview-location{grid-column:auto}.trf-checkout-calendar-heading{gap:12px}.trf-checkout-calendar-nav{width:100%;justify-content:space-between}.trf-checkout-calendar-nav button{flex:1}.trf-summary-period{grid-template-columns:1fr}.trf-summary-period i{transform:rotate(90deg);text-align:center}.trf-calendar-table .trf-calendar-vehicle-col{min-width:195px;width:195px}.trf-calendar-vehicle{align-items:flex-start}.trf-calendar-vehicle img{width:52px;height:39px}}

/* v2.8 Modern compact availability calendar */
.trf-availability-calendar{
  --trf-cell-width:54px;
  --trf-calendar-border:#dfe8ec;
  --trf-calendar-muted:#6d7d86;
  --trf-calendar-open:#ffffff;
  --trf-calendar-hover:#eaf7fc;
  --trf-calendar-selected:#31a9cf;
  --trf-calendar-selected-soft:#dff4fb;
  --trf-calendar-booked:#141414;
  --trf-calendar-hold:#d58a12;
  position:relative;
  color:#17242b;
}
.trf-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 12px;padding:14px 16px;background:#fff;border:1px solid #e1eaee;border-radius:14px;box-shadow:0 5px 18px rgba(25,70,92,.06)}
.trf-calendar-toolbar-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.trf-calendar-toolbar-copy>strong{font-size:18px;line-height:1.25;color:#10232d;font-weight:900}.trf-calendar-toolbar-copy>small{font-size:12px;line-height:1.4;color:#6c7c85;font-weight:650}
.trf-calendar-toolbar-actions,.trf-checkout-calendar-nav{display:flex;align-items:center;gap:6px;flex:0 0 auto}.trf-calendar-toolbar-actions button,.trf-checkout-calendar-nav button{height:36px;min-width:38px;border:1px solid #d5e2e7!important;border-radius:9px!important;background:#fff!important;color:#243943!important;padding:0 11px!important;font-size:12px!important;font-weight:900!important;line-height:1!important;box-shadow:none!important;cursor:pointer;transition:.18s ease}.trf-calendar-toolbar-actions button:hover,.trf-checkout-calendar-nav button:hover{border-color:var(--trf-primary)!important;background:#eef9fd!important;color:var(--trf-primary-dark)!important;transform:none!important}
.trf-calendar-booking-panel{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(410px,1.4fr);gap:14px;background:linear-gradient(135deg,#f5fbfe 0%,#fff 80%);border:1px solid #d6eaf1;border-radius:15px;padding:16px;margin:0 0 12px;box-shadow:0 6px 20px rgba(25,105,132,.06)}
.trf-calendar-booking-copy{gap:4px}.trf-calendar-booking-copy strong{font-size:16px}.trf-calendar-booking-copy small{font-size:11.5px}
.trf-calendar-booking-controls{gap:8px}.trf-calendar-booking-controls label{font-size:10px;letter-spacing:.02em;text-transform:uppercase;color:#596971}.trf-calendar-booking-controls select{height:40px;margin-top:5px;border-radius:8px;font-size:12px}
.trf-calendar-selection-bar{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;background:#fff;border:1px solid #e0e9ed;border-radius:12px;padding:12px 13px}
.trf-calendar-selection-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr .8fr;gap:8px;min-width:0}.trf-calendar-selection-grid>div{min-width:0;padding:8px 10px;background:#f8fbfc;border:1px solid #e9eff2;border-radius:9px}.trf-calendar-selection-grid span{display:block;font-size:9px;line-height:1;text-transform:uppercase;letter-spacing:.06em;color:#78868d;font-weight:900;margin-bottom:4px}.trf-calendar-selection-grid strong{display:block;font-size:11px;line-height:1.35;color:#182a33;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trf-calendar-selection-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.trf-calendar-selection-actions>small{max-width:330px;text-align:right;color:#61717a;font-size:10.5px;line-height:1.35;font-weight:700}.trf-calendar-selection-actions>div{display:flex;gap:7px}.trf-calendar-clear-selection,.trf-calendar-book-selected{min-height:38px;border-radius:8px!important;padding:0 13px!important;font-size:11px!important;font-weight:900!important;line-height:1!important;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.trf-calendar-clear-selection{border:1px solid #d5e0e5!important;background:#fff!important;color:#475861!important;cursor:pointer}.trf-calendar-clear-selection:hover:not(:disabled){border-color:#9eb9c5!important;background:#f6fafb!important}.trf-calendar-clear-selection:disabled{opacity:.45;cursor:not-allowed}.trf-calendar-book-selected{background:var(--trf-primary)!important;color:#fff!important;text-decoration:none!important;border:1px solid var(--trf-primary)!important}.trf-calendar-book-selected:hover{background:var(--trf-primary-dark)!important;border-color:var(--trf-primary-dark)!important;transform:none!important}.trf-calendar-book-selected.is-disabled{background:#c7d1d6!important;border-color:#c7d1d6!important}
.trf-calendar-legend{gap:13px;margin:0 0 8px;padding:0 2px;font-size:11px;color:#52626a}.trf-calendar-legend span{gap:5px}.trf-legend-dot{width:8px;height:8px}.trf-legend-open{background:#fff;border:1px solid #b8c8cf}.trf-legend-selected{background:var(--trf-calendar-selected)}.trf-legend-booked{background:var(--trf-calendar-booked)}.trf-legend-hold{background:var(--trf-calendar-hold)}
.trf-calendar-scroll{overflow:auto;border:1px solid var(--trf-calendar-border);border-radius:13px;background:#fff;scrollbar-color:#9ca8ae #eef2f4;scrollbar-width:thin;box-shadow:0 5px 18px rgba(20,55,72,.05)}.trf-calendar-scroll:focus-visible{outline:3px solid rgba(49,169,207,.22);outline-offset:2px}.trf-calendar-scroll::-webkit-scrollbar{height:10px;width:10px}.trf-calendar-scroll::-webkit-scrollbar-track{background:#eef2f4;border-radius:999px}.trf-calendar-scroll::-webkit-scrollbar-thumb{background:#9ca8ae;border-radius:999px;border:2px solid #eef2f4}
.trf-calendar-table{font-size:11px}.trf-calendar-table th,.trf-calendar-table td{height:56px;min-width:var(--trf-cell-width);border-right:1px solid #e8edef;border-bottom:1px solid #e8edef;background:#fff!important}.trf-calendar-table thead th{height:52px;background:#f7fafb!important;color:#65747c;box-shadow:0 1px 0 #e4eaed}.trf-calendar-table thead th span{font-size:8px;letter-spacing:.07em}.trf-calendar-table thead th strong{font-size:17px;line-height:1;color:#17252c}.trf-calendar-table thead th small{font-size:8px;margin-top:2px}.trf-calendar-table thead th.is-today{background:#eaf7fc!important}.trf-calendar-table thead th.is-today strong{color:#0d7fa4}
.trf-calendar-table .trf-calendar-vehicle-col{min-width:205px;width:205px;padding:7px 9px;background:#fff!important;box-shadow:2px 0 0 #e4eaed}.trf-calendar-table thead .trf-calendar-vehicle-col{background:#f7fafb!important}.trf-calendar-vehicle{gap:8px}.trf-calendar-vehicle img{width:50px;height:35px;border-radius:7px;background:#f9fbfc;border:1px solid #e4ebee}.trf-calendar-vehicle-meta strong{font-size:11px;line-height:1.22;color:#17272f}.trf-calendar-vehicle-details{font-size:9.5px!important;line-height:1.3;color:#718087!important;margin-top:2px!important}.trf-calendar-quick-book{min-height:25px;margin-top:4px;border-radius:6px;padding:0 8px;font-size:9px}
.trf-calendar-table tbody tr:hover .trf-calendar-vehicle-col{background:#fbfdfe!important}.trf-calendar-table tbody tr.is-active-vehicle .trf-calendar-vehicle-col{background:#eef9fd!important;box-shadow:inset 3px 0 0 var(--trf-primary),2px 0 0 #dce8ed}.trf-calendar-table td.is-open{background:var(--trf-calendar-open)!important}.trf-calendar-table td.is-booked{background:#fafafa!important}.trf-calendar-table td.is-hold{background:#fffaf0!important}
.trf-calendar-day-button{position:absolute!important;inset:4px!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:8px!important;background:transparent!important;background-image:none!important;color:#1c3039!important;box-shadow:none!important;text-shadow:none!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;transform:none!important;transition:background-color .15s ease,box-shadow .15s ease!important}.trf-calendar-day-button:hover,.trf-calendar-day-button:focus{background:var(--trf-calendar-hover)!important;box-shadow:inset 0 0 0 1px #cce8f2!important;transform:none!important}.trf-calendar-day-button:focus-visible{outline:2px solid var(--trf-primary)!important;outline-offset:-2px!important}.trf-open-dot{width:6px;height:6px;background:#b8c6cc;transition:.15s ease}.trf-calendar-day-button:hover .trf-open-dot{background:var(--trf-primary);transform:scale(1.2)}
.trf-calendar-table td.is-selected-range{background:var(--trf-calendar-selected-soft)!important}.trf-calendar-table td.is-selected-range .trf-calendar-day-button{background:transparent!important;box-shadow:none!important}.trf-calendar-table td.is-selected-start,.trf-calendar-table td.is-selected-end{background:var(--trf-calendar-selected)!important;box-shadow:inset 0 0 0 1px #1389af!important}.trf-calendar-table td.is-selected-start .trf-calendar-day-button,.trf-calendar-table td.is-selected-end .trf-calendar-day-button{background:transparent!important;box-shadow:none!important}.trf-calendar-table td.is-selected-start:after,.trf-calendar-table td.is-selected-end:after{width:17px;height:17px;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.22)}.trf-calendar-table td.is-selected-start .trf-open-dot,.trf-calendar-table td.is-selected-end .trf-open-dot{opacity:0}.trf-calendar-table td.is-selected-range .trf-open-dot{background:#61b9d5}
.trf-reservation-bar{top:26px;height:5px;background:var(--trf-calendar-booked);box-shadow:0 1px 2px rgba(0,0,0,.15)}.is-hold .trf-reservation-bar{background:var(--trf-calendar-hold)}.is-start .trf-reservation-bar,.is-single .trf-reservation-bar{left:7px}.is-end .trf-reservation-bar,.is-single .trf-reservation-bar{right:7px}
.trf-calendar-scroll-hint{display:none;text-align:right;margin-top:6px;font-size:9px;color:#839098;font-weight:700}.trf-availability-calendar.is-loading{pointer-events:none;opacity:.62}.trf-availability-calendar.is-loading:after{content:"Refreshing availability…";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:30;background:#102a3a;color:#fff;border-radius:999px;padding:8px 13px;font-size:10px;font-weight:900;box-shadow:0 7px 20px rgba(0,0,0,.18)}
.trf-checkout-calendar-preview{margin-top:18px;padding:15px;border-color:#dce8ed;border-radius:15px;background:#fbfdfe}.trf-checkout-calendar-heading{margin-bottom:9px}.trf-checkout-calendar-heading strong{font-size:15px}.trf-checkout-calendar-heading span{font-size:11px}.trf-checkout-calendar-status{padding:9px 11px;margin-bottom:8px;border-radius:8px;font-size:11px}.trf-checkout-calendar-preview .trf-calendar-legend{margin:0 0 7px}.trf-checkout-calendar-preview .trf-calendar-table tr>*:not(.trf-calendar-vehicle-col){min-width:52px}.trf-checkout-calendar-preview .trf-calendar-table th,.trf-checkout-calendar-preview .trf-calendar-table td{height:52px}.trf-checkout-calendar-preview .trf-calendar-table thead th{height:49px}.trf-checkout-calendar-preview .trf-reservation-bar{top:24px}.trf-checkout-calendar-preview .trf-calendar-scroll-hint{display:block}
@media(max-width:980px){.trf-calendar-booking-panel{grid-template-columns:1fr}.trf-calendar-selection-bar{grid-template-columns:1fr}.trf-calendar-selection-actions{align-items:stretch}.trf-calendar-selection-actions>small{text-align:left;max-width:none}.trf-calendar-selection-actions>div{justify-content:flex-end}.trf-calendar-selection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.trf-calendar-toolbar{align-items:flex-start;flex-direction:column;padding:12px}.trf-calendar-toolbar-actions{width:100%;justify-content:space-between}.trf-calendar-toolbar-actions button{flex:1}.trf-calendar-booking-panel{padding:12px}.trf-calendar-booking-controls{grid-template-columns:1fr}.trf-calendar-selection-grid{grid-template-columns:1fr 1fr}.trf-calendar-selection-actions>div{display:grid;grid-template-columns:1fr 1.4fr}.trf-calendar-table .trf-calendar-vehicle-col{min-width:168px;width:168px;padding:6px}.trf-calendar-vehicle img{width:43px;height:31px}.trf-calendar-vehicle-meta strong{font-size:10px}.trf-calendar-vehicle-details{font-size:8.5px!important}.trf-calendar-quick-book{font-size:8px;padding:0 6px}.trf-availability-calendar{--trf-cell-width:49px}.trf-calendar-table th,.trf-calendar-table td{height:52px}.trf-calendar-scroll-hint{display:block}.trf-checkout-calendar-preview{padding:11px}.trf-checkout-calendar-nav{width:100%}.trf-checkout-calendar-nav button{flex:1}.trf-checkout-calendar-heading{align-items:flex-start}.trf-calendar-selection-actions>small{font-size:10px}}

/* v2.9 Private availability notice */
.trf-private-availability-note{display:flex;align-items:flex-start;gap:11px;margin-top:12px;padding:13px 14px;border:1px solid #d8e9ef;border-radius:11px;background:#f4fbfd;color:#173846}.trf-private-availability-note>span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 25px;width:25px;height:25px;border-radius:50%;background:#1b9bc4;color:#fff;font-size:13px;font-weight:900}.trf-private-availability-note strong{display:block;font-size:13px;line-height:1.25;color:#123445;margin-bottom:3px}.trf-private-availability-note small{display:block;font-size:11px;line-height:1.5;color:#61727a}

/* v3.1 Mandatory renter identity verification */
.trf-identity-verification-card{position:relative;overflow:hidden}.trf-identity-verification-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--trf-primary),#6bc4df)}
.trf-identity-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.trf-identity-heading h3{margin-bottom:6px!important}.trf-identity-heading p{margin:0;max-width:650px;color:#64757e;font-size:13px;line-height:1.55}.trf-required-badge{display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:0 10px;border:1px solid #f0c6c1;border-radius:999px;background:#fff3f1;color:#a33d31;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.055em;white-space:nowrap}
.trf-verification-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.trf-verification-upload{position:relative;display:grid!important;grid-template-columns:42px minmax(0,1fr);gap:10px 12px;align-items:start;min-width:0;margin:0!important;padding:16px!important;border:1px solid #d9e5ea;border-radius:13px;background:#fbfdfe;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;cursor:default}.trf-verification-upload:hover{border-color:#aed7e4;background:#fff;box-shadow:0 7px 20px rgba(30,100,125,.07)}.trf-verification-upload.is-ready{border-color:#9bd5b2;background:#f8fdf9;box-shadow:inset 0 0 0 1px rgba(56,145,91,.08)}.trf-verification-upload.is-error{border-color:#e4a9a4;background:#fff8f7}
.trf-upload-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:11px;background:#e8f7fc;color:#137fa3;font-size:12px;font-weight:950;letter-spacing:.02em}.trf-upload-icon-selfie{background:#edf8f1;color:#258253;font-size:17px}.trf-upload-copy{display:block;min-width:0}.trf-upload-copy strong{display:block;margin:1px 0 4px;color:#172a33;font-size:14px;font-weight:900;line-height:1.25}.trf-upload-copy small{display:block;color:#6b7a82;font-size:11.5px;font-weight:600;line-height:1.45}
.trf-verification-file-input{grid-column:1/-1;width:100%;min-height:46px!important;margin:2px 0 0!important;padding:6px!important;border:1px solid #d2dfe5!important;border-radius:9px!important;background:#fff!important;color:#40545e!important;font-size:12px!important;box-sizing:border-box;cursor:pointer}.trf-verification-file-input::file-selector-button{height:32px;margin:0 10px 0 0;padding:0 12px;border:0;border-radius:7px;background:#eaf7fb;color:#117da2;font-size:11px;font-weight:900;cursor:pointer}.trf-verification-file-input:hover::file-selector-button{background:#dff2f8}.trf-verification-file-input:focus{border-color:var(--trf-primary)!important;box-shadow:0 0 0 3px rgba(49,169,207,.13)!important;outline:0}
.trf-file-status{grid-column:1/-1;display:flex;align-items:center;gap:6px;min-height:18px;color:#77868d;font-size:10.5px;font-weight:750;line-height:1.35}.trf-verification-upload.is-ready .trf-file-status{color:#27764d}.trf-verification-upload.is-ready .trf-file-status:before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:999px;background:#dff3e6;color:#28754d;font-size:10px;font-weight:950}.trf-verification-upload.is-error .trf-file-status{color:#a33b32}
.trf-upload-preview{grid-column:1/-1;display:block;width:100%;height:135px;overflow:hidden;border:1px solid #e0e8ec;border-radius:9px;background:#eef3f5}.trf-upload-preview[hidden]{display:none!important}.trf-upload-preview img{display:block;width:100%;height:100%;object-fit:cover}.trf-verification-privacy-note{display:flex;align-items:flex-start;gap:8px;margin-top:13px;padding:10px 12px;border-radius:9px;background:#f1f7fa;color:#5c707a;font-size:10.5px;font-weight:650;line-height:1.45}.trf-verification-privacy-note>span:first-child{font-size:12px}
@media(max-width:760px){.trf-identity-heading{flex-direction:column;gap:10px}.trf-verification-upload-grid{grid-template-columns:1fr}.trf-upload-preview{height:160px}}
