/*
Theme Name: La Cosa Editrice
Theme URI: https://lacosaeditrice.it
Author: Valerio Droga
Description: Tema custom per La Cosa Editrice, casa editrice indipendente di narrativa demenziale. Replica la struttura e lo stile del sito statico originale: header con logo, hero con mascotte, sezione "chi siamo", novità dal blog, catalogo, libri in evidenza, autori, faq, newsletter e footer a colonne.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: la-cosa-editrice
*/

:root{
  --ink:#17140F;
  --red:#E8262B;
  --blue:#9ECBEB;
  --cream:#F7F1E4;
  --white:#FFFFFF;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{
  font-family:-apple-system, "Segoe UI", Arial, Helvetica, sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.5;
}
a{color:inherit; text-decoration:none;}
p{text-align:justify;}
img{max-width:100%; display:block;}
.wrap{max-width:1100px; margin:0 auto; padding:0 24px;}

/* Header */
header{
  position:sticky; top:0; z-index:50;
  background:var(--cream);
  border-bottom:3px solid var(--ink);
}
header .wrap{
  display:flex; align-items:center; justify-content:space-between;
  padding-top:14px; padding-bottom:14px;
}
.logo{display:flex; align-items:center; gap:10px; margin-left:-18px;}
.logo img{height:44px; width:auto;}
.logo span{font-weight:800; font-size:1.15rem; letter-spacing:-0.02em;}
nav{display:flex; align-items:center; gap:28px;}
nav a{font-weight:700; font-size:0.95rem;}
nav a:hover{color:var(--red);}
.btn{
  display:inline-block;
  background:var(--red); color:var(--white);
  font-weight:800; padding:10px 20px; border-radius:999px;
  border:3px solid var(--ink);
  transition:background-color .12s ease, color .12s ease;
  cursor:pointer;
}
.btn:hover{background:var(--white); color:var(--red);}
.btn-outline{
  background:transparent; color:var(--ink);
  border:3px solid var(--ink);
}
.menu-toggle{display:none; font-weight:800; font-size:1.6rem; background:none; border:none; cursor:pointer; color:var(--ink);}

/* Hero */
.hero{
  padding:80px 0 60px;
}
.hero .wrap{
  display:grid; grid-template-columns:1.1fr 0.9fr; gap:80px; align-items:center;
}
/* Il testo dell'hero è rientrato di 170px, la stessa differenza tra il
   contenitore pieno (.wrap, 1100px) e la colonna di testo stretta usata
   nelle pagine interne (max-width:760px), così i margini sinistri
   coincidono visivamente. */
.hero-text{padding-left:170px;}
.hero h1{
  font-size:3rem; font-weight:800; letter-spacing:-0.02em; line-height:1.05;
  margin-bottom:20px;
}
.hero h1 .accent{color:var(--red);}
.hero p{font-size:1.15rem; max-width:46ch; margin-bottom:28px; opacity:0.85;}
.hero-figure{display:flex; justify-content:center;}
.hero-figure img{width:100%; max-width:320px; height:auto;}

/* Intro / manifesto strip */
.strip{
  background:var(--blue); color:var(--ink);
  padding:56px 0;
}
/* La citazione è allineata, a sinistra, al testo dell'hero ("Libri che
   non dovrebbero...") e, a destra, al bordo destro della mascotte
   (il libro con la linguaccia): stessi 194px/71px calcolati sulla
   griglia dell'hero (.wrap 1100px, colonne 1.1fr/0.9fr, gap 80px). */
.strip .wrap{max-width:1100px; padding:0 71px 0 194px; text-align:center;}
.strip .quote-text{font-size:1.3rem; font-weight:700; line-height:1.5; margin-bottom:18px;}
.strip .quote-attrib{font-size:0.95rem; font-weight:700; color:var(--red);}

/* Section heading */
.section{padding:70px 0;}
.section h2{
  font-size:2rem; font-weight:800; margin-bottom:8px; letter-spacing:-0.01em;
}
.section .lead{opacity:0.75; margin-bottom:36px; max-width:60ch;}
.odorno-ads-section .lead,
.odorno-modelli-section .lead{white-space:normal; max-width:100%; font-size:16px;}

