/* =========================================================
   LUNELLI — CSS OPTIMIZED (output identico)
   ========================================================= */

/* =========================================================
   1) FONT UNIFORMI (Bitter)
   ========================================================= */
   
   /* 
LUNELLI CSS 2.0
Patch & override
Ultima modifica: 2026-01-21
*/

body,
.woocommerce,
.woocommerce-page,
.ct-sidebar,
.ct-sidebar *,
.wp-block-woocommerce-product-categories,
.wp-block-woocommerce-product-categories *{
  font-family:"Bitter", serif !important;
  color:var(--lunelli-dark);
}

h1,h2,h3,h4,h5,h6,
.woocommerce div.product .product_title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering select,
.woocommerce .woocommerce-breadcrumb,
.ct-breadcrumbs{
  font-family:"Bitter", serif !important;
}

#header .ct-menu-link,
#header .menu > li > a,
.header-menu-1 a{
  font-family:"Bitter", serif !important;
  font-weight:700 !important;
  letter-spacing:.6px;
}

/* =========================================================
   2) SIDEBAR — CATEGORIE (accordion pulito, NO :has, Woo Blocks)
   ========================================================= */
.ct-sidebar .wp-block-woocommerce-product-categories{
  --lunelli-cat-indent:14px;
  --lunelli-cat-gap:6px;
}

