/*
PRIMARY: #CDA85C; // oro
SECONDARY: #adadad; // grigio
BODY: #333333
*/

/* =========================================================
   KARIBUNY — Restyling grafico pagina "Carrello"
   https://karibuny.sviluppo-siti.it/carrello/

   Questa pagina usa il blocco nativo WooCommerce Blocks
   ([wp:woocommerce/cart], Gutenberg), NON uno shortcode. La
   struttura HTML è quindi generata da WooCommerce stesso e non
   modificabile via plugin: qui interveniamo solo con CSS mirato
   sulle classi che WooCommerce Blocks già espone, mantenendo
   intatte tutte le funzionalità (quantità, rimozione articolo,
   spedizione, pagamento).

   Verificato dal vivo (via DOM reale) sia lo stato "carrello
   pieno" che "carrello vuoto" prima di scrivere questo file, per
   avere le classi esatte generate da WooCommerce Blocks.

   Dove incollarlo: Elementor → Impostazioni del sito → CSS
   personalizzato (Additional CSS). Si applica solo alla pagina
   Carrello, essendo scoping su .wp-block-woocommerce-cart.
   ========================================================= */

.wp-block-woocommerce-cart{
  --kb-cream:#F7E9C1;
  --kb-cream-light:#FCF6E6;
  --kb-amber:#D08F01;
  --kb-amber-dark:#A87201;
  --kb-olive:#DDD289;
  --kb-olive-text:#242110;
  --kb-text:#38312D;
  --kb-text-soft:#6B5F52;
  --kb-border:#E9DCB4;
  --kb-radius:10px;
  --kb-shadow:0 4px 18px rgba(56,49,45,.10);
  --kb-shadow-hover:0 10px 26px rgba(56,49,45,.16);
  --kb-font-display:'Walter Turncoat', cursive;
  --kb-font-body:'Poppins', Helvetica, Arial, sans-serif;

  /* Il CSS del blocco WooCommerce (cart.css) imposta sullo stesso
     selettore "width:100%; margin:0;" con la stessa specificità: in
     questo ambiente vince lui se caricato dopo. !important garantisce
     che il contenuto resti centrato e non si estenda a tutta larghezza
     (bug verificato e corretto anche nella pagina Pagamento). */
  max-width:1180px !important;
  width:auto !important;
  margin:0 auto !important;
  padding:44px 24px 70px !important;
  font-family:var(--kb-font-body);
  color:var(--kb-text);
}

/* ---------------------------------------------------------
   0) Titolo di pagina (Elementor lo renderizza sopra il blocco;
      qui armonizziamo solo eventuali margini/allineamenti del
      blocco stesso, non tocchiamo l'header del template).
   --------------------------------------------------------- */
.wp-block-woocommerce-cart *{ box-sizing:border-box; }

/* ---------------------------------------------------------
   1) Layout a due colonne + sidebar totali "sticky"
   --------------------------------------------------------- */
.wp-block-woocommerce-cart .wc-block-components-sidebar-layout{
  /* NOTA: niente "gap" qui. WooCommerce gestisce già lo spazio tra
     lista prodotti e totale internamente (padding-right integrato
     nella larghezza di .wc-block-components-main). Un gap extra fa
     superare la larghezza del contenitore e forza il totale su una
     riga sotto — stesso bug verificato e corretto nella pagina
     Pagamento, presente anche qui essendo lo stesso componente. */
  align-items:flex-start;
}
.wp-block-woocommerce-cart .wc-block-cart__sidebar,
.wp-block-woocommerce-cart .wc-block-cart__sidebar.is-sticky{
  /* WooCommerce applica di suo "position:sticky" tramite la classe
     .is-sticky (aggiunta automaticamente dal blocco). Va disattivata
     esplicitamente: su schermi bassi il totale può risultare più alto
     della viewport e restare "incollato" creando problemi di scroll
     interno. Resta semplicemente in cima alla sua colonna. */
  position:static !important;
  top:auto !important;
  align-self:flex-start;
}

/* ---------------------------------------------------------
   2) Tabella prodotti → righe "a card"
   --------------------------------------------------------- */
