/* =====================================================================
   WooCommerce: scheda prodotto, carrello, cassa, account, avvisi
   Fondo scuro, campi con bordo inferiore sabbia, pulsanti oliva.
   ===================================================================== */

/* ---------- Scheda prodotto ---------- */
.product-single__main{display:grid;grid-template-columns:var(--prod-text-w) var(--prod-img-w);column-gap:var(--prod-gap);padding:calc(14.5vw - 13px) 0 9vw var(--prod-left);align-items:start;color:var(--ts-sand)}
.product-single .product_title{font:400 var(--fs-prod-single)/1 var(--ts-display);color:var(--ts-sand);margin:0;text-wrap:balance}
.product-single .woocommerce-product-details__short-description,.product-single__description{margin-top:1.85vw;line-height:1.8}
.product-single .woocommerce-product-details__short-description p+p,.product-single__description p+p{margin-top:1.1em}
.product-single .woocommerce-product-details__short-description a,.product-single__description a{color:var(--ts-lavender)}
.product-single .price{display:block;margin-top:2.6vw;font:600 var(--fs-prod-price-single)/1.5 var(--ts-body);color:var(--ts-sand)}
.product-single .price del{opacity:.6;font-weight:300;margin-right:.4em}
.product-single .price ins{text-decoration:none}
.product-single .stock{margin-top:1vw;color:var(--ts-olive)}
.product-single form.cart{margin-top:2.4vw;display:grid;gap:13px}
.product-single form.cart .quantity input.qty{box-sizing:border-box;width:100%;height:var(--field-h);background:transparent;border:1px solid var(--ts-sand);border-radius:0;color:var(--ts-sand);font:400 16px/1.5 var(--ts-body);text-align:center;-moz-appearance:textfield}
.product-single form.cart .quantity input.qty::-webkit-inner-spin-button{opacity:.6}
.woocommerce .product-single .single_add_to_cart_button{text-transform:none;box-sizing:border-box;width:100%;min-height:45px;background:var(--ts-olive);color:var(--ts-black);border:1px solid #111;border-radius:0;font:400 max(14px,1.06vw)/1.5 var(--ts-body);padding:9.5px 24px;cursor:pointer;transition:background .3s}
.product-single .single_add_to_cart_button:hover,.product-single .single_add_to_cart_button:focus-visible{background:var(--ts-sand)}
.product-single .single_add_to_cart_button.disabled{opacity:.5;cursor:not-allowed}
.product-single .onsale{position:absolute;z-index:2;margin:12px;background:var(--ts-lavender);color:var(--ts-ink);font:500 12px/1 var(--ts-body);text-transform:uppercase;padding:6px 10px}
.product-single__gallery{position:relative;margin-top:13px}
.product-gallery__main,.product-gallery__thumb{display:block;padding:0;border:0;background:none;cursor:zoom-in;width:100%}
.product-gallery__main img{width:100%;aspect-ratio:2/3;object-fit:cover}
.product-gallery__thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}
.product-gallery__thumb img{width:100%;aspect-ratio:1;object-fit:cover}

/* Opzioni YITH Product Add-ons: stessi campi del tema */
.product-single #yith-wapo-container{color:var(--ts-sand);font-size:var(--fs-text)}
.product-single #yith-wapo-container .yith-wapo-block{margin:0 0 1.2vw}
.product-single #yith-wapo-container h3,.product-single #yith-wapo-container .wapo-addon-title{font:500 var(--fs-sub)/1.7 var(--ts-body);text-transform:uppercase;color:var(--ts-sand);margin:0 0 .6em}
.product-single #yith-wapo-container input[type=text],.product-single #yith-wapo-container input[type=number],.product-single #yith-wapo-container textarea,.product-single #yith-wapo-container select{box-sizing:border-box;width:100%;background:transparent;border:0;border-bottom:1px solid var(--ts-sand);border-radius:0;color:var(--ts-sand-light);font:300 var(--fs-text)/1.6 var(--ts-body);padding:.5vw .6vw}
.product-single #yith-wapo-container select option{color:var(--ts-ink)}
.product-single #yith-wapo-container .option-price,.product-single #yith-wapo-container .wapo-total-order{color:var(--ts-olive)}
.product-single #wapo-total-price-table{margin:.6vw 0;color:var(--ts-sand)}

/* Correlati su carta */
.product-related{padding:5vw 0 1vw}
.product-related .related>h2{font:400 var(--fs-h3)/1 var(--ts-display);text-transform:uppercase;text-align:center;margin:0 0 3vw;color:var(--ts-black)}


