@import url('https://fonts.googleapis.com/css2?family=Source+Code+Pro:wght@400;500;600;700&display=swap');
:root{--wg:#00e012;--wbg:#07080a;--wpanel:#121517;--wpanel2:#0e1113;--wline:#26302b;--wfg:#e8f4ed;--wmut:#9aaca3;}
body.woocommerce-cart,body.woocommerce-checkout,body.woocommerce-account{background:var(--wbg)!important;color:var(--wfg)!important}
.woocommerce,.woocommerce-page,.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{color:var(--wfg);font-family:"Source Code Pro",ui-monospace,"SF Mono",Menlo,Consolas,monospace}
.woocommerce h1,.woocommerce h2,.woocommerce h3,.woocommerce label,.woocommerce legend{color:#d8ffdc!important}
.woocommerce a{color:var(--wg)}.woocommerce a:hover{color:#28ff3a}

/* ===================== WOOCOMMERCE BLOCKS (cart/checkout nuovi) ===================== */
.wc-block-components-title,.wc-block-components-checkout-step__title,.wc-block-components-order-summary__title,.wc-block-components-sidebar .wc-block-components-title,.wc-block-checkout__main h2,.wc-block-cart__main h2{color:#d8ffdc!important}
.wc-block-components-checkout-step__description,.wc-block-components-checkout-step__heading-content{color:var(--wmut)!important}
/* input / select / textarea */
.wc-block-components-text-input input,.wc-block-components-text-input textarea,.wc-block-components-address-form input,.wc-block-components-address-form textarea,.wc-block-components-combobox input,.wc-block-components-form .wc-block-components-text-input input,.wc-block-checkout__form input,.wc-block-checkout__form textarea{
 background:var(--wpanel2)!important;border:1px solid var(--wline)!important;color:var(--wfg)!important;border-radius:8px!important}
.wc-block-components-text-input input:focus,.wc-block-components-address-form input:focus,.wc-block-components-combobox input:focus{border-color:var(--wg)!important;box-shadow:0 0 0 2px rgba(0,224,18,.28)!important;outline:none!important}
.wc-block-components-text-input label,.wc-block-components-combobox label,.wc-block-checkout__form label{color:var(--wmut)!important}
.wc-block-components-text-input.is-active label,.wc-block-components-combobox.is-active label{color:var(--wg)!important}
.wc-block-components-select .wc-block-components-select__container,.wc-block-components-select select,.wc-block-components-country-input select,.wc-block-components-state-input select{background:var(--wpanel2)!important;border:1px solid var(--wline)!important;color:var(--wfg)!important;border-radius:8px!important}
.wc-block-components-combobox-control .components-form-token-field__input{background:transparent!important;color:var(--wfg)!important}
::placeholder{color:#5f6d64!important}
/* pannelli / sidebar / riepilogo */
.wc-block-checkout__sidebar,.wc-block-cart__sidebar,.wc-block-components-sidebar,.wc-block-components-order-summary,.wc-block-components-panel,.wc-block-components-totals-wrapper,.wc-block-components-checkout-order-summary,.wc-block-checkout__payment-method,.wc-block-components-payment-methods,.wc-block-components-shipping-rates-control,.wp-block-woocommerce-checkout-order-summary-block{
 background:var(--wpanel)!important;border:1px solid var(--wline)!important;border-radius:12px!important}
.wc-block-components-totals-item,.wc-block-components-totals-item__label,.wc-block-components-totals-item__value,.wc-block-components-order-summary-item__quantity{color:var(--wfg)!important}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{color:var(--wg)!important;font-weight:800}
.wc-block-components-panel__button,.wc-block-components-totals-coupon__button,.wc-block-components-panel__title{color:var(--wg)!important}
.wc-block-components-divider,.wc-block-cart-items__row,.wc-block-components-order-summary-item,.wc-block-components-checkout-step{border-color:var(--wline)!important}
.wc-block-components-product-name{color:#d8ffdc!important}
.wc-block-components-product-price,.wc-block-components-formatted-money-amount,.wc-block-components-order-summary-item__total-price{color:var(--wg)!important}
/* stepper quantità */
.wc-block-components-quantity-selector{background:var(--wpanel2)!important;border:1px solid var(--wline)!important;border-radius:8px!important}
.wc-block-components-quantity-selector input{background:transparent!important;color:var(--wfg)!important}
.wc-block-components-quantity-selector__button{color:var(--wg)!important}
/* radio pagamento / checkbox */
.wc-block-components-radio-control__option,.wc-block-checkout__payment-method label{border-color:var(--wline)!important;color:var(--wfg)!important}
input[type=radio],input[type=checkbox]{accent-color:var(--wg)!important}
.wc-block-components-radio-control-accordion-content,.wc-block-checkout__payment-method .payment_box{background:var(--wpanel2)!important;color:var(--wmut)!important}
/* avvisi block */
.wc-block-components-notice-banner{background:var(--wpanel2)!important;border-color:var(--wg)!important;color:var(--wfg)!important}
.wc-block-components-notice-banner svg{fill:var(--wg)!important}

/* ===================== BOTTONI (block + classic) ===================== */
.wc-block-components-button,.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button,.wp-block-woocommerce-cart button,.wc-block-checkout__actions_row button,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #place_order,.woocommerce button.button.alt,.woocommerce a.button.alt{
 background:var(--wg)!important;color:#031206!important;border:0!important;border-radius:9px!important;font-weight:700!important;box-shadow:0 8px 22px -12px rgba(0,224,18,.55)!important;text-shadow:none!important}
.wc-block-components-button:hover,.wc-block-cart__submit-button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce #place_order:hover{background:#28ff3a!important}
.wc-block-components-button.wc-block-components-button--outlined,.wc-block-components-button.contained.is-active{background:transparent!important;color:var(--wg)!important;border:1.5px solid var(--wg)!important}
.wc-block-components-button__text{color:inherit!important}

/* ===================== CLASSIC (fallback) ===================== */
.woocommerce table.shop_table{background:var(--wpanel)!important;border:1px solid var(--wline)!important;border-radius:12px!important;color:var(--wfg)!important;overflow:hidden}
.woocommerce table.shop_table th,.woocommerce table.shop_table td,.woocommerce table.shop_table tfoot td{border-color:var(--wline)!important;color:var(--wfg)!important;background:transparent!important}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce input[type=text],.woocommerce input[type=email],.woocommerce input[type=tel],.woocommerce input[type=password]{
 background:var(--wpanel2)!important;border:1px solid var(--wline)!important;color:var(--wfg)!important;border-radius:8px!important}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{border-color:var(--wg)!important;box-shadow:0 0 0 3px rgba(0,224,18,.15)!important;outline:none!important}
.woocommerce .cart_totals,.woocommerce-checkout #order_review,.woocommerce-checkout #payment,.woocommerce-order,.woocommerce-MyAccount-content,.woocommerce form.login,.woocommerce form.register,.woocommerce-address-fields,.woocommerce-EditAccountForm{
 background:var(--wpanel)!important;border:1px solid var(--wline)!important;border-radius:12px!important;padding:22px!important}
.woocommerce #payment div.payment_box{background:var(--wpanel2)!important;color:var(--wmut)!important}
.woocommerce-info,.woocommerce-message,.woocommerce-error{background:var(--wpanel2)!important;border-top:3px solid var(--wg)!important;color:var(--wfg)!important}
.woocommerce-MyAccount-navigation li{border:1px solid var(--wline)!important;border-radius:9px;margin-bottom:8px;background:var(--wpanel)}
.woocommerce-MyAccount-navigation li a{display:block;padding:12px 16px;color:var(--wfg)!important}
.woocommerce-MyAccount-navigation li.is-active{border-color:var(--wg)!important}
.woocommerce-MyAccount-navigation li.is-active a{color:var(--wg)!important}
mark{background:transparent!important;color:var(--wg)!important}


/* --- Carrello: rimuovi express PayPal (bottone giallo) + separatore "OPPURE" --- */
/* Lasciamo un'unica CTA verde "Procedi al pagamento". PayPal resta in Cassa. */
.woocommerce-cart .wp-block-woocommerce-cart-express-payment-block,
.woocommerce-cart [data-block-name="woocommerce/cart-express-payment-block"],
.woocommerce-cart .wc-block-components-express-payment,
.woocommerce-cart .wc-block-components-express-payment--cart,
.woocommerce-cart .wc-block-components-express-payment-continue-rule,
.woocommerce-cart .wc-block-cart__payment-options,
.woocommerce-cart .ppcp-cart-express,
.woocommerce-cart .ppcp-button-cart{display:none!important}


/* --- Carrello: bulletproof — nascondi qualsiasi bottone PayPal express nella sidebar carrello --- */
/* (il messaggio "Paga in 3 rate" resta; la CTA verde "Procedi al pagamento" resta) */
.woocommerce-cart .wc-block-cart__sidebar [id^="zoid-paypal-buttons"],
.woocommerce-cart .wc-block-cart__sidebar [id^="paypal-buttons"],
.woocommerce-cart .wc-block-cart__sidebar div[data-funding-source],
.woocommerce-cart .wc-block-cart__sidebar .ppcp-button-apm,
.woocommerce-cart .wc-block-cart__sidebar .paypal-buttons,
.woocommerce-cart .wc-block-cart__payment-options{display:none!important}


/* ===================== CHECKOUT / CART: layout largo e arioso ===================== */
/* Il tema limita .cwp-main a 780px: troppo stretto, il riepilogo andava a capo parola-per-parola. */
html body.woocommerce-checkout main.cwp-main.cwp-main,
html body.woocommerce-cart main.cwp-main.cwp-main{max-width:1180px!important}

/* Solo desktop: riepilogo sticky mentre si compila il form. Le proporzioni delle
   colonne restano quelle native di WooCommerce (scalano col contenitore piu largo). */
@media(min-width:1000px){
  .wc-block-checkout__sidebar{position:sticky!important;top:24px!important;align-self:flex-start!important}
}

/* Riepilogo ordine: stop al wrapping parola-per-parola, testo leggibile */
.wc-block-components-order-summary__title,
.wc-block-components-order-summary-item__name,
.wc-block-components-order-summary-item__description,
.wc-block-components-product-name,
.wc-block-components-product-metadata{overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
.wc-block-components-order-summary-item__name,.wc-block-components-product-name{font-size:14px!important;line-height:1.5!important}
.wc-block-components-order-summary-item__description p,.wc-block-components-product-metadata{font-size:12.5px!important;line-height:1.5!important;color:var(--wmut)!important}

/* Form: campi più alti (touch ≥44px) e spaziatura più ariosa */
.wc-block-components-text-input input,.wc-block-components-address-form input,.wc-block-components-combobox input,.wc-block-checkout__form input{min-height:48px!important}
.wc-block-components-address-form .wc-block-components-text-input,.wc-block-checkout__form .wc-block-components-text-input{margin-top:16px!important}
.wc-block-checkout__main .wc-block-components-checkout-step{padding-bottom:8px!important}

/* Titoli step un filo più grandi per gerarchia */
.wc-block-components-checkout-step__title{font-size:19px!important}


/* Messaggio PayPal Pay Later: era incollato al totale e al bottone (margin 0). Aria attorno. */
.ppcp-messages,#ppcp-cart-paylater-messages,#ppcp-checkout-paylater-messages{display:block!important;margin:18px 0 20px!important;padding:0 2px!important}


/* Pannello riepilogo: padding asimmetrico (sx 25px, dx 0) tagliava il "€" del totale. Simmetrico. */
.wc-block-cart__sidebar,.wc-block-checkout__sidebar{padding:24px!important}
.wc-block-components-totals-item__label,.wc-block-components-totals-item__value{overflow-wrap:normal!important}


/* Box "Estimated total": aveva padding orizzontale 0 -> il "€" toccava il bordo. Padding simmetrico. */
.wc-block-components-totals-wrapper{padding-left:18px!important;padding-right:18px!important}
.wc-block-components-totals-item{padding-right:2px!important}


/* ===================== SUMMARY: look pulito, un solo pannello ===================== */
/* Prima ogni wrapper aveva un bordo -> box annidati + linee doppie ("sezioni che si uniscono"). */
.wc-block-cart__sidebar .wc-block-components-totals-wrapper,
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper{border:0!important;background:transparent!important;border-radius:0!important;padding-left:0!important;padding-right:0!important}
/* niente box interno: resta solo il pannello esterno (sidebar) */
.wp-block-woocommerce-cart-order-summary-block,.wp-block-woocommerce-checkout-order-summary-block,.wc-block-cart__sidebar .wc-block-components-order-summary,.wc-block-checkout__sidebar .wc-block-components-order-summary{border:0!important;background:transparent!important}
.ppcp-messages iframe{border:0!important}
/* coupon = pill singola, pulita */
.wc-block-cart__sidebar .wc-block-components-totals-coupon,
.wc-block-checkout__sidebar .wc-block-components-totals-coupon{border:1px solid var(--wline)!important;border-radius:10px!important;background:var(--wpanel2)!important;padding:2px 12px!important;margin:4px 0 16px!important}
/* totale = un unico divisore sopra, niente riquadro */
.wc-block-components-totals-footer-item{border-top:1px solid var(--wline)!important;padding-top:16px!important;margin-top:2px!important}


/* ===================== HEADER dello store su cart/checkout/account ===================== */
/* nasconde l'header del tema ("Back to desktop") solo su queste pagine */
body.woocommerce-cart .cwp-top,body.woocommerce-checkout .cwp-top,body.woocommerce-account .cwp-top{display:none!important}
.cc-shop-nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(7,8,10,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid #1e2622;font-family:"Source Code Pro",ui-monospace,Menlo,Consolas,monospace}
body.woocommerce-cart .cwp-main,body.woocommerce-checkout .cwp-main,body.woocommerce-account .cwp-main{padding-top:96px!important}
.cc-shop-nav .wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.cc-shop-nav .row{display:flex;align-items:center;justify-content:space-between;height:64px}
.cc-shop-nav .logo{font-weight:700;font-size:17px;color:#e8f4ed;text-decoration:none;letter-spacing:-.01em}
.cc-shop-nav .logo b{color:#00e012}
.cc-shop-nav .navlinks{display:flex;gap:14px;align-items:center}
.cc-shop-nav .navlinks a.tl{color:#9aaca3;font-weight:500;font-size:14px;padding:8px 6px;text-decoration:none}
.cc-shop-nav .navlinks a.tl:hover{color:#00e012}
.cc-shop-nav .cart{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:#e8f4ed;border:1px solid #2a352e;border-radius:9px;padding:8px 15px;text-decoration:none}
.cc-shop-nav .cart:hover{border-color:#00e012;color:#00e012}
.cc-shop-nav .cart .ic{width:18px;height:18px}
