/* VisuraImmobiliare.com - Checkout/Carrello V4.12 */
.vi-checkout-main .vi-page-shell,
.vi-cart-main .vi-page-shell{max-width:1240px}
.vi-checkout-hero{padding-bottom:18px}
.vi-checkout-intro,.vi-cart-page .vi-page-hero>p:last-child{max-width:760px;margin:10px 0 0;color:#667085;font-size:16px;line-height:1.65}
.vi-checkout-content,.vi-cart-content{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.vi-checkout-content>.woocommerce,.vi-cart-content>.woocommerce{width:100%}
.vi-checkout-steps{display:flex;align-items:center;gap:14px;margin:0 0 28px;padding:14px 18px;border:1px solid #e5e9ef;border-radius:14px;background:#fff}
.vi-checkout-steps span{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#667085;white-space:nowrap}
.vi-checkout-steps span b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#eef2f6;color:#344054;font-size:12px}
.vi-checkout-steps span.is-active{color:#14213d}.vi-checkout-steps span.is-active b{background:#14213d;color:#fff}
.vi-checkout-steps i{height:1px;flex:1;background:#e5e9ef}
.vi-checkout-reassurance{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0 0}
.vi-checkout-reassurance span{padding:13px 15px;border:1px solid #e5e9ef;border-radius:12px;background:#fff;color:#475467;font-size:13px;text-align:center}

/* WooCommerce classico: nessun override PHP interno, solo layout/stile. */
.vi-checkout-page .woocommerce-form-coupon-toggle,.vi-checkout-page .woocommerce-form-login-toggle{margin-bottom:14px}
.vi-checkout-page .woocommerce-info,.vi-checkout-page .woocommerce-message,.vi-checkout-page .woocommerce-error,
.vi-cart-page .woocommerce-info,.vi-cart-page .woocommerce-message,.vi-cart-page .woocommerce-error{margin:0 0 18px!important;padding:15px 18px 15px 46px!important;border:1px solid #dfe5ec!important;border-top:3px solid #14213d!important;border-radius:10px;background:#fff;color:#344054;box-shadow:none}
.vi-checkout-page form.checkout.woocommerce-checkout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.75fr);column-gap:34px;row-gap:0;align-items:start}
.vi-checkout-page form.checkout>#customer_details{grid-column:1;grid-row:1 / span 4;width:100%;margin:0}
.vi-checkout-page form.checkout>#order_review_heading{grid-column:2;grid-row:1;margin:0;padding:20px 22px 8px;background:#fff;border:1px solid #e2e7ed;border-bottom:0;border-radius:16px 16px 0 0;font-size:19px;color:#14213d}
.vi-checkout-page form.checkout>#order_review{grid-column:2;grid-row:2;width:100%;margin:0;padding:6px 22px 22px;background:#fff;border:1px solid #e2e7ed;border-top:0;border-radius:0 0 16px 16px;box-shadow:0 12px 30px rgba(16,24,40,.07);position:sticky;top:105px}
.vi-checkout-page .woocommerce-billing-fields,.vi-checkout-page .woocommerce-shipping-fields,.vi-checkout-page .woocommerce-additional-fields{padding:24px;border:1px solid #e2e7ed;border-radius:16px;background:#fff;margin:0 0 22px;box-shadow:0 8px 24px rgba(16,24,40,.04)}
.vi-checkout-page .woocommerce-billing-fields h3,.vi-checkout-page .woocommerce-shipping-fields h3,.vi-checkout-page .woocommerce-additional-fields h3{margin:0 0 18px;color:#14213d;font-size:20px;font-weight:750}
.vi-checkout-page .woocommerce form .form-row{margin:0 0 15px;padding:0}
.vi-checkout-page .woocommerce form .form-row label{display:block;margin:0 0 6px;color:#344054;font-size:13px;font-weight:700;line-height:1.4}
.vi-checkout-page .woocommerce form .form-row input.input-text,.vi-checkout-page .woocommerce form .form-row textarea,.vi-checkout-page .woocommerce form .form-row select,
.vi-checkout-page .select2-container .select2-selection--single{min-height:46px;border:1px solid #d0d5dd!important;border-radius:9px!important;background:#fff!important;box-shadow:none!important;color:#101828}
.vi-checkout-page .woocommerce form .form-row input.input-text,.vi-checkout-page .woocommerce form .form-row textarea,.vi-checkout-page .woocommerce form .form-row select{padding:10px 12px!important}
.vi-checkout-page .select2-container .select2-selection--single .select2-selection__rendered{line-height:44px!important;padding-left:12px}.vi-checkout-page .select2-container .select2-selection--single .select2-selection__arrow{height:44px!important}
.vi-checkout-page .woocommerce form .form-row input:focus,.vi-checkout-page .woocommerce form .form-row textarea:focus{border-color:#f59e0b!important;outline:0;box-shadow:0 0 0 3px rgba(245,158,11,.12)!important}
.vi-checkout-page #order_review table.shop_table{border:0;margin:0 0 18px;border-collapse:collapse}
.vi-checkout-page #order_review table.shop_table th,.vi-checkout-page #order_review table.shop_table td{padding:13px 0;border-top:1px solid #eaecf0;color:#344054;font-size:14px}
.vi-checkout-page #order_review table.shop_table thead th{border-top:0;color:#667085;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.vi-checkout-page #order_review table.shop_table td.product-total,.vi-checkout-page #order_review table.shop_table th.product-total,.vi-checkout-page #order_review table.shop_table tfoot td{text-align:right}
.vi-checkout-page #order_review table.shop_table .order-total th,.vi-checkout-page #order_review table.shop_table .order-total td{font-size:18px;color:#14213d;font-weight:800}
.vi-checkout-page #payment{background:#f8fafc!important;border-radius:12px!important}
.vi-checkout-page #payment ul.payment_methods{padding:16px!important;border-bottom:1px solid #e5e7eb!important}
.vi-checkout-page #payment div.payment_box{background:#fff!important;color:#475467!important;border:1px solid #e5e7eb;border-radius:9px;font-size:13px}
.vi-checkout-page #payment div.payment_box:before{display:none}
.vi-checkout-page #payment .place-order{padding:16px!important;margin:0!important}
.vi-checkout-page #place_order,.vi-checkout-page .woocommerce #respond input#submit.alt,.vi-checkout-page .woocommerce a.button.alt,.vi-checkout-page .woocommerce button.button.alt,.vi-checkout-page .woocommerce input.button.alt{width:100%!important;min-height:54px!important;border:0!important;border-radius:10px!important;background:#f59e0b!important;color:#111827!important;font-size:16px!important;font-weight:800!important;text-transform:none!important;box-shadow:none!important}
.vi-checkout-page #place_order:hover,.vi-checkout-page .woocommerce button.button.alt:hover{filter:brightness(.96)}
.vi-checkout-page .woocommerce-privacy-policy-text,.vi-checkout-page .woocommerce-terms-and-conditions-wrapper{font-size:12px;line-height:1.55;color:#667085}
.vi-checkout-page .woocommerce-form-coupon,.vi-checkout-page .woocommerce-form-login{padding:18px!important;border:1px solid #e2e7ed!important;border-radius:12px!important;background:#fff}

/* Checkout Block WooCommerce, nel caso la pagina venga convertita ai blocchi. */
.vi-checkout-page .wc-block-checkout{max-width:none!important;padding:0!important}
.vi-checkout-page .wc-block-checkout__main{padding-right:32px!important}
.vi-checkout-page .wc-block-checkout__sidebar{border:1px solid #e2e7ed;border-radius:16px;background:#fff;padding:22px!important;box-shadow:0 12px 30px rgba(16,24,40,.07)}
.vi-checkout-page .wc-block-components-text-input input,.vi-checkout-page .wc-block-components-combobox .wc-block-components-combobox-control input{border-radius:9px!important}
.vi-checkout-page .wc-block-components-checkout-place-order-button{min-height:54px;border:0!important;border-radius:10px!important;background:#f59e0b!important;color:#111827!important;font-weight:800!important}

/* Carrello: normalmente visibile solo quando vuoto. */
.vi-cart-page .cart-empty.woocommerce-info{text-align:left}
.vi-cart-page .return-to-shop{margin:18px 0 0}
.vi-cart-page .return-to-shop .button{display:inline-flex!important;align-items:center;justify-content:center;min-height:48px;padding:0 22px!important;border-radius:9px!important;background:#f59e0b!important;color:#111827!important;font-weight:800!important}
.vi-cart-page table.shop_table{border:1px solid #e2e7ed!important;border-radius:14px!important;background:#fff!important}
.vi-cart-page .cart-collaterals{margin-top:24px}

@media(max-width:980px){
 .vi-checkout-page form.checkout.woocommerce-checkout{display:block}
 .vi-checkout-page form.checkout>#order_review_heading{margin-top:24px}
 .vi-checkout-page form.checkout>#order_review{position:static}
 .vi-checkout-reassurance{grid-template-columns:1fr}
 .vi-checkout-page .wc-block-checkout__main{padding-right:0!important}
}
@media(max-width:700px){
 .vi-checkout-steps{gap:7px;padding:12px}.vi-checkout-steps span{font-size:11px}.vi-checkout-steps span b{width:22px;height:22px}.vi-checkout-steps i{min-width:10px}
 .vi-checkout-page .woocommerce-billing-fields,.vi-checkout-page .woocommerce-shipping-fields,.vi-checkout-page .woocommerce-additional-fields{padding:17px}
 .vi-checkout-page form.checkout>#order_review_heading,.vi-checkout-page form.checkout>#order_review{padding-left:17px;padding-right:17px}
}

/* V4.12.1 - checkout realmente a due colonne + riepilogo opzioni più leggibile */

/* Colonna sinistra: fatturazione e informazioni aggiuntive una sotto l'altra. */
.vi-checkout-page #customer_details.col2-set{
    display:block!important;
    width:100%!important;
}
.vi-checkout-page #customer_details.col2-set:before,
.vi-checkout-page #customer_details.col2-set:after{display:none!important;content:none!important}
.vi-checkout-page #customer_details .col-1,
.vi-checkout-page #customer_details .col-2{
    float:none!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
}
.vi-checkout-page #customer_details .col-2{margin-top:0!important}
.vi-checkout-page .woocommerce-additional-fields{margin-top:0!important}

/* Due sole colonne principali: dati a sinistra, ordine a destra. */
.vi-checkout-page form.checkout.woocommerce-checkout{
    grid-template-columns:minmax(0,1.45fr) minmax(390px,.85fr);
    column-gap:38px;
}

/* Riepilogo ordine: meno aspetto da tabella amministrativa. */
.vi-checkout-page #order_review table.shop_table{
    table-layout:auto!important;
    border-collapse:separate!important;
    border-spacing:0!important;
}
.vi-checkout-page #order_review table.shop_table th,
.vi-checkout-page #order_review table.shop_table td{
    border-left:0!important;
    border-right:0!important;
    vertical-align:top;
}
.vi-checkout-page #order_review table.shop_table th.product-total,
.vi-checkout-page #order_review table.shop_table td.product-total{
    width:100px!important;
    min-width:100px!important;
    padding-left:16px!important;
}
.vi-checkout-page #order_review td.product-name{
    color:#344054!important;
    line-height:1.45!important;
    padding-right:8px!important;
}
.vi-checkout-page #order_review td.product-name > a:not(.tm-cart-edit-options),
.vi-checkout-page #order_review td.product-name .product-name{
    color:#0b2f6b!important;
    font-weight:800!important;
    text-decoration:none!important;
}
.vi-checkout-page #order_review .tm-cart-edit-options{
    display:inline-flex!important;
    align-items:center;
    width:auto!important;
    margin:7px 0 10px!important;
    padding:5px 9px!important;
    border:1px solid #d8e2ef!important;
    border-radius:999px!important;
    background:#f8fbff!important;
    color:#1267c7!important;
    font-size:11px!important;
    line-height:1.2!important;
    font-weight:800!important;
    text-decoration:none!important;
}
.vi-checkout-page #order_review .tm-cart-edit-options:hover{
    border-color:#f59e0b!important;
    color:#0b2f6b!important;
    background:#fffaf0!important;
}

/* ThemeComplete / Extra Product Options: trasformazione in righe morbide e compatte. */
.vi-checkout-page #order_review .tc-epo-metadata,
.vi-checkout-page #order_review .tm-epo-cart-option,
.vi-checkout-page #order_review .tm-extra-product-options-cart,
.vi-checkout-page #order_review dl.variation{
    margin:8px 0 0!important;
    padding:0!important;
    color:#475467!important;
    font-size:12px!important;
}
.vi-checkout-page #order_review .tc-epo-metadata-row,
.vi-checkout-page #order_review .tm-epo-cart-option,
.vi-checkout-page #order_review dl.variation > dt,
.vi-checkout-page #order_review dl.variation > dd{
    margin:0!important;
}
.vi-checkout-page #order_review .tc-epo-metadata-row{
    display:grid!important;
    grid-template-columns:minmax(82px,.75fr) minmax(0,1.25fr)!important;
    gap:8px!important;
    align-items:start!important;
    padding:6px 8px!important;
    margin:4px 0!important;
    border:1px solid #edf1f5!important;
    border-radius:8px!important;
    background:#f8fafc!important;
}
.vi-checkout-page #order_review .tc-epo-metadata-label,
.vi-checkout-page #order_review .tm-epo-cart-option .tm-epo-cart-option-label,
.vi-checkout-page #order_review dl.variation dt{
    color:#667085!important;
    font-size:11px!important;
    font-weight:800!important;
    line-height:1.35!important;
}
.vi-checkout-page #order_review .tc-epo-metadata-value,
.vi-checkout-page #order_review .tm-epo-cart-option .tm-epo-cart-option-value,
.vi-checkout-page #order_review dl.variation dd{
    color:#1d2939!important;
    font-size:12px!important;
    font-weight:650!important;
    line-height:1.35!important;
}

/* Woo usa spesso dl.variation: ricreiamo coppie etichetta/valore senza float. */
.vi-checkout-page #order_review dl.variation{
    display:grid!important;
    grid-template-columns:minmax(92px,.8fr) minmax(0,1.2fr)!important;
    gap:0 8px!important;
}
.vi-checkout-page #order_review dl.variation dt,
.vi-checkout-page #order_review dl.variation dd{
    float:none!important;
    width:auto!important;
    padding:6px 8px!important;
    border-top:1px solid #edf1f5!important;
    background:#f8fafc!important;
}
.vi-checkout-page #order_review dl.variation dt:first-of-type,
.vi-checkout-page #order_review dl.variation dt:first-of-type + dd{
    border-top:0!important;
}
.vi-checkout-page #order_review dl.variation dt{border-radius:7px 0 0 7px!important}
.vi-checkout-page #order_review dl.variation dd{border-radius:0 7px 7px 0!important}
.vi-checkout-page #order_review dl.variation p{margin:0!important;padding:0!important}

