/* Box Liwaria · checkout, offerta dopo il pagamento e conferma.
   Componenti copiati dal prototipo (landing/box-liwaria.html, «Checkout, offerta dopo il pagamento, conferma»),
   più le regole che vestono i campi di WooCommerce allo stesso modo. */

:root{
  color-scheme:dark;
  --night:#050B0A; --night-2:#0A1513; --panel:rgba(9,19,17,.72);
  --silver:#E7EDE9; --mist:#AEBBB5; --faint:#71817B; --line:rgba(231,237,233,.13);
  --emerald:#3FCBA8; --azure:#86B7F0; --ember:#EC6E45; --blood:#C0313A; --gold:#D2AE68;
  --parchment:#EBDDBF; --ink:#1F2B47; --rose:#D99CA8;
  --tone:var(--emerald);
  --display:"Cormorant Garamond", "Cormorant", Georgia, "Times New Roman", serif;
  --body:"Abhaya Libre", Georgia, "Times New Roman", serif;
  --script:"Mrs Saint Delafield", "Snell Roundhand", "Apple Chancery", cursive;
  --ui:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --gutter-l:max(20px, env(safe-area-inset-left, 0px));
  --gutter-r:max(20px, env(safe-area-inset-right, 0px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.liw-co-body{margin:0; background:var(--night); color:var(--silver); font-family:var(--body); font-size:19px; line-height:1.62; -webkit-font-smoothing:antialiased}
body.liw-co-body img{max-width:100%; height:auto; display:block}
body.liw-co-body a{color:inherit}
body.liw-co-body h1, body.liw-co-body h2, body.liw-co-body h3{font-family:var(--display); font-weight:500; margin:0; text-wrap:balance; letter-spacing:.005em; color:var(--silver)}
body.liw-co-body p{margin:0}
body.liw-co-body button:not(.btn){font:inherit; color:inherit}
:focus-visible{outline:2px solid var(--emerald); outline-offset:3px; border-radius:2px}
.screen-reader-text{border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute!important; width:1px; word-wrap:normal!important}

.liw-sheet{min-height:100vh; padding:calc(24px + env(safe-area-inset-top, 0px)) var(--gutter-r) calc(48px + env(safe-area-inset-bottom, 0px)) var(--gutter-l);
  background:radial-gradient(ellipse 80% 50% at 50% -10%, rgba(63,203,168,.12), transparent 70%), radial-gradient(ellipse 60% 40% at 90% 110%, rgba(210,174,104,.08), transparent 70%), var(--night)}
.sheet-in{max-width:1080px; margin:0 auto; display:flex; flex-direction:column; gap:24px}
.sheet-top{display:flex; justify-content:space-between; align-items:center; gap:14px}
.liw-h{font-size:2.4rem}
.x{display:inline-flex; align-items:center; justify-content:center; text-decoration:none; background:rgba(5,11,10,.6); border:1px solid var(--line); width:40px; height:40px; cursor:pointer; font-family:var(--ui); font-size:1.1rem; border-radius:2px}
.x:hover{border-color:var(--silver)}

/* Elementi del prototipo */
.eyebrow{font-family:var(--ui); font-size:.72rem; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:var(--tone)}
.lede{font-size:1.14rem; color:var(--mist); max-width:60ch}
.small{font-size:.88rem; color:var(--mist)}
.rose-ico{width:1em; height:1em; flex:none; color:var(--rose)}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; font-family:var(--ui); font-size:.9rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; text-decoration:none; padding:16px 28px; border-radius:2px; border:1px solid transparent; cursor:pointer; transition:background .25s, color .25s, box-shadow .25s, transform .25s}
.btn-primary{background:var(--emerald); color:#03231C}
.btn-primary:hover{box-shadow:0 0 34px rgba(63,203,168,.45); transform:translateY(-1px)}
.btn-ghost{border-color:var(--line); color:var(--silver); background:transparent}
.btn-ghost:hover{border-color:var(--silver)}
.btn-gold{border-color:var(--gold); color:var(--gold); background:transparent; padding:10px 16px; font-size:.76rem}
.btn-gold:hover{background:rgba(210,174,104,.12)}
.link{font-family:var(--ui); font-size:.9rem; color:var(--mist); text-decoration:underline; text-underline-offset:4px; text-decoration-color:var(--faint); background:none; border:0; cursor:pointer; padding:0}
.link:hover{color:var(--silver)}
.step-t{font-family:var(--ui); font-size:.72rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--emerald)}
.minis{display:flex; padding-left:12px}
.minis img{width:40px; aspect-ratio:2/3; object-fit:cover; margin-left:-12px; border:1px solid rgba(0,0,0,.5); box-shadow:0 6px 16px rgba(0,0,0,.55); transform:rotate(-4deg)}
.minis img:nth-child(even){transform:rotate(3deg) translateY(-3px)}
.minis.lg img{width:62px; margin-left:-16px}
.minis.lg{padding-left:16px}
.contents{list-style:none; margin:10px 0 0; padding:0; display:grid; gap:8px}
.contents li{display:flex; gap:10px; align-items:baseline; font-size:.98rem}
.contents .rose-ico{transform:translateY(3px)}
.contents li.gad{color:var(--mist); font-size:.92rem}
.contents .dotsep{width:1em; flex:none; text-align:center; color:var(--faint)}
.ship-eta{font-family:var(--ui); font-size:.82rem; color:var(--silver); padding:10px 12px; border:1px solid var(--line)}
.ship-eta b{color:var(--emerald); font-weight:600}
.panel{border:1px solid var(--line); background:rgba(7,15,13,.8); padding:22px; display:flex; flex-direction:column; gap:14px}
.co-box-head{display:flex; gap:18px; align-items:center}
.co-box-head h3{font-size:1.9rem; line-height:1.05}
.co-line{display:flex; justify-content:space-between; gap:12px; font-size:1rem}
.co-line span:last-child{font-variant-numeric:tabular-nums; white-space:nowrap}
.co-line.liw-total{font-family:var(--display); font-size:1.5rem; border-top:1px solid var(--line); padding-top:12px}
.co-warn{color:var(--mist)}
.bump{border:2px dashed var(--gold); padding:16px; background:rgba(210,174,104,.07); display:grid; grid-template-columns:auto minmax(0,1fr); gap:14px; align-items:center; text-align:left}
.bump label{display:flex; gap:12px; align-items:flex-start; cursor:pointer; font-weight:600; line-height:1.35; font-family:var(--body); font-size:1rem; color:var(--silver)}
.bump input{width:22px; height:22px; accent-color:var(--gold); flex:none; margin-top:2px}
.bump p{font-size:.92rem; color:var(--mist); padding-left:34px; margin-top:6px; line-height:1.45}

/* ---------- Checkout WooCommerce ---------- */
.liw-sheet .woocommerce{width:100%}
.liw-sheet form.checkout{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:20px 28px; align-items:start}
.liw-sheet form.checkout > *{grid-column:1; min-width:0; margin:0}
/* Avviso di errore (pagamento rifiutato, campi mancanti): WooCommerce lo mette in cima al modulo. Resta nella colonna di sinistra,
   in prima riga: a tutta larghezza finiva dopo le 8 righe del riepilogo, spingeva giù il modulo e passava sotto il riquadro del totale. */
.liw-sheet form.checkout > .woocommerce-NoticeGroup{grid-column:1; grid-row:1}
.liw-sheet #order_review_heading{display:none}
.liw-sheet form.checkout > #order_review{grid-column:2; grid-row:1 / span 8; position:sticky; top:20px; border:1px solid var(--line); background:rgba(7,15,13,.8); padding:22px; display:flex; flex-direction:column; gap:14px}
.liw-co-left{display:flex; flex-direction:column; gap:20px}
.liw-dedica{border:1px solid var(--line); background:rgba(7,15,13,.8); padding:16px 22px; display:flex; flex-direction:column; gap:10px}
.liw-dedica[hidden]{display:none}
.liw-check{display:flex; gap:10px; align-items:flex-start; font-family:var(--ui); font-size:.85rem; color:var(--mist); cursor:pointer}
.liw-check input{width:18px; height:18px; accent-color:var(--emerald); margin-top:1px}

.liw-sheet #customer_details{display:flex; flex-direction:column; gap:20px}
.liw-sheet #customer_details .col-1, .liw-sheet #customer_details .col-2{float:none; width:auto; max-width:none; padding:0; margin:0}
.liw-sheet .woocommerce-billing-fields, .liw-sheet .woocommerce-shipping-fields, .liw-sheet .woocommerce-additional-fields{border:1px solid var(--line); background:rgba(7,15,13,.8); padding:22px}
.liw-sheet .woocommerce-shipping-fields:not(:has(input:checked)){padding-bottom:12px}
.liw-sheet .woocommerce-billing-fields h3, .liw-sheet .woocommerce-additional-fields h3, .liw-sheet #ship-to-different-address{font-family:var(--ui); font-size:.72rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--emerald); margin:0 0 14px}
.liw-sheet #ship-to-different-address label{display:flex; gap:10px; align-items:center; text-transform:none; letter-spacing:0; font-size:.85rem; color:var(--mist); font-weight:500; cursor:pointer}
.liw-sheet #ship-to-different-address input{width:18px; height:18px; accent-color:var(--emerald)}
.liw-sheet .woocommerce-billing-fields__field-wrapper, .liw-sheet .woocommerce-shipping-fields__field-wrapper{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.liw-sheet .form-row{margin:0; padding:0; display:flex; flex-direction:column; gap:6px; grid-column:1 / -1; float:none; width:auto}
.liw-sheet .form-row-first{grid-column:1}
.liw-sheet .form-row-last{grid-column:2}
.liw-sheet .form-row label{font-family:var(--ui); font-size:.78rem; color:var(--mist); line-height:1.3; margin:0}
.liw-sheet .form-row label .optional{color:var(--faint)}
.liw-sheet .form-row .required{color:var(--rose); text-decoration:none; border:0}
.liw-sheet .form-row .woocommerce-input-wrapper{display:block; width:100%}
.liw-sheet input.input-text, .liw-sheet textarea.input-text, .liw-sheet select, .liw-sheet .select2-container .select2-selection--single{font-family:var(--body); font-size:1rem; color:var(--silver); background:rgba(5,11,10,.8); border:1px solid var(--line); border-radius:2px; padding:11px 12px; width:100%; line-height:1.3; min-height:46px; box-shadow:none}
.liw-sheet textarea.input-text{min-height:70px}
.liw-sheet input.input-text:focus, .liw-sheet textarea.input-text:focus, .liw-sheet select:focus, .liw-sheet .select2-container--focus .select2-selection--single, .liw-sheet .select2-container--open .select2-selection--single{outline:none; border-color:var(--emerald); box-shadow:0 0 0 3px rgba(63,203,168,.2)}
.liw-sheet .form-row.woocommerce-invalid input.input-text, .liw-sheet .form-row.woocommerce-invalid .select2-selection{border-color:var(--rose)}
.liw-sheet .select2-container .select2-selection--single .select2-selection__rendered{color:var(--silver); padding:0; line-height:1.3}
.liw-sheet .select2-container .select2-selection--single .select2-selection__arrow{height:44px; right:8px}
.select2-dropdown{background:#0A1513; border-color:var(--line); color:var(--silver); font-family:var(--body)}
.select2-container--default .select2-search--dropdown .select2-search__field{background:rgba(5,11,10,.8); color:var(--silver); border-color:var(--line)}
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected]{background:var(--emerald); color:#03231C}
.select2-container--default .select2-results__option[aria-selected=true], .select2-container--default .select2-results__option[data-selected=true]{background:rgba(63,203,168,.15)}
.liw-sheet #billing_country_field strong, .liw-sheet #shipping_country_field strong{font-weight:500; font-family:var(--body)}

/* Riepilogo */
.liw-sheet table.shop_table{width:100%; border:0; border-collapse:collapse; margin:0; font-size:1rem; background:none}
.liw-sheet table.shop_table thead{display:none}
.liw-sheet table.shop_table th, .liw-sheet table.shop_table td{border:0; padding:5px 0; background:none; font-weight:400; text-align:left; vertical-align:top; color:var(--silver)}
.liw-sheet table.shop_table td.product-total, .liw-sheet table.shop_table tfoot td{text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums}
.liw-sheet table.shop_table .product-quantity{display:none}
.liw-sheet table.shop_table dl.variation{display:none}
.liw-sheet table.shop_table tr.cart-subtotal{display:none}
.liw-sheet table.shop_table tr.woocommerce-shipping-totals th, .liw-sheet table.shop_table tr.woocommerce-shipping-totals td{font-family:var(--ui); font-size:.85rem; color:var(--mist)}
.liw-sheet #shipping_method{list-style:none; margin:0; padding:0}
.liw-sheet #shipping_method li{margin:0; padding:0}
.liw-sheet table.shop_table tfoot tr.liw-bumps-row td, .liw-sheet tr.liw-bumps-row td{padding:10px 0 4px; display:table-cell; text-align:left; white-space:normal}
.liw-sheet .bump, .liw-sheet .bump p, .liw-sheet .bump label{white-space:normal; overflow-wrap:anywhere}
.liw-sheet .bump .save{display:block; margin-top:4px; color:var(--gold)}
.liw-sheet tr.liw-bumps-row .bump + .bump{margin-top:12px}
.liw-sheet table.shop_table tr.order-total th, .liw-sheet table.shop_table tr.order-total td{font-family:var(--display); font-size:1.6rem; border-top:1px solid var(--line); padding-top:12px}
.liw-sheet table.shop_table tr.order-total td strong{font-weight:500}
.liw-sheet .woocommerce-Price-currencySymbol{margin-left:.15em}

/* Pagamento */
.liw-sheet #payment{background:none; border-radius:0; margin:0}
.liw-sheet #payment ul.payment_methods{list-style:none; margin:0 0 14px; padding:0; border:0; display:flex; flex-direction:column; gap:10px}
.liw-sheet #payment ul.payment_methods li{border:1px solid var(--line); padding:12px 14px; margin:0; background:rgba(5,11,10,.5); line-height:1.4}
/* Tutta la riga del metodo seleziona il metodo (feedback di Simone, 13/11). */
.liw-sheet #payment ul.payment_methods li.wc_payment_method{cursor:pointer; transition:border-color .15s, background .15s}
.liw-sheet #payment ul.payment_methods li.wc_payment_method:hover{border-color:rgba(214,180,106,.55)}
.liw-sheet #payment ul.payment_methods li.wc_payment_method.liw-on, .liw-sheet #payment ul.payment_methods li.wc_payment_method:has(> input:checked){border-color:var(--gold); background:rgba(214,180,106,.06)}
.liw-sheet #payment ul.payment_methods li .payment_box{cursor:auto}
.liw-sheet #payment ul.payment_methods li > input[type=radio]{accent-color:var(--emerald); margin-right:8px}
.liw-sheet #payment ul.payment_methods li label{font-family:var(--ui); font-size:.9rem; font-weight:500; cursor:pointer; display:inline-flex; align-items:center; gap:8px; flex-wrap:wrap}
.liw-sheet #payment ul.payment_methods li img{display:inline-block; max-height:22px; width:auto; margin:0 0 0 4px; vertical-align:middle}
.liw-sheet #payment div.payment_box{background:rgba(231,237,233,.05); color:var(--mist); font-size:.9rem; margin:10px 0 0; padding:12px; border-radius:2px}
.liw-sheet #payment div.payment_box::before{display:none}
.liw-sheet #payment div.form-row{padding:0; margin:14px 0 0}
.liw-sheet .woocommerce-terms-and-conditions-wrapper{font-family:var(--ui); font-size:.8rem; color:var(--mist); display:flex; flex-direction:column; gap:10px; margin-bottom:14px}
.liw-sheet .woocommerce-terms-and-conditions-wrapper a{color:var(--silver)}
.liw-sheet .woocommerce-form__label-for-checkbox{display:flex; gap:10px; align-items:flex-start}
.liw-sheet #place_order{width:100%; display:flex; align-items:center; justify-content:center; font-family:var(--ui); font-size:.9rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; padding:16px 28px; border-radius:2px; border:0; background:var(--emerald); color:#03231C; cursor:pointer; float:none}
.liw-sheet #place_order:hover{box-shadow:0 0 34px rgba(63,203,168,.45)}

/* Avvisi e caricamento */
.liw-sheet .woocommerce-error, .liw-sheet .woocommerce-message, .liw-sheet .woocommerce-info, .liw-sheet .woocommerce-notice{list-style:none; margin:0 0 4px; padding:12px 16px; border:1px solid var(--rose); background:rgba(217,156,168,.08); color:var(--silver); font-family:var(--ui); font-size:.88rem}
.liw-sheet .woocommerce-message, .liw-sheet .woocommerce-info{border-color:var(--emerald); background:rgba(63,203,168,.08)}
.liw-sheet .woocommerce-error::before, .liw-sheet .woocommerce-message::before, .liw-sheet .woocommerce-info::before{display:none}
.liw-sheet .woocommerce-error li{margin:0}
.liw-sheet .woocommerce-error li + li{margin-top:6px}
.liw-sheet .woocommerce-error, .liw-sheet .woocommerce-message, .liw-sheet .woocommerce-info{line-height:1.5; overflow-wrap:anywhere; border-radius:2px}
/* Stripe aggiunge un campo invisibile (#wc-stripe-hidden-style-input) per leggere lo stile dei campi: è largo quanto lo schermo e spostato
   a destra, quindi sul telefono la pagina scorreva di lato di circa 85 px. Lo teniamo dentro lo schermo: gli stili che Stripe legge non cambiano. */
#wc-stripe-hidden-style-input{left:0 !important; right:auto !important; max-width:100% !important}
/* Il modulo della carta di Stripe è un <fieldset>: senza questa riga il browser gli disegna un bordo grigio in rilievo dentro la cornice dorata. */
.liw-sheet fieldset.wc-payment-form{border:0; margin:0; padding:0; min-width:0}
.liw-sheet .woocommerce-NoticeGroup:focus, .liw-sheet .woocommerce-error:focus, .liw-sheet .woocommerce-message:focus, .liw-sheet .woocommerce-info:focus{outline:none}
.blockUI.blockOverlay{background:rgba(5,11,10,.6)!important}
.liw-seller{text-align:center; margin-top:12px}

/* ---------- Offerta dopo il pagamento e conferma ---------- */
.oto{max-width:780px; margin:0 auto; text-align:center; display:flex; flex-direction:column; align-items:center; gap:22px; padding-top:20px}
.oto[hidden], .grazie[hidden]{display:none}
.oto h2{font-size:clamp(2.2rem, 5vw, 3.6rem); line-height:1.05; font-style:italic; text-shadow:0 0 30px rgba(0,0,0,.8)}
.oto .covers{display:flex; justify-content:center; gap:14px; flex-wrap:wrap}
.oto .covers img{width:min(130px, 26vw); aspect-ratio:2/3; object-fit:cover; box-shadow:0 20px 50px rgba(0,0,0,.6)}
.oto .covers img:nth-child(2){transform:translateY(-12px)}
.oto .price{font-family:var(--display); font-size:3rem; line-height:1}
.oto .acts{display:flex; flex-direction:column; align-items:center; gap:14px}
.oto .lede{background:rgba(5,11,10,.55); padding:6px 10px}
.grazie{max-width:880px; margin:0 auto; display:flex; flex-direction:column; gap:24px; width:100%}
.grazie h2{font-size:clamp(2.4rem, 5vw, 3.8rem); font-style:italic; line-height:1.05}
.liw-acts-row{display:flex; flex-wrap:wrap; gap:14px}

/* ---------- Telefono ---------- */
@media (max-width:860px){
  .liw-sheet form.checkout{grid-template-columns:1fr}
  .liw-sheet form.checkout > #order_review{grid-column:1; grid-row:auto; position:static}
  .bump{grid-template-columns:1fr}
}
@media (max-width:760px){
  body.liw-co-body{font-size:17px}
  .lede{font-size:1.04rem}
  .rose-ico{width:1.2em; height:1.2em}
  .minis img{width:50px}
  .liw-h{font-size:2rem}
  .co-box-head{flex-direction:column; align-items:flex-start; gap:12px}
  .minis.lg img{width:56px}
  .oto .acts .btn, .oto .acts form, .oto .acts form .btn{width:100%}
  .liw-sheet .woocommerce-billing-fields__field-wrapper, .liw-sheet .woocommerce-shipping-fields__field-wrapper{grid-template-columns:1fr}
  .liw-sheet .form-row-first, .liw-sheet .form-row-last{grid-column:1}
  .liw-acts-row .btn{width:100%}
}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} *,*::before,*::after{animation:none!important; transition:none!important} }

/* ---------- Testi legali (legale/testi-sito.md) ---------- */
.liw-help{font-family:var(--ui); font-size:.78rem; color:var(--faint); line-height:1.45}
.liw-dedica .form-row label{font-family:var(--ui); font-size:.78rem; color:var(--mist)}
.liw-sheet .liw-news{margin-top:16px}
.liw-sheet .liw-terms label{display:flex; gap:10px; align-items:flex-start; font-family:var(--ui); font-size:.8rem; color:var(--silver); line-height:1.5; cursor:pointer}
.liw-sheet .liw-terms input{width:18px; height:18px; accent-color:var(--emerald); flex:none; margin-top:2px}
.liw-sheet .liw-terms a, .liw-check a{color:var(--silver); text-decoration:underline; text-underline-offset:3px}
.liw-oto-l3{font-family:var(--ui); font-size:.88rem; color:var(--silver); border:1px solid var(--line); padding:10px 14px; max-width:60ch}
.liw-foot{text-align:center; margin-top:18px; line-height:1.9; color:var(--faint)}
.liw-foot a{color:var(--mist); text-underline-offset:3px}
.liw-foot .liw-recesso-link{color:var(--silver); font-weight:600}

/* Pagine del negozio: recesso, condizioni, privacy acquisti, garanzia */
.liw-page{max-width:820px}
.liw-page-body{display:flex; flex-direction:column; gap:16px; font-size:1.02rem}
.liw-page-body h2{font-size:1.7rem; margin-top:18px}
.liw-page-body h3{font-size:1.3rem; margin-top:10px}
.liw-page-body p, .liw-page-body li{color:var(--mist)}
.liw-page-body strong{color:var(--silver)}
.liw-page-body table{width:100%; border-collapse:collapse; font-size:.95rem}
.liw-page-body th, .liw-page-body td{border-bottom:1px solid var(--line); padding:8px 6px; text-align:left; vertical-align:top}
.liw-page-body img{max-width:100%; height:auto}
.liw-recesso{display:flex; flex-direction:column; gap:18px}
.liw-r-form .form-row{display:flex; flex-direction:column; gap:6px}
.liw-r-form label{font-family:var(--ui); font-size:.78rem; color:var(--mist)}
.liw-r-form .input-text, .liw-r-form select{font-family:var(--body); font-size:1rem; color:var(--silver); background:rgba(5,11,10,.8); border:1px solid var(--line); border-radius:2px; padding:11px 12px; width:100%}
.liw-r-form abbr.required{color:var(--rose); text-decoration:none}
.liw-r-sum{display:grid; grid-template-columns:auto 1fr; gap:6px 16px; margin:0}
.liw-r-sum dt{font-family:var(--ui); font-size:.78rem; color:var(--mist)}
.liw-r-sum dd{margin:0; color:var(--silver)}
.liw-hp{position:absolute!important; left:-9999px; width:1px; height:1px; overflow:hidden}
@media (max-width:600px){ .liw-r-sum{grid-template-columns:1fr} }

/* Avvisi di WooCommerce 8.5+ (markup a blocchi anche nel checkout classico) */
.liw-sheet .wc-block-components-notice-banner{display:flex; gap:10px; align-items:flex-start; margin:0 0 6px; padding:12px 16px; border:1px solid var(--rose); background:rgba(217,156,168,.08); color:var(--silver); font-family:var(--ui); font-size:.88rem; border-radius:2px}
.liw-sheet .wc-block-components-notice-banner.is-success, .liw-sheet .wc-block-components-notice-banner.is-info{border-color:var(--emerald); background:rgba(63,203,168,.08)}
.liw-sheet .wc-block-components-notice-banner > svg{width:20px; height:20px; flex:none; fill:var(--rose)}
.liw-sheet .wc-block-components-notice-banner.is-success > svg, .liw-sheet .wc-block-components-notice-banner.is-info > svg{fill:var(--emerald)}
.liw-sheet .wc-block-components-notice-banner ul{margin:0; padding-left:18px}

.liw-sheet tr.liw-garanzia-row td{padding:2px 0 6px; text-align:right; font-family:var(--ui); font-size:.78rem}
.liw-sheet tr.liw-garanzia-row a{color:var(--mist); text-underline-offset:3px}

/* Riga di fiducia sotto il pulsante, come nel prototipo */
.liw-sheet .trust{display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 12px; margin-top:14px; font-family:var(--ui); font-size:.76rem; color:var(--mist)}
.liw-sheet .trust .tl{display:inline-flex; align-items:center; gap:6px}
.liw-sheet .trust svg{width:15px; height:15px; color:var(--emerald)}
.liw-sheet .pms{display:inline-flex; flex-wrap:wrap; gap:6px}
.liw-sheet .pm{font-family:var(--ui); font-size:.66rem; font-weight:700; letter-spacing:.04em; color:#1b2433; background:#F2F0EA; border-radius:4px; padding:4px 7px; line-height:1}
.liw-sheet .pm-logo{display:inline-flex; align-items:center; justify-content:center; width:46px; height:30px; padding:4px 6px; border-radius:5px; background:#fff; box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.liw-sheet .pm-logo svg{width:100%; height:100%; color:inherit}
.liw-sheet .trust .sec-row{flex-basis:100%; text-align:center; font-size:.72rem; color:var(--faint); line-height:1.5}
.liw-sheet .trust .sec-row svg{width:13px; height:13px; vertical-align:-2px; margin-right:4px}

/* Apple Pay e Google Pay (pulsanti rapidi di Stripe): riquadro sotto la dedica, bloccato finché mancano nome o spunta. */
.liw-express{border:1px solid var(--line); background:rgba(7,15,13,.8); padding:16px 22px; margin-top:14px; display:flex; flex-direction:column; gap:10px}
.liw-express[hidden]{display:none}
.liw-x-title{font-family:var(--ui); font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--mist); margin:0}
.liw-x-terms{font-size:.8rem; line-height:1.5}
.liw-x-terms span{color:var(--silver)}
.liw-x-terms input{flex:none; margin-top:2px}
.liw-x-hint{display:none; font-family:var(--ui); font-size:.78rem; color:var(--faint); margin:0}
.liw-express.locked .liw-x-hint{display:block}
.liw-express #wc-stripe-express-checkout-element{margin-top:0 !important; transition:opacity .2s}
.liw-express.locked #wc-stripe-express-checkout-element{pointer-events:none; opacity:.35; filter:grayscale(1)}
#wc-stripe-express-checkout-button-separator{font-family:var(--ui); font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--faint); text-align:center; margin:12px 0 0 !important}

/* Dedica: stesso nome su tutti i libri o un nome per libro. */
.liw-dmode{display:flex; flex-wrap:wrap; gap:6px 18px}
.liw-dmode[hidden]{display:none}
.liw-dmode .liw-check input{accent-color:var(--emerald)}
.liw-ded-each{display:flex; flex-direction:column; gap:10px}
.liw-ded-each[hidden], .liw-ded-same[hidden]{display:none}
.liw-ded-each .form-row label{font-family:var(--ui); font-size:.78rem; color:var(--mist)}
/* Offerta dopo il pagamento: nomi per i libri aggiunti, risparmio, validità. */
.oto .liw-oto-names{display:flex; flex-direction:column; gap:8px; margin:6px 0 4px; text-align:left}
.oto .liw-oto-names label{font-family:var(--ui); font-size:.78rem; color:var(--mist); display:flex; flex-direction:column; gap:4px}
.oto .liw-oto-ship{border:1px solid var(--line); margin:4px 0 8px; padding:12px 14px 14px; display:flex; flex-direction:column; gap:10px; text-align:left; min-width:0}
.oto .liw-oto-ship legend{float:left; width:100%; padding:0; margin:0 0 2px; font-family:var(--ui); font-size:.78rem; line-height:1.4; color:var(--mist)}
.oto .liw-oto-ship legend + label{clear:both}
.oto .liw-oto-ship label{display:grid; grid-template-columns:auto minmax(0,1fr); gap:10px; align-items:start; font-size:.88rem; line-height:1.45; color:var(--silver); cursor:pointer}
.oto .liw-oto-ship input{margin:3px 0 0; accent-color:var(--gold); width:16px; height:16px}
.oto .liw-oto-ship b{color:var(--silver); font-weight:600}
.oto .save{display:block; font-family:var(--ui); font-size:.85rem; color:var(--gold); margin-top:2px}
.oto .liw-oto-once{font-family:var(--ui); font-size:.85rem; font-weight:600; color:var(--parchment)}

/* Più box nello stesso ordine: le box già composte, una scheda ciascuna sopra l'ultima. */
.liw-xbox{display:flex; flex-direction:column; gap:12px; padding-bottom:18px; margin-bottom:18px; border-bottom:1px solid var(--line)}
/* Spedizione in due tempi: stessa cornice dei bump, ma senza copertine. */
.liw-sheet .bump.liw-split{grid-template-columns:1fr}

/* Offerta con sconto: il prezzo normale piccolo sopra, senza barrarlo (art. 17-bis). */
.oto .price-ref{display:block; font-family:var(--ui); font-size:.8rem; color:var(--mist); margin-bottom:-4px}
.oto .price-test{display:block; max-width:34em; margin:6px auto 0; font-family:var(--ui); font-size:.78rem; line-height:1.45; color:var(--mist)}
