/* fluXtore: design del checkout dei funnel. Tutto si governa con le variabili --fxc-*. */
.fxc{--fxc-accent:#4361ee;--fxc-accent-hover:#3451d1;--fxc-text:#1a1a2e;--fxc-muted:#64748b;--fxc-label:#334155;
  --fxc-card-bg:#fff;--fxc-card-border:#e2e8f0;--fxc-radius:14px;--fxc-gap:24px;--fxc-pad:26px;
  --fxc-field-bg:#fff;--fxc-field-border:#cbd5e1;--fxc-field-text:#1a1a2e;--fxc-field-focus:var(--fxc-accent);--fxc-field-radius:10px;--fxc-field-pad:12px 14px;
  --fxc-btn-bg:var(--fxc-accent);--fxc-btn-text:#fff;--fxc-btn-hover:var(--fxc-accent-hover);--fxc-btn-radius:10px;
  color:var(--fxc-text);font-family:inherit;font-size:16px;line-height:1.5}
.fxc.fxc *,.fxc.fxc *::before,.fxc.fxc *::after{box-sizing:border-box}

/* Struttura (template fluXtore): #customer_details contiene la colonna dati e la colonna riepilogo */
.fxc.fxc form.checkout{display:block}
.fxc.fxc .woocommerce-checkout-steps{display:block;width:100%;float:none}
.fxc.fxc #customer_details{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--fxc-gap);align-items:start;background:transparent;border:0;padding:0;float:none;width:auto;max-width:none;margin:0}
.fxc.fxc.fxc-one #customer_details{grid-template-columns:minmax(0,1fr)}
@media (max-width:860px){.fxc.fxc #customer_details{grid-template-columns:minmax(0,1fr)}}
.fxc.fxc .woocommerce-checkout-steps__column{float:none;width:100%;max-width:100%;min-width:0;padding:0;margin:0}
.fxc.fxc .woocommerce-checkout-steps__column--billing{background:var(--fxc-card-bg);border:1px solid var(--fxc-card-border);border-radius:var(--fxc-radius);padding:var(--fxc-pad)}
.fxc.fxc .woocommerce-checkout-steps__column--order{display:flex;flex-direction:column;gap:16px}
.fxc.fxc #order_review_heading{margin:0;font-size:1.3em;font-weight:800;color:var(--fxc-text)}
.fxc.fxc #order_review{background:var(--fxc-card-bg);border:1px solid var(--fxc-card-border);border-radius:var(--fxc-radius);padding:var(--fxc-pad);float:none;width:auto;margin:0}
.fxc.fxc h3{margin:0 0 16px;font-size:1.2em;font-weight:800;color:var(--fxc-text)}

/* Campi */
.fxc.fxc .woocommerce-billing-fields__field-wrapper,.fxc.fxc .woocommerce-shipping-fields__field-wrapper,.fxc.fxc .woocommerce-additional-fields__field-wrapper{display:flex;flex-wrap:wrap;gap:0 16px}
.fxc.fxc .form-row{flex:1 1 100%;float:none;width:100%;margin:0 0 16px;padding:0}
.fxc.fxc .form-row-first,.fxc.fxc .form-row-last{flex:1 1 calc(50% - 8px);width:auto}
.fxc.fxc label{display:block;margin:0 0 6px;font-weight:600;font-size:.9em;color:var(--fxc-label)}
.fxc.fxc label .required{color:#dc2626;text-decoration:none}
.fxc.fxc label .optional{color:var(--fxc-muted);font-weight:400}
.fxc.fxc input.input-text,.fxc.fxc textarea,.fxc.fxc select,.fxc.fxc .select2-container .select2-selection--single{width:100%;background:var(--fxc-field-bg);border:1.5px solid var(--fxc-field-border);border-radius:var(--fxc-field-radius);padding:var(--fxc-field-pad);color:var(--fxc-field-text);font:inherit;box-shadow:none;height:auto;min-height:0;line-height:1.4;transition:border-color .15s,box-shadow .15s}
.fxc.fxc input.input-text:focus,.fxc.fxc textarea:focus,.fxc.fxc select:focus,.fxc.fxc .select2-container--open .select2-selection--single{outline:none;border-color:var(--fxc-field-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--fxc-field-focus) 20%,transparent)}
.fxc.fxc .select2-container .select2-selection--single .select2-selection__rendered{padding:0;line-height:1.4;color:var(--fxc-field-text)}
.fxc.fxc .select2-container .select2-selection--single .select2-selection__arrow{height:100%;top:0;right:10px}
.fxc.fxc textarea{min-height:90px}

/* Riepilogo ordine */
.fxc.fxc table.shop_table{width:100%;border:0;border-collapse:collapse;margin:0 0 18px;background:transparent}
.fxc.fxc table.shop_table th,.fxc.fxc table.shop_table td{padding:12px 0;border:0;border-bottom:1px solid var(--fxc-card-border);text-align:left;background:transparent;color:var(--fxc-text)}
.fxc.fxc table.shop_table thead th{font-size:.8em;text-transform:uppercase;letter-spacing:.4px;color:var(--fxc-muted)}
.fxc.fxc table.shop_table td:last-child,.fxc.fxc table.shop_table th:last-child{text-align:right}
.fxc.fxc table.shop_table tr.order-total th,.fxc.fxc table.shop_table tr.order-total td{font-size:1.15em;font-weight:800;border-bottom:0}
.fxc.fxc table.shop_table .product-name{font-weight:600}

/* Pagamento */
.fxc.fxc #payment{background:transparent;border-radius:0}
.fxc.fxc #payment ul.payment_methods{padding:0 0 14px;margin:0;border-bottom:1px solid var(--fxc-card-border);list-style:none}
.fxc.fxc #payment ul.payment_methods li{margin:0 0 8px;padding:0}
.fxc.fxc #payment ul.payment_methods li label{display:inline;font-weight:700;color:var(--fxc-text)}
.fxc.fxc #payment div.payment_box{background:#f8fafc;color:var(--fxc-text);border-radius:var(--fxc-field-radius);padding:14px;margin:10px 0 0;font-size:.92em}
.fxc.fxc #payment div.payment_box::before{display:none}
.fxc.fxc #payment div.form-row{padding:16px 0 0;margin:0}
.fxc.fxc .woocommerce-privacy-policy-text,.fxc.fxc .woocommerce-terms-and-conditions-wrapper{font-size:.82em;color:var(--fxc-muted)}
.fxc.fxc .woocommerce-privacy-policy-text a,.fxc.fxc .woocommerce-terms-and-conditions-wrapper a{color:var(--fxc-accent)}

/* Pulsante */
.fxc.fxc #place_order,.fxc.fxc button#place_order{display:block;width:100%;float:none;background:var(--fxc-btn-bg);color:var(--fxc-btn-text);border:0;border-radius:var(--fxc-btn-radius);padding:16px 22px;font:inherit;font-weight:800;font-size:1.05em;cursor:pointer;transition:background .15s,transform .05s}
.fxc.fxc #place_order:hover{background:var(--fxc-btn-hover)}.fxc.fxc #place_order:active{transform:translateY(1px)}

/* Avvisi e coupon */
.fxc.fxc .woocommerce-info,.fxc.fxc .woocommerce-message{border-top-color:var(--fxc-accent);background:#f5f7ff;color:var(--fxc-text);border-radius:var(--fxc-field-radius);margin-bottom:18px}
.fxc.fxc .woocommerce-info::before,.fxc.fxc .woocommerce-message::before{color:var(--fxc-accent)}
.fxc.fxc .woocommerce-error{border-radius:var(--fxc-field-radius)}
.fxc.fxc table.shop_table{border:0 !important;border-radius:0 !important;border-collapse:collapse}
.fxc.fxc table.shop_table th:first-child,.fxc.fxc table.shop_table td:first-child{padding-left:0}
.fxc.fxc table.shop_table th:last-child,.fxc.fxc table.shop_table td:last-child{padding-right:0}

/* Thank-you page: dettagli ordine con lo stesso design */
.fxc.fxc-thanks .woocommerce-order-details,.fxc.fxc-thanks .woocommerce-customer-details,.fxc.fxc-thanks .fluxtore-order-coupons{background:var(--fxc-card-bg);border:1px solid var(--fxc-card-border);border-radius:var(--fxc-radius);padding:var(--fxc-pad);margin:0 0 var(--fxc-gap)}
.fxc.fxc-thanks .woocommerce-order-details__title,.fxc.fxc-thanks .woocommerce-column__title,.fxc.fxc-thanks .fluxtore-order-coupons h3{margin:0 0 14px;font-size:1.2em;font-weight:800;color:var(--fxc-text)}
.fxc.fxc-thanks .woocommerce-columns--addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--fxc-gap)}
@media (max-width:640px){.fxc.fxc-thanks .woocommerce-columns--addresses{grid-template-columns:minmax(0,1fr)}}
.fxc.fxc-thanks .woocommerce-columns--addresses .col-1,.fxc.fxc-thanks .woocommerce-columns--addresses .col-2{float:none;width:100%;max-width:100%}
.fxc.fxc-thanks address{font-style:normal;line-height:1.7;color:var(--fxc-text);border:0;padding:0}
.fxc.fxc-thanks .fluxtore-order-coupons__list{margin:0;padding-left:18px}
.fxc.fxc table.shop_table th,.fxc.fxc table.shop_table td{border-left:0 !important;border-right:0 !important}
.fxc.fxc a.button,.fxc.fxc .woocommerce-button,.fxc.fxc .order-again .button{display:inline-block;background:var(--fxc-btn-bg);color:var(--fxc-btn-text);border:0;border-radius:var(--fxc-btn-radius);padding:12px 20px;font-weight:700;text-decoration:none;line-height:1.3}
.fxc.fxc a.button:hover,.fxc.fxc .woocommerce-button:hover{background:var(--fxc-btn-hover);color:var(--fxc-btn-text)}

