/*
Theme Name:     Embark - Child Theme
Theme URI:      https://demo.themovation.com/embark
Template:       embark
Author:         Themovation
Author URI:     http://themovation.com
Version:        1.0
Text Domain:    embark
Domain Path:    /languages/
*/


/* = Theme customization starts here
-------------------------------------------------------------- */

/* =========================================================
   VISITPANTHEON - PRODOTTI WOOCOMMERCE BOOKINGS
   ========================================================= */

.woocommerce div.product.vp-booking-product {
	clear: both;
	width: 100%;
}

/* Layout principale */
.woocommerce div.product.vp-booking-product .vp-booking-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(420px, 0.95fr);
	gap: 45px;
	align-items: start;
	width: 100%;
}

/* Reset delle colonne standard WooCommerce/Embark */
.woocommerce div.product.vp-booking-product .vp-booking-gallery,
.woocommerce div.product.vp-booking-product .vp-booking-summary {
	float: none !important;
	clear: none !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Reset specifico della galleria WooCommerce */
.woocommerce div.product.vp-booking-product
.vp-booking-gallery
.woocommerce-product-gallery {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

/* Immagine principale */
.woocommerce div.product.vp-booking-product
.woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	height: auto;
}

/* Colonna destra */
.woocommerce div.product.vp-booking-product .vp-booking-summary {
	min-width: 0;
}

.woocommerce div.product.vp-booking-product .vp-booking-summary-inner {
	position: sticky;
	top: 30px;
	width: 100%;
	min-width: 0;
	padding: 0;
	background: #fff;
}

/* Titolo */
.woocommerce div.product.vp-booking-product
.vp-booking-summary .product_title {
	margin-top: 0;
}

/* Form booking */
.woocommerce div.product.vp-booking-product
.vp-booking-summary form.cart,
.woocommerce div.product.vp-booking-product
.vp-booking-summary .wc-bookings-booking-form {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Calendario */
.woocommerce div.product.vp-booking-product
.wc-bookings-date-picker,
.woocommerce div.product.vp-booking-product
.wc-bookings-date-picker .ui-datepicker,
.woocommerce div.product.vp-booking-product
.wc-bookings-date-picker .ui-datepicker table {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

/* Evita che elementi interni allarghino la colonna */
.woocommerce div.product.vp-booking-product
.wc-bookings-booking-form *,
.woocommerce div.product.vp-booking-product
.wc-bookings-date-picker * {
	box-sizing: border-box;
}

/* Campi persone */
.woocommerce div.product.vp-booking-product
.wc-bookings-booking-form input,
.woocommerce div.product.vp-booking-product
.wc-bookings-booking-form select {
	max-width: 100%;
}

/* Meta prodotto */
.woocommerce div.product.vp-booking-product .product_meta {
	display: none;
}

/* Contenuti inferiori */
.woocommerce div.product.vp-booking-product .vp-booking-content {
	clear: both;
	width: 100%;
	margin-top: 60px;
}

/* =========================================================
   TABLET
   ========================================================= */

@media screen and (max-width: 1100px) {
	.woocommerce div.product.vp-booking-product .vp-booking-layout {
		grid-template-columns: minmax(0, 1fr) minmax(380px, 0.9fr);
		gap: 30px;
	}
}

/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 900px) {
	.woocommerce div.product.vp-booking-product .vp-booking-layout {
		display: block;
	}

	.woocommerce div.product.vp-booking-product .vp-booking-summary {
		margin-top: 30px !important;
	}

	.woocommerce div.product.vp-booking-product .vp-booking-summary-inner {
		position: static;
	}

	.woocommerce div.product.vp-booking-product .vp-booking-content {
		margin-top: 40px;
	}
}


.woocommerce div.product.vp-booking-product .vp-booking-summary-inner {
	position: sticky;
	top: 110px;
	padding: 28px;
	background: #fff;
	border: 1px solid #e4e4e4;
	box-shadow: 0 12px 35px rgba(0, 0, 0, 0.08);
}

.woocommerce div.product.vp-booking-product
.vp-booking-summary .product_title {
	font-size: 46px;
	line-height: 1.05;
	margin-bottom: 16px;
}

.woocommerce div.product.vp-booking-product
.vp-booking-summary .price {
	display: block;
	font-size: 27px;
	margin-bottom: 18px;
}

.woocommerce div.product.vp-booking-product
.vp-booking-summary .woocommerce-product-details__short-description {
	margin-bottom: 26px;
	line-height: 1.6;
}

.woocommerce div.product.vp-booking-product
.wc-bookings-booking-form {
	padding: 20px;
	border: 1px solid #ddd;
	background: #fafafa;
}

.woocommerce div.product.vp-booking-product
.wc-bookings-booking-form-button {
	width: 100%;
	padding: 15px 24px;
	background: #204a82;
	border: 0;
	color: #fff;
	font-size: 16px;
	text-transform: uppercase;
}

.woocommerce div.product.vp-booking-product
.wc-bookings-booking-form-button:hover {
	background: #16365f;
}

.woocommerce-checkout
.wc-block-checkout__sidebar.is-sticky,
.woocommerce-checkout
.wc-block-components-sidebar.is-sticky {
    display: block !important;
}

.woocommerce-error {
    padding-left: 48px !important;
}

.woocommerce-error::before {
    left: 0 !important;
}

.wc-bookings-date-picker .ui-datepicker td.bookable-range .ui-state-default {
	    background: #14305e !important
}

 .wc-bookings-date-picker .ui-datepicker td.ui-datepicker-current-day a  {
	  background: #14305e !important
 }

 .wc-bookings-date-picker .ui-datepicker td.bookable a {
    background-color: #1c437e !important; 
 }

 .wc-bookings-booking-form .block-picker li:nth-child(odd) a:hover, .wc-bookings-booking-form .block-picker li:nth-child(odd) a:focus,
 .wc-bookings-booking-form .block-picker li:nth-child(even) a:hover, .wc-bookings-booking-form .block-picker li:nth-child(even) a:focus {
	    background-color: #1c437e !important; 

 }

 /* custom form css */ 

 .vp-contact-form {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}

.vp-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 28px;
}

.vp-field {
    min-width: 0;
}

.vp-field-full {
    grid-column: 1 / -1;
}

.vp-contact-form label {
    display: block;
    margin: 0;
    color: #17375f;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
}

.vp-contact-form input[type="text"],
.vp-contact-form input[type="email"],
.vp-contact-form input[type="tel"],
.vp-contact-form input[type="date"],
.vp-contact-form input[type="number"],
.vp-contact-form select,
.vp-contact-form textarea {
    width: 100%;
    margin-top: 8px;
    padding: 13px 15px;
    box-sizing: border-box;

    color: #1f2f43;
    background: #fff;
    border: 1px solid #d8dde5;
    border-radius: 6px;

    font-family: inherit;
    font-size: 15px;
    line-height: 1.4;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

.vp-contact-form input[type="number"] {
    min-height: 48px;
}

.vp-contact-form select {
    min-height: 48px;
    cursor: pointer;
}

.vp-contact-form textarea {
    min-height: 150px;
    resize: vertical;
}

.vp-contact-form input:focus,
.vp-contact-form select:focus,
.vp-contact-form textarea:focus {
    outline: none;
    border-color: #bd8a3d;
    box-shadow: 0 0 0 3px rgba(189, 138, 61, .14);
}

.vp-optional {
    color: #7b8490;
    font-weight: 400;
}

.vp-form-submit {
    margin-top: 26px;
}

.vp-contact-form input[type="submit"] {
    min-width: 170px;
    padding: 14px 24px;

    color: #fff;
    background: #214f88;
    border: 0;
    border-radius: 5px;

    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;

    transition:
        background .2s ease,
        transform .2s ease;
}

.vp-contact-form input[type="submit"]:hover {
    background: #173d6d;
    transform: translateY(-1px);
}

.vp-form-privacy {
    margin-top: 14px;
    color: #6f7782;
    font-size: 12px;
    line-height: 1.5;
}

.vp-form-privacy a {
    color: #214f88;
    text-decoration: underline;
}

.vp-contact-form .wpcf7-not-valid-tip {
    margin-top: 5px;
    font-size: 12px;
}

.vp-contact-form .wpcf7-response-output {
    margin: 22px 0 0 !important;
    padding: 12px 15px !important;
    border-radius: 5px;
}

@media (max-width: 767px) {
    .vp-form-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .vp-field-full {
        grid-column: auto;
    }

    .vp-contact-form input[type="submit"] {
        width: 100%;
    }
}

 /* fine custom form css */ 