.ct-sidebar .wp-block-woocommerce-product-categories .wc-block-product-categories-list{
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.ct-sidebar .wp-block-woocommerce-product-categories .wc-block-product-categories-list-item{
  margin:0 !important;
  padding:0 !important;
}

.ct-sidebar .wp-block-woocommerce-product-categories .wc-block-product-categories-list-item > a{
  display:block !important;
  text-decoration:none !important;
  line-height:1.2 !important;
  padding:var(--lunelli-cat-gap) 0 !important;
  color:var(--lunelli-dark) !important;
}

/* TOP LEVEL */
.ct-sidebar .wp-block-woocommerce-product-categories
.wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a{
  font-size:18px !important;
  font-weight:700 !important;
  color:var(--lunelli-red) !important;
  padding:10px 18px 10px 0 !important;
  position:relative !important;
}

.ct-sidebar .wp-block-woocommerce-product-categories
.wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a::after{
  content:"›";
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  transition:transform .25s ease, color .25s ease;
  color:currentColor;
  opacity:.75;
}

.ct-sidebar .wp-block-woocommerce-product-categories
.wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a.current-cat::after{
  transform:translateY(-50%) rotate(90deg);
  color:var(--lunelli-gold);
  opacity:1;
}

/* SUBLEVEL container */
.ct-sidebar .wp-block-woocommerce-product-categories
.wc-block-product-categories-list--depth-1,
.ct-sidebar .wp-block-woocommerce-product-categories
.wc-block-product-categories-list--depth-2{
  padding-left:var(--lunelli-cat-indent) !important;
  margin:2px 0 10px 0 !important;
  border-left:1px solid rgba(0,0,0,.08);
}

/* sublevel links */
.ct-sidebar .wp-block-woocommerce-product-categories
.wc-block-product-categories-list--depth-1 > .wc-block-product-categories-list-item > a,
.ct-sidebar .wp-block-woocommerce-product-categories
.wc-block-product-categories-list--depth-2 > .wc-block-product-categories-list-item > a{
  font-size:15px !important;
  font-weight:600 !important;
  color:var(--lunelli-dark) !important;
  padding:6px 0 !important;
}

.ct-sidebar .wp-block-woocommerce-product-categories
.wc-block-product-categories-list--depth-1 > .wc-block-product-categories-list-item > a:hover,
.ct-sidebar .wp-block-woocommerce-product-categories
.wc-block-product-categories-list--depth-2 > .wc-block-product-categories-list-item > a:hover{
  color:var(--lunelli-red) !important;
}

.ct-sidebar .wp-block-woocommerce-product-categories a.current-cat{
  color:var(--lunelli-red) !important;
}

/* ACCORDION: chiusi di default */
.ct-sidebar .wp-block-woocommerce-product-categories
.wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > ul,
.ct-sidebar .wp-block-woocommerce-product-categories
.wc-block-product-categories-list--depth-1 > .wc-block-product-categories-list-item > ul{
  max-height:0;
  overflow:hidden;
  opacity:0;
  transform:translateY(-4px);
  transition:max-height .35s ease, opacity .25s ease, transform .25s ease;
}

/* apri quando current-cat (depth 0 e 1) */
.ct-sidebar .wp-block-woocommerce-product-categories
.wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a.current-cat + ul,
.ct-sidebar .wp-block-woocommerce-product-categories
.wc-block-product-categories-list--depth-1 > .wc-block-product-categories-list-item > a.current-cat + ul{
  max-height:900px;
  overflow:visible;
  opacity:1;
  transform:translateY(0);
}

/* keep-open anche per current-cat-parent (override finale) */
.ct-sidebar .wp-block-woocommerce-product-categories
.wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > a.current-cat-parent + ul,
.ct-sidebar .wp-block-woocommerce-product-categories
.wc-block-product-categories-list--depth-1 > .wc-block-product-categories-list-item > a.current-cat-parent + ul{
  max-height:900px !important;
  overflow:visible !important;
  opacity:1 !important;
  transform:translateY(0) !important;
}

/* fallback touch */
@media (hover:none){
  .ct-sidebar .wp-block-woocommerce-product-categories
  .wc-block-product-categories-list--depth-0 > .wc-block-product-categories-list-item > ul{
    max-height:900px;
    overflow:visible;
    opacity:1;
    transform:none;
  }
}

/* FIX FINALE sidebar */
.ct-sidebar .wp-block-woocommerce-product-categories
.wc-block-product-categories-list--depth-1 > .wc-block-product-categories-list-item > a::after,
.ct-sidebar .wp-block-woocommerce-product-categories
.wc-block-product-categories-list--depth-2 > .wc-block-product-categories-list-item > a::after{
  content:none !important;
}

.ct-sidebar .wp-block-woocommerce-product-categories
.wc-block-product-categories-list--depth-1 .wc-block-product-categories-list-item__name,
.ct-sidebar .wp-block-woocommerce-product-categories
.wc-block-product-categories-list--depth-2 .wc-block-product-categories-list-item__name{
  color:#6b6b6b !important;
  font-weight:500 !important;
}

.ct-sidebar .wp-block-woocommerce-product-categories
.wc-block-product-categories-list--depth-1 a:hover .wc-block-product-categories-list-item__name,
.ct-sidebar .wp-block-woocommerce-product-categories
.wc-block-product-categories-list--depth-2 a:hover .wc-block-product-categories-list-item__name{
  color:var(--lunelli-dark) !important;
}

.ct-sidebar .wp-block-woocommerce-product-categories
.wc-block-product-categories-list--depth-1 a.current-cat .wc-block-product-categories-list-item__name,
.ct-sidebar .wp-block-woocommerce-product-categories
.wc-block-product-categories-list--depth-2 a.current-cat .wc-block-product-categories-list-item__name{
  color:var(--lunelli-dark) !important;
  font-weight:700 !important;
}

.ct-sidebar .wp-block-woocommerce-product-categories
.wc-block-product-categories-list--depth-1 a.current-cat,
.ct-sidebar .wp-block-woocommerce-product-categories
.wc-block-product-categories-list--depth-2 a.current-cat{
  padding-left:8px !important;
  border-left:3px solid var(--lunelli-gold);
}

/* =========================================================
   3) SHOP LOOP — UNDER ACTIONS (stato attuale)
   ========================================================= */

/* nasconde elementi originali */
.woocommerce ul.products li.product .ct-woo-card-actions,
.woocommerce ul.products li.product .entry-meta{
  display:none !important;
}

/* slot + overlay bottoni (VERSIONE ATTUALE) */
.woocommerce ul.products li.product{
  position:relative !important;
  padding-bottom:58px !important;
  overflow:visible !important;
}

.woocommerce ul.products li.product .lunelli-under-actions{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:6px !important;
  height:52px !important;

  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:center !important;

  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;

  opacity:0 !important;
  transform:translateY(8px) !important;
  pointer-events:none !important;

  transition:opacity .18s ease, transform .18s ease !important;
}

@media (hover:hover){
  .woocommerce ul.products li.product:hover .lunelli-under-actions{
    opacity:1 !important;
    transform:translateY(0) !important;
    pointer-events:auto !important;
  }
}

@media (hover:none){
  .woocommerce ul.products li.product .lunelli-under-actions{
    opacity:1 !important;
    transform:none !important;
    pointer-events:auto !important;
  }
}

/* bottoni */
.woocommerce ul.products li.product .lunelli-under-actions > a.lunelli-ua-btn{
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  min-height:52px !important;

  padding:0 !important;
  margin:0 8px !important; /* era regola separata */
  line-height:0 !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  border-radius:999px !important;
  border:0 !important;

  background:#6b1f2b !important;
  background-image:none !important;
  box-shadow:none !important;
  filter:none !important;

  color:#c9a063 !important;
  text-decoration:none !important;

  transform:none !important;
  transition:background-color .18s ease, color .18s ease !important;
}

.woocommerce ul.products li.product .lunelli-under-actions > a.lunelli-ua-btn:hover,
.woocommerce ul.products li.product .lunelli-under-actions > a.lunelli-ua-btn:focus-visible{
  background:#c9a063 !important;
  color:#6b1f2b !important;
}

.woocommerce ul.products li.product .lunelli-under-actions > a.lunelli-ua-btn:focus{
  background:#6b1f2b !important;
  color:#c9a063 !important;
}

.woocommerce ul.products li.product .lunelli-under-actions > a.lunelli-ua-btn:focus-visible{
  outline:2px solid currentColor;
  outline-offset:3px;
}

.woocommerce ul.products li.product .lunelli-under-actions a.added_to_cart.wc-forward{
  display:none !important;
}

/* =========================================================
   4) ICONE (mask) + STOP SPINNER Woo
   ========================================================= */
.woocommerce ul.products li.product .lunelli-under-actions .lunelli-ua-icon,
.woocommerce ul.products li.product .lunelli-under-actions .lunelli-ua-info::before{
  display:block !important;
  background:currentColor !important;
  margin:0 !important;
}

.woocommerce ul.products li.product .lunelli-under-actions .lunelli-ua-info::before{
  content:"";
  width:30px;
  height:30px;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10 18a8 8 0 1 1 5.293-14.293A8 8 0 0 1 10 18Zm0-2a6 6 0 1 0 0-12a6 6 0 0 0 0 12Zm9.707 5.293-4.39-4.39a1 1 0 0 1 1.414-1.414l4.39 4.39a1 1 0 0 1-1.414 1.414Z'/%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 fill='black' d='M10 18a8 8 0 1 1 5.293-14.293A8 8 0 0 1 10 18Zm0-2a6 6 0 1 0 0-12a6 6 0 0 0 0 12Zm9.707 5.293-4.39-4.39a1 1 0 0 1 1.414-1.414l4.39 4.39a1 1 0 0 1-1.414 1.414Z'/%3E%3C/svg%3E") center/contain no-repeat;
}

.woocommerce ul.products li.product .lunelli-under-actions .lunelli-ua-icon{
  width:34px;
  height:34px;
}

.woocommerce ul.products li.product .lunelli-under-actions .lunelli-ua-icon-cart{
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7.17 14h9.66c.75 0 1.4-.41 1.74-1.03l3.1-5.63A1 1 0 0 0 20.8 6H6.21L5.27 4H2v2h2l3.6 7.59-1.35 2.44C5.52 17.37 6.48 19 8 19h12v-2H8l1.17-2z'/%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 fill='black' d='M7.17 14h9.66c.75 0 1.4-.41 1.74-1.03l3.1-5.63A1 1 0 0 0 20.8 6H6.21L5.27 4H2v2h2l3.6 7.59-1.35 2.44C5.52 17.37 6.48 19 8 19h12v-2H8l1.17-2z'/%3E%3C/svg%3E") center/contain no-repeat;
}

.woocommerce ul.products li.product .lunelli-under-actions a.add_to_cart_button.loading::after,
.woocommerce ul.products li.product .lunelli-under-actions a.add_to_cart_button.loading::before,
.woocommerce ul.products li.product .lunelli-under-actions a.add_to_cart_button.added::after,
.woocommerce ul.products li.product .lunelli-under-actions a.add_to_cart_button.added::before{
  content:none !important;
  display:none !important;
  animation:none !important;
}

.woocommerce ul.products li.product .lunelli-under-actions a.add_to_cart_button.loading{
  background-image:none !important;
}

/* =========================================================
   5) VARIABILI: freccia al posto del carrello
   ========================================================= */
.woocommerce ul.products li.product.product-type-variable
.lunelli-under-actions a.product_type_variable
.lunelli-ua-icon.lunelli-ua-icon-cart{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M13 5l7 7-7 7-1.4-1.4L16.2 13H4v-2h12.2l-4.6-4.6z'/%3E%3C/svg%3E") !important;
          mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M13 5l7 7-7 7-1.4-1.4L16.2 13H4v-2h12.2l-4.6-4.6z'/%3E%3C/svg%3E") !important;
}

/* =========================================================
   6) IMG hover (soft, no zoom aggressivo)
   ========================================================= */
.woocommerce ul.products li.product img{
  transform:none !important;
}
.woocommerce ul.products li.product:hover img{
  transform:scale(1.04) !important;
}

.woocommerce ul.products li.product figure,
.woocommerce ul.products li.product .ct-media-container{
  overflow:hidden !important;
  display:block !important;
}

/* =========================================================
   Visualizza carrello (single product page)
   ========================================================= */
.ct-cart-actions a.added_to_cart.wc-forward{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:52px !important;
  padding:0 28px !important;
  margin-left:12px !important;
  border-radius:999px !important;
  border:0 !important;
  font-family:inherit !important;
  font-size:16px !important;
  font-weight:700 !important;
  background:#f0f2f4 !important;
  color:var(--lunelli-red) !important;
  text-decoration:none !important;
  box-shadow:none !important;
  transition:background-color .18s ease, color .18s ease, transform .18s ease !important;
}

.ct-cart-actions a.added_to_cart.wc-forward:hover{
  background:var(--lunelli-red) !important;
  color:#fff !important;
  transform:translateY(-1px);
}

.ct-cart-actions a.added_to_cart.wc-forward:focus-visible{
  outline:2px solid var(--lunelli-red);
  outline-offset:3px;
}

/* =========================================================
   ACCOUNT DROPDOWN — PREMIUM FIX (con variabili Blocksy)
   ========================================================= */
#header .ct-header-account-dropdown{
  background:#fff !important;
  border:1px solid rgba(0,0,0,.08) !important;
  border-radius:14px !important;
  box-shadow:0 14px 40px rgba(0,0,0,.12) !important;
  padding:10px 0 !important;

  --linkInitialColor: var(--lunelli-dark) !important;
  --linkHoverColor: var(--lunelli-red) !important;
  --color: var(--lunelli-dark) !important;
}

