:root{
  --fondo:#121110; --carta:#1B1917; --oro:#D4B981; --oro-tenue:#9C8category;
  --crema:#EDE7DC; --fumo:#8E877C; --filo:#2C2823;
  --serif:'Bodoni Moda','Didot','Times New Roman',serif;
  --sans:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;
}

/* --- base ------------------------------------------------------------ */
body{
  background:var(--fondo); color:var(--crema);
  font-family:var(--sans); font-weight:300; font-size:16.5px;
  line-height:1.7; letter-spacing:.01em;
  padding-top:2.6rem;                     /* spazio per la barra spedizione */
}
h1,h2,h3,h4,h1{font-size:clamp(2.4rem,5vw,3.6rem)}
h2{font-size:clamp(1.7rem,3vw,2.3rem); margin-top:2.4em}
h3{font-size:1.35rem}
p{max-width:68ch}
a{color:var(--crema); text-decoration-thickness:1px; text-underline-offset:.22em}
a:hover{color:var(--oro)}
:focus-visible{outline:2px solid var(--oro); outline-offset:3px}

/* --- testata e piè di pagina nostri ---------------------------------- */
/* del tema non usiamo più nessuna parte: testata e piede sono nostri */
.wp-block-template-part,
header.wp-block-template-part,
footer.wp-block-template-part,
.wp-site-blocks > header,
.wp-site-blocks > footer{display:none !important}
body{padding-top:0}

/* il contenuto non deve restare imprigionato nella colonna stretta del tema */
.wp-site-blocks .entry-content,
.wp-site-blocks .wp-block-post-content,
.wp-site-blocks > main,
main .is-layout-constrained{max-width:none !important}
.wp-site-blocks{padding-top:0 !important}
main > .wp-block-group:first-child{padding-top:0 !important}
.home .wp-block-post-title,
.home h1.entry-title{display:none !important}

.ld-barra{
  background:transparent; color:var(--fumo);
  font-family:var(--sans); font-weight:300;
  font-size:.68rem; letter-spacing:.22em; text-transform:uppercase;
  text-align:center; padding:.85rem 1rem .8rem;
  border-bottom:1px solid var(--filo);
}

.ld-testata{background:var(--fondo); border-bottom:1px solid var(--filo)}
.ld-testata-riga{
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
  gap:1rem; max-width:1280px; margin-inline:auto; padding:1.4rem 1.5rem;
}
.ld-lato{display:flex; align-items:center; gap:1.4rem}
.ld-lato-dx{justify-content:flex-end}
.ld-lato a{color:var(--crema); display:inline-flex; text-decoration:none}
.ld-lato a:hover{color:var(--oro)}

/* le tre lineette */
.ld-lineette{
  background:transparent !important; border:0 !important; padding:.35rem 0 !important;
  display:flex; flex-direction:column; gap:4px; cursor:pointer; width:auto;
}
.ld-lineette span{
  display:block; width:17px; height:1px; background:var(--fumo);
  transition:background .25s ease,width .25s ease;
}
.ld-lineette span:nth-child(2){width:12px}
.ld-lineette:hover span{background:var(--oro); width:17px}
.ld-lineette.ld-aperto span:nth-child(2){opacity:0}

/* categorie a tendina */
.ld-cat{position:relative}
.ld-cat-btn{
  background:transparent !important; border:0 !important; color:var(--crema) !important;
  font-family:var(--sans); font-size:.9rem; letter-spacing:.05em;
  padding:.2rem 0 !important; cursor:pointer;
}
.ld-cat-btn::after{content:" ▾"; font-size:.6em; opacity:.5}
.ld-cat-btn:hover{color:var(--oro) !important}
.ld-tendina{
  position:absolute; top:calc(100% + .9rem); left:0; z-index:60;
  min-width:210px; margin:0; padding:.6rem 0; list-style:none;
  background:var(--carta); border:1px solid var(--filo); border-radius:6px;
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s;
}
.ld-cat:hover .ld-tendina,.ld-cat-aperto .ld-tendina{
  opacity:1; visibility:visible; transform:none;
}
.ld-tendina li{margin:0; list-style:none}
.ld-tendina a{
  display:block; padding:.5rem 1.1rem; color:var(--crema);
  font-size:.88rem; text-decoration:none;
}
.ld-tendina a:hover{color:var(--oro); background:rgba(255,255,255,.03)}
.ld-tendina ul{margin:0; padding:0 0 .3rem}
.ld-tendina ul a{padding-left:2rem; font-size:.82rem; color:var(--fumo)}