/* Blog preview */
.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.card{
  background:var(--white); border:3px solid var(--ink); border-radius:16px;
  padding:22px;
}
.badge{
  display:inline-block; background:var(--blue); border:2px solid var(--ink);
  font-size:0.75rem; font-weight:800; padding:3px 10px; border-radius:999px;
  margin-bottom:12px;
}
.card h3{font-size:1.15rem; margin-bottom:10px; line-height:1.15;}
.cards .card h3 a{color:inherit;}
.cards .card h3 a:hover{color:var(--red);}
.card p{font-size:0.92rem; opacity:0.75; margin-bottom:14px;}
.card .read{font-weight:800; font-size:0.9rem; color:var(--red);}
.card-thumb{display:block; margin:-22px -22px 16px; border-radius:13px 13px 0 0; overflow:hidden; aspect-ratio:16/9;}
.card-thumb img{width:100%; height:100%; object-fit:cover; display:block;}

/* Catalogo */
.catalogo{background:var(--white); border-top:3px solid var(--ink); border-bottom:3px solid var(--ink);}
.books{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.book{display:flex; flex-direction:column;}
.cover{
  aspect-ratio:2/3; border-radius:0; border:none;
  box-shadow:0 10px 26px rgba(23,20,15,0.18);
  display:flex; align-items:flex-end; padding:14px; position:relative;
  margin-bottom:12px;
}
.cover .example{
  position:absolute; top:10px; right:10px; background:var(--white);
  border:2px solid var(--ink); font-size:0.65rem; font-weight:800;
  padding:2px 8px; border-radius:999px; opacity:0.85;
}
.cover h4{color:var(--white); font-size:1.05rem; font-weight:800; line-height:1.2;
  text-shadow:0 2px 6px rgba(0,0,0,0.35);}
.cover.has-image{
  padding:0;
}
.cover.has-image img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;
  transition:transform 0.35s ease;
}
.book .cover{
  aspect-ratio:2/3; border-radius:0; border:none;
  box-shadow:0 10px 26px rgba(23,20,15,0.18);
  display:flex; align-items:flex-end; padding:14px; position:relative;
  margin-bottom:12px;
}
.book .cover .example{
  position:absolute; top:10px; right:10px; background:var(--white);
  border:2px solid var(--ink); font-size:0.65rem; font-weight:800;
  padding:2px 8px; border-radius:999px; opacity:0.85;
}
.book .cover h4{color:var(--white); font-size:1.05rem; font-weight:800; line-height:1.2;
  text-shadow:0 2px 6px rgba(0,0,0,0.35);}