/* Tabella riepilogo e avvisi: seguono i colori del design (servono nei temi scuri) */
.fxc.fxc table.shop_table{border:0;border-color:transparent}
.fxc.fxc.fxc table.shop_table thead,.fxc.fxc.fxc table.shop_table tbody,.fxc.fxc.fxc table.shop_table tfoot{background:transparent}
.fxc.fxc table.shop_table th,.fxc.fxc table.shop_table td{border-left:0;border-right:0}
.fxc.fxc .wc-block-components-notice-banner{background:color-mix(in srgb,var(--fxc-accent) 10%,var(--fxc-card-bg));border:1px solid color-mix(in srgb,var(--fxc-accent) 35%,transparent);border-radius:var(--fxc-field-radius);color:var(--fxc-text)}
.fxc.fxc .wc-block-components-notice-banner>svg{background:var(--fxc-accent);fill:#fff}
.fxc.fxc .wc-block-components-notice-banner a{color:var(--fxc-accent)}
.fxc.fxc.fxc table.shop_table,.fxc.fxc.fxc table.shop_table th,.fxc.fxc.fxc table.shop_table td{border-left:0!important;border-right:0!important}
.fxc.fxc.fxc table.shop_table{border-top:0!important;border-bottom:0!important}
.fxc.fxc.fxc table.shop_table tr{border:0!important;background:transparent}
.fxc.fxc .woocommerce-checkout-block,.fxc.fxc.fxc .woocommerce-checkout-block .woocommerce-checkout-block{padding-top:0!important}
.fxc.fxc.fxc .woocommerce-form-coupon-toggle{margin-bottom:18px}
