/* =========================================================
   VG Car Rental Bridge – branded WooCommerce styling
   Brand: #0A2B7C (deep blue)  /  #FCC000 (amber)
   ========================================================= */

:root{
	--vgcr-blue:#0A2B7C;
	--vgcr-amber:#FCC000;
	--vgcr-blue-tint:#eef1f9;
}

/* ---- Booking panel on checkout ---- */
.vgcr-booking-panel{
	border:1px solid #e4e7f1;
	border-left:5px solid var(--vgcr-amber);
	border-radius:10px;
	padding:18px 20px;
	margin:0 0 28px;
	background:#fff;
	box-shadow:0 2px 14px rgba(10,43,124,.06);
}
.vgcr-booking-panel h3{
	margin:0 0 4px;
	color:var(--vgcr-blue);
	font-weight:700;
}
.vgcr-booking-panel .vgcr-car-line{margin:0 0 14px;color:#444}
.vgcr-booking-panel .vgcr-car-line strong{color:var(--vgcr-blue)}
.vgcr-booking-panel .vgcr-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:12px 16px;
}
.vgcr-booking-panel .vgcr-row{margin:0;display:flex;flex-direction:column}
.vgcr-booking-panel .vgcr-row-wide{margin-top:14px}
.vgcr-booking-panel label{font-weight:600;font-size:13px;margin-bottom:5px;color:#222}
.vgcr-booking-panel label .required{color:var(--vgcr-blue);border:0;text-decoration:none}
.vgcr-booking-panel select,
.vgcr-booking-panel input[type="date"],
.vgcr-booking-panel textarea{
	width:100%;
	padding:10px 12px;
	border:1px solid #d4d8e6;
	border-radius:8px;
	background:#fff;
	font-size:14px;
}
.vgcr-booking-panel select:focus,
.vgcr-booking-panel input:focus,
.vgcr-booking-panel textarea:focus{
	outline:none;
	border-color:var(--vgcr-blue);
	box-shadow:0 0 0 3px rgba(10,43,124,.12);
}
@media (max-width:600px){ .vgcr-booking-panel .vgcr-grid{grid-template-columns:1fr} }

.vgcr-hidden-field{display:none!important}

/* =========================================================
   Cart / Checkout / Thank-you brand theming
   ========================================================= */
.woocommerce-cart .xs-jumbotron-title,
.woocommerce-checkout .xs-jumbotron-title,
.woocommerce-order-received .xs-jumbotron-title{ color:var(--vgcr-blue)!important; }

.woocommerce-cart h2,
.woocommerce-cart .cart_totals h2,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-order-received .woocommerce-column__title,
.woocommerce-order-received h2{
	color:var(--vgcr-blue);
	font-weight:700;
}

/* Tables */
.woocommerce-cart table.shop_table thead th,
.woocommerce-checkout #order_review .shop_table thead th{
	background:var(--vgcr-blue);
	color:#fff;
	border-bottom:none;
}
.woocommerce table.shop_table{
	border-radius:10px;
	overflow:hidden;
	border:1px solid #e4e7f1;
}
.woocommerce-cart table.cart td,
.woocommerce-checkout #order_review td,
.woocommerce-checkout #order_review th{ border-top-color:#eef0f6; }

.woocommerce .cart_totals .order-total th,
.woocommerce .cart_totals .order-total td,
.woocommerce-checkout .order-total th,
.woocommerce-checkout .order-total .amount{
	color:var(--vgcr-blue);
	font-weight:700;
}
.woocommerce tr.fee th,
.woocommerce tr.fee td{ color:#9a6b00; }

/* Deposit (VG Deposits) options box */
.vgdep-options{
	border:1px solid #e4e7f1!important;
	border-left:5px solid var(--vgcr-amber)!important;
	border-radius:10px!important;
	background:#fff!important;
	margin:14px 0!important;
}
.vgdep-options .vgdep-title{ color:var(--vgcr-blue)!important; }

/* Inputs focus */
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce-checkout .select2-container--focus .select2-selection,
.woocommerce form .form-row select:focus{
	border-color:var(--vgcr-blue)!important;
	box-shadow:0 0 0 3px rgba(10,43,124,.12)!important;
	outline:none!important;
}

/* Buttons */
.woocommerce-cart .button,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-checkout #place_order,
.woocommerce-checkout .button,
.woocommerce-order-received .button,
.woocommerce .woocommerce-message .button,
.woocommerce #respond input#submit{
	background:var(--vgcr-blue)!important;
	color:#fff!important;
	border:none!important;
	border-radius:8px!important;
	font-weight:700!important;
	padding:13px 26px!important;
	transition:background .2s ease,color .2s ease,transform .05s ease;
}
.woocommerce-cart .button:hover,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
.woocommerce-checkout #place_order:hover,
.woocommerce-checkout .button:hover,
.woocommerce-order-received .button:hover,
.woocommerce #respond input#submit:hover{
	background:var(--vgcr-amber)!important;
	color:var(--vgcr-blue)!important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-checkout #place_order{ display:block;width:100%;text-align:center;font-size:16px!important; }