.wp-block-woocommerce-cart table.wc-block-cart-items{
  border-collapse:separate;
  border-spacing:0;
  width:100%;
}
.wp-block-woocommerce-cart .wc-block-cart-items__header th{
  font-family:var(--kb-font-body);
  font-weight:700;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--kb-text-soft);
  border-bottom:2px solid var(--kb-border);
  padding:0 0 14px;
}
.wp-block-woocommerce-cart .wc-block-cart-items__row{
  background:#fff;
  box-shadow:var(--kb-shadow);
  border-radius:var(--kb-radius);
}
.wp-block-woocommerce-cart .wc-block-cart-items__row td{
  border-bottom:none;
  padding:18px 14px;
  vertical-align:middle;
}
.wp-block-woocommerce-cart .wc-block-cart-items__row + .wc-block-cart-items__row td{
  border-top:10px solid transparent; /* spaziatura visiva tra le "card" riga */
}
.wp-block-woocommerce-cart .wc-block-cart-item__image{
  width:96px;
  padding-left:20px !important;
  border-radius:var(--kb-radius) 0 0 var(--kb-radius);
}
.wp-block-woocommerce-cart .wc-block-cart-item__image img{
  border-radius:8px;
  box-shadow:0 0 0 1px var(--kb-border);
  object-fit:cover;
}
.wp-block-woocommerce-cart .wc-block-cart-item__total{
  padding-right:20px !important;
  border-radius:0 var(--kb-radius) var(--kb-radius) 0;
}

.wp-block-woocommerce-cart .wc-block-components-product-name{
  font-family:var(--kb-font-display);
  font-weight:400;
  font-size:1.15rem;
  color:var(--kb-text);
  text-decoration:none;
  display:inline-block;
  margin-bottom:4px;
  transition:color .15s;
}
.wp-block-woocommerce-cart .wc-block-components-product-name:hover{
  color:var(--kb-amber-dark);
}
.wp-block-woocommerce-cart .wc-block-cart-item__prices{
  display:none !important; /* il prezzo è già ben visibile nella colonna Totale */
}
.wp-block-woocommerce-cart .wc-block-components-product-metadata__description p{
  font-size:.88rem;
  color:var(--kb-text-soft);
  line-height:1.5;
  margin:0 0 10px;
}

.wp-block-woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price__value,
.wp-block-woocommerce-cart .wc-block-components-totals-item__value,
.wp-block-woocommerce-cart .wc-block-formatted-money-amount{
  font-family:var(--kb-font-body);
  font-weight:700;
  color:var(--kb-amber-dark);
}

