/* ============================================================
   PRPR redesign-5 — interventi dell'audit del 24 settembre 2026
   (07_SITO/AUDIT-SITO-2026-09-24.md). Caricato dopo redesign-4.
   ============================================================ */

/* ---- Testo piccolo che non restava piccolo (24 set 2026).
   app-1.css da' 1rem a ogni <p>: dentro un contenitore text-xs o text-sm il
   paragrafo tornava a 16px (footer, archivio Fest, estratti nella ricerca).
   Qui il paragrafo senza una sua classe di misura eredita quella voluta. */
:where(.text-xs,.text-sm) > p:not([class*="text-"]){ font-size:inherit; }

/* ---- Pausa animazioni (home). */
.pp-anim-off .pp-hero-slide,
.pp-anim-off [class*="animate-["],
.pp-anim-off .fest-marquee-track{ animation-play-state:paused !important; }
.pp-anim-wrap{ display:flex; justify-content:flex-end; margin-top:1.75rem; }
.pp-anim-toggle{
  display:inline-flex; align-items:center; gap:.45rem; min-height:44px; margin:0; padding:.45rem .95rem;
  background:#fff; color:var(--pp-ink); border:2px solid var(--pp-ink); border-radius:999px; box-shadow:none;
  font-family:"Space Mono",monospace; font-size:12px; font-weight:700; text-transform:uppercase; cursor:pointer; }
.pp-anim-toggle::before{ content:""; width:10px; height:12px; border-left:3px solid currentColor; border-right:3px solid currentColor; box-sizing:border-box; }
.pp-anim-off .pp-anim-toggle::before{ width:0; height:0; border-style:solid; border-width:6px 0 6px 10px; border-color:transparent transparent transparent currentColor; border-right:0; }
.pp-anim-toggle:hover{ background:var(--pp-acid); }
@media (prefers-reduced-motion: reduce){ .pp-anim-wrap{ display:none; } }

/* ---- Focus su fondo scuro. Il viola del focus sul nero fa 1,66:1 e non si
   vede (footer, striscia nera sopra il footer): li' diventa giallo, 11,6:1. */
footer :focus-visible,
.bg-ink-black :focus-visible{ outline-color:var(--pp-acid) !important; }

/* ---- Frecce delle foto Fest: aria-disabled al posto di disabled. */
.pp-fest-nav[aria-disabled="true"]{ opacity:.3; cursor:default; }

/* ---- Contrasto: etichette sopra le sezioni ("Scaffale", "Sotto la panca",
   "Scrivici", "Press kit"). Inchiostro al 50% sul crema faceva 3:1, sotto la
   soglia di 4,5. Al 78% arriva a circa 6. */
.prpr-kicker{ color:rgba(36,33,36,.78); }

/* ---- Contrasto: "Autore/Autori" sopra le firme in scheda prodotto (era 3,4). */
.pp-aut-firma-eti{ color:rgba(36,33,36,.78); font-size:12px; }

/* ---- Scheda prodotto: miniature su una riga sola.
   Con 8 foto andavano a capo 7 + 1, la colonna monca. Ora si dividono la
   larghezza e, se proprio non ci stanno (telefono), si scorrono di lato. */
.pp-gallery-strip{
  flex-wrap:nowrap; overflow-x:auto; overscroll-behavior-x:contain;
  scroll-snap-type:x proximity; padding-bottom:4px; scrollbar-width:thin;
}
.pp-gallery-strip .pp-gallery-thumb{
  flex:1 1 0; width:auto; height:auto; aspect-ratio:1/1;
  min-width:3rem; max-width:4.25rem; scroll-snap-align:start;
}