/* Coupon / info notices */
.woocommerce-info{
	border-top-color:var(--vgcr-blue);
	background:var(--vgcr-blue-tint);
}
.woocommerce-info::before{ color:var(--vgcr-blue); }
.woocommerce a.showcoupon{ color:var(--vgcr-blue); }
.woocommerce .woocommerce-error{ border-top-color:#c62828; }

/* Quantity / remove */
.woocommerce-cart a.remove{ color:var(--vgcr-blue)!important; border-color:var(--vgcr-blue); }
.woocommerce-cart a.remove:hover{ background:var(--vgcr-blue)!important;color:#fff!important; }

/* ---- Thank-you page ---- */
.woocommerce-order-received .woocommerce-order .woocommerce-notice--success,
.woocommerce-order-received p.woocommerce-thankyou-order-received{
	background:var(--vgcr-blue);
	color:#fff;
	padding:18px 22px;
	border-radius:10px;
	border-left:5px solid var(--vgcr-amber);
	font-size:18px;
	font-weight:600;
}
.woocommerce-order-received .woocommerce-order-overview{
	border:1px solid #e4e7f1;
	border-radius:10px;
	padding:16px 20px;
	background:#fff;
}
.woocommerce-order-received .woocommerce-order-overview strong{ color:var(--vgcr-blue); }
.woocommerce-order-received .woocommerce-table--order-details thead th{
	background:var(--vgcr-blue);color:#fff;
}

/* =========================================================
   v1.2.1 design polish
   ========================================================= */

/* ---- Checkout: single full-width column, no right "Επιπλέον πληροφορίες" ---- */
.woocommerce-checkout #customer_details.col2-set,
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{
	width:100%!important;
	max-width:100%!important;
	float:none!important;
}
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-shipping-fields{ display:none!important; }

.woocommerce-checkout .woocommerce-billing-fields{
	border:1px solid #e4e7f1;
	border-radius:10px;
	padding:18px 20px;
	background:#fff;
	box-shadow:0 2px 14px rgba(10,43,124,.05);
	margin-bottom:26px;
}
.woocommerce-checkout .woocommerce-billing-fields h3{ margin-top:0; }

/* ---- Variation rows (Παραλαβή / Ημέρες / Τιμή ...) aligned label:value ---- */
.woocommerce dl.variation{
	display:grid;
	grid-template-columns:max-content 1fr;
	gap:4px 12px;
	margin:10px 0 0;
	font-size:14px;
	line-height:1.4;
}
.woocommerce dl.variation dt{
	font-weight:600;
	color:#333;
	margin:0;
	float:none;
}
.woocommerce dl.variation dd{
	margin:0;
	padding:0;
	color:#555;
}
.woocommerce dl.variation dd p{ margin:0; }

/* Product cell wording */
.woocommerce td.product-name > a,
.woocommerce td.product-name{ color:var(--vgcr-blue); font-weight:600; }
.woocommerce td.product-name small{ color:#777; font-weight:400; }

/* ---- Order review table spacing ---- */
.woocommerce-checkout #order_review .shop_table th,
.woocommerce-checkout #order_review .shop_table td{
	padding:14px 16px;
	vertical-align:top;
}
.woocommerce-checkout #order_review .cart_item .product-name{ width:65%; }
.woocommerce-checkout #order_review .product-total,
.woocommerce-checkout #order_review td.product-total{
	text-align:right;
	white-space:nowrap;
	font-weight:600;
	color:var(--vgcr-blue);
}

/* ---- Cart coupon row: input & button identical height ---- */
.woocommerce-cart table.cart td.actions{ padding:18px 14px; }
.woocommerce-cart table.cart td.actions .coupon{
	display:flex;
	gap:10px;
	align-items:stretch;
	flex-wrap:nowrap;
	max-width:520px;
}
.woocommerce-cart table.cart td.actions .coupon .input-text#coupon_code{
	flex:1 1 auto;
	min-width:160px;
	height:50px;
	margin:0;
	padding:0 14px;
	border:1px solid #d4d8e6;
	border-radius:8px;
	box-sizing:border-box;
}
.woocommerce-cart table.cart td.actions .coupon .button{
	flex:0 0 auto;
	height:50px;
	margin:0;
	padding:0 24px!important;
	line-height:50px!important;
	white-space:nowrap;
	display:inline-flex;
	align-items:center;
	justify-content:center;
}
.woocommerce-cart table.cart td.actions > .button{
	height:50px;
	line-height:24px!important;
	float:right;
}
@media (max-width:600px){
	.woocommerce-cart table.cart td.actions .coupon{ flex-wrap:wrap; }
	.woocommerce-cart table.cart td.actions .coupon .input-text#coupon_code{ flex:1 1 100%; }
	.woocommerce-cart table.cart td.actions > .button{ float:none; width:100%; margin-top:10px; }
}

