.parking_reservation_wrapper .col-left .results-cta {
	justify-content: flex-start;
}

.woocommerce-checkout {
	background: #F0F0F0;
}

.woocommerce-checkout main {
	padding-top: 5rem;
	padding-bottom: 5rem;
}

.woocommerce-checkout .woocommerce {
	max-width: none !important;
}

.woocommerce-checkout main h1,
.woocommerce-checkout main h2,
.woocommerce-checkout main h3 {
	font-weight: 600;
	color: #2A2A2A;
}

.woocommerce-checkout main h1 {
	font-size: 22px;
}

.woocommerce-checkout main p.create-account {
	display: none;
}

.woocommerce-checkout main #form-lot-checkout label,
.woocommerce-checkout main form p {
	color: #434343;
	font-size: 14px;
	font-weight: 500;
}

.woocommerce-checkout main #form-lot-checkout label span.required {
	color: #434343;
}

.woocommerce-checkout main #form-lot-checkout input,
.woocommerce-checkout main #form-lot-checkout select {
	border-color: #E5E5E5;
	border-radius: 6px;
	color: #2A2A2A;
	font-size: 14px;
	height: 48px;
	padding: 8px 16px;
}

.woocommerce-checkout main #form-lot-checkout input:focus,
.woocommerce-checkout main #form-lot-checkout select:focus {
	border-color: #2A2A2A;
	color: #2A2A2A;
}

.woocommerce-checkout main #form-lot-checkout .dashicons {
	color: #5F6368;
}

.woocommerce #form-lot-checkout .form-row {
	margin: 0 0 16px !important;
}

.woocommerce-checkout.custom-checkout-container h3 {
	font-size: 16px;
	font-weight: 600;
	text-transform: none;
}

/* Contenedor principal en dos columnas */
.custom-checkout-container {
    display: flex;
    gap: 30px;
    margin: 0 auto;
}

.custom-checkout-container hr,
.parking-ticket-wrapper hr {
	color: #CFCFCF;
	margin: 18px 0;
}

.parking-ticket-wrapper hr {
	margin: 1px 0;
}

/* Columna izquierda (Formulario) */
.checkout-main-content {
    flex: 1.5;
}

/* Columna derecha (Sidebar) */
.checkout-sidebar {
    flex: 1;
    position: sticky;
    top: 20px;
}

.checkout-sidebar .selection-header {
	font-weight: 600;
}

.checkout-sidebar .selection-row span {
	font-size: 16px;
	font-weight: 500;
}

.checkout-sidebar .selection-row,
.checkout-sidebar .selection-duration,
.checkout-sidebar .price-row {
	margin-top: 12px;
}

.checkout-sidebar .summary-divider {
	margin: 18px 0;
}

.checkout-sidebar .booking-selection-details,
.checkout-sidebar .price-breakdown {
	font-size: 14px;
}

/* Tarjeta del resumen (Derecha) */
.booking-summary-card,
.checkout-lot-header,
.woocommerce-billing-fields_information,
.checkout-vehicle-section-container,
.checkout-payment-side,
.woocommerce-checkout .checkout-payment-side .payment-details-title {
    background: #fff;
    border-radius: 6px;
    padding: 20px;
}

.woocommerce-checkout .checkout-payment-side .payment_methods > li:first-child {
	padding-top: 0;
}

.checkout-vehicle-section-container {
	display: flex;
    flex-direction: column;
}

.checkout-vehicle-section-container .row {
	display: flex;
}

.checkout-vehicle-section-container .row input#vehicle_plate {
	text-transform: uppercase;
}

.checkout-payment-side {
	padding: 0;
    background: none
}

.woocommerce-checkout .checkout-payment-side #payment {
	background: #F0F0F0;
}

.woocommerce-checkout .checkout-payment-side #payment .wc_payment_methods,
.woocommerce-checkout .checkout-payment-side #payment .form-row place-order,
.woocommerce-checkout .checkout-payment-side #payment .woocommerce-terms-and-conditions-wrapper {
	background: #FFF;
}