/* area user (avatar + nome + mail) */
#header .ct-header-account-dropdown .ct-header-account-user-info{
  padding:10px 14px 12px !important;
}

#header .ct-header-account-dropdown .ct-header-account-user-info .ct-menu-link{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}

/* nome + email */
#header .ct-header-account-dropdown .ct-header-account-user-info b{
  display:block !important;
  font-size:14px !important;
  font-weight:800 !important;
  letter-spacing:.2px !important;
  color:var(--lunelli-dark) !important;
}

#header .ct-header-account-dropdown .ct-header-account-user-info small{
  display:block !important;
  font-size:12px !important;
  line-height:1.2 !important;
  color:rgba(0,0,0,.60) !important;
  opacity:1 !important;
}

/* avatar */
#header .ct-header-account-dropdown .ct-media-container{
  width:34px !important;
  height:34px !important;
  border-radius:999px !important;
  overflow:hidden !important;
  background:rgba(0,0,0,.06) !important;
}
#header .ct-header-account-dropdown .ct-media-container img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  opacity:1 !important;
}

/* divider */
#header .ct-header-account-dropdown .ct-header-account-divider{
  border-color:rgba(0,0,0,.08) !important;
  opacity:1 !important;
  margin:6px 0 !important;
}

/* voci menu */
#header .ct-header-account-dropdown > li > a.ct-menu-link{
  display:flex !important;
  align-items:center !important;
  padding:10px 14px !important;
  font-size:13px !important;
  font-weight:700 !important;
  letter-spacing:.2px !important;
  text-transform:none !important;

  color:var(--lunelli-dark) !important;
  border-radius:10px !important;
  margin:2px 8px !important;

  transition:background-color .18s ease, color .18s ease, transform .18s ease !important;
}

/* hover */
#header .ct-header-account-dropdown > li > a.ct-menu-link:hover,
#header .ct-header-account-dropdown > li > a.ct-menu-link:focus-visible{
  background:rgba(201,160,99,.18) !important;
  color:var(--lunelli-red) !important;
  transform:translateY(-1px) !important;
}

/* focus accessibile */
#header .ct-header-account-dropdown > li > a.ct-menu-link:focus-visible{
  outline:2px solid rgba(201,160,99,.55) !important;
  outline-offset:2px !important;
}

/* =========================================================
   LOGIN MODAL (Blocksy Account Modal) — PREMIUM
   ========================================================= */
#account-modal.ct-panel.active{
  background:rgba(18, 18, 18, .55) !important;
  backdrop-filter:blur(6px);
}

#account-modal .ct-panel-content{
  width:min(92vw, 760px);
  max-width:760px;
  margin:0 auto;
}

#account-modal .ct-account-modal{
  background:#fff;
  border-radius:18px;
  box-shadow:0 22px 70px rgba(0,0,0,.28);
  overflow:hidden;
  position:relative;
}

#account-modal .ct-account-forms{
  padding:44px 44px 34px;
}

#account-modal .ct-panel-actions{
  position:absolute;
  top:14px;
  right:14px;
  z-index:3;
}

#account-modal .ct-toggle-close{
  width:42px;
  height:42px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  box-shadow:0 8px 22px rgba(0,0,0,.12);
  transition:transform .14s ease, background .14s ease, box-shadow .14s ease;
}

#account-modal .ct-toggle-close:hover{
  transform:scale(1.04);
  background:#fff;
  box-shadow:0 10px 26px rgba(0,0,0,.16);
}

#account-modal .ct-toggle-close svg{ opacity:.8; }

#account-modal label{
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size:13px;
  font-weight:600;
  letter-spacing:.01em;
  color:rgba(18,18,18,.62);
  margin-bottom:6px;
  display:inline-block;
}

#account-modal input.input{
  height:46px;
  border-radius:12px;
  border:1px solid rgba(18,18,18,.14);
  background:#fff;
  padding:0 14px;
  outline:none;
  transition:border-color .15s ease, box-shadow .15s ease;
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

#account-modal input.input:focus{
  border-color:rgba(161,134,75,.55);
  box-shadow:0 0 0 4px rgba(161,134,75,.18);
}

#account-modal form.login p{ margin-bottom:16px; }
#account-modal form.login p:last-child{ margin-bottom:0; }

#account-modal .account-password-input{ position:relative; }

#account-modal .show-password-input{
  opacity:.65;
  transition:opacity .15s ease;
}
#account-modal .show-password-input:hover{ opacity:.95; }

#account-modal .login-remember{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:10px;
}

#account-modal .login-remember label,
#account-modal .login-remember a{
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size:13px;
}

#account-modal .ct-forgot-password,
#account-modal .login-remember a,
#account-modal .ct-back-to-login{
  color:#7A6236;
  text-decoration:none;
  font-weight:700;
}

