/* ==========================================================================
   GO Rentals – live booking widget (styled to sit inside Traveler 3.x)
   Colours inherit from Traveler where possible; buttons use Traveler's own
   .btn-v2.btn-primary classes so they follow the theme colour.
   ========================================================================== */
.gr-box{
	--gr-text:#1a2b48;
	--gr-muted:#5e6d77;
	--gr-line:#ebebeb;
	--gr-soft:#f5f7fa;
	--gr-accent:#f5a623;
	--gr-ok:#1e8e3e;
	--gr-err:#c62828;
	--gr-radius:12px;
	color:var(--gr-text);
	font-family:inherit;
	font-size:14px;
	line-height:1.5;
	background:#fff;
	border:1px solid var(--gr-line);
	border-radius:var(--gr-radius);
	padding:24px;
	margin:24px 0;
	box-shadow:0 2px 14px rgba(26,43,72,.06);
}
.gr-box *,.gr-box *::before,.gr-box *::after{box-sizing:border-box}

/* Inside Traveler's booking column: blend with its card */
.st-form-book-wrapper .gr-box{border:0;box-shadow:none;border-top:1px solid var(--gr-line);border-radius:0;padding:20px 0 0;margin:20px 0 0;background:transparent}

/* ---------- Header with animated lightning ---------- */
.gr-head{display:flex;align-items:center;gap:10px;margin:0 0 16px}
.gr-head h3{margin:0;font-size:20px;font-weight:600;line-height:1.3;color:var(--gr-text)}
.gr-head p{margin:2px 0 0;font-size:13px;color:var(--gr-muted)}
.gr-bolt{
	flex:0 0 auto;width:40px;height:40px;border-radius:50%;
	display:inline-flex;align-items:center;justify-content:center;
	background:#fff6e5;font-size:22px;line-height:1;
	animation:gr-glow 2.4s ease-in-out infinite;
}
.gr-bolt span{display:inline-block;transform-origin:50% 60%;animation:gr-zap 2.4s ease-in-out infinite}
@keyframes gr-zap{
	0%,100%{transform:scale(1) rotate(0);opacity:1}
	8%{transform:scale(1.25) rotate(-12deg);opacity:1}
	12%{opacity:.35}
	16%{transform:scale(1.15) rotate(8deg);opacity:1}
	20%{opacity:.5}
	26%{transform:scale(1) rotate(0);opacity:1}
}
@keyframes gr-glow{
	0%,100%{box-shadow:0 0 0 0 rgba(245,166,35,0)}
	10%{box-shadow:0 0 0 6px rgba(245,166,35,.28)}
	30%{box-shadow:0 0 0 12px rgba(245,166,35,0)}
}
.gr-live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--gr-ok);margin-right:6px;vertical-align:middle;animation:gr-pulse 1.6s ease-in-out infinite}
@keyframes gr-pulse{0%,100%{opacity:1}50%{opacity:.3}}
@media (prefers-reduced-motion:reduce){.gr-bolt,.gr-bolt span,.gr-live-dot{animation:none}}

/* ---------- Groups ---------- */
.gr-group{margin:0 0 18px}
/* Section titles (Where / When / Driver) use the same size as the step titles ("Driver details"). The !important
   beats the theme's large heading styles. */
.gr-box .gr-group-title,
.gr-box .gr-step-head h5{margin:0 0 10px!important;font-size:16px!important;font-weight:700!important;line-height:1.3!important;letter-spacing:0!important;text-transform:none!important;color:var(--gr-text)!important;font-family:inherit}
.gr-box .gr-step-head h5{margin:0!important}