.woocommerce-checkout .checkout-payment-side #payment .wc_payment_methods {
	border: none;
}

.woocommerce-checkout .checkout-payment-side #payment .woocommerce-terms-and-conditions-wrapper {
	padding: 20px;
}

.woocommerce-checkout .checkout-payment-side #payment .form-row place-order,
.woocommerce-checkout .checkout-payment-side #payment .form-row {
	padding: 0;
}

.woocommerce-checkout .checkout-payment-side #payment .secure-checkout-badge-banner {
	display: flex;
	gap: 8px;
	background: #F4F4F4;
	padding: 8px 12px;

}

.woocommerce-checkout .checkout-payment-side #payment .secure-checkout-badge-banner img {
	height: 13px;
	position: relative;
    top: 1.5px;
}

.woocommerce-checkout .checkout-payment-side #payment .secure-checkout-badge-banner p {
	font-weight: 500;
	margin-bottom: 0;
}

.woocommerce-checkout .checkout-payment-side #payment .secure-checkout-badge-banner p,
.woocommerce-checkout .checkout-payment-side #payment .secure-checkout-badge-banner span {
	font-size: 12px;
}

.woocommerce-checkout .checkout-payment-side #payment .secure-checkout-conditions-input-selection {
	margin-top: 24px;
}

.woocommerce-checkout .checkout-payment-side #payment .secure-checkout-conditions-input-selection label {
	display: flex;
	gap: 12px;
	margin-bottom: 0;
}

.woocommerce-checkout .checkout-payment-side #payment .secure-checkout-conditions-input-selection label p {
	color: #5F6368;
	font-weight: 400;
	margin-bottom: 0;
}

.woocommerce-checkout .checkout-payment-side #payment .secure-checkout-conditions-input-selection label a {
	color: #5F6368;
	box-shadow: none;
	text-decoration: none;
    text-decoration-color: #5F6368;
}

.woocommerce-checkout .checkout-payment-side #payment .secure-checkout-conditions-input-selection label span {
	font-weight: 600;
}

.woocommerce-checkout .checkout-payment-side #payment .secure-checkout-conditions-input-selection label input[type="checkbox"] {
    width: 20px;
    height: 20px;
    background-color: #fff;
    border: 2px solid #F5C825;
    display: inline-grid;
    place-content: center;
    cursor: pointer;
    vertical-align: middle;
	position: relative;
	top: 3px;
}

.woocommerce-checkout .checkout-payment-side #payment .secure-checkout-conditions-input-selection label input[type="checkbox"]:checked {
	background-color: #F5C825;
    border-color: #F5C825;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
    background-size: 14px;
    background-repeat: no-repeat;
    background-position: center;
}

.woocommerce-checkout .checkout-payment-side #payment .form-row button,
.woocommerce .woocommerce-MyAccount-content .woocommerce-button {
	background: #F5C825;
	color: #2A2A2A;
	font-size: 14px;
	font-weight: 500;
	border-radius: 6px;
	margin-top: 24px;
	float: none !important;
	display: inline-flex;
	align-items: center;
    justify-content: center;
	width: 100%;
	height: 44px;
	text-transform: none;
}

.price-breakdown .price-row {
	display: flex;
	justify-content: space-between;
}

.woocommerce .woocommerce-checkout-review-order-table th,
.woocommerce .woocommerce-checkout-review-order-table td {
	padding: 0 !important;
}

.woocommerce .woocommerce-checkout-review-order-table th,
.woocommerce .woocommerce-checkout-review-order-table td,
.woocommerce table.shop_table {
	border: none !important;
	font-size: 16px;
}

.woocommerce .woocommerce-checkout-review-order-table tr.order-total td {
	text-align: right;
}

.woocommerce .woocommerce-checkout-review-order-table tr.order-total th span {
	color: #696969;
	font-size: 12px;
	font-weight: 400;
}