/* Selettore quantità */
.wp-block-woocommerce-cart .wc-block-components-quantity-selector{
  display:inline-flex;
  align-items:center;
  border:1px solid var(--kb-border);
  border-radius:8px;
  overflow:hidden;
  height:36px;
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector__input{
  width:40px;
  border:none;
  background:transparent;
  font-family:var(--kb-font-body);
  font-weight:600;
  text-align:center;
  color:var(--kb-text);
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button{
  width:32px;
  height:36px;
  border:none;
  background:var(--kb-cream-light);
  color:var(--kb-amber-dark);
  font-size:1rem;
  font-weight:700;
  cursor:pointer;
  transition:background .15s;
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button:hover{
  background:var(--kb-olive);
}
.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button:disabled{
  opacity:.4;
  cursor:default;
}

/* Bottone rimuovi articolo */
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link{
  margin-top:10px;
  border:none;
  background:none;
  padding:4px;
  color:var(--kb-text-soft);
  cursor:pointer;
  transition:color .15s;
}
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover{
  color:#B3413C;
}
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link svg{
  width:20px;
  height:20px;
}

/* ---------------------------------------------------------
   3) Sidebar "Totale carrello"
   --------------------------------------------------------- */
.wp-block-woocommerce-cart .wc-block-cart__totals-title{
  font-family:var(--kb-font-display);
  font-weight:400;
  color:var(--kb-amber);
  font-size:1.5rem;
  margin:0 0 18px;
}
.wp-block-woocommerce-cart .wp-block-woocommerce-cart-order-summary-block{
  background:var(--kb-cream-light);
  border-top:4px solid var(--kb-amber);
  border-radius:var(--kb-radius);
  box-shadow:var(--kb-shadow);
  padding:26px 26px 6px;
}
.wp-block-woocommerce-cart .wc-block-components-totals-item{
  padding:12px 0;
  border-bottom:1px solid var(--kb-border);
  font-size:.95rem;
}
.wp-block-woocommerce-cart .wc-block-components-totals-item__label{
  color:var(--kb-text-soft);
  font-weight:500;
}
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item{
  border-bottom:none;
  padding-top:16px;
}
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
  font-family:var(--kb-font-display);
  font-size:1.15rem;
  color:var(--kb-text);
}
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item-tax-value{
  font-size:1.3rem;
  color:var(--kb-amber-dark);
}
.wp-block-woocommerce-cart .wc-block-components-totals-shipping__via{
  font-size:.82rem;
  color:var(--kb-text-soft);
}

/* Coupon (se attivo) */
.wp-block-woocommerce-cart .wc-block-components-totals-coupon-link{
  color:var(--kb-amber-dark);
  font-weight:600;
}
.wp-block-woocommerce-cart .wc-block-components-totals-coupon__button,
.wp-block-woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-button{
  background:var(--kb-olive) !important;
  color:var(--kb-olive-text) !important;
  border-radius:6px !important;
  font-weight:700 !important;
  box-shadow:none !important;
}
.wp-block-woocommerce-cart .wc-block-components-totals-coupon__input input{
  border-radius:6px !important;
  border-color:var(--kb-border) !important;
}

/* Bottone "Procedi al pagamento" */
.wp-block-woocommerce-cart .wc-block-cart__submit-container{
  padding:22px 0 26px;
}
.wp-block-woocommerce-cart .wc-block-cart__submit-button{
  background:var(--kb-amber) !important;
  color:#fff !important;
  border-radius:8px !important;
  font-family:var(--kb-font-body) !important;
  font-weight:700 !important;
  font-size:1rem !important;
  padding:15px 20px !important;
  box-shadow:none !important;
  transition:background .15s, transform .12s;
}
.wp-block-woocommerce-cart .wc-block-cart__submit-button:hover{
  background:var(--kb-amber-dark) !important;
  transform:translateY(-1px);
}

/* ---------------------------------------------------------
   4) Carrello vuoto
   --------------------------------------------------------- */
.wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block{
  text-align:center;
  padding:20px 0 10px;
}
.wp-block-woocommerce-cart .wc-block-cart__empty-cart__title{
  font-family:var(--kb-font-display);
  font-weight:400;
  color:var(--kb-text);
  font-size:1.7rem;
  margin-bottom:8px;
}
/* Sostituiamo l'emoji di sistema con un'icona "borsa" coerente col brand,
   mantenendo la stessa tecnica (mask-image) usata da WooCommerce così
   l'icona resta sempre in tinta unita: qui fissata sull'ambra del sito. */
.wp-block-woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::before{
  background-color:var(--kb-amber) !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M14 16 L14 12 A10 10 0 0 1 34 12 L34 16' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M8 16 H40 L37.5 42 A3 3 0 0 1 34.5 44.5 H13.5 A3 3 0 0 1 10.5 42 Z' fill='black'/%3E%3C/svg%3E") !important;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M14 16 L14 12 A10 10 0 0 1 34 12 L34 16' fill='none' stroke='black' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M8 16 H40 L37.5 42 A3 3 0 0 1 34.5 44.5 H13.5 A3 3 0 0 1 10.5 42 Z' fill='black'/%3E%3C/svg%3E") !important;
  mask-repeat:no-repeat;
  -webkit-mask-repeat:no-repeat;
  mask-position:center;
  -webkit-mask-position:center;
  height:4em !important;
  margin:0 auto 1.4em !important;
}
.wp-block-woocommerce-cart hr.wp-block-separator.is-style-dots{
  color:var(--kb-amber);
  margin:8px auto 30px;
}
.wp-block-woocommerce-cart hr.wp-block-separator.is-style-dots::before{
  font-size:1.3rem;
  letter-spacing:.5em;
}
.wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block > h2.wp-block-heading:not(.wc-block-cart__empty-cart__title){
  font-family:var(--kb-font-display);
  font-weight:400;
  color:var(--kb-amber);
  font-size:1.6rem;
  margin:0 0 28px;
}

/* ---------------------------------------------------------
   5) Griglie prodotti correlati ("Novità in negozio" nel carrello
      vuoto — blocco classico wc-block-grid — e "Potresti essere
      interessato a…" nel carrello pieno — Product Collection
      block. Entrambe vestite come le card dello shop.
   --------------------------------------------------------- */
.wp-block-woocommerce-cart .wc-block-grid__products,
.wp-block-woocommerce-cart .wc-block-product-template{
  display:grid !important;
  grid-template-columns:repeat(4, 1fr);
  gap:24px;
  list-style:none;
  margin:0 !important;
  padding:0 !important;
}
.wp-block-woocommerce-cart .wc-block-grid__product,
.wp-block-woocommerce-cart li.wc-block-product{
  /* Il CSS core di WooCommerce imposta su questi elementi un
     flex-basis/width pensato per un layout flex-wrap: dentro la
     nostra griglia CSS Grid li fa restare larghi ~70px invece di
     riempire la colonna. Verificato dal vivo e corretto qui. */
  width:100% !important;
  max-width:none !important;
  flex:none !important;
  margin:0 !important;
  background:#fff;
  border-radius:var(--kb-radius);
  box-shadow:var(--kb-shadow);
  border-top:4px solid var(--kb-amber);
  overflow:hidden;
  padding:0 !important;
  display:flex;
  flex-direction:column;
  height:100%;
  transition:box-shadow .2s ease, transform .2s ease;
}
.wp-block-woocommerce-cart .wc-block-grid__product:hover,
.wp-block-woocommerce-cart li.wc-block-product:hover{
  box-shadow:var(--kb-shadow-hover);
  transform:translateY(-3px);
}
.wp-block-woocommerce-cart .wc-block-grid__product-image,
.wp-block-woocommerce-cart .wc-block-components-product-image{
  margin:0 !important;
}
.wp-block-woocommerce-cart .wc-block-grid__product-image img,
.wp-block-woocommerce-cart .wc-block-components-product-image img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  transition:transform .35s ease;
}
.wp-block-woocommerce-cart .wc-block-grid__product:hover img,
.wp-block-woocommerce-cart li.wc-block-product:hover img{
  transform:scale(1.05);
}
.wp-block-woocommerce-cart .wc-block-grid__product-title,
.wp-block-woocommerce-cart .wp-block-post-title{
  font-family:var(--kb-font-display);
  font-weight:400;
  color:var(--kb-text);
  font-size:1.05rem;
  line-height:1.35;
  margin:14px 16px 4px !important;
  min-height:2.6rem;
}
.wp-block-woocommerce-cart .wc-block-grid__product-price,
.wp-block-woocommerce-cart .wc-block-components-product-price{
  margin:0 16px 14px !important;
  font-family:var(--kb-font-body);
  font-weight:700;
  color:var(--kb-amber-dark);
}
.wp-block-woocommerce-cart .wc-block-grid__product-add-to-cart,
.wp-block-woocommerce-cart .wp-block-woocommerce-product-button{
  margin:auto 16px 16px !important;
}
.wp-block-woocommerce-cart .wc-block-grid__product-add-to-cart a,
.wp-block-woocommerce-cart .wp-block-woocommerce-product-button a,
.wp-block-woocommerce-cart .wp-block-woocommerce-product-button button{
  display:block;
  width:100%;
  background:var(--kb-olive) !important;
  color:var(--kb-olive-text) !important;
  font-family:var(--kb-font-body);
  font-weight:700;
  font-size:.85rem;
  text-align:center;
  padding:10px 12px;
  border-radius:6px;
  border:none;
  text-decoration:none;
  transition:background .15s;
}
.wp-block-woocommerce-cart .wc-block-grid__product-add-to-cart a:hover,
.wp-block-woocommerce-cart .wp-block-woocommerce-product-button a:hover,
.wp-block-woocommerce-cart .wp-block-woocommerce-product-button button:hover{
  background:#C7B95E !important;
}