#account-modal .ct-forgot-password:hover,
#account-modal .login-remember a:hover,
#account-modal .ct-back-to-login:hover{
  text-decoration:underline;
}

#account-modal .ct-checkbox{
  width:16px;
  height:16px;
  accent-color:#A1864B;
}

#account-modal .ct-account-login-submit,
#account-modal .ct-account-lost-password-submit{
  width:100%;
  height:52px;
  border-radius:999px;
  background:#A1864B;
  color:#fff;
  font-weight:800;
  letter-spacing:.01em;
  border:0;
  box-shadow:0 14px 34px rgba(161,134,75,.22);
  transition:transform .12s ease, background .15s ease, box-shadow .15s ease;
}

#account-modal .ct-account-login-submit:hover,
#account-modal .ct-account-lost-password-submit:hover{
  background:#7A6236;
  transform:translateY(-1px);
  box-shadow:0 18px 42px rgba(161,134,75,.28);
}

#account-modal .ct-account-login-submit:active,
#account-modal .ct-account-lost-password-submit:active{
  transform:translateY(0);
}

#account-modal .ct-button-loader{
  margin-left:10px;
  opacity:.85;
}

#account-modal .ct-back-to-login{
  display:inline-block;
  margin-top:14px;
}

/* Mobile */
@media (max-width: 640px){
  #account-modal .ct-panel-content{
    width:min(94vw, 640px);
  }
  #account-modal .ct-account-forms{
    padding:32px 18px 22px;
  }
  #account-modal .ct-toggle-close{
    width:40px;
    height:40px;
  }
}

/* Kill switch: niente rosso sui bottoni se Woo impone */
#account-modal .ct-button{ background-color:#A1864B !important; }
#account-modal .ct-button:hover{ background-color:#7A6236 !important; }

/* =========================================================
   icone 3.0 / micro-label variable
   ========================================================= */
.lunelli-under-actions,
.ct-product-actions{
  display:flex;
  justify-content:center;
  gap:14px;
}

a.product_type_variable{
  width:40px;
  height:40px;
  border-radius:999px;
  background:#f4f2ee;
  color:#121212;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
}

a.product_type_variable::after{
  content:"Scegli";
  position:absolute;
  bottom:-10px;
  font-size:15px;
  font-weight:700;
  color:#7A6236;
}

/* =========================================================
   Product card rhythm (non tocca pulsanti)
   ========================================================= */
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-weight:800;
  line-height:1.15;
  margin-top:14px;
  margin-bottom:8px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title a{
  text-decoration:none;
}

.woocommerce ul.products li.product .price{
  font-weight:800;
  margin-top:2px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title + .price,
.woocommerce ul.products li.product .woocommerce-loop-product__title + * + .price{
  margin-top:10px;
}

/* =========================================================
   SINGLE PRODUCT GALLERY — boutique thumbs
   ========================================================= */
body.single-product .woocommerce-product-gallery figure.ct-media-container{
  border-radius:16px;
  overflow:hidden;
  background:#fff;
}

body.single-product .woocommerce-product-gallery img.wp-post-image{
  border-radius:16px;
  display:block;
}

@media (hover:hover) and (pointer:fine){
  body.single-product .woocommerce-product-gallery figure.ct-media-container img.wp-post-image{
    transition:transform .45s ease, filter .45s ease;
    will-change:transform;
  }
  body.single-product .woocommerce-product-gallery figure.ct-media-container:hover img.wp-post-image{
    transform:scale(1.025);
    filter:saturate(1.02) contrast(1.02);
  }
}

body.single-product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs{
  display:flex;
  gap:12px;
  margin:14px 0 0 0 !important;
  padding:0 !important;
  list-style:none !important;
}

body.single-product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs li{
  margin:0 !important;
}

body.single-product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs img{
  border-radius:12px;
  opacity:.70;
  transition:opacity .2s ease, transform .2s ease, box-shadow .2s ease;
  box-shadow:0 8px 18px rgba(0,0,0,.06);
}

body.single-product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs img.flex-active{
  opacity:1;
  box-shadow:0 10px 22px rgba(0,0,0,.10), 0 0 0 1px rgba(161,134,75,.22);
}

@media (hover:hover) and (pointer:fine){
  body.single-product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs img:hover{
    opacity:.92;
    transform:translateY(-1px);
  }
}

@media (min-width: 992px){
  body.single-product .woocommerce-product-gallery{
    display:grid;
    grid-template-columns:92px 1fr;
    gap:14px;
    align-items:start;
  }

  body.single-product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs{
    grid-column:1;
    grid-row:1;
    margin-top:0 !important;
    flex-direction:column;
  }

  body.single-product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs img{
    width:92px !important;
    height:72px !important;
    object-fit:cover;
  }

  body.single-product .woocommerce-product-gallery .ct-product-gallery-container{
    grid-column:2;
  }
}

@media (max-width: 991px){
  body.single-product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    padding-bottom:6px !important;
    scrollbar-width:thin;
  }
  body.single-product .woocommerce-product-gallery ol.flex-control-nav.flex-control-thumbs img{
    width:78px !important;
    height:58px !important;
    object-fit:cover;
  }
}

/* =========================================================
   QUANTITY — HARD RESET + FINAL TUNING
   ========================================================= */
body.single-product .ct-cart-actions{
  align-items:stretch !important;
  gap:16px !important;
}

body.single-product .ct-cart-actions .quantity{
  display:inline-flex !important;
  align-items:stretch !important;
  height:52px !important;
  border:1px solid rgba(0,0,0,.18) !important;
  border-radius:14px !important;
  background:#fff !important;
  overflow:hidden !important;
  min-width:160px !important;
}

body.single-product .ct-cart-actions .quantity .ct-increase,
body.single-product .ct-cart-actions .quantity .ct-decrease{
  flex:0 0 48px !important;
  width:48px !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  position:relative !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  inset:auto !important;
  transform:none !important;
  float:none !important;

  margin:0 !important;
  padding:0 !important;

  cursor:pointer !important;
  user-select:none !important;

  background:transparent !important;
  color:#6b4a2d !important;

  font-size:0 !important;
  line-height:1 !important;
}

/* ORDINE VISIVO: − | + | 1 */
body.single-product .ct-cart-actions .quantity .ct-decrease{ order:1 !important; }
body.single-product .ct-cart-actions .quantity .ct-increase{ order:2 !important; }
body.single-product .ct-cart-actions .quantity input.qty{ order:3 !important; }

/* separatori */
body.single-product .ct-cart-actions .quantity .ct-decrease,
body.single-product .ct-cart-actions .quantity .ct-increase{
  border-right:1px solid rgba(0,0,0,.12) !important;
}