.woocommerce .woocommerce-checkout-review-order-table tr.order-total td span {
	font-size: 20px;
}

.woocommerce-page .booking-summary-card table.shop_table {
	width: 100%;
}

.checkout-payment-side,
.woocommerce-billing-fields,
.checkout-vehicle-section-container,
.checkout-vehicle-section-container .jurisdiction-container {
	margin-top: 24px;
}

.woocommerce-checkout input[name="billing_first_name"],
.woocommerce-checkout input[name="billing_email"],
.woocommerce-checkout input[name="billing_phone"] {
    padding-left: 45px !important;
    background-repeat: no-repeat;
    background-position: 15px center;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    height: 48px;
    transition: all 0.3s ease;
}

.woocommerce-checkout input[name="billing_first_name"] {
    background-image: url('/wp-content/plugins/book-parking-now/assets/images/name-icon.png');
	background-size: 15px 15px;
}

.woocommerce-checkout input[name="billing_email"] {
    background-image: url('/wp-content/plugins/book-parking-now/assets/images/email-icon.png');
	background-size: 15px 12px;
}

.woocommerce-checkout input[name="billing_phone"] {
    background-image: url('/wp-content/plugins/book-parking-now/assets/images/phone-icon.png');
	background-size: 13.5px 13.5px;
}

.woocommerce-checkout-payment .wc_payment_methods {
	padding: 0 20px !important;
}

.woocommerce-checkout-payment .wc_payment_methods input {
	height: auto !important;
}

.wc_payment_method input[type="radio"].input-radio {
    display: none !important;
}

.wc_payment_method input[type="radio"].input-radio + label {
    display: flex !important;
	justify-content: space-between;
    align-items: center;
    position: relative;
    padding-left: 0;
    cursor: pointer;
}

.wc_payment_method input[type="radio"].input-radio + label::before {
    content: "";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    order: 1;
    width: 20px;
    height: 20px;
    border: 2px solid #b1b1b1;
    border-radius: 50%;
    background: #fff;
    box-sizing: border-box;
}

.wc_payment_method input[type="radio"].input-radio + label::after {
    content: "";
    position: absolute;
    right: 5.2px; 
    width: 10px;
    height: 10px;
    background: #4d4f53;
    border-radius: 50%;
    opacity: 0;
    transition: transform 0.2s ease, opacity 0.2s ease;
    transform: scale(0.5);
}

.wc_payment_method input[type="radio"].input-radio:checked + label::after {
    opacity: 1;
    transform: scale(1);
}

.wc_payment_method {
    padding: 15px 0;
    border: 1px solid transparent;
    transition: border-color 0.3s ease;
}

.woocommerce-checkout #payment div.payment_box input.js-sv-wc-payment-gateway-credit-card-form-input {
	font-size: 16px !important;
}

.woocommerce-checkout #payment div.payment_box input.js-sv-wc-payment-gateway-credit-card-form-account-number {
	background-size: 35px 25px !important;
}

.lot-card-content {
	display: flex;
	gap: 16px;
}

.lot-card-content h3 {
	margin-top: 0;
}

.lot-card-content .lot-info-text {
	flex: 1;
	font-size: 14px;
}

.lot-card-content .lot-info-text_rating_time {
	display: flex;
	gap: 12px;
}

.lot-card-content .lot-info-text_rating_time > div,
.lot-info-text_direction,
.lot-card-content .lot-info-text_services > div,
.booking-summary-card_cancelation_message {
	display: flex;
	gap: 5px;
}

.booking-summary-card_cancelation_message {
	align-items: center;
	background: #F5F5F5;
	padding: 8px 12px;
}

.booking-summary-card_cancelation_message img {
	width: 14px;
	height: 14px;
}

.booking-summary-card_cancelation_message p {
	color: #2A2A2A;
	font-size: 12px;
	margin-bottom: 0;
}

.lot-info-text_rating_time > div p {
	font-weight: 600;
}

.lot-info-text_rating_time > div span {
	color: #5F6368;
}