/* Fallback: se il plugin stampa righe semplici, manteniamo aria e leggibilità. */
.vi-checkout-page #order_review .product-name br{line-height:1.7}
.vi-checkout-page #order_review .product-name small{
    display:inline-block;
    margin-top:3px;
    color:#667085;
}

@media(max-width:1100px){
 .vi-checkout-page form.checkout.woocommerce-checkout{
   grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);
   column-gap:24px;
 }
}
@media(max-width:980px){
 .vi-checkout-page #customer_details .col-1,
 .vi-checkout-page #customer_details .col-2{width:100%!important}
 .vi-checkout-page #order_review table.shop_table th.product-total,
 .vi-checkout-page #order_review table.shop_table td.product-total{width:88px!important;min-width:88px!important}
}

/* V4.12.2 - checkout compatto e orientato alla conversione */
.vi-checkout-main{
    padding-top:18px!important;
}
.vi-checkout-page .vi-checkout-hero.is-compact{
    margin:0!important;
    padding:0 0 18px!important;
    min-height:0!important;
}
.vi-checkout-page .vi-checkout-hero.is-compact h1{
    margin:0!important;
    font-size:clamp(32px,3.2vw,48px)!important;
    line-height:1.05!important;
    letter-spacing:-.02em;
}
.vi-checkout-page .vi-checkout-hero.is-compact .vi-checkout-intro{
    margin:7px 0 0!important;
    max-width:660px!important;
    font-size:15px!important;
    line-height:1.5!important;
}
.vi-checkout-page .vi-checkout-steps{
    display:none!important;
}
.vi-checkout-page .vi-checkout-content{
    margin-top:0!important;
}
.vi-checkout-page .vi-checkout-content > .woocommerce{
    margin-top:0!important;
}

@media(max-width:700px){
    .vi-checkout-main{padding-top:12px!important}
    .vi-checkout-page .vi-checkout-hero.is-compact{padding-bottom:14px!important}
    .vi-checkout-page .vi-checkout-hero.is-compact h1{font-size:32px!important}
    .vi-checkout-page .vi-checkout-hero.is-compact .vi-checkout-intro{font-size:14px!important}
}
