/*
Theme Name: Impreza Child
Template: Impreza
Version: 1.0
Author:	UpSolution
Theme URI: http://impreza.us-themes.com/
Author URI: http://us-themes.com/
*/

/*Add your own styles here:*/

/* ================================
   Winter Magic Village - Ticket Wizard
   Shortcode [wmv_tickets]
   ================================ */
.wmv{--c1:#3E57C1;--c2:#151D3F;--brand:#CF0010;--muted:#e6e7ea;--muted2:#f3f4f6;--ok:#004931}
.wmv *{box-sizing:border-box}
.wmv__h3{font-size: 1.6rem;font-family: 'Poppins';text-transform: none;letter-spacing: 0;color: var(--color-custom-blue);}
.wmv__steps{max-width:980px;margin:0 auto;padding:8px}
.wmv__step{display:none}
.wmv__step.is-active{display:block}
.wmv__stepHead{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px;justify-content:center}
.wmv__crumb{font-size:80%;border:1px solid var(--muted);padding:6px 25px;border-radius:999px;color:var(--c2);}
.wmv__crumb.is-active{border-color:var(--c1);color:var(--c1);font-weight:500}
.wmv__crumb.is-checked{border-color:var(--ok);color:var(--ok);font-weight:500;cursor: pointer;}
.wmv__crumb.is-checked:hover{background:var(--ok);color:#FFF;}
.wmv__grid{display:grid;grid-template-columns:1fr 320px;gap:18px}
@media(max-width:880px){.wmv__grid{grid-template-columns:1fr}}
.wmv__calendar{border:1px solid var(--muted);border-radius:10px;padding:12px;background:#fff}
.wmv__calHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.wmv__calTitle{font-weight:400;text-transform:uppercase;color:var(--c2)}
.wmv__calNav{border:0;color:var(--muted);background:#fff;padding:6px 10px;cursor:pointer;font-size:40px}
.wmv__calNav:hover{color:var(--c2)}
.wmv__calWeek{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:8px 0 6px;color:var(--c2);font-size:12px;text-align:center}
.wmv__calBody{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.wmv__day{aspect-ratio:1/1;border:1px solid var(--muted);border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#fff}
.wmv__day[aria-disabled="true"]{opacity:.35;cursor:not-allowed}
.wmv__day.is-today{border-style:dashed}
.wmv__day.is-selected{border-color:var(--brand);box-shadow:0 0 0 2px rgba(10,37,64,.12) inset;font-weight:700}
.wmv__hours{border:1px solid var(--muted);border-radius:10px;padding:12px;background:#fff}
.wmv__hoursTitle{font-weight:400;text-transform:uppercase;color:var(--c2);margin:8px 0;text-align:center}
.wmv__hoursBody{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.wmv__hour{border:1px solid var(--muted);border-radius:10px;padding:8px 10px;text-align:center;cursor:pointer;background:#fff}
.wmv__hour[aria-disabled="true"]{opacity:.35;cursor:not-allowed}
.wmv__hour.is-selected{border-color:var(--brand);box-shadow:0 0 0 2px rgba(10,37,64,.12) inset;font-weight:700}
.wmv__footer{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.wmv__btn{border:1px solid var(--muted);background:#fff;border-radius:999px;padding:6px 14px;cursor:pointer;font-weight:500;font-size: 0.9rem;text-transform: uppercase;min-width:150px}
.wmv__btn[disabled]{opacity:.4;cursor:not-allowed}
.wmv__btn--primary{background:var(--brand);color:#fff;border-color:var(--brand)}
.wmv__list{display:flex;flex-direction:column;gap:10px}
.wmv__row{border:1px solid var(--muted);border-radius:14px;padding:12px;background:#fff;display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center}
.wmv__meta{color:var(--c2);font-size: 90%;max-width: 500px;line-height: 1.4;margin-top: 6px;}
.wmv__price{font-weight:500}
.wmv__qty{display:flex;align-items:center;gap:8px}
.wmv__qtyBtn{border:1px solid var(--muted);border-radius:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#fff}
.wmv__qtyVal{min-width:24px;text-align:center}
.wmv__tot,.wmv__grand{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:10px 12px;border:1px solid var(--muted);border-radius:12px;background:var(--muted2)}
.wmv__summary{border:1px solid var(--muted);border-radius:16px;padding:12px;background:#fff}
.wmv__sumRow{display:flex;justify-content:space-between;padding:6px 0;border-top:1px dashed var(--muted)}
.wmv__sumRow:first-child{border-top:none}
.wmv__note{margin-top:10px;color:var(--c2);font-size:12px}
.wmv__note--info {color:var(--c1);font-size: 13px;margin-bottom: 10px;text-align:right;line-height:1.3}
.wmv__note--warn {background:#FFF;color:var(--color-content-text);border: 1px solid var(--brand);border-radius: 8px;padding: 10px 14px;font-size:95%;line-height: 1.5;margin-top:20px;text-align:center}
.wmv__note--warn strong {color:var(--c2);}
@media screen and (max-width:992px){
	.wmv__stepHead {display:none!important;gap: 0px;flex-wrap: wrap;margin-bottom:15px;justify-content: flex-start;}
	.wmv__crumb {font-size: 80%;border: 0;padding: 4px 10px;border-radius: 0;line-height: 1.3;}
	.wmv__steps {padding:0}
	.wmv__row {display: flex;gap: 5px;align-items: center;flex-wrap: wrap;justify-content: space-between;}
	.wmv__desc{width:100%}
	.wmv__meta {font-size: 80%;margin-top: 0;}
	
}

/* ================================
   Winter Magic Village - Bridge WooCommerce
   ================================ */
.wc-block-components-product-details__value {
  white-space: pre-line!important;   /* rispetta \n come a capo */
  display: block!important;
}
.wc-block-components-product-details__name{
	font-weight:500
}
.wmv-change-box {
	margin-top:2rem;
	padding: 1em;
	border: 1px solid var(--color-custom-blue);
	border-radius: 5px;
	background: #f5f6ff;
	text-align: center;
	font-size: 0.9rem;
	line-height: 1.4;
}
.wmv-delete-box {
	margin-top: 3px;
	text-align: right;
	font-size: 90%;
	border: 0 solid var(--color-custom-red);
	border-radius: 5px;
	padding: 6px 0;
}
.wmv-change-box a,
.wmv-delete-box a {
	color: var(--color-custom-blue);
	font-weight: 600; text-decoration:underline
}
.wmv-delete-box a{
	font-weight:400;text-decoration:none;
}
.wmv-change-box a:hover,
.wmv-delete-box a:hover{
	color:var(--color-custom-red)!important;
}

.woocommerce-checkout h3 {
	font-size: 1.4rem;
	font-family: var(--font-family);
	text-transform: none;
	font-weight: 500;
	margin-bottom:8px
}
.woocommerce-checkout .form-row label {
	font-weight: 400;
	font-size: 80%;
	margin: 0;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: space-between;
	align-items: flex-start;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > p{
	flex-basis:48%;
	margin:0!important;
	padding:0!important;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_address_1_field{
	width: 100%;
	flex-basis: 100%;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_user_type_field{}
.woocommerce-checkout .checkout-inline-error-message {
	font-size: 70%;
	color: var(--color-custom-red);
	line-height:1.3
}

/*nel checkout gli errori di pagamento mi servono:*/
.wwwwoocommerce-checkout .woocommerce-error,
.woocommerce-checkout .thwcfe-required-error{
	display:none!important
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_user_type_field .woocommerce-input-wrapper {
	padding-top: 8px;
	display: block;
}
.woocommerce-checkout .woocommerce-checkout-review-order {
	background: none !important;
	border: 1px solid var(--color-content-border);
	border-radius: 10px;
}
.woocommerce-checkout .woocommerce-checkout-review-order .product-name .product-quantity,
.woocommerce-checkout .woocommerce-checkout-review-order .product-total .woocommerce-Price-amount.amount,
.woocommerce-checkout .woocommerce-checkout-review-order .cart-subtotal{
	display: none;
}
.woocommerce-checkout .woocommerce-checkout-review-order .product-name .variation {
	font-size: .9rem;
	line-height: 1.5;
	margin: 10px 0px;
	border: 1px #ccc dotted;
	border-width: 1px 0;
	padding: 10px;
}
.woocommerce-checkout .woocommerce-checkout-review-order .product-name .variation dt,
.woocommerce-checkout .woocommerce-checkout-review-order .product-name .variation dd{
	display:block;
}
.woocommerce-checkout .woocommerce-checkout-review-order .product-name .variation dt {
	width: 22%;
	float: left;
	clear:right
}
.woocommerce-checkout .woocommerce-checkout-review-order .product-name .variation dd{
	padding-left:22%
}
.woocommerce .variation p {
	font-weight: 500;
}
.woocommerce-checkout .wc_payment_methods.payment_methods.methods {
	padding-top: 1rem;
	border-top: 1px solid #ddd;
}
.woocommerce-checkout .wc_payment_methods li > label {
	font-weight: 500;
}
.woocommerce-checkout .woocommerce-checkout-payment .payment_box {
	font-size: .9em;
	line-height: 1.5;
	padding: 10px;
	margin: 0 0 1rem;
	width: 100%;
	background: var(--color-content-bg-alt);
	border-radius: 5px;
}
.woocommerce-checkout .woocommerce-terms-and-conditions{
	max-height: 200px;
	background: var(--color-content-bg-alt);
	border-radius: 5px;
	padding: 10px;
	overflow: hidden;
	overflow-y: auto;
	font-size: 80%;
	line-height:1.5;
}
.woocommerce-checkout .woocommerce-terms-and-conditions .wp-block-heading {
	font-size: 1.2rem;
	margin: 0 0 5px;
	padding: 0;
}
.woocommerce-checkout .woocommerce-terms-and-conditions p{
	padding:0; margin:0 0 5px
}
.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text {
	font-weight: 400;
	line-height: 1.3;
}
.woocommerce-checkout .woocommerce-checkout-payment button.button {
	width: 100%;
	height: 50px;
	font-size: 1.1rem;
}
.woocommerce-form-coupon-toggle .woocommerce-info {
    padding: 0 0 6px;
    background: none;
    margin: 0 0 10px;
    border-radius: 0;
    font-weight: 500;
    border-bottom: 1px solid var(--color-custom-light-blue);
}
.woocommerce-form-coupon-toggle .woocommerce-info a.showcoupon:hover{
	color: inherit !important;
  	font-weight: 500;
}
.woocommerce .checkout_coupon.woocommerce-form-coupon{
	padding: 15px;
  	margin: 0 0 15px;
}
.woocommerce .checkout_coupon.woocommerce-form-coupon .form-row{ 
	margin:0;
}
.woocommerce-form-login-toggle .woocommerce-info {
    background: none;
    padding: 0 0 6px;
    margin: 0 0 10px;
    font-weight: 500;
	border-bottom: 1px solid var(--color-custom-light-blue);
}

.wmv-expire-banner {
    border: 1px solid var(--color-custom-green);
    background: none;
    padding: 5px 10px;
    border-radius: 5px;
    margin: 0 0 20px;
    font-weight: 400;
}
.wmv-expire-banner .wmv-time {
    font-size: 1.2rem;
    display: inline-block;
    padding: 0px 8px;
    background: #eee;
    border-radius: 8px;
    margin-left: 6px;
    min-width: 70px;
    text-align: center;
	color:var(--color-custom-green)
}
.wmv-expire-sub{ font-size:.9rem; color:var(--color-custom-green);font-weight: 500; }

@media screen and (max-width:768px){
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > p {flex-basis: 100%;}
	.woocommerce-checkout #customer_details{margin-bottom:2rem}
	.woocommerce-checkout .woocommerce-checkout-review-order{margin:1rem 0}
	.woocommerce-checkout .woocommerce-checkout-review-order .cart_item{display:block;width:100%}
	.woocommerce-checkout .woocommerce-checkout-review-order-table tbody,
	.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot{display: block;width: 100%;}
	.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total {display: flex;flex-direction: row;justify-content: space-between;
		align-items: center;width: 100%;}
	.woocommerce-checkout .woocommerce-checkout-review-order .product-name .variation dt {width: 20%;}
	.woocommerce-checkout .woocommerce-checkout-review-order .product-name .variation dd{padding-left:20%;}
}

.woocommerce-checkout .woocommerce-checkout-review-order .product-name .variation dt.variation-GoldentTicket,
.woocommerce-checkout .woocommerce-checkout-review-order .product-name .variation dd.variation-GoldentTicket{
	width: 100%; padding-left:0;
}


/*NUOVO STILE TICKET GOLD*/
.wmv__h3_flex {
  display: flex;             /* 1. Attiva la modalità flexbox */
  justify-content: space-between; /* 2. Spinge i figli ai lati opposti (sinistra/destra) */
  align-items: center;         /* 3. Centra i figli verticalmente */
  width: 100%; 
}
.wmv__golden {
	background: linear-gradient(145deg, #ffd700, #daa520);
	color: var(--color-content-text);
	border: 1px solid #b8860b;
	border-radius: 999px;
	padding: 12px 30px;
	font-weight: 500;
	font-size: 1rem;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	cursor: pointer;
	transition: all 0.3s ease;
}
.wmv__golden:hover {
 	background: linear-gradient(145deg, #ffe033, #e7b033);
    border-color: #a0740a;
  	box-shadow: 0 6px 8px rgba(0, 0, 0, 0.15);
  	transform: translateY(-2px);
}
.wmv__golden:active {
  transform: translateY(1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.wmv__golden_ticket_wrapper .wmv__row.wmv__golden_div {
	border-color: #e9ba13;
}
/* Stile per il blocco dettagli (campi, totale, conferma) */
.wmv__golden_details {
	background-color: #f9f9f9;
	border: 1px solid #e9ba13;
	padding: 20px;
	border-radius: 10px;
	margin-top: 4px;
	z-index: 1;
	position: relative;
}
.wmv__ticket_person {
	border-bottom: 1px solid var(--color-content-border);
	padding-bottom: 10px;
	margin-bottom: 10px;
}
.wmv__ticket_person h4 {
	margin-top: 0;
	margin-bottom: 8px;
	font-size: 1rem;
	font-family: inherit;
}
.wmv__input_row {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.wmv__input_row input[type="text"] {
	width: 100%;
	padding: 0px 12px;
	border: 1px solid #ccc;
	border-radius: 4px;
	box-sizing: border-box;
}
.wmv__golden_total {
	font-size: 1.2rem;
	font-weight: 500;
	color: var(--color-content-text);
	text-align: right;
	padding: 0;
	margin: 15px 0;
	font-family: inherit;
}

/* Stile per il pulsante di conferma */
.wmv__btn--danger {
  	background: linear-gradient(145deg, #ffd700, #daa520);
	color: var(--color-content-text);
	border: 1px solid #b8860b;
	border-radius: 999px;
	padding: 12px 30px;
	font-weight: 500;
	font-size: 1rem;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	width:100%;
	cursor: pointer;
	transition: all 0.3s ease;
}
.wmv__btn--danger:hover {
  	background: linear-gradient(145deg, #ffe033, #e7b033);
    border-color: #a0740a;
  	box-shadow: 0 6px 8px rgba(0, 0, 0, 0.15);
  	transform: translateY(-2px);
}
@media screen and (min-width: 768px) {
  .wmv__input_row { flex-direction: row; }
  .wmv__input_row input[type="text"] { flex: 1; }
}