.lot-card-content .lot-info-text_services {
	display: flex;
	gap: 10px;
	margin-top: 15px;
}

.lot-card-content .lot-info-text img {
	height: fit-content;
}

/* Oculta el bloque global de errores en el checkout */
.woocommerce-checkout .woocommerce-NoticeGroup-checkout {
    display: none !important;
}

/* Accordion */
.woocommerce-billing-fields__field-wrapper {
    display: none !important;
}

.vehicle-details-fields {
    display: none !important;
}

.checkout-payment-side #payment {
    display: none !important;
}

.woocommerce-billing-fields_information .woocommerce-billing-fields__field-wrapper.is-open {
    display: block !important;
}

.checkout-vehicle-section-container .vehicle-details-fields.is-open {
    display: block !important;
}

.checkout-payment-side.is-open #payment {
    display: block !important;
}

/* Estilo base para los headers del acordeón */
.woocommerce-billing-fields_information h3,
.checkout-vehicle-section-container h3,
.payment-details-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

/* El Chevron (Flecha) */
.woocommerce-billing-fields_information h3::after,
.checkout-vehicle-section-container h3::after,
.payment-details-title::after {
    content: '';
	position: relative;
    right: 8px;
    width: 8px;
    height: 8px;
    border-right: 2px solid #555;
    border-bottom: 2px solid #555;
    transform: rotate(45deg);
    transition: transform 0.3s ease;
}

/* Cuando el acordeón está abierto */
h3.accordion-active::after,
.is-open .payment-details-title::after,
.accordion-active::after {
    transform: rotate(-135deg); 
    margin-top: 5px;
}

/* Order Received Page */
.woocommerce-order-received  main .wp-block-woocommerce-order-confirmation-status,
.woocommerce-order-received  main .wp-block-woocommerce-order-confirmation-summary,
.woocommerce-order-received  main .wp-block-woocommerce-order-confirmation-totals-wrapper {
	display: none;
}

.woocommerce-order-received  main {
	text-align: center;
}

.woocommerce-order-received main .woocommerce-thankyou-order-received,
.woocommerce-order-received main .page-header {
	display: none !important;
}

.woocommerce-order-received  main .parking-ticket-wrapper {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	width: 475px;
	margin-left: auto;
	margin-right: auto;
}

.woocommerce-order-received  main .parking-ticket-wrapper h3 {
	font-weight: 700;
}

