/* =====================================================
   LÀSTREGO & TESTA EDITORIA — Sito Zeki (da maquette Keynote)
   ===================================================== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg: #ede8e0;          /* beige intestazione */
  --paper: #ffffff;       /* fondo pagina */
  --red: #b5160a;         /* rosso LT */
  --red-bright: #e11;     /* titoli rossi (Posta di Zeki) */
  --pink: #f2a0ae;        /* pulsanti rosa "Clicca qui!" */
  --text: #1a1a1a;
  --text-mid: #3c3c3c;
  --gray-arrow: #a9a9a9;
  --border: #d0c8bc;
  --sans: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --serif: Georgia, 'Times New Roman', serif;
}

html { scroll-behavior: smooth; }
body { font-family: var(--sans); background: var(--paper); color: var(--text);
       font-size: 17px; line-height: 1.5; }
a { color: var(--red); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; display: block; }
p { margin-bottom: .9rem; }

/* ---------- Header (come maquette) ---------- */
#main-header { position: sticky; top: 0; z-index: 100; background: var(--bg);
               box-shadow: 0 1px 6px rgba(0,0,0,.12); }
.header-inner { max-width: 1440px; margin: 0 auto; padding: 0 1.2rem;
                display: flex; align-items: center; gap: 1.4rem; height: 84px; }
.brand { display: flex; align-items: center; gap: .8rem; flex-shrink: 0; }
.brand:hover { text-decoration: none; }
.logo { height: 58px; width: auto; }
.brand-name { font-size: 1.35rem; color: var(--text); white-space: nowrap; }
nav { display: flex; align-items: center; gap: 1.5rem; margin-left: auto; flex-wrap: wrap; }
.nav-link { font-size: 1.15rem; color: var(--text); padding: .35rem .5rem; border-radius: 3px; }
.nav-link:hover, .nav-link.active { background: rgba(255,255,255,.55); text-decoration: none; }
.lang-flag { line-height: 0; }
.lang-flag img { border-radius: 3px; }

/* ---------- Frecce di navigazione (funzionamento maquette) ---------- */
.arrow { position: fixed; top: 50%; transform: translateY(-50%); z-index: 90;
         width: 0; height: 0; border-top: 26px solid transparent;
         border-bottom: 26px solid transparent; opacity: .75; }
.arrow:hover { opacity: 1; }
.arrow.prev { left: 14px;  border-right: 38px solid var(--gray-arrow); }
.arrow.next { right: 14px; border-left: 38px solid var(--gray-arrow); }

/* ---------- Impianto pagina ---------- */
.page { max-width: 1240px; margin: 0 auto; padding: 2.5rem 4.5rem 4rem; }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 3.5rem; align-items: start; }
.split-narrow { display: grid; grid-template-columns: 1.2fr 1fr; gap: 3rem; align-items: start; }
.center { text-align: center; }

h1 { font-size: 1.9rem; font-weight: 600; margin-bottom: 1.2rem; }
h2 { font-size: 1.35rem; font-weight: 600; margin: 1.4rem 0 .8rem; }
.serif { font-family: var(--serif); }
.red { color: var(--red); }
.red-bright { color: var(--red-bright); }
.kicker { font-size: .95rem; margin-bottom: .4rem; }
.big-title { font-size: 2rem; letter-spacing: .01em; }

/* testo su due colonne come nella maquette (una sola su mobile) */
.col2 { column-count: 2; column-gap: 3.5rem; }
.col2 p { break-inside: avoid; }

/* ---------- Home ---------- */
.hero { display: grid; grid-template-columns: 2.4fr 1fr; gap: 2.5rem; align-items: start; }
.hero-side { text-align: left; padding-top: 1.5rem; }
.hero-side .logo-big { height: 110px; width: auto; margin-bottom: 1.2rem; }
.hero-company { font-size: 1.5rem; font-weight: 700; line-height: 1.35; margin-bottom: 2.5rem; }
.legal-block { font-size: 1rem; line-height: 1.55; color: var(--text); margin-top: 2rem; }

/* ---------- Pagina Libri (due copertine) ---------- */
.covers { display: grid; grid-template-columns: 1fr auto 1fr; gap: 2.5rem; align-items: center; }
.covers .hint { font-size: 1.15rem; text-align: center; max-width: 220px; }
.cover-box { text-align: center; }
.cover-box .cover-title { font-size: 1.3rem; margin-bottom: .2rem; }
.cover-box .cover-title strong { display: block; font-size: 1.55rem; font-weight: 600; }
.amazon-link { display: inline-block; margin-top: .8rem; font-size: 1rem; color: var(--text-mid); }
.amazon-link strong { color: #a85400; font-size: 1.25rem; }
.amazon-link:hover { text-decoration: none; }

/* ---------- Scheda libro ---------- */
.banner-cover { max-width: 480px; margin-bottom: 1.6rem; }
.book-text p { margin-bottom: 1rem; }

/* ---------- Gallucci ---------- */
.gal-head { display: grid; grid-template-columns: 300px 1fr 180px; gap: 2rem; align-items: start; margin-bottom: 2rem; }
.gal-head h1 { font-family: var(--serif); font-size: 1.9rem; font-weight: 700; line-height: 1.3; }
.gal-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
            gap: 1.8rem; margin: 2rem 0; }