.wp-block-woocommerce-cart .wp-block-woocommerce-product-collection > h2,
.wp-block-woocommerce-cart .wp-block-heading{
  font-family:var(--kb-font-display);
  font-weight:400;
  color:var(--kb-amber);
  font-size:1.4rem;
}

/* ---------------------------------------------------------
   6) Responsive
   --------------------------------------------------------- */
@media (max-width: 1024px){
  .wp-block-woocommerce-cart .wc-block-grid__products,
  .wp-block-woocommerce-cart .wc-block-product-template{
    grid-template-columns:repeat(3, 1fr);
  }
}
@media (max-width: 900px){
  .wp-block-woocommerce-cart .wc-block-components-sidebar-layout{
    flex-direction:column;
  }
  .wp-block-woocommerce-cart .wc-block-cart__sidebar{
    position:static;
    width:100%;
  }
}
@media (max-width: 768px){
  .wp-block-woocommerce-cart .wc-block-grid__products,
  .wp-block-woocommerce-cart .wc-block-product-template{
    grid-template-columns:repeat(2, 1fr);
  }
  .wp-block-woocommerce-cart .wc-block-cart-items__row td{
    padding:12px 8px;
  }
  .wp-block-woocommerce-cart .wc-block-cart-item__image{
    width:70px;
    padding-left:10px !important;
  }
}
@media (max-width: 480px){
  .wp-block-woocommerce-cart .wc-block-grid__products,
  .wp-block-woocommerce-cart .wc-block-product-template{
    grid-template-columns:1fr;
  }
}