/* marchio al centro */
.ld-marchio{
  display:flex; flex-direction:column; align-items:center; gap:.3rem;
  text-decoration:none; justify-self:center;
}
.ld-marchio img.ld-stemma{width:clamp(74px,8vw,104px); height:auto; display:block}
.ld-nome{
  font-family:var(--serif); font-weight:500; color:var(--oro);
  font-size:clamp(1.25rem,2.2vw,1.7rem); letter-spacing:.2em; line-height:1;
  padding-left:.2em;
}

/* pannello delle tre lineette */
.ld-pannello{
  display:flex; flex-wrap:wrap; gap:.4rem 2rem;
  max-width:1280px; margin-inline:auto; padding:0 1.5rem 1.4rem;
}
.ld-pannello[hidden]{display:none}
.ld-pannello a{
  color:var(--crema); font-family:var(--sans); font-size:.86rem;
  letter-spacing:.04em; text-decoration:none; padding:.3rem 0;
}
.ld-pannello a:hover{color:var(--oro)}

/* piè di pagina */
.ld-pallini{display:flex; justify-content:center; gap:1.15rem; padding:3.2rem 0 0}
.ld-pallini span{width:9px; height:9px; border-radius:50%; background:var(--oro)}

.ld-pie{
  background:var(--carta); border-top:1px solid var(--filo);
  margin-top:2.5rem; padding:3.2rem 1.5rem 2.4rem;
}
.ld-pie-griglia{
  display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:2.5rem;
  max-width:1180px; margin-inline:auto;
}
.ld-pie-marchio{text-align:center}
.ld-pie img.ld-stemma-pie{width:104px; height:auto; margin:0 auto .5rem; display:block}
.ld-pie-nome{
  font-family:var(--serif); font-weight:500; color:var(--oro);
  font-size:1.15rem; letter-spacing:.2em; padding-left:.2em;
  display:block; margin-bottom:1.1rem;
}
.ld-pie h3{
  font-family:var(--sans); font-size:.78rem; font-weight:500;
  letter-spacing:.16em; color:var(--crema); margin:0 0 1rem;
}
.ld-pie a,.ld-pie p{
  display:block; color:var(--fumo); font-size:.86rem;
  text-decoration:none; margin:0 0 .55rem; max-width:none;
}
.ld-pie a:hover{color:var(--oro)}
.ld-social{display:flex; gap:1rem; justify-content:center; margin-top:.4rem}
.ld-social a{margin:0; font-size:.82rem}
.ld-copy{
  text-align:center; color:var(--fumo); font-size:.76rem;
  margin:2.6rem 0 0 !important;
}

/* --- griglia prodotti ------------------------------------------------ */
ul.products li.product,
.wc-block-grid__product,
.wp-block-post-template li{position:relative; text-align:center}

ul.products li.product a.woocommerce-LoopProduct-link{
  display:block; text-decoration:none;
}

/* la cornice contiene SOLO le due foto: titolo e prezzo restano fuori,
   sotto, dove devono stare */