/* ---- Required asterisk in brand colour ---- */
.woocommerce form .form-row .required,
.woocommerce form .form-row abbr.required{ color:var(--vgcr-blue); text-decoration:none; border:0; }

/* Totals block as a card */
.woocommerce-cart .cart_totals{
	border:1px solid #e4e7f1;
	border-radius:12px;
	padding:8px 20px 20px;
	background:#fff;
	box-shadow:0 2px 14px rgba(10,43,124,.05);
}

/* ---- Driver document uploads ---- */
.vgcr-docs{
	margin-top:18px;
	padding-top:16px;
	border-top:1px dashed #d4d8e6;
}
.vgcr-docs h4{
	margin:0 0 4px;
	color:var(--vgcr-blue);
	font-size:16px;
}
.vgcr-docs-hint{
	margin:0 0 12px;
	font-size:13px;
	color:#777;
}
.vgcr-doc-row{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:10px 14px;
	padding:8px 0;
}
.vgcr-doc-label{
	flex:0 0 150px;
	font-weight:600;
	color:#333;
}
.vgcr-doc-control{
	display:flex;
	align-items:center;
	gap:12px;
	flex:1 1 260px;
	flex-wrap:wrap;
}
.vgcr-doc-button{
	position:relative;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height:42px;
	padding:0 18px;
	background:var(--vgcr-blue);
	color:#fff;
	border-radius:8px;
	font-size:14px;
	font-weight:600;
	cursor:pointer;
	overflow:hidden;
	transition:background .2s ease;
	white-space:nowrap;
}
.vgcr-doc-button:hover{ background:var(--vgcr-amber); color:var(--vgcr-blue); }
.vgcr-doc-button input[type="file"]{
	position:absolute;
	inset:0;
	opacity:0;
	width:100%;
	height:100%;
	cursor:pointer;
}
.vgcr-doc-status{
	display:inline-flex;
	align-items:center;
	gap:10px;
	font-size:14px;
	flex-wrap:wrap;
}
.vgcr-doc-name{ color:#0a7a2f; font-weight:600; }
.vgcr-doc-row.is-uploaded .vgcr-doc-button{ background:#e8f0ff; color:var(--vgcr-blue); }
.vgcr-doc-row.is-busy{ opacity:.7; }
.vgcr-doc-remove{
	color:#c0392b;
	text-decoration:underline;
	font-size:13px;
	cursor:pointer;
}
.vgcr-doc-error{ color:#c0392b; font-weight:600; }
@media (max-width:600px){
	.vgcr-doc-label{ flex:1 1 100%; }
}

/* ---- Homepage reservation form: hide the vehicle/model selector ---- */
form.car-select-form select[name="car-select"],
form.car-select-form .car-select{
	display:none !important;
}