/* =========================================================
   KARIBUNY — Restyling grafico pagina "Pagamento" (Checkout)
   https://karibuny.sviluppo-siti.it/pagamento/

   Anche questa pagina usa il blocco nativo WooCommerce Blocks
   ([wp:woocommerce/checkout], Gutenberg), NON uno shortcode.
   Stesso approccio già usato per la pagina Carrello: CSS mirato
   sulle classi già esposte da WooCommerce Blocks, senza toccare
   la struttura HTML/JS, per non rompere validazione, step,
   metodi di spedizione/pagamento e invio ordine.

   Classi verificate dal vivo sulla pagina reale (con un prodotto
   nel carrello) prima di scrivere questo file.

   Dove incollarlo: Elementor → Impostazioni del sito → CSS
   personalizzato (Additional CSS). Si applica solo alla pagina
   Pagamento, essendo scoping su .wp-block-woocommerce-checkout.
   ========================================================= */

.wp-block-woocommerce-checkout{
  --kb-cream:#F7E9C1;
  --kb-cream-light:#FCF6E6;
  --kb-amber:#D08F01;
  --kb-amber-dark:#A87201;
  --kb-olive:#DDD289;
  --kb-olive-text:#242110;
  --kb-text:#38312D;
  --kb-text-soft:#6B5F52;
  --kb-border:#E9DCB4;
  --kb-radius:10px;
  --kb-shadow:0 4px 18px rgba(56,49,45,.10);
  --kb-shadow-hover:0 10px 26px rgba(56,49,45,.16);
  --kb-font-display:'Walter Turncoat', cursive;
  --kb-font-body:'Poppins', Helvetica, Arial, sans-serif;

  /* Il CSS del blocco WooCommerce (checkout.css) imposta sullo
     stesso selettore "width:100%; margin:0;" — stessa specificità
     della mia regola, e in questo caso vince lui (viene ricaricato
     dopo il mio CSS). Serve !important per garantire che il
     contenuto resti centrato e non si estenda a tutta larghezza. */
  max-width:1180px !important;
  width:auto !important;
  margin:0 auto !important;
  padding:44px 24px 70px !important;
  font-family:var(--kb-font-body);
  color:var(--kb-text);
}
.wp-block-woocommerce-checkout *{ box-sizing:border-box; }