.gal-item { border: 1px solid #e2ddd4; padding: 1rem; background: #fff; }
.gal-item img { height: 250px; object-fit: contain; margin: 0 auto .8rem; }
.gal-meta { font-size: .72rem; letter-spacing: .05em; color: #666; text-transform: uppercase; }
.gal-badge { display: inline-block; border: 1px solid #ccc; border-radius: 12px;
             padding: .05rem .5rem; font-size: .66rem; color: #999; margin-bottom: .3rem; }
.gal-title { font-size: .95rem; margin: .2rem 0 0; }
.gal-price { color: #e11; font-weight: 700; float: right; }
.gal-price-old { color: #999; text-decoration: line-through; font-size: .8rem; float: right; margin-right: .6rem; }
.gal-sconto { display: block; text-align: right; color: #e11; font-size: .75rem; clear: both; }
.gal-photos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin: 2.5rem 0 1rem; align-items: start; }

/* ---------- Pulsanti rosa ---------- */
.btn-pink { display: inline-block; background: var(--pink); color: var(--text);
            font-weight: 700; font-size: 1.05rem; padding: .45rem 1.3rem; margin: .4rem 0 1.4rem; }
.btn-pink:hover { background: #eb8a9b; text-decoration: none; }
.cta-row { margin-top: 1.2rem; }
.cta-row p { margin-bottom: .3rem; font-size: 1.15rem; }

/* ---------- Posta ---------- */
.posta-grid { display: grid; grid-template-columns: 1fr auto 1fr; gap: 2rem;
              align-items: start; margin-top: 1.5rem; }
.posta-grid h2 { color: var(--red-bright); font-size: 1.9rem; font-weight: 600; }
.posta-note { text-align: center; max-width: 640px; margin: 4rem auto 0; font-size: 1.1rem; }

/* ---------- Contatti ---------- */
.contact-email { font-size: 1.45rem; margin: 1.2rem 0 3rem; }
.contact-title { font-size: 2.1rem; letter-spacing: .02em; margin-bottom: 1.5rem; }

/* ---------- Press ---------- */
.press-grid { display: grid; grid-template-columns: 1fr auto 1fr; gap: 2rem; align-items: start; }
.press-grid h2 { font-size: 1.5rem; font-weight: 600; }

footer { text-align: center; padding: 1.6rem 1rem 2.2rem; color: #6b6b6b; font-size: .8rem; }

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
  .page { padding: 1.5rem 1.2rem 3rem; }
  .header-inner { flex-wrap: wrap; height: auto; padding: .7rem 1rem; }
  nav { gap: .7rem; margin-left: 0; }
  .brand-name { font-size: 1.05rem; }
  .split, .split-narrow, .hero, .covers, .posta-grid, .press-grid, .gal-head, .gal-photos { grid-template-columns: 1fr; }
  .col2 { column-count: 1; }
  .arrow { display: none; }
  .covers .hint { max-width: none; margin: 0 auto; }
}


/* =====================================================
   AGGIORNAMENTO 2026 — home e progetti editoriali
   ===================================================== */
.eyebrow { font-size:.78rem; letter-spacing:.14em; font-weight:700; color:var(--red); margin-bottom:.7rem; }
.home-lead { display:grid; grid-template-columns:1.55fr 1fr; gap:3rem; align-items:center; padding:1rem 0 2.8rem; }
.home-image img { border-radius:2px; }
.home-copy h1 { font-size:2.8rem; line-height:1.06; letter-spacing:-.025em; margin-bottom:1.25rem; }
.home-tagline { font-family:var(--serif); font-size:1.3rem; line-height:1.55; color:#292929; }
.cta-buttons { display:flex; gap:.8rem; flex-wrap:wrap; margin-top:1.6rem; }
.btn-primary,.btn-secondary { display:inline-block; padding:.72rem 1.05rem; border:1px solid var(--red); font-weight:700; }
.btn-primary { background:var(--red); color:#fff; }
.btn-primary:hover { color:#fff; background:#921208; text-decoration:none; }
.btn-secondary { background:#fff; color:var(--red); }
.btn-secondary:hover { background:#f8f3ee; text-decoration:none; }
.site-section { margin:4.6rem 0 1rem; }
.section-head { max-width:780px; margin-bottom:1.8rem; }
.section-head h2,.site-section h2 { font-size:2rem; line-height:1.16; }
.project-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.project-card { display:grid; grid-template-columns:minmax(180px, .75fr) 1.25fr; gap:1.5rem; align-items:start; border-top:1px solid var(--border); padding-top:1.5rem; }
.project-cover { width:100%; max-height:470px; object-fit:contain; background:#fafafa; }
.project-copy h2,.project-copy h3 { margin:.1rem 0 .8rem; font-size:1.65rem; }
.project-copy h3 a,.project-copy h2 a { color:var(--text); }
.status { font-size:.72rem; letter-spacing:.12em; font-weight:700; color:var(--red); margin-bottom:.5rem; }
.text-link { font-weight:700; }
.history-panel { display:grid; grid-template-columns:1fr 1.35fr; gap:3rem; padding:2rem 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.page-intro { max-width:780px; margin:1.2rem 0 3rem; }
.page-intro h1 { font-size:2.6rem; line-height:1.1; }
.project-grid-wide { margin-bottom:4.5rem; }
.legacy-grid { display:grid; grid-template-columns:1fr 1fr; gap:3rem; }
.legacy-card { max-width:470px; }
.legacy-card img { max-height:480px; width:auto; margin-bottom:1rem; }
.legacy-card h3 { font-size:1.5rem; }
.book-hero-new { display:grid; grid-template-columns:minmax(280px, .8fr) 1.35fr; gap:3.5rem; align-items:start; }
.book-cover-large { width:100%; max-width:470px; max-height:700px; object-fit:contain; box-shadow:0 8px 28px rgba(0,0,0,.08); }
.book-detail h1 { font-size:3rem; line-height:1.05; margin:.2rem 0 .4rem; }
.subtitle { font-family:var(--serif); font-size:1.35rem; color:var(--text-mid); margin-bottom:1.5rem; }
.lead { font-family:var(--serif); font-size:1.25rem; line-height:1.6; }
.book-meta { margin-top:2rem; padding-top:1.2rem; border-top:1px solid var(--border); display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.two-col-text { display:grid; grid-template-columns:1fr 1fr; gap:3rem; border-top:1px solid var(--border); padding-top:2rem; }
.back-link { margin-top:3rem; }
.bio-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:2rem; }
.bio-card { border-top:1px solid var(--border); padding-top:1.5rem; }
.bio-card h2 { font-size:1.8rem; }
.ai-panel { border-top:1px solid var(--border); padding-top:2rem; }
.ai-list { display:grid; grid-template-columns:1fr 1fr; gap:.8rem 2rem; margin:1.5rem 0; }
.ai-list div { display:grid; grid-template-columns:90px 1fr; gap:1rem; padding:.65rem 0; border-bottom:1px solid #ece7df; }
.ai-list span { color:var(--text-mid); }
.muted { color:#5b5650; font-size:.95rem; }
.press-links { display:grid; grid-template-columns:1fr 1fr 1fr; gap:2rem; }
.press-links article { border-top:1px solid var(--border); padding-top:1.2rem; }
.press-links h2 { font-size:1.4rem; }

@media (max-width: 900px) {
  .home-lead,.project-grid,.project-card,.history-panel,.legacy-grid,.book-hero-new,.two-col-text,.bio-grid,.press-links { grid-template-columns:1fr; }
  .home-copy h1,.book-detail h1,.page-intro h1 { font-size:2.2rem; }
  .project-cover,.book-cover-large { max-width:420px; }
  .book-meta,.ai-list { grid-template-columns:1fr; }
}


/* =====================================================
   REVISIONE 01 — navigazione profonda, Gallucci, ricerca
   ===================================================== */
.breadcrumbs {
  max-width:1240px; margin:1.1rem auto 0; padding:0 4.5rem;
  display:flex; flex-wrap:wrap; align-items:center; gap:.42rem;
  color:#666; font-size:.86rem;
}
.breadcrumbs a { color:#655f57; }
.breadcrumbs .current { color:var(--text); font-weight:600; }
.breadcrumbs .sep { color:#aaa; }
.page-sequence {
  margin-top:3.2rem; padding-top:1.15rem; border-top:1px solid var(--border);
  display:flex; justify-content:space-between; gap:1rem; align-items:center;
  font-size:.95rem;
}
.page-sequence .seq-center { margin:auto; }
.page-sequence .seq-next { margin-left:auto; text-align:right; }
.publisher-callout {
  margin-top:2.4rem; padding:1.4rem 1.5rem; border:1px solid var(--border);
  display:grid; grid-template-columns:150px 1fr; gap:1.5rem; align-items:center;
  background:#faf8f4;
}
.publisher-callout img { max-height:110px; width:auto; margin:auto; }
.publisher-callout h3 { margin:.15rem 0 .55rem; font-size:1.45rem; }
.gal-item a.gal-cover-link { display:block; }
.gal-item a.gal-title-link { color:var(--text); font-weight:700; }
.gal-item a.gal-title-link:hover { color:var(--red); }
.gal-direct { margin-top:.55rem; font-size:.82rem; font-weight:700; }
.gal-note { padding:.8rem 1rem; border-left:3px solid var(--red); background:#faf8f4; color:#5f5a54; }
.search-panel { max-width:900px; }
.site-search-input {
  width:100%; font:inherit; font-size:1.12rem; padding:.85rem 1rem;
  border:1px solid #bdb5aa; border-radius:2px; margin:.6rem 0 .6rem;
}
.search-help { color:#6d675f; font-size:.93rem; }
.search-count { font-size:.86rem; color:#666; margin:1rem 0; }
.search-list { list-style:none; margin:0; padding:0; }
.search-result { padding:1.1rem 0; border-top:1px solid var(--border); }
.search-result:last-child { border-bottom:1px solid var(--border); }
.search-result h2 { margin:0 0 .25rem; font-size:1.25rem; }
.search-result p { margin:0; color:#54504b; }
.search-result .search-path { display:block; margin-top:.35rem; color:#6b6b6b; font-size:.78rem; letter-spacing:.03em; }
.search-result[hidden] { display:none; }

@media (max-width:900px) {
  .breadcrumbs { padding:0 1.2rem; }
  .page-sequence { flex-direction:column; align-items:flex-start; }
  .page-sequence .seq-center,.page-sequence .seq-next { margin:0; text-align:left; }
  .publisher-callout { grid-template-columns:1fr; }
}


.visually-hidden { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.blog-cta { text-align:center; margin:2rem 0 1rem; }

/* R03: accesso rapido ai titoli disponibili e note Gallucci */
.availability-callout { margin:1.6rem 0 2.4rem; padding:1.15rem 1.3rem; border:1px solid var(--border); background:#fff; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.availability-callout strong { font-size:1.05rem; letter-spacing:.03em; }
.gal-current { margin:1rem 0 1.5rem; padding:1rem 1.2rem; border-left:4px solid var(--red); background:#faf8f4; }
.gal-author-links { margin:.7rem 0 1.4rem; font-size:1rem; }
@media (max-width:700px){ .availability-callout { display:block; } .availability-callout a { display:inline-block; margin-top:.8rem; } }


/* R04: privacy più leggibile e Press ampliata */
.privacy-note { margin-top:1.35rem; padding:1.15rem 1.25rem; border-left:4px solid var(--red); background:#faf8f4; font-size:1.15rem; line-height:1.62; color:var(--text); }
.privacy-note strong { display:block; font-size:1.25rem; margin-bottom:.45rem; }
.privacy-note p { margin:0 0 .55rem; }
.privacy-note p:last-child { margin-bottom:0; }
.press-quote-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; }
.press-quote { border-top:1px solid var(--border); padding-top:1.25rem; }
.press-source { color:var(--red); font-size:.82rem; letter-spacing:.06em; font-weight:700; text-transform:uppercase; }
.press-quote h3 { font-size:1.45rem; line-height:1.25; margin:.2rem 0 .9rem; }
.press-quote blockquote { font-family:var(--serif); font-size:1.18rem; line-height:1.5; margin:0 0 1rem; padding-left:1rem; border-left:3px solid var(--border); }
.press-photo-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; align-items:start; }
.press-photo-grid figure { margin:0; }
.press-photo-grid img { width:100%; max-height:430px; object-fit:cover; background:#f5f2ed; }
.press-photo-grid figcaption { font-size:.88rem; color:#5b5650; margin-top:.55rem; line-height:1.4; }
@media (max-width:900px){ .press-quote-grid,.press-photo-grid { grid-template-columns:1fr; } .press-photo-grid img { max-height:none; } }


/* R05: accesso più evidente all’archivio di Cristina */
.cristina-highlight { border-top:4px solid var(--pink); }
.cristina-archive-callout { margin:1.15rem 0 1rem; padding:1rem 1.1rem; background:#faf8f4; border-left:4px solid var(--pink); }
.cristina-archive-callout strong { display:block; font-size:1.12rem; margin-bottom:.35rem; }
.cristina-archive-callout p { margin:.15rem 0 .8rem; }
.privacy-note { font-size:1.2rem; line-height:1.65; }