/* simboli */
body.single-product .ct-cart-actions .quantity .ct-decrease::before,
body.single-product .ct-cart-actions .quantity .ct-increase::before{
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  transform:translate(-50%, -50%) !important;

  font-size:26px !important;
  font-weight:1050 !important;
  letter-spacing:-0.02em;
  line-height:1 !important;
  color:inherit !important;
}

body.single-product .ct-cart-actions .quantity .ct-decrease::before{ content:"−" !important; }
body.single-product .ct-cart-actions .quantity .ct-increase::before{ content:"+" !important; }

body.single-product .ct-cart-actions .quantity .ct-decrease::after,
body.single-product .ct-cart-actions .quantity .ct-increase::after{
  content:none !important;
  background:none !important;
}

/* numero */
body.single-product .ct-cart-actions .quantity input.qty{
  flex:0 0 64px !important;
  width:64px !important;
  height:100% !important;

  border:0 !important;
  margin:0 !important;
  padding:0 !important;

  background:transparent !important;
  text-align:center !important;

  font-size:17px !important;
  font-weight:700 !important;
  color:#3a2a1f !important;

  outline:none !important;
  box-shadow:none !important;
}

/* rimuove frecce native */
body.single-product .ct-cart-actions .quantity input.qty::-webkit-outer-spin-button,
body.single-product .ct-cart-actions .quantity input.qty::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}
body.single-product .ct-cart-actions .quantity input.qty{
  -moz-appearance:textfield;
}

/* hover */
@media (hover:hover){
  body.single-product .ct-cart-actions .quantity .ct-increase:hover,
  body.single-product .ct-cart-actions .quantity .ct-decrease:hover{
    background:#f4f1ec !important;
    color:#A1864B !important;
  }
}

/* Allinea altezza con CTA (final tuning) */
body.single-product .ct-cart-actions .quantity,
body.single-product .ct-cart-actions .single_add_to_cart_button{
  height:60px !important;
}

body.single-product .ct-cart-actions .single_add_to_cart_button{
  border-radius:14px !important;
  font-size:16px !important;
  font-weight:700 !important;
  padding:0 32px !important;
}


/* =========================
   LUNELLI – SINGLE PRODUCT CTAs
   Quantity:  − | 1 | +
   Fix: "Visualizza carrello" button
   CTA font più tondeggiante
   ========================= */

/* --- Layout riga --- */
body.single-product .ct-cart-actions{
  display: flex !important;
  align-items: stretch !important;
  gap: 16px !important;
  flex-wrap: wrap; /* su schermi stretti va a capo bene */
}

/* Altezza uniforme */
body.single-product .ct-cart-actions .quantity,
body.single-product .ct-cart-actions .single_add_to_cart_button,
body.single-product .ct-cart-actions a.added_to_cart.wc-forward{
  height: 60px !important;
  border-radius: 14px !important;
}

/* =========================
   QUANTITY:  − | 1 | +
   ========================= */

body.single-product .ct-cart-actions .quantity{
  display: inline-flex !important;
  align-items: stretch !important;
  min-width: 170px !important;
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.18) !important;
  overflow: hidden !important;
}

/* reset spans (anti CSS Blocksy) */
body.single-product .ct-cart-actions .quantity .ct-increase,
body.single-product .ct-cart-actions .quantity .ct-decrease{
  flex: 0 0 48px !important;
  width: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0 !important;
  cursor: pointer !important;
  user-select: none !important;
  color: #6b4a2d !important;
  background: transparent !important;
  line-height: 1 !important;
}

/* ORDINE VISIVO:  − | numero | +  */
body.single-product .ct-cart-actions .quantity .ct-decrease{ order: 1 !important; } /* − */
body.single-product .ct-cart-actions .quantity input.qty{     order: 2 !important; } /* 1 */
body.single-product .ct-cart-actions .quantity .ct-increase{ order: 3 !important; } /* + */

/* separatori */
body.single-product .ct-cart-actions .quantity .ct-decrease{
  border-right: 1px solid rgba(0,0,0,.12) !important;
}
body.single-product .ct-cart-actions .quantity input.qty{
  border-right: 1px solid rgba(0,0,0,.12) !important;
}

/* simboli centrati e BOLD */
body.single-product .ct-cart-actions .quantity .ct-decrease::before,
body.single-product .ct-cart-actions .quantity .ct-increase::before{
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  color: inherit !important;
}

body.single-product .ct-cart-actions .quantity .ct-decrease::before{ content: "−" !important; }
body.single-product .ct-cart-actions .quantity .ct-increase::before{ content: "+" !important; }

/* kill eventuali ::after del tema */
body.single-product .ct-cart-actions .quantity .ct-decrease::after,
body.single-product .ct-cart-actions .quantity .ct-increase::after{
  content: none !important;
  background: none !important;
}

/* numero (spazio per 2 cifre) */
body.single-product .ct-cart-actions .quantity input.qty{
  flex: 0 0 74px !important;
  width: 74px !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  text-align: center !important;
  font-size: 17px !important;
  font-weight: 750 !important;
  color: #3a2a1f !important;
  outline: none !important;
  box-shadow: none !important;
}

/* rimuove frecce native */
body.single-product .ct-cart-actions .quantity input.qty::-webkit-outer-spin-button,
body.single-product .ct-cart-actions .quantity input.qty::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}
body.single-product .ct-cart-actions .quantity input.qty{
  -moz-appearance: textfield;
}

/* hover */
@media (hover:hover){
  body.single-product .ct-cart-actions .quantity .ct-increase:hover,
  body.single-product .ct-cart-actions .quantity .ct-decrease:hover{
    background: #f4f1ec !important;
    color: #A1864B !important;
  }
}

/* =========================
   CTA: font più tondeggiante (solo azioni)
   ========================= */

body.single-product .ct-cart-actions .single_add_to_cart_button,
body.single-product .ct-cart-actions a.added_to_cart.wc-forward{
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: .01em;
}

/* CTA principale */
body.single-product .ct-cart-actions .single_add_to_cart_button{
  padding: 0 32px !important;
}

/* =========================
   "VISUALIZZA CARRELLO" – sistemato, coerente e non orribile
   ========================= */

body.single-product .ct-cart-actions a.added_to_cart.wc-forward{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 22px !important;

  background: #F3F1ED !important;                 /* secondario caldo */
  color: #6b4a2d !important;
  border: 1px solid rgba(161,134,75,.25) !important;
  text-decoration: none !important;
  white-space: nowrap;
}