.ld-foto{
  position:relative; display:block;
  aspect-ratio:4/5; overflow:hidden; border-radius:14px;
  background:var(--carta);
}
.ld-foto img,
.ld-foto .ld-hover img,
ul.products li.product .ld-foto img{
  position:absolute !important; inset:0 !important;
  width:100% !important; height:100% !important;
  max-width:none !important; max-height:none !important;
  object-fit:cover !important; object-position:center 40%;
  margin:0 !important; padding:0 !important;
  border-radius:0 !important; filter:saturate(.95);
}
.ld-hover{
  position:absolute; inset:0; opacity:0; pointer-events:none;
  background:var(--carta);
  transition:opacity .4s ease;
}
li.product:hover .ld-hover{opacity:1}
@media (hover:none){.ld-hover{display:none}}

/* etichetta venduto: appoggiata all'angolo, discreta */
.ld-venduto{
  position:absolute; top:12px; left:0; z-index:4;
  background:var(--carta); color:var(--oro);
  font-family:var(--sans); font-size:.57rem; font-weight:400;
  text-transform:uppercase; letter-spacing:.13em;
  padding:.32rem .6rem .3rem; border:0;
  border-radius:0 4px 4px 0;
}
li.product.outofstock .ld-foto{opacity:.88}
li.product.outofstock .price{opacity:.5}

/* via il bollo giallo "In offerta" */
span.onsale,.wc-block-components-product-sale-badge{display:none !important}

/* titolo e prezzo */
ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__product-title,
.wp-block-post-title{
  font-family:var(--sans) !important; font-size:.92rem !important;
  font-weight:500; letter-spacing:.01em; line-height:1.45;
  color:var(--crema); margin:.9rem 0 .35rem;
}
ul.products li.product .price,
.wc-block-grid__product-price{
  font-family:var(--sans); font-size:.92rem; color:var(--crema);
  display:block; margin-bottom:1rem;
}
.price del{color:var(--fumo); opacity:.7; margin-right:.5rem; font-size:.9em}
.price ins{text-decoration:none; color:var(--crema)}

/* bottone a pillola sotto ogni capo */
ul.products li.product .button{
  background:transparent !important; color:var(--crema) !important;
  border:1px solid var(--filo); border-radius:999px;
  font-size:.8rem; letter-spacing:.07em; padding:.68rem 1.5rem;
  transition:border-color .25s ease,color .25s ease;
}
ul.products li.product .button:hover{
  background:transparent !important; border-color:var(--oro); color:var(--oro) !important;
}
.ld-esaurito{opacity:.55}

/* --- scheda prodotto ------------------------------------------------- */
.woocommerce div.product{
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:3.2rem; align-items:start;
}
.woocommerce div.product div.images,
.woocommerce div.product div.summary{
  width:100% !important; float:none !important; margin:0 !important;
}
.woocommerce div.product div.images img{border-radius:18px}

/* miniature: sei per riga, piccole, sotto la foto grande */
.woocommerce div.product div.images .flex-control-thumbs{
  display:grid; grid-template-columns:repeat(6,1fr); gap:.5rem;
  margin:.9rem 0 0; padding:0; list-style:none;
}
.woocommerce div.product div.images .flex-control-thumbs li{
  width:auto !important; margin:0 !important; float:none !important; padding:0;
}
.woocommerce div.product div.images .flex-control-thumbs img{
  border-radius:7px; opacity:.5; transition:opacity .25s ease;
}
.woocommerce div.product div.images .flex-control-thumbs img:hover,
.woocommerce div.product div.images .flex-control-thumbs img.flex-active{opacity:1}

