/* ==========================================================================
   Scheda prodotto — misure ricavate dal sito attuale (clamp originali)
   ========================================================================== */
.pagina-prodotto { background: #f7f5ef; }
.pp { background: #f7f5ef; padding-bottom: 169px; }

/* parte alta: sfondo verdolino, foto con rettangolo obliquo, riepilogo */
.pp-alto { background: #e7eee1; padding: clamp(16px, 2.2vw, 30px) 0; }
.pp-alto__indietro, .pp-alto__griglia { width: min(1180px, calc(100% - 28px)); margin-left: auto; margin-right: auto; }
.pp-alto__indietro { height: 23px; margin-bottom: 24px; }
.pp-indietro { display: inline-flex; align-items: center; gap: 8px; margin-top: 5px; padding: 0; color: #2f4a2f; font: 600 15px/1.2 var(--f-testo); border-bottom: 1px solid rgba(47, 74, 47, .5); }
.pp-indietro::before { content: ""; flex: 0 0 auto; width: 15px; height: 12px; background-color: currentColor; transition: transform .2s ease;
  -webkit-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10H4'/%3E%3Cpath d='M10.5 3.5 4 10l6.5 6.5'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 20' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10H4'/%3E%3Cpath d='M10.5 3.5 4 10l6.5 6.5'/%3E%3C/svg%3E") no-repeat center / contain; }
.pp-indietro:hover { color: #4f653b; border-bottom-color: #4f653b; } .pp-indietro:hover::before { transform: translateX(-3px); }
.pp-alto__griglia { display: grid; grid-template-columns: 42% 1fr; gap: clamp(24px, 2.8vw, 40px); align-items: start; }
.pp-immagini { position: relative; }
.pp-immagini::before { content: ""; position: absolute; z-index: 0; inset: -16px; background: #2f4a32; transform: rotate(-3deg); pointer-events: none; }
.pp-immagini img { position: relative; z-index: 1; display: block; width: 100%; height: auto; max-height: clamp(440px, 46vw, 620px); object-fit: contain; object-position: center top; }
.pp-immagini--segnaposto { border: 1px solid #f2f2f2; background: #f6f8f7; }
.pp-riepilogo { padding-top: 8px; min-width: 0; }
.pp-titolo { font: 400 clamp(1.95rem, 3vw, 2.7rem)/1.6 var(--f-serif); margin-bottom: 17px; color: var(--testo); }
.pp-prezzo { margin: 0 0 18px; color: #222822; font: 700 clamp(1.45rem, 2vw, 1.85rem)/1.6 var(--f-testo); }
.pp-breve p { font: 400 18px/28.8px var(--f-testo); color: var(--testo-2); }
.pp-varianti { display: flex; align-items: center; gap: 15px; margin-top: 34px; }
.pp-varianti + .pp-azione { margin-top: 30px; }
.pp-varianti__etichetta { font: 400 18px/22.5px var(--f-serif); color: var(--testo); margin-left: 2px; }
.pp-varianti__lista { display: flex; gap: 10px; }
.pp-varianti__lista button { height: 35px; padding: 0 4px; min-width: 73px; border: 1px solid var(--grigio-bordo); background: transparent; color: var(--testo); font: 600 15.41px/27.7px var(--f-testo); text-transform: capitalize; cursor: pointer; transition: border-color .2s, background .2s; }
.pp-varianti__lista button:hover { border-color: var(--verde); }
.pp-varianti__lista button.scelto { border-color: var(--verde); background: var(--verde); color: #fff; }
.pp-azione { margin-top: 33px; height: 52px; line-height: 0; }
.pp-cta { display: inline-flex; align-items: center; justify-content: center; min-width: 280px; height: 52px; padding: 0 24px; background: #3b4635; border: 1px solid #3b4635; color: #fff; font: 600 14px/17.5px var(--f-ui); text-transform: uppercase; transition: background .3s, border-color .3s; }
.pp-cta:hover { background: var(--accento); border-color: var(--accento); color: #fff; }
.pp-cta--spento { opacity: .6; pointer-events: none; }
.pp-cta--spento.attivo { opacity: 1; pointer-events: auto; }
.pp-meta { margin-top: 27px; padding-top: 21px; border-top: 1px solid rgba(79, 101, 59, .2); color: var(--testo); }
.pp-meta span { display: block; margin-bottom: 14px; font: 400 18px/28.8px var(--f-testo); }
.pp-meta span:last-child { margin-bottom: 6px; }
.pp-meta a { color: var(--testo); } .pp-meta a:hover { color: var(--accento); }

/* descrizione con schede e «Leggi di più» */
.pp-descrizione { background: #f7f5ef; padding: clamp(22px, 3vw, 42px) 0 clamp(10px, 1.5vw, 18px); }
.pp-schede { width: min(1180px, calc(100% - 28px)); margin: 0 auto; }
.pp-schede__tab { display: flex; padding-left: 24px; margin: 0 0 10px; border-bottom: 1px solid rgba(24, 30, 22, .12); list-style: disc; }
.pp-schede__tab li { margin: 0; font: 400 18px/32.4px var(--f-testo); color: var(--testo-2); padding-bottom: 9.6px; }
.pp-schede__tab li + li { margin-left: 24px; }
.pp-schede__tab a { display: inline; padding: 8px 0; color: var(--verde); font: 400 18px/32.4px var(--f-testo); }
.pp-pannello { position: relative; overflow: hidden; transition: max-height .4s ease; color: var(--testo-2); }
.pp-pannello p, .pp-pannello li { font: 400 18px/28.8px var(--f-testo); color: var(--testo-2); }
.pp-pannello p { margin: 0 0 11px; }
.pp-pannello ul { list-style: disc; padding-left: 24px; margin: 0 0 11px; }
.pp-pannello li { line-height: 32.4px; padding-bottom: 10px; }
.pp-pannello li:last-child { padding-bottom: 0; }
.pp-pannello h2, .pp-pannello h3 { font: 400 24px/30px var(--f-serif); margin: 14px 0 8px; color: var(--testo); }
.pp-pannello.chiuso { max-height: 260px; }
.pp-pannello.chiuso::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 64px; background: linear-gradient(to bottom, rgba(247, 245, 239, 0), #f7f5ef); pointer-events: none; }
.pp-leggi { display: inline-flex; align-items: center; gap: 5px; margin-top: 14px; padding: 0; border: 0; background: none; color: #4f653b; font: 600 15px/normal var(--f-testo); cursor: pointer; }
.pp-leggi[hidden] { display: none; }
.pp-leggi:hover { color: #2f4a2f; }
.pp-leggi::after { content: "\2193"; display: inline-block; font-size: 11px; transition: transform .3s ease; }
.pp-leggi[aria-expanded="true"]::after { transform: rotate(180deg); }
.pp-pannello-info table { width: 100%; border-collapse: collapse; font: 400 18px/28.8px var(--f-testo); color: var(--testo-2); }
.pp-pannello-info th { text-align: left; width: 200px; padding: 8px 0; } .pp-pannello-info td { padding: 8px 0; }

/* richiesta informazioni sull'articolo */
.pp-richiesta { background: #f7f5ef; padding: clamp(16px, 2.2vw, 28px) 0; }
.pp-richiesta__cornice { max-width: 1152px; }
.pp-richiesta__scheda { position: relative; z-index: 1; background: #fff; border: 1px solid rgba(24, 30, 22, .12); padding: clamp(16px, 2vw, 24px); }
.pp-richiesta__kicker { margin: 0 0 12px; font: 700 12px/19.2px var(--f-testo); letter-spacing: .08em; text-transform: uppercase; color: #4f653b; }
.pp-richiesta h3 { margin: 0 0 8px; font: 400 clamp(1.45rem, 2.4vw, 1.9rem)/1.2 var(--f-serif); text-transform: capitalize; color: var(--testo); }
.pp-richiesta__intro { margin: 0 0 12px; font: 400 18px/28.8px var(--f-testo); color: var(--testo-2); }
.pp-richiesta form p { margin: 0 0 12px; }
.pp-richiesta label { display: block; margin-bottom: 6px; font: 700 15px/24px var(--f-testo); color: #2b3a24; }
.pp-richiesta input, .pp-richiesta textarea { display: block; width: 100%; padding: 10px 12px; border: 1px solid rgba(24, 30, 22, .18); border-radius: var(--r); background: #fff; color: #232a1f; font: 400 15px/24px var(--f-testo); }
.pp-richiesta input { height: 42px; }
#pr_email { height: auto; font-size: 18px; line-height: 28.8px; } .pp-richiesta textarea { height: 130px; min-height: 130px; resize: vertical; }
.pp-richiesta input:focus, .pp-richiesta textarea:focus { outline: 2px solid var(--accento); outline-offset: 0; }
.pp-richiesta input[readonly] { background: #fff; }
.pp-griglia { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
.pp-invio { margin-top: 6px !important; margin-bottom: 11px !important; height: 50px; }
.pp-invio .btn { height: 40px; padding: 0 20px; margin-top: 10px; font: 600 14px/17.5px var(--f-ui); text-transform: uppercase; border-radius: 0; }
.pp-richiesta__trappola { position: absolute !important; left: -9999px !important; opacity: 0 !important; pointer-events: none !important; }

/* prodotti correlati */
.pp-correlati { background: #f7f5ef; padding: clamp(10px, 1.6vw, 20px) 0 clamp(26px, 3vw, 44px); }
.pp-correlati__interno { width: min(1180px, calc(100% - 28px)); margin: 0 auto; }
.pp-correlati h2 { margin-bottom: clamp(10px, 1.6vw, 16px); text-align: center; font: 400 clamp(1.6rem, 2.2vw, 2rem)/1.2 var(--f-serif); text-transform: capitalize; }
.pp-correlati__lista { margin-top: 0; gap: clamp(14px, 2vw, 24px); }
.pp-correlati .prodotto { border-radius: var(--r); }
.pp-correlati .prodotto__foto { border-radius: var(--r) var(--r) 0 0; }
.pp-correlati .prodotto__foto img { object-fit: cover; }

@media (max-width: 900px) {
  .pp-alto__griglia { grid-template-columns: 1fr; gap: 21px; }
}
@media (max-width: 767px) {
  .pp-griglia { grid-template-columns: 1fr; }
  .pp-azione { margin-top: 26px; }
  .pp-meta { margin-top: 15px; }
  .pp-meta span:last-child { margin-bottom: 13px; }
  .pp-titolo { margin-bottom: 10px; }
  .pp-prezzo { margin-bottom: 11px; }
  .pp-alto { padding: 16px 0; }
  .pp-alto__indietro { height: 14px; margin-bottom: 24px; }
  .pp-indietro { margin-top: 3px; }
  .pp-immagini { width: calc(100% - 76px); margin: 0 38px; }
  .pp-immagini::before { inset: -10px; }
  .pp-breve p, .pp-meta span { font-size: 16px; line-height: 25.6px; }
  .pp-schede__tab a, .pp-schede__tab li { font-size: 13px; }
  .pp-schede__tab li { line-height: 28.8px; }
  .pp-schede__tab a { line-height: 28.8px; }
  .pp { padding-bottom: 92px; }
  .pp-pannello p, .pp-pannello li { font-size: 16px; }
  .pp-pannello p { line-height: 25.6px; } .pp-pannello li { line-height: 28.8px; }
  .pp-richiesta__cornice { max-width: 312px; width: calc(100% - 78px); }
  .pp-richiesta__intro { font-size: 16px; line-height: 25.6px; }
  .pp-richiesta h3 { font-size: 23.2px; line-height: 27.84px; }
  .pp-richiesta label { font-size: 13px; line-height: 20.8px; }
  .pp-richiesta input, .pp-richiesta textarea { font-size: 13px; line-height: 20.8px; }
  .pp-richiesta input { height: 37px; } .pp-richiesta textarea { height: 130px; }
  #pr_email { font-size: 16px; line-height: 25.6px; height: 48px; }
  .pp-invio .btn { height: 37px; font-size: 12px; line-height: 15px; padding: 0 20px; margin-top: 10px; }
  .pp-correlati h2 { font-size: 25.6px; line-height: 30.72px; }
  .pp-correlati__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .pp-correlati .prodotto__occhio { left: 94px; }
}