@media (hover:hover){
  body.single-product .ct-cart-actions a.added_to_cart.wc-forward:hover{
    background: #fff !important;
    border-color: rgba(161,134,75,.45) !important;
    color: #A1864B !important;
  }
}

/* Se vuoi, su mobile lo mettiamo full-width sotto (più ordinato) */
@media (max-width: 560px){
  body.single-product .ct-cart-actions a.added_to_cart.wc-forward{
    flex: 1 1 100% !important;
  }
}

/* =========================
   FIX DIVISORE NUMERO | +
   layout invariato (3 spazi uguali)
   ========================= */

/* manteniamo 3 celle identiche */
body.single-product .ct-cart-actions .quantity{
  display: inline-flex !important;
}




/* 👉 divisore DESTRO (numero | +) — QUESTO MANCAVA */
body.single-product .ct-cart-actions .quantity input.qty{
  border-right: 1px solid rgba(0,0,0,.12) !important;
}


/* =========================
   LUNELLI – CTA "Aggiungi al carrello" (stato added) + check
   ========================= */

/* Font più tondeggiante SOLO per le azioni */
body.single-product .ct-cart-actions .single_add_to_cart_button,
body.single-product .ct-cart-actions a.added_to_cart.wc-forward{
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: .01em;
}

/* Stato "added": leggero shift premium + check */
body.single-product .ct-cart-actions .single_add_to_cart_button.added{
  /* resta nel tuo colore, ma leggermente “più profondo” */
  filter: saturate(1.02) contrast(1.02);
}

/* Check discreto a destra */
body.single-product .ct-cart-actions .single_add_to_cart_button.added::after{
  content: "✓" !important;
  position: absolute !important;
  right: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;

  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1 !important;

  opacity: .95 !important;
}

/* Assicura che il testo non venga coperto dal check */
body.single-product .ct-cart-actions .single_add_to_cart_button{
  padding-right: 20px !important;
}

/* Hover CTA (micro-lift elegante) */
@media (hover:hover){
  body.single-product .ct-cart-actions .single_add_to_cart_button:hover{
    transform: translateY(-1px);
  }
  body.single-product .ct-cart-actions .single_add_to_cart_button{
    transition: transform .16s ease, filter .16s ease;
  }
}

/* =========================
   LUNELLI – MICRO ANIMATION CART
   ========================= */

/* Stato iniziale: Visualizza carrello invisibile */
body.single-product .ct-cart-actions a.added_to_cart.wc-forward{
  opacity: 0;
  transform: translateY(6px);
  pointer-events: none;
}

/* Quando Woo lo inietta nel DOM → animazione */
body.single-product .ct-cart-actions a.added_to_cart.wc-forward{
  animation: lunelli-cart-in 160ms ease-out forwards;
}

/* Keyframes: micro slide + fade */
@keyframes lunelli-cart-in{
  from{
    opacity: 0;
    transform: translateY(6px);
  }
  to{
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }
}

/* CTA resta stabile (no resize / no jump) */
body.single-product .ct-cart-actions{
  align-items: stretch;
}

/* CTA micro-feedback quando added (senza muovere layout) */
body.single-product .ct-cart-actions .single_add_to_cart_button.added{
  animation: lunelli-cta-pulse 140ms ease-out;
}

@keyframes lunelli-cta-pulse{
  0%   { filter: saturate(1) contrast(1); }
  50%  { filter: saturate(1.05) contrast(1.05); }
  100% { filter: saturate(1.02) contrast(1.02); }
}





/* =========================================================
   LUNELLI — CSS UNIFICATO (SAFE / NO RIDONDANZE)
   Output equivalente a quello attuale (regole finali che vincono)
   ========================================================= */

/* =========================================================
   0) TOKENS GLOBALI (UNA VOLTA SOLA)
   ========================================================= */
:root{
  /* brand */
  --lunelli-red:#7d3031;
  --lunelli-gold:#A1864B;

  /* card */
  --lunelli-radius:18px;
  --lunelli-border:#EDEDED;
  --lunelli-border-hover:rgba(161,134,75,.65);

  /* layout */
  --lunelli-expand:54px;
  --lunelli-gap:54px;
  --lunelli-btn-offset:-65px;

  /* breadcrumb */
  --lunelli-crumb:#6f6256;
  --lunelli-crumb-sep:#cfc3b8;

  /* single text */
  --lunelli-text:#4e4339;

  /* TRUST ICONS (data-uri in variabili = più stabile) */
   --lunelli-ico-italy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='6' width='18' height='12' rx='2' fill='%23ffffff'/%3E%3Crect x='3' y='6' width='6' height='12' rx='2' fill='%2300873a'/%3E%3Crect x='15' y='6' width='6' height='12' rx='2' fill='%23ce2b37'/%3E%3Crect x='3' y='6' width='18' height='12' rx='2' fill='none' stroke='%23A1864B' stroke-width='1.2'/%3E%3C/svg%3E");

  --lunelli-ico-van: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A1864B' stroke-width='2'%3E%3Crect x='1' y='7' width='15' height='10' rx='2'/%3E%3Cpath d='M16 9h4l3 3v5h-7z'/%3E%3Ccircle cx='7.5' cy='18' r='1.5'/%3E%3Ccircle cx='18.5' cy='18' r='1.5'/%3E%3C/svg%3E");

--lunelli-ico-crafted: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23A1864B' d='M20 4c-7.5 0-13 3.7-15.6 10.7c-.6 1.6-.4 3.2.6 4.2s2.6 1.2 4.2.6C16.3 17 20 11.5 20 4zm-9.6 12.2c-.5.5-1.2.8-2 .9c2.2-2.9 5-5.3 8.1-7.2c-2.5 2.8-4.8 5.2-6.1 6.3z'/%3E%3C/svg%3E");




}

/* =========================================================
   1) VISUALIZZA CARRELLO / MESSAGGI WOO
   ========================================================= */
.woocommerce a.added_to_cart.wc-forward{
  background-color:var(--lunelli-gold)!important;
  border:1px solid var(--lunelli-gold)!important;
  color:#fff!important;
  border-radius:999px!important;
  box-shadow:none!important;
  padding:.75em 1.1em!important;
  line-height:1!important;
  text-decoration:none!important;
}
.woocommerce a.added_to_cart.wc-forward:hover{
  background-color:#8f7441!important;
  border-color:#8f7441!important;
}
.woocommerce #respond input#submit{
  background-color:var(--lunelli-gold)!important;
  border:1px solid var(--lunelli-gold)!important;
  color:#fff!important;
  border-radius:999px!important;
}
.woocommerce-message,
.woocommerce-info{
  border-left-color:var(--lunelli-gold)!important;
}