/* ---------- Fields (Traveler style: small label over value, rounded box) ---------- */
.gr-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gr-fields>.gr-field{grid-column:span 1}
.gr-group>.gr-fields:has(> .gr-field.gr-has-icon){grid-template-columns:1fr}
.gr-fields>.gr-full{grid-column:span 2}
.gr-field{position:relative;display:block;border:1px solid var(--gr-line);border-radius:10px;padding:9px 12px;background:#fff;transition:border-color .15s,box-shadow .15s;margin:0;min-width:0}
.gr-field:focus-within,.gr-field.is-open{border-color:var(--gr-text);box-shadow:0 0 0 3px rgba(26,43,72,.08)}
.gr-field.has-error{border-color:var(--gr-err);box-shadow:0 0 0 3px rgba(198,40,40,.1)}
.gr-field.is-disabled{background:var(--gr-soft)}
.gr-lbl{display:block;font-size:12px;font-weight:500;color:var(--gr-muted);margin:0 0 2px;line-height:1.3}
.gr-field input,.gr-field select.gr-plain,.gr-field select:not(.gr-native){
	display:block;width:100%;border:0!important;background:transparent!important;padding:0!important;margin:0;
	height:auto!important;min-height:22px;font:inherit;font-size:15px;font-weight:600;color:var(--gr-text);
	box-shadow:none!important;outline:0;border-radius:0;-webkit-appearance:none;appearance:none;
}
.gr-field input::placeholder{color:#a0a9b2;font-weight:400}
.gr-field select.gr-plain{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235e6d77' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right center!important;padding-right:18px!important}

/* ---------- Custom dropdown (locations, times) ---------- */
.gr-native{position:absolute!important;opacity:0;pointer-events:none;width:1px!important;height:1px!important;overflow:hidden;clip:rect(0 0 0 0)}
.gr-dd-btn{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:10px;width:100%;cursor:pointer;font-size:15px;font-weight:600;color:var(--gr-text);min-height:24px}
.gr-dd-btn:focus-visible{outline:2px solid var(--gr-text);outline-offset:6px;border-radius:6px}
.gr-dd-btn:disabled{cursor:default;color:var(--gr-muted)}
.gr-dd-val{flex:1;min-width:0;line-height:1.3}
.gr-time .gr-dd-val,.gr-field:not(.gr-has-icon) .gr-dd-val{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gr-ico{display:inline-flex;color:var(--gr-muted);flex:0 0 auto}
.gr-chev{display:inline-flex;color:var(--gr-muted);transition:transform .15s}
.gr-field.is-open .gr-chev{transform:rotate(180deg)}
.gr-dd-list{position:absolute;z-index:30;left:-1px;right:-1px;top:calc(100% + 6px);margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--gr-line);border-radius:12px;box-shadow:0 12px 32px rgba(26,43,72,.16);max-height:240px;overflow:auto;outline:0}
.gr-dd-list[hidden]{display:none}
.gr-dd-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:9px 12px;border-radius:8px;font-size:14px;font-weight:500;color:var(--gr-text);cursor:pointer}
.gr-dd-list li:hover,.gr-dd-list li:focus{background:var(--gr-soft);outline:0}
.gr-dd-list li.is-on{background:#fff3e6;color:#b85c00;font-weight:700}
.gr-dd-list li.is-on::after{content:"";width:14px;height:14px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f77f00' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E")}

/* ---------- Date range + calendar ---------- */
.gr-dates{position:relative;display:grid;grid-template-columns:1fr 1fr;margin:0 0 10px;border:1px solid var(--gr-line);border-radius:10px;background:#fff}
.gr-date-cell{all:unset;box-sizing:border-box;display:block;cursor:pointer;padding:9px 12px;min-width:0;border-radius:10px;transition:background .15s}
.gr-date-cell+.gr-date-cell{border-left:1px solid var(--gr-line);border-top-left-radius:0;border-bottom-left-radius:0}
.gr-date-cell:hover{background:var(--gr-soft)}
.gr-date-cell:focus-visible{outline:2px solid var(--gr-text);outline-offset:-2px}
.gr-date-cell.is-active{background:#fff3e6;box-shadow:inset 0 0 0 2px #f77f00}
.gr-date-cell .gr-val{display:block;font-size:15px;font-weight:600;color:var(--gr-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gr-date-cell .gr-val.is-empty{color:#a0a9b2;font-weight:400}
.gr-cal{position:absolute;z-index:40;left:0;top:calc(100% + 8px);width:100%;min-width:300px;max-width:340px;background:#fff;border:1px solid var(--gr-line);border-radius:14px;box-shadow:0 14px 36px rgba(26,43,72,.18);padding:14px}
.gr-cal[hidden]{display:none}
.gr-cal.gr-cal-wide{max-width:640px;width:640px}
.gr-cal-top{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:0 0 8px}
.gr-cal-titles{display:flex;flex:1;justify-content:space-around;font-weight:700;font-size:15px;color:var(--gr-text);text-align:center}
.gr-cal-titles span{flex:1}
.gr-cal-nav{all:unset;box-sizing:border-box;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:22px;line-height:1;cursor:pointer;color:var(--gr-text)}
.gr-cal-nav:hover{background:var(--gr-soft)}
.gr-cal-nav:disabled{opacity:.25;cursor:default;background:none}
.gr-cal-nav:focus-visible{outline:2px solid var(--gr-text)}
.gr-cal-grids{display:flex;gap:18px}
.gr-cal-grid{flex:1;display:grid;grid-template-columns:repeat(7,1fr);row-gap:2px}
.gr-cal-dow{text-align:center;font-size:11px;font-weight:600;color:var(--gr-muted);padding:6px 0}
.gr-day{all:unset;box-sizing:border-box;position:relative;isolation:isolate;height:40px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;color:var(--gr-text);cursor:pointer}
.gr-day::after{content:"";position:absolute;top:1px;left:50%;width:38px;height:38px;margin-left:-19px;border-radius:50%;z-index:-1;background:transparent;transition:background .12s}
.gr-day:hover:not(.is-off):not(.is-start):not(.is-end)::after{background:var(--gr-soft)}
.gr-day:focus-visible{outline:2px solid var(--gr-text);outline-offset:-2px;border-radius:8px}
.gr-day.is-off{color:#c4cad0;text-decoration:line-through;cursor:default}
.gr-day.is-today:not(.is-start):not(.is-end)::after{box-shadow:inset 0 0 0 1.5px var(--gr-line)}
.gr-day.is-range::before{content:"";position:absolute;top:1px;bottom:1px;left:0;right:0;background:#fff3e6;z-index:-1}
.gr-day.is-start,.gr-day.is-end{color:#fff;font-weight:700}
.gr-day.is-start::after,.gr-day.is-end::after{background:#f77f00}
.gr-day.is-cap-l::before,.gr-day.is-cap-r::before{content:"";position:absolute;top:1px;bottom:1px;width:50%;background:#fff3e6;z-index:-1}
.gr-day.is-cap-l::before{right:0}
.gr-day.is-cap-r::before{left:0}
.gr-cal-foot{margin:10px 0 0;padding-top:10px;border-top:1px solid var(--gr-line);font-size:13px;color:var(--gr-muted);text-align:center}

/* ---------- Buttons: Traveler's .btn-v2 shape, Rasbrie orange #f77f00 ---------- */
.gr-box .gr-btn,
.gr-box .gr-btn.btn-primary,
.gr-box .gr-btn.btn-v2{
	display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:14px;
	text-decoration:none;cursor:pointer;
	background:#f77f00!important;border-color:#f77f00!important;color:#fff!important;
	transition:background-color .15s,box-shadow .15s,transform .05s;
}
.gr-box .gr-btn:hover,.gr-box .gr-btn:focus-visible{background:#de7200!important;border-color:#de7200!important;color:#fff!important}
.gr-box .gr-btn:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(247,127,0,.35)!important}
.gr-box .gr-btn:active{transform:translateY(1px)}
.gr-box .gr-btn[disabled]{opacity:.7;cursor:wait}
.gr-spin{display:none;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:gr-rot .7s linear infinite}
.gr-btn.is-busy .gr-spin{display:inline-block}
@keyframes gr-rot{to{transform:rotate(360deg)}}

/* ---------- Messages ---------- */
.gr-msg:empty{display:none}
.gr-msg{margin:14px 0 0;padding:10px 12px;border-radius:8px;font-size:13px;background:var(--gr-soft);color:var(--gr-muted)}
.gr-msg.gr-error{background:#fdecea;color:var(--gr-err)}
.gr-msg + .gr-result{margin-top:12px}

/* ---------- Result ---------- */
.gr-result:empty{display:none}
.gr-result{margin-top:18px}
.gr-car{border:1px solid var(--gr-line);border-radius:var(--gr-radius);overflow:hidden;margin-bottom:22px}
.gr-car-pic{display:block;width:100%;height:auto;max-height:170px;object-fit:contain;background:#fff;padding:10px 10px 0;border-bottom:0}
.gr-car-body{padding:16px}
.gr-car-title{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 8px}
.gr-car-title h4{margin:0;font-size:17px;font-weight:700;color:var(--gr-text)}
.gr-badge{font-size:11px;font-weight:600;letter-spacing:.03em;color:var(--gr-muted);background:var(--gr-soft);border-radius:20px;padding:2px 8px;white-space:nowrap}
.gr-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:0;list-style:none}
.gr-chips li{font-size:12px;color:var(--gr-muted);background:var(--gr-soft);border-radius:20px;padding:3px 10px;margin:0}
.gr-trip{display:grid;gap:10px;margin:0 0 12px;padding:12px;background:var(--gr-soft);border-radius:10px}
.gr-trip-row{display:flex;gap:10px;align-items:flex-start}
.gr-trip-ico{flex:0 0 auto;color:#f77f00;margin-top:2px;display:inline-flex}
.gr-trip-row small{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gr-muted)}
.gr-trip-row b{display:block;font-size:14px;font-weight:700;color:var(--gr-text)}
.gr-trip-row span{display:block;font-size:13px;color:var(--gr-muted)}
.gr-breakdown{font-size:13px}
.gr-breakdown summary{cursor:pointer;font-weight:600;color:var(--gr-text);padding:4px 0}
.gr-lines{width:100%;border-collapse:collapse;font-size:13px;margin:6px 0 0}
.gr-lines td{padding:6px 0;border:0;border-top:1px dashed var(--gr-line);background:transparent;color:var(--gr-muted)}
.gr-lines td:last-child{text-align:right;white-space:nowrap;color:var(--gr-text);font-weight:500}
.gr-lines small{display:block;font-size:11px}

/* ---------- Numbered steps ---------- */
.gr-step{margin:0 0 24px;padding:0}
.gr-step-head{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px}
.gr-num{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:#f77f00;color:#fff;font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;margin-top:1px}
.gr-step-head h5{margin:0;font-size:16px;font-weight:700;line-height:1.3;color:var(--gr-text)}
.gr-step-head p{margin:2px 0 0;font-size:13px;color:var(--gr-muted)}

/* Insurance option cards */
.gr-choice{position:relative;display:flex;gap:12px;align-items:center;border:1.5px solid var(--gr-line);border-radius:12px;padding:12px 14px;margin:0 0 8px;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;font-weight:400;background:#fff}
.gr-choice:hover{border-color:#cfd6dc}
.gr-choice input{position:absolute;opacity:0;pointer-events:none}
.gr-radio{flex:0 0 auto;width:20px;height:20px;border-radius:50%;border:2px solid #b8c0c7;background:#fff;transition:border-color .15s,box-shadow .15s}
.gr-choice.is-on{border-color:#f77f00;background:#fffaf4;box-shadow:0 0 0 3px rgba(247,127,0,.12)}
.gr-choice.is-on .gr-radio{border-color:#f77f00;box-shadow:inset 0 0 0 4px #fff;background:#f77f00}
.gr-choice input:focus-visible~.gr-radio{box-shadow:0 0 0 3px rgba(247,127,0,.35)}
.gr-choice-main{flex:1;min-width:0}
.gr-choice-main strong{display:block;font-size:15px;font-weight:700;color:var(--gr-text)}
.gr-choice-main small{display:block;font-size:12.5px;color:var(--gr-muted);margin-top:1px}
.gr-choice-price{text-align:right;white-space:nowrap}
.gr-choice-price b{display:block;font-size:14px;font-weight:700;color:var(--gr-text)}
.gr-choice-price small{display:block;font-size:12px;color:var(--gr-muted)}

/* Extras rows */
.gr-extra{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;margin:0 0 8px;border:1.5px solid var(--gr-line);border-radius:12px;background:#fff;transition:border-color .15s,background .15s}
.gr-extra.is-on{border-color:#f77f00;background:#fffaf4}
.gr-extra-name{flex:1;min-width:0}
.gr-extra-name strong{display:block;font-size:14.5px;font-weight:600;color:var(--gr-text)}
.gr-extra-name small{display:block;font-size:12.5px;color:var(--gr-muted);margin-top:1px}
.gr-stepper{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--gr-line);border-radius:999px;padding:2px;background:#fff}
.gr-stepper button{all:unset;box-sizing:border-box;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:20px;line-height:1;cursor:pointer;color:var(--gr-text);transition:background .15s}
.gr-stepper button:hover:not(:disabled){background:#fff3e6;color:#b85c00}
.gr-stepper button:disabled{opacity:.3;cursor:default}
.gr-stepper button:focus-visible{outline:2px solid var(--gr-text)}
.gr-qty-val{min-width:26px;text-align:center;font-size:15px;font-weight:700;color:var(--gr-text)}
.gr-add{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:84px;height:36px;padding:0 14px;border-radius:999px;border:1.5px solid #f77f00;color:#b85c00;font-size:14px;font-weight:700;cursor:pointer;transition:background .15s,color .15s}
.gr-add:hover{background:#fff3e6}
.gr-add.is-on{background:#f77f00;color:#fff}
.gr-add:focus-visible{outline:2px solid var(--gr-text);outline-offset:2px}

/* Price summary */
.gr-summary{margin:0 0 14px;padding:14px;border:1px solid var(--gr-line);border-radius:12px;background:var(--gr-soft)}
.gr-summary>h5{margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gr-muted)}
.gr-sum-row{display:flex;justify-content:space-between;gap:10px;padding:5px 0;font-size:14px;color:var(--gr-text)}
.gr-sum-row span{color:var(--gr-muted)}
.gr-sum-row b{font-weight:600;white-space:nowrap}
.gr-total{display:flex;justify-content:space-between;align-items:center;margin:8px 0 0;padding-top:12px;border-top:1px solid #dfe4e8}
.gr-total span{font-size:15px;font-weight:700;color:var(--gr-text)}
.gr-total span small{display:block;font-size:11.5px;font-weight:400;color:var(--gr-muted)}
.gr-total strong{font-size:24px;font-weight:800;color:var(--gr-text)}
.gr-confirm{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--gr-muted);margin:0;font-weight:400;cursor:pointer}
.gr-confirm input{margin:3px 0 0;accent-color:#f77f00}

/* Done */
.gr-done{text-align:center;padding:8px 0}
.gr-done-icon{width:52px;height:52px;border-radius:50%;background:#e6f4ea;color:var(--gr-ok);display:inline-flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:8px}
.gr-done h4{margin:0 0 6px;font-size:18px;font-weight:600}
.gr-done p{margin:0 0 4px;color:var(--gr-muted)}
.gr-done .gr-ref{font-size:22px;font-weight:700;color:var(--gr-text);letter-spacing:.02em;margin:6px 0 10px}

/* Locked (not an agent) */
.gr-locked p{margin:0;color:var(--gr-muted)}

/* Standalone (not in Traveler's sidebar) on wide screens – class added by JS */
@media (min-width:768px){
	.gr-box.gr-wide{max-width:560px}
}
@media (max-width:420px){
	.gr-box{padding:18px}
	.gr-cal{min-width:0}
}

/* ==========================================================================
   "Return to" field injected into Traveler's car search form.
   It reuses Traveler's own markup/classes, so only small fixes live here.
   ========================================================================== */
.gr-return-field .render input.gr-return-text{cursor:pointer;caret-color:transparent}
.gr-return-field .dropdown-menu li.is-active span:last-child{font-weight:600}
.gr-return-field .dropdown-menu li[hidden]{display:none!important}

/* ==========================================================================
   Traveler's own date/time popup on the search bar: the AM/PM list was cut
   off ("P|") because the theme gives the three time lists a fixed narrow width.
   ========================================================================== */
.daterangepicker .calendar-time{white-space:nowrap!important;flex-wrap:nowrap!important}
/* Same width and padding for all three lists, so two-digit hours and minutes ("10", "45") show in full. */
.daterangepicker select.hourselect,
.daterangepicker select.minuteselect,
.daterangepicker select.ampmselect{width:auto!important;max-width:none!important;padding-left:12px!important;padding-right:30px!important;text-overflow:clip!important;overflow:visible!important}
.daterangepicker select.hourselect,
.daterangepicker select.minuteselect{min-width:74px!important}
.daterangepicker select.ampmselect{min-width:82px!important}

/* ==========================================================================
   Search bar with the extra "Return to" field: keep everything on one row and keep the
   Search button clear of the Drop-off text (the bar now has five parts instead of four).
   ========================================================================== */
form.gr-has-return{display:flex!important;flex-wrap:nowrap!important;align-items:center}
form.gr-has-return .destination-search{flex:1 1 0!important;min-width:0!important;width:auto!important}
form.gr-has-return .form-date-field{flex:2 1 0!important;min-width:0!important;width:auto!important}
form.gr-has-return .form-date-field .date-item-wrapper{flex:1 1 0!important;min-width:0!important}
form.gr-has-return .form-date-field .item-inner{min-width:0}
form.gr-has-return .form-date-field .render,
form.gr-has-return .destination-search .render,
form.gr-has-return .destination-search input[type=text]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
form.gr-has-return .button-search-wrapper{position:static!important;flex:0 0 auto!important;margin:0 0 0 14px!important;transform:none!important;float:none!important}