/* colonna destra: testo centrato, come nella vecchia vetrina */
body .woocommerce div.product div.summary,
body .woocommerce div.product div.summary > *,
body .woocommerce div.product div.summary p,
body .woocommerce div.product .entry-summary,
body .woocommerce div.product .entry-summary > *,
body .woocommerce div.product .woocommerce-product-details__short-description,
body .woocommerce div.product .woocommerce-product-details__short-description p{
  text-align:center !important;
}
body .woocommerce div.product div.summary p{margin:0 0 .85rem}
body .woocommerce div.product div.summary *,
body .woocommerce div.product .entry-summary *{text-align:center !important}
body .woocommerce div.product div.summary .price,
body .woocommerce div.product div.summary .product_title{text-align:center !important}
.woocommerce div.product .woocommerce-product-details__short-description{
  font-size:.93rem; line-height:1.75; margin-top:1.2rem;
}
.woocommerce div.product .product_title{
  font-family:var(--sans) !important; font-weight:500;
  font-size:clamp(1.4rem,2.4vw,1.9rem); line-height:1.35;
}
.woocommerce div.product .summary .price{
  font-size:1.35rem; color:var(--crema); margin:1rem 0 1.4rem;
}
.woocommerce div.product .summary p{max-width:none}
.woocommerce div.product .product_meta,
.woocommerce div.product .posted_in,
.woocommerce div.product .sku_wrapper{display:none !important}
p.stock.out-of-stock{
  color:var(--oro); font-family:var(--sans);
  letter-spacing:.12em; font-size:.8rem; text-transform:lowercase;
}

/* la descrizione sta a lato, le schede sotto non servono */
.woocommerce div.product .woocommerce-tabs{display:none}
.woocommerce div.product .related.products{grid-column:1 / -1}

@media (max-width:900px){
  .woocommerce div.product{grid-template-columns:1fr; gap:2rem}
}

/* --- bottoni --------------------------------------------------------- */
.wp-element-button,.wc-block-components-button,
button,input[type=submit],.button,a.button{
  background:var(--oro) !important; color:#141210 !important;
  border:0; border-radius:2px;
  font-family:var(--sans); font-weight:500; font-size:.88rem;
  letter-spacing:.09em; padding:.95rem 1.9rem;
  transition:background .25s ease;
}
.wp-element-button:hover,button:hover,.button:hover,a.button:hover{
  background:var(--crema) !important;
}

/* --- campi ----------------------------------------------------------- */
input,select,textarea,.wc-block-components-text-input input{
  background:var(--carta) !important; color:var(--crema) !important;
  border:1px solid var(--filo) !important; border-radius:2px;
  font-family:var(--sans); padding:.85rem 1rem;
}
input:focus,select:focus,textarea:focus{border-color:var(--oro) !important}
::placeholder{color:var(--fumo)}

/* --- tabelle (guida taglie) ------------------------------------------ */
table{border-collapse:collapse; width:100%; max-width:640px; margin:2rem 0}
th,td{padding:.72rem 1rem; border-bottom:1px solid var(--filo); text-align:left}
th{font-family:var(--sans); font-size:.78rem; letter-spacing:.1em; color:var(--oro); font-weight:500}