.woocommerce-order-received  main .parking-ticket-wrapper h2,
.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info h3 {
	font-size: 22px;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_confirmation_message p {
	color: #2A2A2A;
	font-size: 14px;
	font-weight: 400;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_confirmation_message a,
.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_confirmation_message span {
	color: #2A2A2A;
	font-weight: 500;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info {
	background: #fff;
    border-radius: 6px;
    padding: 20px;
	margin-top: 26px;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info h3 {
	font-weight: 600;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info .parking-ticket-wrapper_ticket_info_id span {
	font-size: 14px;
	color: #434343;
	background: #E8E8E8;
	padding: 6px 12px;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info {
	border-radius: 6px;
	width: 100%;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info,
.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info .parking-ticket-wrapper_ticket_info_body,
.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info .ticket-meta-grid {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info .parking-ticket-wrapper_ticket_info_body .qr-section .scanner-label {
	color: #777777;
	font-size: 12px;
	font-weight: 600;
	margin-bottom: 0;
	text-transform: uppercase;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info .parking-ticket-wrapper_ticket_info_body .qr-section .scanner-id {
	display: inline-block;
	background-color: #F4F4F4;
	border: 1px dashed #C0C0C0;
	border-radius: 6px;
	color: #2A2A2A;
	font-size: 16px;
	font-weight: 500;
	margin-top: 10px;
	padding: 6px 12px;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info .parking-ticket-wrapper_ticket_info_body .qr-section .scan-instruction {
	color: #2A2A2A;
	font-size: 14px;
	font-weight: 500;
	margin-top: 10px;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info .parking-ticket-wrapper_ticket_info_body .qr-section img {
	margin-left: auto;
	margin-right: auto;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info .parking-ticket-wrapper_ticket_info_body .plate-section {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 16px;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info .parking-ticket-wrapper_ticket_info_body .plate-section p:first-child {
	color: #2A2A2A;
	font-size: 14px;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info .parking-ticket-wrapper_ticket_info_body .plate-section .plate-section_plate,
.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info .parking-ticket-wrapper_ticket_info_body .plate-section p {
	margin-bottom: 0;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info .parking-ticket-wrapper_ticket_info_body .plate-section > div p {
	color: #2A2A2A;
	font-size: 12px;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info .parking-ticket-wrapper_ticket_info_body .plate-section > div p:first-child {
	font-weight: 500;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info .parking-ticket-wrapper_ticket_info_body .plate-section .plate-section_plate {
	align-self: center;
	display: inline-block;
	width: fit-content;
	font-size: 40px;
	font-weight: 700;
	border: 2px solid #424242;
	border-radius: 6px;
	padding: 8px 20px;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info .parking-ticket-wrapper_meta-grid {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info .parking-ticket-wrapper_meta-grid > div {
	display: flex;
	gap: 6px;
	justify-content: center;
	color: #2A2A2A;
	font-size: 14px;
	font-weight: 500;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info .parking-ticket-wrapper_meta-grid > div p {
	margin-bottom: 0;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info .parking-ticket-wrapper_meta-grid > div img {
	align-self: center;
	height: 15px;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info .parking-ticket-wrapper_meta-grid > div span {
	color: #5F6368;
	font-weight: 400;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info .location-info > div {
	display: flex;
	gap: 12px;
	justify-content: center;
	font-size: 22px;
	font-weight: 600;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info .location-info > div img {
	align-self: center;
	height: 25px;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info .location-info > div h3 {
	margin: 0;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info .parking-ticket-wrapper_buttons {
	display: flex;
	justify-content: center;
	gap: 16px;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info .parking-ticket-wrapper_buttons .btn-action {
	display: inline-flex;
	gap: 10px;
	align-items: center;
    justify-content: center;
	color: #2A2A2A;
	border-radius: 6px;
	font-size: 14px;
	font-weight: 500;
	padding: 8px 16px;
    text-decoration: none;
    transition: 0.3s;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info .parking-ticket-wrapper_buttons .btn-action.btn-outline {
	border: 1px solid #F5C825;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info .parking-ticket-wrapper_buttons .btn-action.btn-solid {
	background-color: #F5C825;
}

.woocommerce-order-received  main .parking-ticket-wrapper.plate-ticket .parking-ticket-wrapper_ticket_info .parking-ticket-wrapper_buttons .btn-action.btn-solid {
	display: none;
}

.woocommerce-order-received  main .parking-ticket-wrapper.plate-ticket .parking-ticket-wrapper_ticket_info .parking-ticket-wrapper_buttons .btn-action.btn-outline {
	width: 100%;
	background-color: #F5C825;
}

.woocommerce-order-received  main .parking-ticket-wrapper .parking-ticket-wrapper_ticket_info .parking-ticket-wrapper_cancel a {
	font-size: 14px;
	font-weight: 500;
	color: #C63C3C;
}

.woocommerce-order-received  main .parking-ticket-wrapper.plate-ticket .parking-ticket-wrapper_ticket_info .parking-ticket-wrapper_cancel a {
	color: #2A2A2A;
	font-weight: 600;
}

.woocommerce-order-received  main .parking-ticket-wrapper.plate-ticket hr {
	display: none;
}

/* User Account */
.woocommerce .woocommerce-MyAccount-content .woocommerce-button {
	display: flex !important;
	margin: 0 !important;
}

/* Ajuste para móviles */
@media (max-width: 768px) {
    .custom-checkout-container {
        flex-direction: column;
    }
    .checkout-sidebar {
        position: static;
        width: 100%;
    }
}