/* =========================================================
   2) SINGLE — TICK FUORI DAL TESTO (CTA)
   ========================================================= */
.single-product .ct-cart-actions .single_add_to_cart_button.button{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:normal!important;
  text-align:center!important;
  line-height:1.15!important;
  padding-right:3.2em!important;
  min-height:48px!important;
}
.single-product .ct-cart-actions .single_add_to_cart_button.button::after{
  position:absolute!important;
  right:1.1em!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  margin:0!important;
}

/* =========================================================
   3) GRID PRODOTTI (LISTING)
   ========================================================= */
.woocommerce ul.products{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr))!important;
  column-gap:28px!important;
  row-gap:var(--lunelli-gap)!important;
}

/* LI: spazio riservato (NO PUSH) */
.woocommerce ul.products>li.product{
  position:relative!important;
  margin:0!important;
  padding:0 0 var(--lunelli-gap)!important;
  background:transparent!important;
  border:0!important;
  overflow:visible!important;
  z-index:1!important;
}

/* INNER */
.woocommerce ul.products>li.product>.lunelli-card-inner{
  position:relative!important;
  padding:14px!important;
  background:transparent!important;
  border:0!important;
  overflow:visible!important;
  z-index:2!important;
  transform:translateZ(0);
}

/* SHAPE UNICA */
.woocommerce ul.products>li.product>.lunelli-card-inner::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  height:100%!important;
  background:#fff!important;
  border:1px solid var(--lunelli-border)!important;
  border-radius:var(--lunelli-radius)!important;
  z-index:-1!important;
  pointer-events:none!important;
  transition:
    height .2s ease,
    border-color .2s ease,
    box-shadow .2s ease,
    transform .2s ease!important;
}

/* HOVER EXPAND */
@media (hover:hover) and (pointer:fine){
  .woocommerce ul.products>li.product:hover{ z-index:20!important; }
  .woocommerce ul.products>li.product:hover>.lunelli-card-inner::before{
    height:calc(100% + var(--lunelli-expand))!important;
    border-color:var(--lunelli-border-hover)!important;
    box-shadow:0 16px 40px rgba(0,0,0,.10)!important;
    transform:translateY(-2px)!important;
  }
}

/* KILL ROBE INUTILI */
.woocommerce ul.products>li.product .lunelli-card-expand,
.woocommerce ul.products>li.product .ct-woo-card-actions{
  display:none!important;
}

/* IMMAGINI */
.woocommerce ul.products>li.product .ct-media-container{ aspect-ratio:1/1!important; }
.woocommerce ul.products>li.product img.wp-post-image{
  width:100%!important;
  height:auto!important;
  display:block!important;
  object-fit:contain!important;
}

/* VARIABILI: NO ::after */
.woocommerce ul.products>li.product .lunelli-ua-atc.product_type_variable::after{
  content:none!important;
  display:none!important;
}

/* =========================================================
   4) BOTTONI – STABILI NEL PEZZO SOTTO (LISTING)
   ========================================================= */
.woocommerce ul.products>li.product .lunelli-under-actions{
  position:absolute!important;
  left:0!important;
  right:0!important;

  bottom:calc(
    (var(--lunelli-gap) - var(--lunelli-expand))
    + (var(--lunelli-expand) / 2)
    + var(--lunelli-btn-offset)
  )!important;

  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:12px!important;

  opacity:0!important;
  transform:translateY(10px)!important;
  pointer-events:none!important;
  z-index:30!important;

  transition:opacity .2s ease, transform .2s ease!important;
}

@media (hover:hover) and (pointer:fine){
  .woocommerce ul.products>li.product:hover .lunelli-under-actions{
    opacity:1!important;
    transform:translateY(0)!important;
    pointer-events:auto!important;
  }
}

.woocommerce ul.products>li.product .lunelli-under-actions a{
  pointer-events:auto!important;
}

/* =========================================================
   5) “MAGIE JS” — Tick su lunelli-ua-atc
   ========================================================= */
a.lunelli-ua-atc{ position:relative!important; }

a.lunelli-ua-atc.lunelli-added .lunelli-ua-icon{
  opacity:0!important;
  visibility:hidden!important;
}

a.lunelli-ua-atc .lunelli-ua-tick{
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  transform:translate(-50%,-50%) scale(1.25)!important;

  display:flex!important;
  align-items:center!important;
  justify-content:center!important;

  color:var(--lunelli-gold)!important;
  font-size:26px!important;
  font-weight:800!important;
  line-height:1!important;

  pointer-events:none!important;
  z-index:99999!important;

  animation:lunelliTickIn .25s ease-out;
}

@keyframes lunelliTickIn{
  from{ opacity:0; transform:translate(-50%,-50%) scale(.6); }
  to{ opacity:1; transform:translate(-50%,-50%) scale(1.25); }
}

/* =========================================================
   6) PRODUCER IN CARD — Fix “the_title” (OUTPUT attuale)
   Manteniamo l’output finale: clamp 3 righe + a capo dopo producer
   ========================================================= */
.lunelli-loop-producer{ display:none!important; }

/* Nasconde link prodotto "vuoto" */
.woocommerce ul.products>li.product .woocommerce-loop-product__title > a.woocommerce-LoopProduct-link,
.woocommerce ul.products>li.product .woocommerce-loop-product__title > a.woocommerce-LoopProduct-link:empty{
  display:none!important;
}

/* Produttore: stile “meta” + a capo */
.woocommerce ul.products>li.product .woocommerce-loop-product__title > a[href*="/produttore/"]{
  display:block!important;
  font-size:12px!important;
  font-weight:500!important;
  letter-spacing:.02em!important;
  opacity:.75!important;
  line-height:1.1!important;
  margin-top:10px!important;
  text-decoration:none!important;
}
.woocommerce ul.products>li.product .woocommerce-loop-product__title > a[href*="/produttore/"]::after{
  content:"\A";
  white-space:pre;
}
@media (hover:hover){
  .woocommerce ul.products>li.product .woocommerce-loop-product__title > a[href*="/produttore/"]:hover{
    opacity:1!important;
    text-decoration:underline!important;
  }
}

/* Titolo: clamp (vincono queste regole nel tuo CSS attuale) */
.woocommerce ul.products>li.product .woocommerce-loop-product__title{
  font-size:1.15em!important;
  line-height:1.15!important;
  text-align:center!important;

  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  overflow:hidden!important;
}

/* =========================================================
   7) BREADCRUMB (SINGOLO) — Blocksy ct-breadcrumbs
   ========================================================= */
