/* VG Car Rental Manager – checkout extras */
.vgcrm-extras{
	margin:22px 0;
	padding:18px 20px;
	border:1px solid #e4e7f1;
	border-left:4px solid #FCC000;
	border-radius:10px;
	background:#fff;
	box-shadow:0 2px 14px rgba(10,43,124,.05);
}
.vgcrm-extras h3{margin:0 0 4px;color:#0A2B7C;font-size:18px}
.vgcrm-extras-hint{margin:0 0 14px;font-size:13px;color:#777}
.vgcrm-extras-list{display:flex;flex-direction:column;gap:2px}
.vgcrm-extra-row{
	display:flex;align-items:center;justify-content:space-between;gap:16px;
	padding:10px 0;border-bottom:1px solid #f0f1f5;
}
.vgcrm-extra-row:last-child{border-bottom:0}
.vgcrm-extra-info{display:flex;flex-direction:column;gap:2px}
.vgcrm-extra-name{font-weight:600;color:#333}
.vgcrm-extra-price{font-size:13px;color:#666}
.vgcrm-extra-price em{color:#0A2B7C;font-style:normal}
.vgcrm-extra-control select{
	min-width:88px;height:42px;padding:0 10px;
	border:1px solid #d4d8e6;border-radius:8px;background:#fff;
}
.vgcrm-extra-row.is-soldout{opacity:.55}
.vgcrm-extra-soldout{font-size:13px;color:#c0392b;font-weight:600}
@media (max-width:600px){
	.vgcrm-extra-row{flex-wrap:wrap;gap:8px}
	.vgcrm-extra-control{width:100%}
	.vgcrm-extra-control select{width:100%}
}

/* ---- Fleet availability banner + unavailable cards ---- */
.vgcrm-fleet-banner{
	display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
	max-width:1140px;margin:0 auto 24px;padding:12px 18px;
	background:#0A2B7C;color:#fff;border-radius:10px;font-size:15px;
}
.vgcrm-fleet-banner-text{font-weight:600}
.vgcrm-fleet-clear{color:#FCC000;text-decoration:underline;font-size:14px;white-space:nowrap}
.vgcrm-fleet-clear:hover{color:#fff}

.vgcrm-unavailable{position:relative}
.vgcrm-unavailable-badge{
	position:absolute;top:14px;left:14px;z-index:5;
	background:#c0392b;color:#fff;padding:6px 12px;border-radius:6px;
	font-size:13px;font-weight:700;letter-spacing:.2px;
}
.vgcrm-unavailable .elementor-widget-image img{filter:grayscale(1);opacity:.55}
a.vgcrm-btn-disabled{
	pointer-events:none;opacity:.5;cursor:not-allowed;background:#9aa0ad!important;
}

/* ---- Checkout datepicker ---- */
.vgcrm-inline-notice{
	margin:0 0 12px;padding:10px 14px;border-radius:8px;
	background:#fff8e1;border-left:3px solid #FCC000;color:#6b5200;font-size:14px;
}
.vgcrm-hidden-opt{display:none!important}

.vgcrm-datepicker.ui-datepicker{
	width:300px;padding:10px;background:#fff;border:1px solid #d4d8e6;border-radius:10px;
	box-shadow:0 10px 30px rgba(10,43,124,.18);z-index:9999!important;font-size:14px;
}
.vgcrm-datepicker .ui-datepicker-header{
	position:relative;display:flex;align-items:center;justify-content:center;
	padding:6px 0 10px;color:#0A2B7C;font-weight:700;
}
.vgcrm-datepicker .ui-datepicker-prev,
.vgcrm-datepicker .ui-datepicker-next{
	position:absolute;top:4px;width:28px;height:28px;cursor:pointer;
	border-radius:6px;text-indent:-9999px;background-repeat:no-repeat;background-position:center;
}
.vgcrm-datepicker .ui-datepicker-prev{left:0}
.vgcrm-datepicker .ui-datepicker-next{right:0}
.vgcrm-datepicker .ui-datepicker-prev:before,
.vgcrm-datepicker .ui-datepicker-next:before{
	content:'';position:absolute;top:9px;left:10px;width:8px;height:8px;
	border-top:2px solid #0A2B7C;border-right:2px solid #0A2B7C;
}
.vgcrm-datepicker .ui-datepicker-prev:before{transform:rotate(-135deg)}
.vgcrm-datepicker .ui-datepicker-next:before{transform:rotate(45deg)}
.vgcrm-datepicker .ui-datepicker-prev:hover,
.vgcrm-datepicker .ui-datepicker-next:hover{background:#eef1f8}
.vgcrm-datepicker table{width:100%;border-collapse:collapse;margin:0}
.vgcrm-datepicker th{padding:6px 0;font-size:12px;color:#8a8f9c;font-weight:600;border:0}
.vgcrm-datepicker td{padding:2px;border:0}
.vgcrm-datepicker td a,
.vgcrm-datepicker td span{
	display:block;padding:8px 0;text-align:center;border-radius:6px;
	text-decoration:none;color:#333;font-size:14px;
}
.vgcrm-datepicker td a:hover{background:#eef1f8;color:#0A2B7C}
.vgcrm-datepicker .ui-datepicker-current-day a,
.vgcrm-datepicker td a.ui-state-active{background:#0A2B7C!important;color:#fff!important}
.vgcrm-datepicker .ui-datepicker-today a{box-shadow:inset 0 0 0 1px #FCC000}
.vgcrm-datepicker .ui-state-disabled span,
.vgcrm-datepicker td.vgcrm-day-blocked span,
.vgcrm-datepicker td.vgcrm-day-closed span{
	color:#c9ccd4;text-decoration:line-through;cursor:not-allowed;
}
.vgcrm-datepicker td.vgcrm-day-blocked span{background:#fdeaea;color:#d99a9a}
.vgcrm-datepicker td.vgcrm-day-closed span{background:#f4f5f7}

/* Booked days + text date inputs */
.vgcrm-datepicker td.vgcrm-day-booked span{
	background:#fdeaea;color:#d08b8b;text-decoration:line-through;cursor:not-allowed;
}
input.vgcrm-date-input{
	cursor:pointer;background:#fff;
}
input.vgcrm-date-input:focus{
	outline:none;border-color:#0A2B7C;box-shadow:0 0 0 2px rgba(10,43,124,.12);
}

/* Bootstrap-datepicker (theme) dropdown on checkout */
body > .datepicker.datepicker-dropdown{
	z-index:99999!important;
	border:1px solid #d4d8e6;border-radius:10px;
	box-shadow:0 10px 30px rgba(10,43,124,.18);
	font-size:14px;padding:8px;
}
body > .datepicker.datepicker-dropdown table tr td.active,
body > .datepicker.datepicker-dropdown table tr td.active:hover{
	background:#0A2B7C!important;background-image:none!important;color:#fff!important;
}
body > .datepicker.datepicker-dropdown table tr td.today{
	background:#fff3cd!important;background-image:none!important;
}
body > .datepicker.datepicker-dropdown table tr td.disabled,
body > .datepicker.datepicker-dropdown table tr td.disabled:hover{
	color:#c9ccd4!important;text-decoration:line-through;cursor:not-allowed;background:#f8f9fb!important;
}

/* Terms acceptance */
.vgcrm-terms{
	margin:16px 0;padding:14px 16px;
	background:#f7f9fc;border:1px solid #e4e7f1;border-radius:10px;
}
.vgcrm-terms-label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:14px;line-height:1.5}
.vgcrm-terms-label input[type="checkbox"]{margin-top:3px;flex:0 0 auto}
.vgcrm-terms-label a{color:#0A2B7C;text-decoration:underline;font-weight:600}
.vgcrm-terms-label .required{color:#c0392b;border:0;text-decoration:none}
option.vgcrm-ooh-opt{color:#b8860b}

/* ============ VGCRM own datepicker ============ */
.vgcrm-dp-wrap{position:relative;display:block;width:100%}
.vgcrm-dp-input{
	width:100%;box-sizing:border-box;cursor:pointer;background:#fff;
	padding:10px 12px;border:1px solid #d4d8e6;border-radius:8px;font-size:15px;
}
.vgcrm-dp-input:focus{outline:none;border-color:#0A2B7C;box-shadow:0 0 0 2px rgba(10,43,124,.12)}

.vgcrm-dp-panel{
	position:absolute;top:calc(100% + 6px);left:0;z-index:99999;
	width:300px;max-width:92vw;padding:12px;background:#fff;
	border:1px solid #d4d8e6;border-radius:12px;
	box-shadow:0 12px 34px rgba(10,43,124,.20);
}
.vgcrm-dp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.vgcrm-dp-title{font-weight:700;color:#0A2B7C;font-size:15px}
.vgcrm-dp-nav{
	width:30px;height:30px;line-height:1;border:1px solid #e1e4ee;background:#fff;
	border-radius:8px;cursor:pointer;color:#0A2B7C;font-size:20px;padding:0;
}
.vgcrm-dp-nav:hover{background:#eef1f8}
.vgcrm-dp-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}
.vgcrm-dp-dow span{text-align:center;font-size:11px;color:#8a8f9c;font-weight:700;padding:4px 0}
.vgcrm-dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.vgcrm-dp-day{
	padding:8px 0;text-align:center;border:0;background:transparent;border-radius:8px;
	font-size:14px;color:#2b2f38;cursor:pointer;font-family:inherit;
}
.vgcrm-dp-day.is-empty{visibility:hidden}
.vgcrm-dp-day:hover:not(.is-disabled){background:#eef1f8;color:#0A2B7C}
.vgcrm-dp-day.is-today{box-shadow:inset 0 0 0 1px #FCC000}
.vgcrm-dp-day.is-selected{background:#0A2B7C!important;color:#fff!important;font-weight:700}
.vgcrm-dp-day.is-disabled{cursor:not-allowed;color:#c9ccd4;text-decoration:line-through}
.vgcrm-dp-day.is-closed{background:#f2f3f6}
.vgcrm-dp-day.is-booked,
.vgcrm-dp-day.is-blackout{background:#fdeaea;color:#d79a9a}
.vgcrm-dp-legend{
	display:flex;gap:14px;margin-top:10px;padding-top:8px;
	border-top:1px solid #eef0f5;font-size:11px;color:#8a8f9c;
}
.vgcrm-dp-legend .dot{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px;vertical-align:middle}
.vgcrm-dp-legend .dot-closed{background:#e3e5ea}
.vgcrm-dp-legend .dot-booked{background:#f6cccc}


/* ---- Picker bound in place on the theme form (no wrapper inserted) ---- */
.car-select-form input.vgcrm-dp-bound{
	cursor:pointer;
	background-image:none;
}

/* Floating panel lives on <body>, so it needs its own stacking context. */
.vgcrm-dp-panel--float{
	position:absolute;
	z-index:100000;
	width:300px;
	background:#fff;
	border:1px solid #d4d8e6;
	border-radius:12px;
	box-shadow:0 12px 34px rgba(10,43,124,.20);
	padding:12px;
	box-sizing:border-box;
}
@media (max-width:480px){
	.vgcrm-dp-panel--float{width:280px}
}