/* --- liste, citazioni ------------------------------------------------ */
ul:not(ol li{margin-bottom:.55rem}

/* --- correlati ------------------------------------------------------- */
.related.products > h2,.up-sells > h2{
  font-family:var(--serif); font-weight:500; text-align:center;
  font-size:clamp(1.5rem,2.6vw,2rem); margin-bottom:2.2rem;
}
.related.products{border-top:1px solid var(--filo); padding-top:3.5rem; margin-top:4rem}

/* --- piè di pagina --------------------------------------------------- */


/* --- notifiche woocommerce ------------------------------------------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  background:var(--carta); border-top-color:var(--oro); color:var(--crema);
}

.wp-block-group .wp-block-heading{
  font-family:var(--serif) !important; font-weight:500;
  text-align:center; letter-spacing:.03em;
  font-size:clamp(1.5rem,2.6vw,2rem) !important;
  margin:0 0 2.6rem;
}

/* la vetrina non mostra il proprio titolo */
.home .wp-block-post-title,
.home h1.entry-title,
.home .wp-block-query-title,
body.home > .wp-site-blocks > .wp-block-group > .wp-block-post-title{display:none !important}

/* --- vetrina: larga, attaccata alla testata ------------------------- */
.ld-vetrina{
  max-width:1280px !important; margin-inline:auto;
  padding:1.4rem 1.5rem 3.5rem;
}
/* catalogo e categorie: stessa gabbia della testata */
/* catalogo, categorie e schede: stessa gabbia della testata */
.woocommerce-page main,
.woocommerce main,
.archive main,
.tax-product_cat main,
.post-type-archive-product main,
.single-product main{
  max-width:1280px !important; margin-inline:auto !important;
  padding-inline:1.5rem !important;
}
.woocommerce-breadcrumb{
  font-family:var(--sans); font-size:.78rem; color:var(--fumo);
  padding-top:1.4rem; margin-bottom:1.6rem;
}
.woocommerce-breadcrumb a{color:var(--fumo)}
.woocommerce-products-header{padding-top:1.4rem}
.woocommerce-products-header__title{
  font-family:var(--serif) !important; font-weight:500;
  font-size:clamp(1.7rem,3vw,2.3rem) !important; letter-spacing:.03em;
}
.woocommerce-result-count,.woocommerce-ordering select{
  font-family:var(--sans); font-size:.82rem; color:var(--fumo);
}
.home .wp-site-blocks > *:first-child{margin-block-start:0 !important}
.home .wp-site-blocks{padding-top:0 !important}
.home .wp-block-post-content,
.home .entry-content{margin-block-start:0 !important}
.ld-titolo-sezione{
  font-family:var(--serif) !important; font-weight:500;
  text-align:center !important; letter-spacing:.04em;
  font-size:clamp(1.5rem,2.6vw,2rem) !important;
  margin:.4rem 0 2.4rem !important;
}

/* --- griglia del catalogo -------------------------------------------- */
ul.products{
  display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr));
  gap:2.4rem 1.6rem; margin:0; padding:0; list-style:none;
}
ul.products::before,ul.products::after{display:none !important}
ul.products li.product{
  width:auto !important; margin:0 !important; float:none !important; clear:none !important;
}
.related.products ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}

/* comparsa in dissolvenza dei capi scoperti scorrendo */
.ld-nascosto{display:none !important}
@keyframes ldEntra{
  from{opacity:0; transform:translateY(14px)}
  to{opacity:1; transform:none}
}
.ld-entra{animation:ldEntra .55s cubic-bezier(.22,.61,.36,1) both}

/* --- telefono -------------------------------------------------------- */
@media (max-width:781px){
  body{font-size:16px; padding-top:3.1rem}
    h1{font-size:clamp(1.9rem,7vw,2.4rem)}
  h2{margin-top:1.8rem; font-size:1.45rem}
  p{max-width:none}

  .ld-testata-riga{padding:1rem .9rem; gap:.5rem}
  .ld-lato{gap:.9rem}
  .ld-cat-btn{font-size:.8rem}
  .ld-marchio img.ld-stemma{width:58px}
  .ld-nome{font-size:1.05rem; letter-spacing:.1em}
  .ld-pannello{padding:0 .9rem 1.1rem; gap:.2rem 1.2rem}
  .ld-pie-griglia{grid-template-columns:1fr; gap:2rem; text-align:center}
  .ld-pie a,.ld-pie p{margin-inline:auto}

  ul.products,
  .related.products ul.products{grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.4rem .9rem}
  ul.products li.product .woocommerce-loop-product__title{font-size:.82rem !important; line-height:1.4}
  ul.products li.product .price{font-size:.84rem; margin-bottom:.8rem}
  ul.products li.product .button{font-size:.74rem; padding:.6rem 1.1rem}
  .ld-venduto{font-size:.52rem; padding:.26rem .45rem}

  .woocommerce div.product{gap:1.6rem}
  .woocommerce div.product div.images .flex-control-thumbs{grid-template-columns:repeat(5,1fr); gap:.35rem}

  footer.wp-block-template-part{padding-block:2.6rem}
  .ld-pallini{padding:2.4rem 0 .2rem; gap:.9rem}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none !important; animation:none !important}
}