.single-product .hero-section .ct-breadcrumbs{
  background:transparent!important;
  margin:0 0 16px!important;
  padding:10px 0 8px!important;

  font-family:"Bitter", serif!important;
  font-size:13.75px!important;
  line-height:1.2!important;
  letter-spacing:.02em!important;
  text-transform:none!important;

  color:var(--lunelli-crumb)!important;
  border-bottom:1px solid rgba(161,134,75,.18)!important;
}

.single-product .hero-section .ct-breadcrumbs a{
  color:var(--lunelli-crumb)!important;
  text-decoration:none!important;
  font-weight:600!important;
  transition:color .15s ease, text-decoration-color .15s ease;
}
.single-product .hero-section .ct-breadcrumbs a:hover{
  color:var(--lunelli-gold)!important;
  text-decoration:underline!important;
  text-decoration-thickness:1px;
  text-underline-offset:2px;
}
.single-product .hero-section .ct-breadcrumbs .ct-separator{
  color:var(--lunelli-crumb-sep)!important;
  opacity:.95!important;
  width:9px!important;
  height:9px!important;
  margin:0 8px!important;
  transform:translateY(.5px);
}
.single-product .hero-section .ct-breadcrumbs .last-item,
.single-product .hero-section .ct-breadcrumbs .last-item [itemprop="name"]{
  color:var(--lunelli-red)!important;
  font-weight:700!important;
}
.single-product .hero-section .ct-breadcrumbs .last-item a{
  pointer-events:none!important;
}
@media (max-width:768px){
  .single-product .hero-section .ct-breadcrumbs{
    font-size:12px!important;
    margin-bottom:12px!important;
    padding:8px 0 7px!important;
  }
  .single-product .hero-section .ct-breadcrumbs .ct-separator{
    margin:0 6px!important;
  }
}

/* =========================================================
   8) TRUST STRIP (SINGOLO) — versione finale che vincola nel tuo CSS
   ========================================================= */
.single-product .lunelli-trust{
  margin:12px 0 14px!important;     /* sotto prezzo (finale) */
  padding:10px 12px!important;
  border-radius:12px!important;
  border:1px solid rgba(161,134,75,.18)!important;
  background:transparent!important;
  display:flex!important;
  gap:12px!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
}

.single-product .lunelli-trust-item{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  font-family:"Bitter", serif!important;
  color:var(--lunelli-text)!important;
  font-size:13.25px!important;
  line-height:1.2!important;

  padding:6px 10px!important;
  border-radius:999px!important;
  background:rgba(161,134,75,.06)!important;
  border:1px solid rgba(161,134,75,.12)!important;
}

.single-product .lunelli-trust-ico{
  width:24px!important;
  height:24px!important;
  border-radius:999px!important;
  border:1px solid rgba(161,134,75,.30)!important;
  background-color:#fff!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:15px 15px!important;
  flex-shrink:0!important;
}

/* icone */
.single-product .lunelli-trust-item.is-italy .lunelli-trust-ico{
  background-image:var(--lunelli-ico-italy)!important;
  background-size:18px 18px!important; /* come prima */
}
.single-product .lunelli-trust-item.is-shipping .lunelli-trust-ico{
  background-image:var(--lunelli-ico-van)!important;
}
.single-product .lunelli-trust-item.is-crafted .lunelli-trust-ico{
  background-image:var(--lunelli-ico-crafted)!important;
}

/* =========================================================
   9) SINGLE — TITOLO + PRODUTTORE (SOTTO H1)
   ========================================================= */
.single-product .product_title{
  font-family:"Bitter", serif!important;
  font-size:50px!important;
  font-weight:600!important;
  letter-spacing:-0.02em!important;
  line-height:1.15!important;
  margin-bottom:5px!important;
}

.single-product .lunelli-producer-tag{
  margin:6px 0 14px!important;
  font-family:"Bitter", serif!important;
  font-size:13px!important;
  line-height:1.2!important;
  color:#6f6256!important;
}
.single-product .lunelli-producer-tag a{
  text-decoration:none!important;
  color:inherit!important;
}
.single-product .lunelli-producer-tag a:hover{
  color:var(--lunelli-gold)!important;
  text-decoration:underline!important;
  text-underline-offset:2px;
}
.single-product .lunelli-producer-tag strong{
  font-weight:700!important;
  color:var(--lunelli-red)!important;
}

/* =========================================================
   10) SINGLE — “ABBELLIMENTI” (Hero / Foto / Summary / Prezzo / Correlati)
   ========================================================= */
.single-product .site-main{
  background:linear-gradient(
    to bottom,
    rgba(161,134,75,.04),
    rgba(255,255,255,0)
  );
}

.single-product .woocommerce-product-gallery__image img{
  border-radius:14px!important;
  box-shadow:0 24px 60px rgba(0,0,0,.14)!important;
  background:#fff;
}

.single-product .summary{
  padding:28px 28px 32px!important;
  background:rgba(255,255,255,.85);
  border-radius:18px;
}

.single-product p.price{
  font-size:28px!important;
  letter-spacing:-0.01em;
}

/* correlati */
.single-product .related{
  margin-top:80px!important;
  padding-top:60px;
  border-top:1px solid rgba(161,134,75,.25);
}
.single-product .related h2{
  font-family:"Bitter", serif;
  font-size:22px;
  margin-bottom:28px;
}


/* Un filo più di aria sopra/sotto e ritmo nella colonna destra */
.single-product .summary{
  padding: 30px 30px 34px !important;
}
.single-product .product_title{ margin-bottom: 6px !important; }
.single-product .lunelli-producer-tag{ margin-bottom: 14px !important; }
.single-product p.price{ margin: 0 0 14px !important; }
.single-product .lunelli-trust{ margin: 0 0 16px !important; }
.single-product .woocommerce-product-details__short-description{ margin: 0 0 20px !important; }


.single-product .lunelli-howto{
  margin: 14px 0 0 !important;
  padding: 14px 14px 10px !important;
  border: 1px solid rgba(161,134,75,.18) !important;
  border-radius: 14px !important;
  background: rgba(161,134,75,.04) !important;
}
.single-product .lunelli-howto-title{
  font-family:"Bitter", serif !important;
  font-weight:700 !important;
  font-size:14px !important;
  color: var(--lunelli-red) !important;
  margin-bottom: 8px !important;
}
.single-product .lunelli-howto ul{
  margin:0 !important;
  padding-left: 18px !important;
}
.single-product .lunelli-howto li{
  margin: 0 0 6px !important;
  color: var(--lunelli-text) !important;
  font-size: 13.5px !important;
}


.single-product .lunelli-cta-note{
  margin-top: 10px !important;
  font-family:"Bitter", serif !important;
  font-size: 12.5px !important;
  color: #6f6256 !important;
}