/* ---------------------------------------------------------
   1) Layout a due colonne + sidebar riepilogo "sticky"
   --------------------------------------------------------- */
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout{
  /* NOTA: niente "gap" qui. WooCommerce gestisce già lo spazio tra
     form e riepilogo internamente (padding-right integrato nel 65%
     di larghezza di .wc-block-components-main). Aggiungere un gap
     extra fa superare la larghezza del contenitore e forza il
     riepilogo su una riga sotto — bug verificato dal vivo e corretto. */
  align-items:flex-start;
}
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar,
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar.is-sticky{
  /* WooCommerce applica di suo "position:sticky" tramite la classe
     .is-sticky (aggiunta automaticamente dal blocco). Va disattivata
     esplicitamente: su schermi bassi il riepilogo può risultare più
     alto della viewport e restare "incollato" creando problemi di
     scroll interno. Resta semplicemente in cima alla sua colonna. */
  position:static !important;
  top:auto !important;
  align-self:flex-start;
}

/* ---------------------------------------------------------
   2) Step del form → "card" bianche separate
   --------------------------------------------------------- */
.wp-block-woocommerce-checkout .wc-block-components-checkout-step{
  background:#fff !important;
  border-radius:var(--kb-radius) !important;
  box-shadow:var(--kb-shadow) !important;
  border-top:4px solid var(--kb-amber) !important;
  padding:26px 28px 30px !important;
  margin-bottom:24px !important;
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__title{
  font-family:var(--kb-font-display) !important;
  font-weight:400 !important;
  color:var(--kb-amber) !important;
  font-size:1.35rem !important;
  margin:0 !important;
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-step__heading-container{
  margin-bottom:18px;
}
.wp-block-woocommerce-checkout .wc-block-checkout__guest-checkout-notice{
  font-size:.85rem;
  color:var(--kb-text-soft);
  margin:8px 0 14px;
}

/* ---------------------------------------------------------
   3) Campi testo / select (label "flottante" gestita dal core:
      qui reimpostiamo solo colori, bordi e font)
   --------------------------------------------------------- */
.wp-block-woocommerce-checkout .wc-block-components-text-input input,
.wp-block-woocommerce-checkout .wc-blocks-components-select__select{
  font-family:var(--kb-font-body) !important;
  border:1px solid var(--kb-border) !important;
  border-radius:8px !important;
  box-shadow:none !important;
  color:var(--kb-text) !important;
  background:#fff !important;
}
.wp-block-woocommerce-checkout .wc-block-components-text-input input:focus,
.wp-block-woocommerce-checkout .wc-blocks-components-select__select:focus{
  border-color:var(--kb-amber) !important;
  outline:none !important;
}
.wp-block-woocommerce-checkout .wc-block-components-text-input label,
.wp-block-woocommerce-checkout .wc-blocks-components-select__label{
  font-family:var(--kb-font-body) !important;
  color:var(--kb-text-soft) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-text-input.is-active label,
.wp-block-woocommerce-checkout .wc-block-components-text-input input:focus + label{
  color:var(--kb-amber-dark) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-text-input.has-error input{
  border-color:#CC1818 !important;
}
.wp-block-woocommerce-checkout .wc-blocks-components-select__expand{
  fill:var(--kb-amber-dark);
}

/* Checkbox (crea account / usa come indirizzo fatturazione / termini) */
.wp-block-woocommerce-checkout .wc-block-components-checkbox__label{
  font-size:.92rem;
  color:var(--kb-text);
}
.wp-block-woocommerce-checkout .wc-block-components-checkbox__input:checked + .wc-block-components-checkbox__mark,
.wp-block-woocommerce-checkout .wc-block-components-checkbox__input:checked ~ .wc-block-components-checkbox__mark{
  fill:var(--kb-amber);
}
.wp-block-woocommerce-checkout .wc-block-components-checkbox__input{
  accent-color:var(--kb-amber);
}

/* Link "Modifica" sull'indirizzo già inserito */
.wp-block-woocommerce-checkout .wc-block-components-address-card__edit{
  color:var(--kb-amber-dark) !important;
  font-weight:600 !important;
  cursor:pointer;
}
.wp-block-woocommerce-checkout .wc-block-components-address-card{
  background:var(--kb-cream-light) !important;
  border:1px solid var(--kb-border) !important;
  border-radius:8px !important;
  padding:14px 16px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
}
.wp-block-woocommerce-checkout .wc-block-components-address-card address{
  font-style:normal !important;
  color:var(--kb-text) !important;
  font-size:.92rem !important;
}

/* ---------------------------------------------------------
   4) Toggle "Spedisci / Ritiro"
   --------------------------------------------------------- */
.wp-block-woocommerce-checkout .wc-block-checkout__shipping-method-container{
  display:flex;
  gap:12px;
}
.wp-block-woocommerce-checkout .wc-block-checkout__shipping-method-option{
  flex:1;
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 16px !important;
  border:1px solid var(--kb-border) !important;
  border-radius:8px !important;
  cursor:pointer;
  transition:border-color .15s, background .15s;
  color:var(--kb-text-soft) !important;
}
.wp-block-woocommerce-checkout .wc-block-checkout__shipping-method-option-icon path{
  fill:currentColor;
}
.wp-block-woocommerce-checkout .wc-block-checkout__shipping-method-option-title{
  font-weight:600;
  font-size:.95rem;
}
.wp-block-woocommerce-checkout .wc-block-checkout__shipping-method-option:hover{
  border-color:var(--kb-amber) !important;
}
.wp-block-woocommerce-checkout .wc-block-checkout__shipping-method-option--selected{
  background:var(--kb-cream-light) !important;
  border-color:var(--kb-amber) !important;
  color:var(--kb-amber-dark) !important;
}

/* ---------------------------------------------------------
   5) Metodi di spedizione / pagamento (radio "accordion")
   --------------------------------------------------------- */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option{
  /* padding-left a 48px (non 16px): il core riserva questo spazio
     per il pallino del radio, posizionato in assoluto a left:16px.
     Con un padding-left minore il testo ci finiva sopra. */
  border:1px solid var(--kb-border) !important;
  border-radius:8px !important;
  padding:16px 16px 16px 48px !important;
  margin-bottom:10px !important;
  transition:border-color .15s, background .15s;
}
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option{
  border-radius:8px;
  overflow:hidden;
  margin-bottom:10px;
}
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option{
  margin-bottom:0 !important;
}
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option:hover{
  border-color:var(--kb-amber) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option-checked,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option--checked-option-highlighted{
  background:var(--kb-cream-light) !important;
  border-color:var(--kb-amber) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-radio-control__input:checked{
  border-color:var(--kb-amber) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-radio-control__input:checked::before{
  background:var(--kb-amber) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-radio-control__label,
.wp-block-woocommerce-checkout .wc-block-components-payment-method-label{
  font-family:var(--kb-font-body) !important;
  font-weight:600 !important;
  color:var(--kb-text) !important;
  font-size:.95rem !important;
}
.wp-block-woocommerce-checkout .wc-block-components-radio-control__secondary-label{
  font-weight:700 !important;
  color:var(--kb-amber-dark) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-content{
  padding:10px 16px 16px 40px !important;
  font-size:.85rem !important;
  color:var(--kb-text-soft) !important;
  line-height:1.5 !important;
}

/* Note ordine (textarea) */
.wp-block-woocommerce-checkout .wc-block-checkout__order-notes textarea{
  font-family:var(--kb-font-body) !important;
  border:1px solid var(--kb-border) !important;
  border-radius:8px !important;
  color:var(--kb-text) !important;
}
.wp-block-woocommerce-checkout .wc-block-checkout__order-notes textarea:focus{
  border-color:var(--kb-amber) !important;
  outline:none !important;
}

/* Termini e condizioni */
.wp-block-woocommerce-checkout .wc-block-checkout__terms{
  font-size:.85rem;
  color:var(--kb-text-soft);
}
.wp-block-woocommerce-checkout .wc-block-checkout__terms a{
  color:var(--kb-amber-dark);
  font-weight:600;
}

/* Bottone "Effettua ordine" */
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button{
  background:var(--kb-amber) !important;
  color:#fff !important;
  border-radius:8px !important;
  font-family:var(--kb-font-body) !important;
  font-weight:700 !important;
  font-size:1.05rem !important;
  padding:16px 22px !important;
  box-shadow:none !important;
  transition:background .15s, transform .12s;
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:hover{
  background:var(--kb-amber-dark) !important;
  transform:translateY(-1px);
}
.wp-block-woocommerce-checkout .wc-block-checkout__actions_row{
  margin-top:8px;
}

/* ---------------------------------------------------------
   6) Sidebar "Riepilogo dell'ordine"
   --------------------------------------------------------- */
.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block{
  background:var(--kb-cream-light) !important;
  border-top:4px solid var(--kb-amber) !important;
  border-radius:var(--kb-radius) !important;
  box-shadow:var(--kb-shadow) !important;
  padding:24px 26px 6px !important;
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title-text{
  font-family:var(--kb-font-display) !important;
  font-weight:400 !important;
  color:var(--kb-amber) !important;
  font-size:1.4rem !important;
  margin:0 !important;
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title-price{
  font-family:var(--kb-font-body) !important;
  font-weight:700 !important;
  color:var(--kb-amber-dark) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title-icon path{
  fill:var(--kb-amber-dark);
}

/* Righe prodotto nel riepilogo */
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item{
  padding:14px 0 !important;
  border-bottom:1px solid var(--kb-border) !important;
  gap:12px;
}
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item:last-child{
  border-bottom:none !important;
}
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__image{
  /* NIENTE overflow:hidden qui: il badge con la quantità è
     posizionato dal core in assoluto, "a cavallo" dell'angolo in
     alto a destra dell'immagine (di proposito, come una notifica).
     Con overflow:hidden sul contenitore veniva tagliato a metà —
     per questo appariva "strano". Il bordo arrotondato va messo
     sulla <img> stessa, non sul contenitore. */
}
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__image > img{
  border-radius:8px !important;
  box-shadow:0 0 0 1px var(--kb-border) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__quantity{
  background:var(--kb-amber) !important;
  color:#fff !important;
  font-family:var(--kb-font-body) !important;
  font-weight:700 !important;
  font-size:.7rem !important;
  box-shadow:0 0 0 2px #fff !important;
}
.wp-block-woocommerce-checkout .wc-block-components-product-name{
  font-family:var(--kb-font-display) !important;
  font-weight:400 !important;
  font-size:1rem !important;
  color:var(--kb-text) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__individual-price,
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__total-price,
.wp-block-woocommerce-checkout .wc-block-formatted-money-amount{
  font-family:var(--kb-font-body) !important;
  font-weight:700 !important;
  color:var(--kb-amber-dark) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-product-metadata__description p{
  font-size:.82rem !important;
  color:var(--kb-text-soft) !important;
  line-height:1.4 !important;
  margin:2px 0 0 !important;
}

/* Totali (subtotale, spedizione, totale finale) — stessa gerarchia
   visiva usata nella pagina Carrello */
.wp-block-woocommerce-checkout .wc-block-components-totals-item{
  padding:12px 0 !important;
  border-bottom:1px solid var(--kb-border) !important;
  font-size:.95rem !important;
}
.wp-block-woocommerce-checkout .wc-block-components-totals-item__label{
  color:var(--kb-text-soft) !important;
  font-weight:500 !important;
}
.wp-block-woocommerce-checkout .wc-block-components-totals-item__value{
  font-family:var(--kb-font-body) !important;
  font-weight:700 !important;
  color:var(--kb-amber-dark) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item{
  border-bottom:none !important;
  padding-top:16px !important;
}
.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
  font-family:var(--kb-font-display) !important;
  font-size:1.15rem !important;
  color:var(--kb-text) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-totals-footer-item-tax-value{
  font-size:1.3rem !important;
  color:var(--kb-amber-dark) !important;
}
.wp-block-woocommerce-checkout .wc-block-components-totals-shipping__via{
  font-size:.82rem !important;
  color:var(--kb-text-soft) !important;
}

/* ---------------------------------------------------------
   7) Responsive
   --------------------------------------------------------- */
@media (max-width: 900px){
  .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout{
    flex-direction:column-reverse; /* riepilogo sopra il form su mobile, come da UX WooCommerce */
  }
  .wp-block-woocommerce-checkout .wc-block-checkout__sidebar{
    position:static;
    width:100%;
  }
}
@media (max-width: 600px){
  .wp-block-woocommerce-checkout .wc-block-components-checkout-step{
    padding:20px 18px 24px;
  }
  .wp-block-woocommerce-checkout .wc-block-checkout__shipping-method-container{
    flex-direction:column;
  }
}