.book .author{font-size:0.85rem; font-weight:700; opacity:0.7;}
.book-title{font-size:0.95rem; font-weight:700; margin-top:2px;}
.book-title a{color:inherit;}
.book-title a:hover{color:var(--red);}
.book .cover{overflow:hidden;}
.book:hover .cover.has-image img{transform:scale(1.08);}
.book:hover .book-title a{color:var(--red);}
.c1{background:var(--red);}
.c2{background:var(--ink);}
.c3{background:var(--blue);}
.c3 h4{color:var(--ink); text-shadow:none;}
.c4{background:#D9CCA8;}
.c4 h4{color:var(--ink); text-shadow:none;}
.c5{background:#1D2BA8;}
.c5 h4{color:#FFE500;}
.c6{background:var(--white);}
.cover.c6 h4{color:var(--ink); text-shadow:none;}
.c7{background:#E8873A;}
.cover.c7 h4{color:var(--ink); text-shadow:none;}

/* Carosello libri (pagina Libri) */
.carousel-wrap{position:relative;}
.carousel{
  display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory;
  padding:4px 4px 14px; scrollbar-width:none; margin:0 -4px;
}
.carousel::-webkit-scrollbar{display:none;}
.carousel .book{flex:0 0 200px; scroll-snap-align:start;}
.carousel-btn{
  position:absolute; top:38%; transform:translateY(-50%);
  width:42px; height:42px; border-radius:50%;
  background:var(--white); border:3px solid var(--ink);
  display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:1.1rem; cursor:pointer; z-index:2;
}
.carousel-btn:hover{background:var(--red); color:var(--white); border-color:var(--red);}
.carousel-btn.prev{left:-14px;}
.carousel-btn.next{right:-14px;}
@media(max-width:640px){.carousel-btn{display:none;}}
@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.cards{grid-template-columns:1fr;}}

/* Schede libri pubblicati (pagina Libri) */
.schede{display:flex; flex-direction:column;}
.scheda{
  display:grid; grid-template-columns:180px 1fr auto; gap:30px;
  align-items:start; padding:36px 0; border-bottom:2px solid var(--ink);
  scroll-margin-top:110px;
}
.schede .scheda:last-child{border-bottom:none;}
.scheda-cover{
  aspect-ratio:2/3; border-radius:10px; border:3px solid var(--ink);
  display:flex; align-items:flex-end; padding:12px;
}
.scheda-cover h4{font-size:0.95rem; font-weight:800; line-height:1.2;}
.scheda-title{font-size:1.3rem; font-weight:800; margin-bottom:16px;}
.scheda-data{display:grid; grid-template-columns:1fr 1fr; gap:16px 32px; max-width:420px;}
.scheda-field b{
  display:block; font-size:0.72rem; text-transform:uppercase;
  letter-spacing:0.04em; opacity:0.55; margin-bottom:3px; font-weight:800;
}
.scheda-field span{font-weight:700;}
.scheda-cta{display:flex; flex-direction:column; align-items:flex-start; gap:12px; padding-top:6px;}
@media(max-width:820px){
  .scheda{grid-template-columns:130px 1fr;}
  .scheda-cta{grid-column:1/-1; flex-direction:row; align-items:center; justify-content:space-between;}
}
@media(max-width:480px){
  .scheda{grid-template-columns:1fr;}
  .scheda-cover{width:130px;}
}


/* Banner pubblicitario finto (Odorno) */
.ad-banner{
  padding:50px 24px;
}
.ad-banner-img{
  position:relative; display:block;
  max-width:820px; margin:0 auto;
  border-radius:16px; overflow:hidden;
  border:3px solid var(--ink);
}
.ad-banner-photo{
  display:block; width:100%; height:auto;
  transition:transform 0.35s ease;
}
.ad-banner-img:hover .ad-banner-photo{transform:scale(1.08);}
.ad-banner-text{
  position: absolute; top: 0; right: 0; bottom: 70px; z-index: 1;
  width: 40%;
  display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start;
  padding: 22px 26px 14px;
  text-align: left;
  color: var(--white);
  border-radius: 0 13px 0 0;
}
.ad-banner-img::before{
  content: "";
  position: absolute; inset: 0; z-index: 0;
  background: linear-gradient(to bottom right, rgba(23,20,15,0) 0%, rgba(23,20,15,0.88) 100%);
  pointer-events: none;
  transition: background 0.35s ease;
}
.ad-banner-img:hover::before{
  background: linear-gradient(to bottom right, rgba(23,20,15,0.18) 0%, rgba(23,20,15,0.96) 100%);
}
.ad-banner-sponsor{
  display: inline-block; background: var(--blue); color: var(--ink);
  border: 2px solid var(--ink); font-size: 0.7rem; font-weight: 800;
  letter-spacing: 0.04em; text-transform: uppercase;
  padding: 3px 12px; border-radius: 999px; margin-bottom: 12px;
  text-shadow: none;
}
.ad-banner-line1{
  font-size:1.3rem; font-weight:700; letter-spacing:-0.005em; line-height:1.35;
  margin-bottom:10px;
}
.ad-banner-line1 span{color:var(--red);}
.ad-banner-headline{
  font-size:1.9rem; font-weight:800; letter-spacing:-0.01em; line-height:1.15;
  margin-bottom:0;
}
.ad-banner-headline span{color:var(--red);}
.ad-banner-disclaimer{
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 1;
  padding: 12px 26px 14px;
  font-size: 1.05rem; font-weight: 600; opacity: 0.95; line-height: 1.4; margin-bottom: 0; color: var(--white);
}
@media (max-width:640px){
  .ad-banner-text{width: 72%; bottom: 0; padding: 16px 18px 14px;}
  .ad-banner-line1{font-size: 1rem;}
  .ad-banner-headline{font-size: 1.35rem;}
  .ad-banner-line1 span, .ad-banner-headline span{color: var(--white);}
  .ad-banner-disclaimer{display: none;}
  .newsletter .nl-form{max-width:100%;}
  .newsletter .nl-consent{max-width:100%;}
}

/* Newsletter */
.newsletter{
  padding:70px 0; text-align:center;
}
.newsletter h2{font-size:1.9rem; font-weight:800; margin-bottom:12px;}
.newsletter p{opacity:0.8; max-width:50ch; margin:0 auto 26px;}
.nl-form{display:flex; justify-content:center; gap:10px; max-width:440px; margin:0 auto; flex-wrap:wrap;}
.nl-form input{
  flex:1; min-width:200px; padding:12px 16px; border:3px solid var(--ink);
  border-radius:999px; font-size:1rem; background:var(--white);
}
.nl-consent{
  display:flex; align-items:flex-start; gap:8px; text-align:left;
  max-width:440px; margin:18px auto 0; font-size:0.85rem; opacity:0.85; cursor:pointer;
}
.nl-consent input{ margin-top:4px; flex-shrink:0; }
.nl-consent-error{ opacity:1; color:var(--red); font-weight:700; }
.nl-disclaimer{ font-size:0.8rem; font-style:italic; opacity:0.7; margin-top:0; margin-bottom:14px; }
.nl-success{
  max-width:440px; margin:0 auto; padding:16px 20px; border:3px solid var(--ink);
  border-radius:16px; background:var(--blue); font-weight:700; text-align:left;
}
.nl-error{
  max-width:440px; margin:0 auto; padding:16px 20px; border:3px solid var(--red);
  border-radius:16px; background:var(--white); color:var(--red); font-weight:700; text-align:left;
}
.odorno-down .nl-consent{ color:var(--cream); }
.odorno-down .nl-consent a{ color:var(--blue); }
.odorno-down .nl-disclaimer{ color:var(--cream); }
.odorno-down .nl-success{ color:var(--ink); }

/* Footer */
footer{background:var(--ink); color:var(--cream); padding:50px 0 26px;}
.foot-grid{display:grid; grid-template-columns:2fr 1fr 1fr; gap:30px; margin-bottom:34px;}
.foot-grid h5{font-weight:800; margin-bottom:14px; color:var(--blue);}
.foot-grid a, .foot-grid p{display:block; opacity:0.8; font-size:0.92rem; margin-bottom:8px;}
.foot-bottom{
  border-top:1px solid rgba(247,241,228,0.2); padding-top:20px;
  display:flex; justify-content:space-between; font-size:0.82rem; opacity:0.6; flex-wrap:wrap; gap:8px;
}

/* Banner d'intestazione pagine interne (immagine + titolo sovrapposto,
   sul modello di lamedlibri.it) */
.page-banner{
  position:relative; z-index:1; height:280px; display:flex; align-items:center; justify-content:center;
  background-color:var(--ink); background-size:cover; background-position:center;
  text-align:center; overflow:hidden;
}
.page-banner::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(23,20,15,0.5), rgba(23,20,15,0.5));
}
.page-banner .wrap{position:relative; z-index:1; max-width:900px;}
.page-banner h1{
  color:var(--white); font-size:2.8rem; font-weight:800; letter-spacing:-0.01em; margin:0;
}

/* Pagine generiche (page.php) */
.entry-content{max-width:760px;}
.entry-content h2{font-size:1.6rem; margin:28px 0 12px;}
.entry-content p{margin-bottom:16px;}
.entry-content ul, .entry-content ol{margin:0 0 16px 22px;}

/* Pagina Faq */
.faq-list{margin-top:34px;}
.faq-item{
  border-top:3px solid var(--ink); padding:22px 0;
}
.faq-item:last-child{padding-bottom:0;}
.faq-q{font-weight:800; font-size:1.05rem; margin-bottom:8px; color:var(--red);}
.faq-a{font-style:italic; opacity:0.85; margin-bottom:0;}

/* Pagina Odorno */
.odorno-hero{
  background:var(--ink); color:var(--cream);
  padding:64px 0 56px; text-align:center;
}
.odorno-badge{
  display:inline-block; background:var(--red); color:var(--white);
  font-weight:800; font-size:0.8rem; letter-spacing:0.03em; text-transform:uppercase;
  padding:5px 16px; border-radius:999px; border:2px solid var(--cream); margin-bottom:18px;
}
.odorno-hero h1{font-size:3rem; font-weight:800; margin-bottom:6px;}
.odorno-hero h1 .accent{color:var(--red);}
.odorno-tagline{font-size:1.3rem; font-weight:700; color:var(--blue); margin-bottom:18px;}
.odorno-logo-claim{max-width:520px; width:100%; height:auto; margin:0 auto 18px;}
.odorno-lead{max-width:56ch; margin:0 auto; opacity:0.85; font-size:1.05rem;}

.odorno-portrait-full{margin-bottom:34px;}
.odorno-portrait-full img{width:100%; height:auto; border-radius:16px;}
.odorno-history-text{margin-bottom:50px;}
.odorno-history-text p{margin-bottom:16px;}

.odorno-notices{
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px;
}
.odorno-notice{
  background:var(--white); border:3px solid var(--ink); border-radius:16px; padding:22px;
}
.odorno-notice-year{
  display:inline-block; background:var(--blue); border:2px solid var(--ink);
  font-weight:800; font-size:0.85rem; padding:2px 12px; border-radius:999px; margin-bottom:10px;
}
.odorno-notice h3{font-size:1.1rem; font-weight:800; margin-bottom:8px;}
.odorno-notice p{font-size:0.92rem; opacity:0.8; margin-bottom:0;}

.odorno-ads-section{background:var(--white); border-top:3px solid var(--ink); border-bottom:3px solid var(--ink);}
.odorno-modelli-img{width:100%; height:auto; border-radius:14px; border:3px solid var(--ink); margin-top:8px;}
.odorno-cta-wrap{text-align:center; margin-top:34px;}
.odorno-cta-wrap .odorno-disclaimer-big{position:static; text-align:center; color:var(--ink); font-style:italic; font-size:16px; max-width:100%; width:100%; margin:0 auto 18px; opacity:0.75;}

.odorno-ads-grid{
  display:grid; grid-template-columns:repeat(2,1fr); gap:44px; margin-top:24px;
}
.odorno-ad-item{position:relative;}
.odorno-ad-item img{
  width:100%; height:auto; display:block; border-radius:10px; cursor:zoom-in;
  transition:transform .25s ease, box-shadow .25s ease;
}
.odorno-ad-item:hover img{
  position:relative; z-index:10; transform:scale(2.1);
  box-shadow:0 24px 60px rgba(0,0,0,0.45);
}
.odorno-ad-item figcaption{
  text-align:center; font-weight:800; font-size:1.15rem; margin-top:14px;
}

.autori-grid{
  display:grid; grid-template-columns:220px 1fr; gap:36px; align-items:start;
}
.autori-portrait img{width:100%; height:auto; border-radius:14px; border:3px solid var(--ink);}

/* Pagina "catalogo momentaneamente offline" */
.odorno-down{padding:120px 0; text-align:center;}
.odorno-down-icon{width:90px; margin:0 auto 28px;}
.odorno-down-message{
  font-size:1.4rem; font-weight:800; max-width:40ch; margin:0 auto 30px; line-height:1.4;
}

@media (max-width: 860px){
  .page-banner{height:170px;}
  .page-banner h1{font-size:1.9rem;}
  .odorno-ads-section .lead,
  .odorno-modelli-section .lead{white-space:normal; max-width:60ch;}
  .odorno-notices{grid-template-columns:1fr;}
  .odorno-ads-grid{grid-template-columns:1fr; gap:32px;}
  .autori-grid{grid-template-columns:1fr; text-align:center;}
  .autori-portrait img{max-width:220px; margin:0 auto;}
  .hero{text-align:center; padding-top:50px;}
  .hero .wrap{grid-template-columns:1fr;}
  .hero-text{padding-left:0;}
  .hero p{margin-left:auto; margin-right:auto;}
  .strip .wrap{max-width:780px; padding:0 24px;}
  .logo{margin-left:0;}
  .hero-figure{order:-1;}
  .cards{grid-template-columns:1fr;}
  .books{grid-template-columns:repeat(2,1fr);}
  .foot-grid{grid-template-columns:1fr;}
  nav{
    position:absolute; top:100%; left:0; right:0; background:var(--cream);
    flex-direction:column; align-items:flex-start; gap:0;
    border-bottom:3px solid var(--ink); display:none;
  }
  nav.open{display:flex;}
  nav a, nav .btn{width:100%; padding:14px 24px; border-radius:0; border:none; border-bottom:1px solid rgba(0,0,0,0.08);}
  .menu-toggle{display:block;}
}


/* Modulo di contatto */
.contact-form{display:flex; flex-direction:column; gap:16px;}
.contact-form input, .contact-form textarea{padding:12px 16px; border:3px solid var(--ink); border-radius:16px; font-size:1rem; background:var(--white); font-family:inherit; width:100%; box-sizing:border-box;}
.contact-form textarea{resize:vertical; min-height:140px;}
.contact-form input:focus, .contact-form textarea:focus{outline:3px solid var(--blue); outline-offset:2px;}
.hp-field{position:absolute; left:-9999px; top:-9999px; width:1px; height:1px; overflow:hidden;}
.contact-form button{align-self:flex-start; font-size:1rem;}
.contact-msg{padding:14px 18px; border-radius:16px; border:3px solid var(--ink); margin-bottom:20px; font-weight:700;}
.contact-msg-ok{background:var(--blue);}
.contact-msg-err{background:var(--white); color:var(--red); border-color:var(--red);}


/* Reset elenco puntato per le voci del menu principale (li senza ul) */
#siteNav li{list-style:none; margin:0; padding:0;}


/* Pagina placeholder catalogo Odorno: sfondo scuro coerente col brand Odorno */
.odorno-down{background:var(--ink); color:var(--cream);}
.odorno-down-icon{width:320px; max-width:80%; margin:0 auto 32px;}
.odorno-down-message{font-size:1.35rem; font-weight:600; max-width:60ch; margin:0 auto 28px; line-height:1.5; color:var(--cream);}
.odorno-down .nl-form{margin-bottom:26px;}
.odorno-down .wrap{text-align:center;}
.odorno-down .wrap p{text-align:center;}


/* Testi cliccabili nei paragrafi di contenuto */
.entry-content a:not(.btn),
.section p a:not(.btn),
.odorno-history-text a:not(.btn){color:var(--red);}
.entry-content a:not(.btn):hover,
.section p a:not(.btn):hover,
.odorno-history-text a:not(.btn):hover{color:#9E1015; font-weight:700;}

/* Le pillole .badge (categoria/tag) non devono diventare rosse come i link normali */
.entry-content a.badge,
.entry-content a.badge:hover{color:var(--ink);}


/* Lightbox copertine (pagina Libri) */
.scheda .cover.lce-zoomable{cursor:zoom-in;position:relative;}
.scheda .cover.lce-zoomable::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,0);transition:background .2s ease;}
.scheda .cover.lce-zoomable:hover::after{background:rgba(0,0,0,0.08);}
.scheda .cover.lce-zoomable:focus{outline:2px solid var(--red,#c0392b);outline-offset:2px;}
.lce-lightbox{display:none;position:fixed;inset:0;z-index:9999;background:rgba(20,20,20,0.9);align-items:center;justify-content:center;padding:40px;box-sizing:border-box;}
.lce-lightbox.is-open{display:flex;}
.lce-lightbox img{max-width:90vw;max-height:90vh;box-shadow:0 10px 40px rgba(0,0,0,0.5);border-radius:4px;}
.lce-lightbox-close{position:absolute;top:20px;right:28px;background:none;border:none;color:#fff;font-size:2.5rem;line-height:1;cursor:pointer;padding:0;}
.lce-lightbox-close:hover{color:var(--red,#c0392b);}
.lce-pdf-lightbox{display:none;position:fixed;inset:0;z-index:9999;background:rgba(20,20,20,0.9);align-items:center;justify-content:center;padding:40px;box-sizing:border-box;}
.lce-pdf-lightbox.is-open{display:flex;}
.lce-pdf-lightbox .lce-pdf-frame{width:min(900px,90vw);height:90vh;background:var(--white);border-radius:4px;box-shadow:0 10px 40px rgba(0,0,0,0.5);border:none;}
.lce-pdf-lightbox-close{position:absolute;top:20px;right:28px;background:none;border:none;color:#fff;font-size:2.5rem;line-height:1;cursor:pointer;padding:0;}
.lce-pdf-lightbox-close:hover{color:var(--red,#c0392b);}

/* Griglia autori: foto + nome, link alla scheda singola */
.autori-cards-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(160px, 1fr));
  gap:32px;
}
.autori-card{display:block; text-align:center;}
.autori-card-photo{
  width:100%; border-radius:14px; border:3px solid var(--ink);
  overflow:hidden; margin-bottom:10px; background:var(--white);
}
.autori-card-photo:not(:has(img)){
  aspect-ratio:3/4; display:flex; align-items:center; justify-content:center;
}
.autori-card-photo img{width:100%; height:auto; display:block; transition:transform 0.35s ease;}
.autori-card-placeholder{font-weight:800; font-size:2.4rem; color:var(--ink); opacity:.35;}
.autori-card-name{font-weight:800; font-size:1.02rem; color:var(--ink); transition:color 0.2s ease;}
.autori-card:hover .autori-card-photo img{transform:scale(1.08);}
.autori-card:hover .autori-card-name{color:var(--red);}
.autori-back-btn-wrap{margin-top:48px; text-align:center;}
@media (max-width: 860px){
  .autori-cards-grid{grid-template-columns:repeat(auto-fill, minmax(130px, 1fr)); gap:20px;}
  .autori-card-name{font-size:0.95rem;}
}


/* Titolo libri nella scheda autore: nero di default, rosso al passaggio insieme allo zoom copertina */
.entry-content .book-title a{color:var(--ink);}
.entry-content .book:hover .book-title a{color:var(--red);}

#autori{padding-top:30px;}