/* ---- Scheda prodotto: riga spedizione sotto il prezzo. */
.pp-sped{
  margin:.85rem 0 0; font-size:13px; line-height:1.5; color:rgba(36,33,36,.85);
}
.pp-sped .pp-sped-label{
  font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:12px; margin-right:.25rem;
}
.pp-sped strong{ color:var(--pp-ink,#242124); }
.pp-sped .pp-sped-piu{ color:rgba(36,33,36,.72); }

/* ---- Archivio PRPR Fest: locandine intere.
   Il riquadro era forzato a 3:4 con l'immagine in "cover": la locandina della
   I perdeva "PRPR FEST" e "9 MAGGIO". Ora ogni locandina tiene le sue
   proporzioni; su desktop la colonna si allunga con il testo e il fondo
   crema continua sotto, invece del vuoto bianco. */
.pp-fest-ed-loc{ aspect-ratio:auto; }
.pp-fest-ed-loc .pp-fest-locandina{ display:block; width:100%; height:auto; }
@media (min-width:768px){
  .pp-fest-ed{ align-items:stretch; }
}

/* ============================================================
   MODULO CONTATTI del PRPR Panel (25 set 2026, al posto di WPForms)
   Markup in plugins/prpr-panel/includes/contatti.php. Stessa grafica
   dei campi del negozio: bordo 3px, Archivo Black per le etichette,
   Space Mono nei campi. #site-content per battere la regola generica
   dei bottoni di app-1.css.
   ============================================================ */
.pp-modulo{ display:grid; gap:1.1rem; }
#site-content .pp-modulo p{ max-width:none; }
.pp-modulo-nota,.pp-modulo-privacy{ margin:0; font-family:"Space Mono",monospace; font-size:.8rem; line-height:1.5; color:rgba(36,33,36,.78); }
.pp-modulo-privacy a{ color:var(--pp-viola,#702963); font-weight:700; }
.pp-modulo-campo{ display:grid; gap:.4rem; }
.pp-modulo label{ font-family:"Archivo Black",sans-serif; font-size:.85rem; color:var(--pp-ink,#242124); }
.pp-modulo-facolt{ font-family:"Space Mono",monospace; font-size:.75rem; color:rgba(36,33,36,.72); }
.pp-modulo input[type=text],.pp-modulo input[type=email],.pp-modulo select,.pp-modulo textarea{
  width:100%; box-sizing:border-box; min-height:48px; padding:.7rem .9rem;
  border:3px solid var(--pp-ink,#242124); border-radius:var(--pp-r-ctrl,12px); background:#fff;
  color:var(--pp-ink,#242124); font-family:"Space Mono",monospace; font-size:1rem; box-shadow:none; }
.pp-modulo textarea{ min-height:150px; resize:vertical; line-height:1.5; }
.pp-modulo select{ appearance:none; -webkit-appearance:none; padding-right:2.4rem; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23242124' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right .9rem center; }
.pp-modulo [aria-invalid="true"]{ border-color:#B03A2E; background:#fff8f7; }
.pp-modulo-errore{ color:#A93226; font-family:"Space Mono",monospace; font-size:.8rem; line-height:1.4; }
.pp-modulo-errore:empty{ display:none; }
#site-content .pp-modulo .pp-modulo-invia{
  justify-self:start; min-height:48px; padding:.85rem 1.6rem; cursor:pointer;
  background:var(--pp-ink,#242124); color:#fff; border:3px solid var(--pp-ink,#242124); border-radius:var(--pp-r-ctrl,12px);
  box-shadow:4px 6px 0 var(--pp-viola,#702963); font-family:"Archivo Black",sans-serif; font-size:.9rem; text-transform:uppercase;
  transform:none; transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease; }
#site-content .pp-modulo .pp-modulo-invia:hover{ background:var(--pp-viola,#702963); transform:translate(-2px,-2px); box-shadow:6px 8px 0 var(--pp-ink,#242124); }
#site-content .pp-modulo .pp-modulo-invia:active{ transform:translate(3px,4px); box-shadow:1px 2px 0 var(--pp-viola,#702963); }
#site-content .pp-modulo .pp-modulo-invia[disabled]{ opacity:.75; cursor:progress; transform:none; }
.pp-modulo-esito{ margin:0; padding:.85rem 1rem; border:3px solid var(--pp-ink,#242124); border-radius:var(--pp-r-ctrl,12px);
  font-family:"Space Mono",monospace; font-size:.9rem; line-height:1.5; color:var(--pp-ink,#242124); }
.pp-modulo-esito.is-ok{ background:#FFF4CC; }
.pp-modulo-esito.is-errore{ background:#fff8f7; border-color:#B03A2E; }
.pp-modulo-esito[hidden]{ display:none; }
.pp-modulo-trappola{ position:absolute !important; left:-10000px !important; width:1px; height:1px; overflow:hidden; }
@media (prefers-reduced-motion:reduce){
  #site-content .pp-modulo .pp-modulo-invia,#site-content .pp-modulo .pp-modulo-invia:hover,#site-content .pp-modulo .pp-modulo-invia:active{ transform:none; transition:none; }
}

/* ============================================================
   TELEFONO PIU' CORTO (25 set 2026)
   ============================================================ */

/* Footer: Naviga ed Editoria si aprono toccando (script in footer.php),
   social in fila, presentazione solo da tablet in su. Era 1.300 px. */
:is(#site-content, footer) .pp-f-piega{ width:100%; display:flex; justify-content:space-between; align-items:center; gap:10px; min-height:44px;
  padding:0; background:none; border:0; box-shadow:none; color:inherit; font:inherit; letter-spacing:inherit; text-transform:inherit; cursor:pointer; transform:none; }
:is(#site-content, footer) .pp-f-piega::after{ content:"+"; font-size:1.2rem; line-height:1; transition:transform .2s; }
:is(#site-content, footer) .pp-f-piega[aria-expanded="true"]::after{ transform:rotate(45deg); }
@media (max-width:639px){
  .pp-f-chi{ display:none; }
  .pp-f-social{ display:flex; flex-wrap:wrap; gap:8px 16px; }
  .pp-f-social > li{ margin:0 !important; }
  footer [data-pp-piega] h2{ margin-bottom:0; }
  footer [data-pp-piega] ul:not([hidden]){ margin-top:14px; }
}

/* Autori al telefono: ritratto piccolo accanto al nome, bio da aprire.
   Solo con JavaScript (.pp-aut-js): senza, restano le schede intere. */
.pp-aut-apri{ display:none; }
@media (max-width:580px){
  .pp-aut-js .pp-aut-card{ display:grid; grid-template-columns:84px minmax(0,1fr); gap:6px 14px; align-items:center; padding:14px; }
  .pp-aut-js .pp-aut-ritratto{ grid-row:1 / span 2; width:84px; height:84px; aspect-ratio:auto; }
  .pp-aut-js .pp-aut-iniziali{ width:3.2rem; height:3.2rem; font-size:1.1rem; }
  .pp-aut-js .pp-aut-tag{ display:none; }
  .pp-aut-js .pp-aut-capo h2{ font-size:1.05rem; }
  #site-content .pp-aut-js .pp-aut-apri{ font-family:"Space Mono",monospace; display:inline-flex; align-items:center; gap:6px; justify-self:start; min-height:40px; padding:.3rem .8rem;
    background:#fff; color:var(--pp-ink,#242124); border:2px solid var(--pp-ink,#242124); border-radius:999px; box-shadow:none;
    font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; cursor:pointer; transform:none; }
  #site-content .pp-aut-js .pp-aut-apri::after{ content:"+"; font-size:1rem; line-height:1; }
  #site-content .pp-aut-js .pp-aut-apri[aria-expanded="true"]::after{ content:"–"; }
  #site-content .pp-aut-js .pp-aut-apri:hover{ transform:none; box-shadow:none; background:var(--pp-acid,#F9DB62); }
  .pp-aut-js .pp-aut-piu{ display:none; grid-column:1 / -1; }
  .pp-aut-js .pp-aut-aperta .pp-aut-piu{ display:grid; gap:10px; margin-top:6px; }
  .pp-aut-js .pp-aut-opere{ grid-column:1 / -1; margin-top:4px; }
}

/* Sotto la panca: il numero piu' recente grande, gli altri in righe
   compatte al telefono. I nascosti dal "Mostra gli altri" spariscono
   anche se Tailwind da' display:flex alla scheda. */
.pp-panca-griglia > [hidden]{ display:none !important; }
.pp-panca-altri-riga{ margin:26px 0 0; text-align:center; }
@media (max-width:639px){
  .pp-panca-griglia > .pp-panca-card:nth-child(n+2){ flex-direction:row; align-items:stretch; }
  .pp-panca-griglia > .pp-panca-card:nth-child(n+2) > a:first-child{ flex:0 0 96px; aspect-ratio:auto; border-bottom:0; border-right:3px solid var(--pp-ink,#242124); }
  .pp-panca-griglia > .pp-panca-card:nth-child(n+2) > a:first-child > div{ top:auto; bottom:6px; left:6px; font-size:.55rem; padding:2px 6px; }
  .pp-panca-griglia > .pp-panca-card:nth-child(n+2) > div{ padding:12px 14px; justify-content:center; }
  .pp-panca-griglia > .pp-panca-card:nth-child(n+2) h3{ font-size:1rem; margin-bottom:0; }
  .pp-panca-griglia > .pp-panca-card:nth-child(n+2) > div > p,
  .pp-panca-griglia > .pp-panca-card:nth-child(n+2) > div > .grow,
  .pp-panca-griglia > .pp-panca-card:nth-child(n+2) .mt-auto{ display:none; }
}

/* PRPR Fest al telefono: le edizioni piu' vecchie chiuse (script nel template). */
#site-content .pp-fest-apri{ align-self:flex-start; display:inline-flex; align-items:center; gap:6px; min-height:44px; margin-top:6px; padding:.35rem .9rem;
  background:var(--pp-acid,#F9DB62); color:var(--pp-ink,#242124); border:2px solid var(--pp-ink,#242124); border-radius:999px; box-shadow:none;
  font-family:"Space Mono",monospace; font-size:.75rem; font-weight:700; text-transform:uppercase; cursor:pointer; transform:none; }
#site-content .pp-fest-apri::after{ content:"+"; font-size:1rem; line-height:1; }
#site-content .pp-fest-apri[aria-expanded="true"]::after{ content:"–"; }
.pp-fest-chiusa .pp-fest-ed-loc,.pp-fest-chiusa .pp-fest-ed-foto{ display:none; }
.pp-fest-chiusa .pp-fest-ed-testo > :not(.pp-fest-ed-testa):not(.pp-fest-titolo):not(.pp-fest-apri){ display:none; }

/* Redazione al telefono: foto quadrata, bio da aprire con "Chi e'". */
.pp-member-apri{ display:none; }
@media (max-width:639px){
  .pp-membri-js .pp-member-photo{ aspect-ratio:1; }
  .pp-membri-js .pp-member-bio{ display:none; }
  .pp-membri-js .pp-member-aperta .pp-member-bio{ display:block; }
  #site-content .pp-membri-js .pp-member-apri{ font-family:"Space Mono",monospace; display:inline-flex; align-items:center; gap:5px; min-height:40px; margin-top:8px; padding:.25rem .7rem;
    background:#fff; color:var(--pp-ink,#242124); border:2px solid var(--pp-ink,#242124); border-radius:999px; box-shadow:none;
    font-size:.7rem; font-weight:700; text-transform:uppercase; cursor:pointer; transform:none; }
  #site-content .pp-membri-js .pp-member-apri::after{ content:"+"; font-size:.95rem; line-height:1; }
  #site-content .pp-membri-js .pp-member-apri[aria-expanded="true"]::after{ content:"–"; }
}

/* Scaffali al telefono: file di schede simili che scorrono di lato
   (libri e lettere in home). La scheda dopo si vede tagliata: dice che
   ce n'e' ancora. Frecce e contatore li aggiunge lo script nel footer. */
@media (max-width:639px){
  .pp-scaffale{ display:flex !important; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain;
    margin-inline:-1rem; padding:6px 1rem 14px; scroll-padding-inline:1rem; scrollbar-width:none; }
  .pp-scaffale::-webkit-scrollbar{ display:none; }
  .pp-scaffale > *{ flex:0 0 80%; scroll-snap-align:start; }
  .pp-scaffale:focus-visible{ outline:3px solid var(--pp-viola,#702963); outline-offset:-3px; }
  .pp-scaffale-nav{ display:flex; align-items:center; justify-content:flex-end; gap:12px; margin-top:6px; }
  /* :is(#…, body) da' alla regola il peso di un id: batte quella generica dei bottoni di app-1.css anche fuori da #site-content. */
  :is(#pp-peso, body) .pp-scaffale-nav .pp-scaffale-btn{ width:48px; height:48px; min-height:48px; padding:0; display:grid; place-items:center;
    background:#fff; color:var(--pp-ink,#242124); border:3px solid var(--pp-ink,#242124); border-radius:var(--pp-r-ctrl,12px);
    box-shadow:2px 3px 0 var(--pp-ink,#242124) !important; transform:none !important; cursor:pointer; }
  :is(#pp-peso, body) .pp-scaffale-nav .pp-scaffale-btn[aria-disabled="true"]{ opacity:.35; box-shadow:none !important; cursor:default; }
  .pp-scaffale-conta{ font-family:"Space Mono",monospace; font-weight:700; font-size:.9rem; min-width:6ch; text-align:center; font-variant-numeric:tabular-nums; }
}
@media (prefers-reduced-motion:no-preference){ .pp-scaffale{ scroll-behavior:smooth; } }