/* ---------- Carrello, cassa, account (su fondo scuro) ---------- */
.page-plain--dark{background:none;color:var(--ts-sand)}
.page-plain--dark .page-plain__title{color:var(--ts-sand)}
.page-plain--dark .page-plain__content{line-height:1.6}
.woocommerce table.shop_table{width:100%;border-collapse:collapse;margin:0 0 2vw}
.woocommerce table.shop_table th{font:500 var(--fs-sub)/1.7 var(--ts-body);text-transform:uppercase;text-align:left;padding:.8vw .6vw;border-bottom:1px solid var(--ts-sand)}
.woocommerce table.shop_table td{padding:1vw .6vw;border-bottom:1px solid var(--ts-rail);vertical-align:middle}
.woocommerce table.shop_table a{color:var(--ts-sand-light)}
.woocommerce table.cart img{width:64px;height:auto}
.woocommerce table.cart .product-remove a{font-size:22px;text-decoration:none;color:var(--ts-lavender)}
.woocommerce table.cart td.actions{text-align:right}
.woocommerce table.cart td.actions .coupon{float:left;display:flex;gap:1vw;align-items:center;flex-wrap:wrap}
.woocommerce table.cart td.actions .coupon .input-text{width:16em}
.woocommerce table.cart td.actions .coupon label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
/* Tendine selectWoo (paese, provincia) come i campi del tema */
.select2-container .select2-selection--single{height:auto;background:transparent;border:0;border-bottom:1px solid var(--ts-sand);border-radius:0}
.select2-container .select2-selection--single .select2-selection__rendered{color:var(--ts-sand-light);font:300 max(14px,var(--fs-text))/1.6 var(--ts-body);padding:.6em .5em;line-height:1.6}
.select2-container .select2-selection--single .select2-selection__arrow{height:100%}
.select2-container .select2-selection--single .select2-selection__arrow b{border-top-color:var(--ts-sand)}
.select2-dropdown{background:var(--ts-ink);color:var(--ts-sand-light);border:1px solid var(--ts-sand);border-radius:0;font:300 max(14px,var(--fs-text))/1.4 var(--ts-body)}
.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[data-selected]{background:var(--ts-olive);color:var(--ts-black)}
.select2-search--dropdown .select2-search__field{background:transparent;color:var(--ts-sand-light);border:1px solid var(--ts-sand)}
.woocommerce .quantity input.qty{width:5em;background:transparent;border:1px solid var(--ts-sand);color:var(--ts-sand);font:400 16px/1.5 var(--ts-body);padding:.4em;text-align:center}
.woocommerce .input-text,.woocommerce input[type=text],.woocommerce input[type=email],.woocommerce input[type=tel],.woocommerce input[type=password],.woocommerce input[type=number]:not(.qty),.woocommerce textarea,.woocommerce select{box-sizing:border-box;width:100%;background:transparent;border:0;border-bottom:1px solid var(--ts-sand);border-radius:0;color:var(--ts-sand-light);font:300 max(14px,var(--fs-text))/1.6 var(--ts-body);padding:.6em .5em}
.woocommerce select option{color:var(--ts-ink)}
.woocommerce ::placeholder{color:var(--ts-sand);opacity:.7}
.woocommerce form .form-row{margin:0 0 1.2vw;padding:0}
.woocommerce form .form-row label{display:block;font:500 var(--fs-sub)/1.7 var(--ts-body);text-transform:uppercase}
.woocommerce form .form-row .required{color:var(--ts-lavender);text-decoration:none}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:48%;display:inline-block;vertical-align:top}
.woocommerce form .form-row-first{margin-right:4%}
.woocommerce form .form-row.woocommerce-invalid input{border-bottom-color:var(--ts-lavender)}
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.woocommerce #place_order,.woocommerce .checkout-button{box-sizing:border-box;display:inline-block;background:var(--ts-olive);color:var(--ts-black);text-decoration:none;text-transform:uppercase;font:300 var(--fs-btn-sm)/1 var(--ts-body);padding:1em 3em;border:0;border-radius:0;cursor:pointer;transition:background .3s}
.woocommerce .button:hover,.woocommerce .button:focus-visible,.woocommerce #place_order:hover{background:var(--ts-sand)}
.woocommerce .button:disabled,.woocommerce .button.disabled{opacity:.5;cursor:not-allowed}
.woocommerce .cart-collaterals{margin-top:3vw;display:flex;justify-content:flex-end}
.woocommerce .cart_totals{width:min(100%,32vw)}
.woocommerce .cart_totals h2,.woocommerce-checkout h3,.woocommerce-account h2,.woocommerce-account h3{font:400 var(--fs-h3)/1.1 var(--ts-display);text-transform:uppercase;margin:0 0 1.2vw}
.woocommerce .wc-proceed-to-checkout .checkout-button{width:100%;text-align:center}
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:4vw}
.woocommerce-checkout #order_review_heading{margin-top:3vw}
.woocommerce-checkout #payment{margin-top:2vw}
.woocommerce-checkout #payment ul.payment_methods{list-style:none;padding:0;margin:0 0 1.5vw}
.woocommerce-checkout #payment ul.payment_methods li{padding:.6vw 0;border-bottom:1px solid var(--ts-rail)}
.woocommerce-checkout #payment .payment_box{font-size:var(--fs-text);opacity:.85;padding:.4vw 0 0 1.6em}
.woocommerce-terms-and-conditions-wrapper{margin:1vw 0}
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;margin:0 0 2vw;padding:1em 1.2em;border-left:3px solid var(--ts-olive);background:rgba(236,213,195,.06);color:var(--ts-sand-light);display:flex;flex-wrap:wrap;gap:1em;align-items:center;justify-content:space-between}
.woocommerce-error{border-left-color:var(--ts-lavender)}
.woocommerce-message .button,.woocommerce-info .button{order:2}
.woocommerce-account .woocommerce{display:grid;grid-template-columns:1fr 3fr;gap:4vw}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0}
.woocommerce-MyAccount-navigation a{display:block;font:400 var(--fs-footnav)/1.2 var(--ts-display);color:var(--ts-sand);text-decoration:none;padding:.5em 0}
.woocommerce-MyAccount-navigation .is-active a,.woocommerce-MyAccount-navigation a:hover{color:var(--ts-lavender)}
.woocommerce-account:not(.logged-in) .woocommerce{display:block}
.woocommerce .u-columns{display:grid;grid-template-columns:1fr 1fr;gap:4vw}
.woocommerce-cart .return-to-shop,.cart-empty{margin-top:1.5vw}
/* Mostra password: occhio sabbia dentro il campo */
.woocommerce .password-input{position:relative;display:block}
.woocommerce .show-password-input{position:absolute;right:.3em;top:50%;transform:translateY(-50%);width:24px;height:24px;padding:0;border:0;background:var(--ts-sand);cursor:pointer;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5C6.5 5 2.7 9.2 1.5 12c1.2 2.8 5 7 10.5 7s9.3-4.2 10.5-7C21.3 9.2 17.5 5 12 5Zm0 11.5A4.5 4.5 0 1 1 12 7.5a4.5 4.5 0 0 1 0 9Zm0-2.2a2.3 2.3 0 1 0 0-4.6 2.3 2.3 0 0 0 0 4.6Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5C6.5 5 2.7 9.2 1.5 12c1.2 2.8 5 7 10.5 7s9.3-4.2 10.5-7C21.3 9.2 17.5 5 12 5Zm0 11.5A4.5 4.5 0 1 1 12 7.5a4.5 4.5 0 0 1 0 9Zm0-2.2a2.3 2.3 0 1 0 0-4.6 2.3 2.3 0 0 0 0 4.6Z'/%3E%3C/svg%3E") center/contain no-repeat}
.woocommerce .show-password-input.display-password{opacity:.6}
.woocommerce form .form-row .input-checkbox,.woocommerce-form__label-for-checkbox{display:inline-flex;align-items:center;gap:.5em}

@media (max-width:1024px){
  .product-single__main{padding-top:22vw}
  .woocommerce .cart_totals{width:min(100%,60vw)}
}
@media (max-width:767px){
  .product-single__main{grid-template-columns:1fr;row-gap:var(--prod-gap);padding:62vw 18% 17%}
  .product-single .woocommerce-product-details__short-description,.product-single__description{margin-top:4vw}
  .product-single .price{margin-top:6vw}
  .product-single form.cart{margin-top:6vw}
  .product-related .product:nth-child(3){display:none}
  .woocommerce .cart_totals{width:100%}
  .woocommerce table.cart td.actions .coupon{float:none;margin-bottom:4vw}
  .woocommerce table.cart td.actions .coupon .input-text{width:100%}
  .woocommerce-checkout .col2-set,.woocommerce-account .woocommerce,.woocommerce .u-columns{grid-template-columns:1fr}
  .woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;margin-right:0}
  .woocommerce table.shop_table_responsive thead{display:none}
  .woocommerce table.shop_table_responsive tr td{display:flex;justify-content:space-between;gap:4vw;text-align:right}
  .woocommerce table.shop_table_responsive tr td::before{content:attr(data-title);font-weight:500;text-transform:uppercase;font-size:var(--fs-sub)}
  .woocommerce table.shop_table_responsive tr td.product-remove::before,.woocommerce table.shop_table_responsive tr td.product-thumbnail::before,.woocommerce table.shop_table_responsive tr td.actions::before{content:none}
}
