/* Aggiunte al CSS originale del sito: solo ciò che serve alle parti funzionanti del funnel. */

/* Checkout – Paese: select nativo invisibile sopra la grafica Select2 del sito */
#shipping_country_field .woocommerce-input-wrapper { position: relative; display: block; }
#shipping_country_field select#shipping_country {
  position: absolute; inset: 0; width: 100%; height: 100%;
  opacity: 0; cursor: pointer; z-index: 2; margin: 0;
}

/* Checkout – Telefono: gli elementi del prefisso sono span (in HTML un div non può stare dentro <p>) */
:where(#billing_phone_field span[data-div]) { display: block; }

/* Checkout – campi carta Stripe dentro i riquadri FunnelKit */
#wfacp-e-form .fkwcs-stripe-elements-field { min-height: 20px; }
#wfacp-e-form .fkwcs-error-text:empty { display: none; }
#wfacp-e-form .fkwcs-error-text { color: #d50000; font-size: 13px; margin-top: 4px; }

/* Thank you – dettagli ordine (markup dei widget FunnelKit) */
.wffn_order_details_table .wfty_pro_list { display: flow-root; }
.wffn_order_details_table .wfty_pro_list .wfty_leftDiv,
.wffn_order_details_table .wfty_pro_list .wfty_rightDiv { padding: 12px 0; }
.wffn_order_details_table .wfty-hr { height: 1px; margin: 0; }
.wffn_order_details_table .wfty_pro_list_cont table { width: 100%; margin: 10px 0 0; border: 0; }
.wffn_order_details_table .wfty_pro_list_cont table th,
.wffn_order_details_table .wfty_pro_list_cont table td { background: none; border: 0; padding: 6px 0; }
.wffn_order_details_table .wfty_pro_list_cont table th { text-align: left; }
.wffn_order_details_table .wfty_pro_list_cont table td { text-align: right; }
.wffn_order_details_table .wfty_pro_list_cont table tr:last-child th,
.wffn_order_details_table .wfty_pro_list_cont table tr:last-child td { border-top: 1px solid #E9E9E9; padding-top: 12px; }
.wffn_order_details_table .includes_tax,
.elementor-2201 .elementor-element.elementor-element-309abeef .elementor-order-details-wrapper .wffn_order_details_table .wfty_pro_list_cont table tr:last-child .includes_tax,
.elementor-2201 .elementor-element.elementor-element-309abeef .elementor-order-details-wrapper .wffn_order_details_table .wfty_pro_list_cont table tr:last-child .includes_tax * { font-size: 13px; font-weight: 400; }
.wffn_customer_details_table { margin-top: 30px; }

/* Thank you da desktop: riepilogo ordine e dati cliente più grandi e leggibili */
@media (min-width: 768px) {
  .elementor-2201 .wffn_order_details_table .wfty_title,
  .elementor-2201 .wffn_customer_details_table .wfty_title { font-size: 28px !important; }
  .elementor-2201 .wffn_order_details_table .wfty_pro_list_cont .wfty_pro_list *,
  .elementor-2201 .wffn_order_details_table .wfty_pro_list_cont table tr:not(:last-child) * { font-size: 18px !important; }
  .elementor-2201 .wffn_order_details_table .wfty_pro_list_cont table tr:last-child * { font-size: 24px !important; }
  .elementor-2201 .wffn_customer_details_table .wfty_text_bold strong { font-size: 18px !important; }
  .elementor-2201 .wffn_customer_details_table .wfty_view,
  .elementor-2201 .wffn_customer_details_table .wfty_content p { font-size: 18px !important; line-height: 1.5 !important; }
}

/* Checkout – messaggi di errore dei campi */
#wfacp-e-form .wfacp_inline_error:empty { display: none; }

/* Thank you – istruzioni per bonifico e contrassegno */
.fk-paybox { margin: 0 0 28px; padding: 22px 24px; border: 3px solid #f0c24b; border-radius: 16px; background: #fffbea; font-family: 'Nunito', Arial, sans-serif; font-size: 18px; line-height: 1.5; color: #1d1d1f; }
.fk-paybox h3 { margin: 0 0 10px; font-family: 'Nunito', Arial, sans-serif; font-size: 24px; font-weight: 900; color: #1d1d1f; }
.fk-paybox p { margin: 0 0 10px; }
.fk-paybox dl { display: grid; grid-template-columns: max-content 1fr; gap: 8px 16px; margin: 14px 0; padding: 16px; background: #fff; border-radius: 12px; }
.fk-paybox dt { color: #5c5c5c; }
.fk-paybox dd { margin: 0; overflow-wrap: anywhere; }
.fk-paybox button { margin-left: 8px; padding: 4px 12px; font: 700 15px 'Nunito', Arial, sans-serif; color: #fff; background: #1864ab; border: 0; border-radius: 20px; cursor: pointer; }
.fk-paybox-warn { padding: 10px 12px; background: #fff; border-radius: 10px; }
.fk-paybox-ok { border-color: #2b8a3e; background: #eefaf1; }
@media (max-width: 560px) { .fk-paybox { padding: 18px 14px; font-size: 17px; } .fk-paybox dl { grid-template-columns: 1fr; gap: 2px; } .fk-paybox dd { margin-bottom: 8px; } }

/* Thank you da telefono: intestazione rossa più bassa (logo piccolo, titolo su due righe, meno spazio) */
@media (max-width: 767px) {
  .elementor-2201 .elementor-element.elementor-element-f92dc02 { padding: 10px 12px 12px !important; min-height: 0 !important; }
  .elementor-2201 .elementor-element.elementor-element-f92dc02 > .e-con-inner { gap: 4px !important; padding: 0 !important; }
  .elementor-2201 .elementor-element.elementor-element-b905dea img { width: 60px !important; height: 60px !important; }
  .elementor-2201 .elementor-element.elementor-element-b905dea, .elementor-2201 .elementor-element.elementor-element-e2f6a42 { margin: 0 !important; padding: 0 !important; transform: none !important; position: static !important; }
  .elementor-2201 .elementor-element.elementor-element-e2f6a42 .elementor-heading-title { font-size: 21px !important; line-height: 1.25 !important; }
  .elementor-2201 .elementor-element.elementor-element-e2f6a42 .elementor-widget-container,
  .elementor-2201 .elementor-element.elementor-element-e2f6a42 .elementor-heading-title { margin: 0 !important; transform: none !important; position: static !important; top: auto !important; }
  .elementor-2201 .elementor-element.elementor-element-092b0e8 { display: none !important; }
}

/* Thank you – pulsanti dei prodotti in fondo: stesso stile dei pulsanti della landing
   (rosso pieno, testo bianco in grassetto, angoli arrotondati, ombra in basso) */
.elementor-2201 .elementor-button {
  display: inline-block; min-width: 260px; padding: 18px 28px !important; border: 0 !important; border-radius: 14px !important;
  background: #bc141b !important; color: #fff !important; box-shadow: 0 5px 0 #8f0f14 !important;
  font: 900 20px/1.25 'Roboto', Arial, sans-serif !important; letter-spacing: .01em; text-transform: uppercase; text-decoration: none;
  transition: transform .08s, background .15s;
}
.elementor-2201 .elementor-button:hover { background: #a51118 !important; }
.elementor-2201 .elementor-button:active { transform: translateY(3px); box-shadow: 0 2px 0 #8f0f14 !important; }
.elementor-2201 .elementor-button * { color: #fff !important; background: none !important; text-shadow: none !important; box-shadow: none !important; font: inherit !important; letter-spacing: inherit !important; }

/* Thank you – spazio corretto tra i prodotti e il footer (i pulsanti non devono coprirlo) */
.elementor-2201 .elementor-element.elementor-element-59056507 { transform: none !important; padding-bottom: 56px !important; }
.elementor-2201 .site-footer { margin-top: 0; }

/* Thank you da telefono: niente spazi vuoti tra foto e pulsante dei prodotti */
@media (max-width: 767px) {
  .elementor-2201 .elementor-element.elementor-element-ebac42a,
  .elementor-2201 .elementor-element.elementor-element-ca64572 { padding-top: 0 !important; padding-bottom: 0 !important; margin: 0 !important; }
  .elementor-2201 .elementor-element.elementor-element-ebac42a > .e-con-inner,
  .elementor-2201 .elementor-element.elementor-element-ca64572 > .e-con-inner { padding: 0 16px !important; gap: 12px !important; }
  .elementor-2201 .elementor-element-ca64572 .elementor-widget,
  .elementor-2201 .elementor-element-ebac42a .elementor-widget { margin: 0 !important; padding: 0 !important; transform: none !important; }
  .elementor-2201 .elementor-element-ca64572 .elementor-widget-button { margin-bottom: 28px !important; }
  .elementor-2201 .elementor-element-ca64572 { padding-bottom: 40px !important; }
  .elementor-2201 .elementor-button { width: 100%; min-width: 0; font-size: 19px !important; }
  /* le foto quadrate hanno molto bianco sopra e sotto: lo tagliamo */
  .elementor-2201 .elementor-element-dab816f img,
  .elementor-2201 .elementor-element-9d0a761 img,
  .elementor-2201 .elementor-element-5a56994 img { aspect-ratio: 4 / 3; object-fit: cover; height: auto !important; width: 100% !important; }
}