/*
Theme Name: Boyl di Putifigari V12 — Edizione Monumentale 1 GB
Theme URI: https://boyldiputifigari.it/
Author: Boyl di Putifigari
Description: Edizione archivistica completa bilingue italiano/spagnolo della Casa Boyl di Putifigari, con genealogie separate per fonte, varianti onomastiche documentate, archivio SAVEX, biblioteca, facsimili e apparato critico.
Version: 12.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: boyl-di-putifigari
*/
:root{--wine:#3a070d;--wine2:#5a0b14;--gold:#c9a052;--gold2:#ead19b;--ink:#1f1915;--paper:#f5efe4;--cream:#fffaf0;--muted:#756a60;--line:#d8c49d;--shadow:0 18px 50px rgba(29,12,7,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,'Times New Roman',serif;line-height:1.65}img{max-width:100%;display:block}a{color:inherit}.container{width:min(1180px,92vw);margin:auto}.eyebrow{font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(57,7,13,.97);color:#fff;border-bottom:1px solid rgba(201,160,82,.65);backdrop-filter:blur(8px)}.nav-wrap{min-height:82px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;min-width:max-content}.brand-mark{width:48px;height:58px;border:2px solid var(--gold);border-radius:24px 24px 16px 16px;display:grid;place-items:center;color:var(--gold);font-size:1.4rem;font-weight:bold;box-shadow:inset 0 0 0 4px rgba(201,160,82,.08)}.brand-title{font-size:1.35rem;letter-spacing:.08em;font-variant:small-caps}.brand-sub{font-size:.65rem;letter-spacing:.22em;color:var(--gold2);text-transform:uppercase}.nav{margin-left:auto;display:flex;align-items:center;gap:22px}.nav a{text-decoration:none;color:#f9efe0;font-size:.93rem}.nav a:hover{color:var(--gold2)}.menu-btn{display:none;margin-left:auto;background:none;border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 11px;border-radius:4px;font-size:1.15rem}
.hero{min-height:670px;color:#fff;position:relative;overflow:hidden;isolation:isolate;background:#2b070b}.hero:before,.hero:after{content:'';position:absolute;top:0;bottom:0;width:50%;z-index:0;background-position:center;background-size:cover;background-repeat:no-repeat}.hero:before{left:0;background-image:url('assets/images/hero-knight.webp')}.hero:after{right:0;background-image:url('assets/images/hero-castle.webp')}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,5,8,.34),rgba(28,5,8,.78) 36%,rgba(28,5,8,.78) 64%,rgba(28,5,8,.34)),radial-gradient(circle at center,rgba(20,9,10,.12),rgba(35,7,10,.55));z-index:1;pointer-events:none}.hero .container{min-height:670px;display:grid;place-items:center;text-align:center;position:relative;z-index:2}.hero-inner{max-width:780px;padding:70px 0}.hero h1{font-size:clamp(3.2rem,7vw,6.2rem);font-weight:400;line-height:.95;margin:.15em 0 .22em;letter-spacing:.02em;font-variant:small-caps;text-shadow:0 4px 22px #000}.hero h2{font-size:clamp(1.45rem,3vw,2.5rem);font-weight:400;margin:0 0 22px}.hero p{font-size:1.18rem;max-width:670px;margin:0 auto 28px;color:#f7ebdb}.ornament{width:180px;height:1px;background:var(--gold);margin:22px auto;position:relative}.ornament:after{content:'◆';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--wine);color:var(--gold);padding:0 9px;font-size:.72rem}.actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.btn{display:inline-block;text-decoration:none;border:1px solid var(--gold);padding:13px 22px;letter-spacing:.06em;text-transform:uppercase;font-size:.83rem;background:var(--wine);color:#fff;transition:.2s}.btn:hover{transform:translateY(-2px);background:var(--wine2)}.btn.light{background:var(--gold);color:#241509}.btn.ghost{background:transparent}
.section{padding:78px 0}.section.white{background:#fffaf3}.section.dark{background:linear-gradient(135deg,#280408,var(--wine));color:#fff}.section-head{text-align:center;margin-bottom:42px}.section-head h2{font-weight:400;font-size:clamp(2rem,4vw,3.2rem);margin:5px 0 8px;font-variant:small-caps}.section-head p{max-width:760px;margin:auto;color:var(--muted)}.dark .section-head p{color:#ddcbbd}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:center}.split h2{font-weight:400;font-size:2.7rem;margin:.1em 0 .35em;font-variant:small-caps}.lead{font-size:1.2rem}.historical-card{background:#fff;box-shadow:var(--shadow);border:1px solid var(--line);padding:32px;position:relative}.historical-card:before{content:'';position:absolute;inset:8px;border:1px solid rgba(201,160,82,.35);pointer-events:none}.date{font-size:4rem;color:var(--wine);line-height:1;margin:0}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:35px}.stat{background:#fff;border:1px solid var(--line);padding:22px;text-align:center}.stat strong{display:block;font-size:1.8rem;color:var(--wine);font-weight:400}.stat span{font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.timeline article{background:#fff;border-top:3px solid var(--gold);padding:26px;box-shadow:0 8px 24px rgba(48,25,14,.08)}.timeline .year{color:var(--wine);font-size:2rem}.timeline h3{font-weight:400;margin:.25em 0}.timeline p{font-size:.94rem;color:#5e554d}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.gallery-card{margin:0;background:#140f0e;color:#fff;border:1px solid #d8c49d;overflow:hidden;box-shadow:0 8px 22px rgba(0,0,0,.13);cursor:pointer}.gallery-card img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:.35s}.gallery-card:hover img{transform:scale(1.04)}.gallery-card figcaption{padding:13px 14px 15px}.gallery-card b{display:block;font-size:1.02rem;font-weight:400}.gallery-card small{color:#cfbfab}.ai-note{margin:24px auto 0;max-width:820px;text-align:center;font-size:.9rem;color:var(--muted);font-style:italic}
.feature-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--wine);color:#fff}.feature-strip article{padding:38px;border-right:1px solid rgba(234,209,155,.25)}.feature-strip h3{font-weight:400;font-size:1.35rem;color:var(--gold2)}
.tree-wrap{overflow:auto;padding:20px 0 10px}.tree{min-width:940px;display:flex;flex-direction:column;align-items:center;gap:34px}.generation{display:flex;justify-content:center;gap:26px;position:relative}.generation:before{content:'';position:absolute;top:-18px;left:10%;right:10%;height:1px;background:var(--gold)}.generation:first-child:before{display:none}.person{background:#fff;border:1px solid var(--line);padding:14px 18px;text-align:center;min-width:190px;box-shadow:0 6px 16px rgba(0,0,0,.06)}.person strong{display:block;color:var(--wine);font-weight:400;font-size:1.05rem}.person span{font-size:.82rem;color:var(--muted)}.source-box{background:#fff;border-left:4px solid var(--gold);padding:22px 26px;margin:24px 0}.source-box h3{margin-top:0;font-weight:400}.source-box a{color:var(--wine)}
.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:48px;align-items:start}.contact-form{background:#fff;color:var(--ink);padding:32px;box-shadow:var(--shadow)}.field{display:grid;gap:7px;margin-bottom:15px}.field label{font-size:.84rem;letter-spacing:.06em;text-transform:uppercase;color:#5a4c43}.field input,.field textarea{width:100%;border:1px solid #c9bca9;background:#fffdfa;padding:13px 14px;font:inherit}.field textarea{min-height:155px;resize:vertical}.consent{font-size:.86rem;margin:14px 0}.status{padding:12px 14px;margin:12px 0;border-left:4px solid var(--gold);background:#f8f0dc}.status.error{border-color:#a22;background:#fae8e8}.hidden-field{position:absolute;left:-99999px}.privacy-mini{font-size:.8rem;color:#7d7168}.dark .privacy-mini{color:#cfbfb2}
.page-hero{background:linear-gradient(rgba(40,5,9,.78),rgba(40,5,9,.78)),url('assets/images/ai-06.webp') center/cover;color:#fff;padding:100px 0 80px;text-align:center}.page-hero h1{font-size:clamp(2.6rem,5vw,4.5rem);font-weight:400;margin:.1em 0;font-variant:small-caps}.page-hero p{max-width:760px;margin:12px auto;color:#eadfd3}.prose{max-width:850px;margin:auto}.prose h2,.prose h3{font-weight:400;font-variant:small-caps;color:var(--wine)}.prose h2{font-size:2.2rem;margin-top:2em}.prose blockquote{margin:30px 0;padding:24px 28px;border-left:4px solid var(--gold);background:#fff;font-size:1.1rem}
.doc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.doc{background:#fff;border:1px solid var(--line);padding:24px}.doc h3{font-weight:400;color:var(--wine)}.doc a{color:var(--wine)}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:24px}.lightbox.open{display:flex}.lightbox img{max-width:min(1200px,94vw);max-height:82vh;box-shadow:0 0 0 1px rgba(255,255,255,.22)}.lightbox-close{position:absolute;top:20px;right:25px;background:none;color:#fff;border:0;font-size:2.2rem;cursor:pointer}.lightbox-caption{position:absolute;bottom:18px;color:#fff;text-align:center;left:10%;right:10%}
.site-footer{background:#160407;color:#eee0d2;border-top:1px solid rgba(201,160,82,.55);padding:42px 0 26px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:35px}.site-footer h3{color:var(--gold2);font-weight:400}.site-footer a{color:#e9d8c6;text-decoration:none}.site-footer ul{padding:0;list-style:none;margin:0}.site-footer li{margin:7px 0}.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:20px;font-size:.82rem;color:#baaa9f}
@media(max-width:900px){.nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--wine);padding:20px 4vw;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.menu-btn{display:block}.split,.contact-grid,.footer-grid{grid-template-columns:1fr}.timeline{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:repeat(2,1fr)}.stat-grid{grid-template-columns:1fr 1fr}.feature-strip{grid-template-columns:1fr}.feature-strip article{border-right:0;border-bottom:1px solid rgba(234,209,155,.2)}.doc-grid{grid-template-columns:1fr 1fr}.hero:before{left:0;width:100%;background-image:url('assets/images/hero-knight.webp');opacity:.78}.hero:after{display:none}.hero{background:#2b070b}.hero-overlay{background:linear-gradient(rgba(35,7,10,.48),rgba(35,7,10,.76))}}
@media(max-width:560px){.brand-sub{display:none}.brand-title{font-size:1.05rem}.brand-mark{width:40px;height:48px}.hero,.hero .container{min-height:610px}.hero-inner{padding:48px 0}.timeline,.gallery,.stat-grid,.doc-grid{grid-template-columns:1fr}.section{padding:58px 0}.contact-form{padding:22px}.page-hero{padding:72px 0 58px}.gallery-card figcaption{padding:11px}}


/* ===== V8 base archivio: contrasto e materiali originali ===== */
.dark,.dark p,.dark li,.feature-strip,.feature-strip p,.feature-strip li,.site-header,.site-header p,.site-footer,.site-footer p,.page-hero,.page-hero p{color:#fff!important}
.dark h1,.dark h2,.dark h3,.dark h4,.feature-strip h1,.feature-strip h2,.feature-strip h3,.site-header h1,.site-header h2,.site-header h3,.site-footer h1,.site-footer h2,.site-footer h3,.page-hero h1,.page-hero h2,.page-hero h3{color:#fff!important}
.dark .eyebrow,.feature-strip .eyebrow,.site-footer .eyebrow,.page-hero .eyebrow{color:var(--gold2)!important}
.archive-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.archive-card{margin:0;background:#fff;border:1px solid var(--line);box-shadow:0 10px 28px rgba(30,14,8,.12);overflow:hidden}.archive-card img{width:100%;height:270px;object-fit:contain;background:#efe8dc;padding:8px}.archive-card figcaption{padding:15px 16px 17px;color:var(--ink)!important}.archive-card b{display:block;color:var(--wine)!important;font-weight:400;font-size:1.02rem}.archive-card small{display:block;color:var(--muted)!important;line-height:1.45;margin-top:4px}.archive-card a{color:var(--wine)!important;font-size:.8rem}.archive-note{background:#fff7e7;border:1px solid var(--line);border-left:4px solid var(--gold);padding:18px 20px;margin:25px 0;color:var(--ink)}
.tree-section{margin:52px 0}.tree-title{text-align:center;margin-bottom:24px}.tree-title h2{font-size:2.35rem;font-weight:400;font-variant:small-caps;margin:.2em 0}.tree-branch{display:flex;flex-direction:column;align-items:center;gap:26px;min-width:1080px}.tree-row{display:flex;justify-content:center;gap:18px;position:relative;width:100%}.tree-row:not(:first-child):before{content:'';position:absolute;top:-14px;left:8%;right:8%;height:1px;background:var(--gold)}.tree-node{background:#fff;border:1px solid var(--line);box-shadow:0 7px 18px rgba(0,0,0,.07);padding:14px 16px;text-align:center;min-width:175px;max-width:240px}.tree-node strong{display:block;color:var(--wine);font-weight:400}.tree-node span{display:block;color:var(--muted);font-size:.78rem;line-height:1.35}.tree-node.tradition{border-style:dashed;background:#fff8ea}.branch-label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:5px}.genealogy-scroll{overflow-x:auto;padding-bottom:12px}.archive-feature{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;background:#fff;border:1px solid var(--line);padding:20px;box-shadow:var(--shadow)}.archive-feature img{width:100%;max-height:530px;object-fit:contain;background:#efe8dc}.archive-feature h3{font-size:2rem;font-weight:400;color:var(--wine);font-variant:small-caps}.mini-gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.mini-gallery img{width:100%;height:150px;object-fit:cover;border:1px solid var(--line);background:#eee}
@media(max-width:1000px){.archive-gallery{grid-template-columns:repeat(3,1fr)}.archive-feature{grid-template-columns:1fr}.mini-gallery{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.archive-gallery{grid-template-columns:repeat(2,1fr)}.archive-card img{height:220px}.mini-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:450px){.archive-gallery{grid-template-columns:1fr}.mini-gallery{grid-template-columns:1fr}.mini-gallery img{height:auto}}

/* ===== V8.0 bilingual + document archive ===== */
.skip-link{position:absolute;left:-9999px;top:8px;background:#fff;color:#111;padding:9px 12px;z-index:999}.skip-link:focus{left:8px}
.lang-switch{display:flex;align-items:center;gap:5px;margin-left:2px;padding-left:12px;border-left:1px solid rgba(255,255,255,.25)}.lang-switch a{font-size:.78rem;letter-spacing:.12em;color:#dfcda9}.lang-switch a.active{color:#fff;text-decoration:underline;text-underline-offset:5px}.lang-switch span{color:#876e60}
.doc-highlights{display:grid;grid-template-columns:1fr 1fr;gap:22px}.doc-highlights article{background:#fff;border-top:3px solid var(--gold);padding:28px;box-shadow:0 8px 24px rgba(48,25,14,.08)}.doc-highlights .year{color:var(--wine);font-size:2.3rem}.doc-highlights h3{font-size:1.5rem;font-weight:400;margin:.2em 0}.doc-highlights p{color:#5e554d}
.people-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.person-card{background:#fff;border:1px solid var(--line);box-shadow:0 8px 25px rgba(31,15,9,.08);padding:26px;position:relative}.person-card .num{position:absolute;right:20px;top:16px;color:#c4aa78;font-size:1.6rem}.person-card h2{color:var(--wine);font-size:1.5rem;font-weight:400;margin:0 55px 10px 0}.person-card p{margin:0;color:#5f554d}
.document-case{display:grid;grid-template-columns:1.3fr .7fr;gap:30px;align-items:start;margin-bottom:28px}.document-case h2{font-size:2.5rem;font-weight:400;color:var(--wine);margin:.15em 0}.document-case-second{margin-top:72px}.scan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.scan-card{margin:0;background:#fff;border:1px solid var(--line);box-shadow:0 7px 22px rgba(30,14,8,.09);overflow:hidden}.scan-card a{display:block;background:#e7dfd2}.scan-card img{width:100%;aspect-ratio:4/3;object-fit:contain;transition:.25s}.scan-card a:hover img{transform:scale(1.015)}.scan-card figcaption{padding:11px 13px}.scan-card b{display:block;color:var(--wine);font-weight:400}.scan-card span{font-size:.78rem;color:var(--muted)}.two-scans{grid-template-columns:repeat(2,1fr);max-width:900px}.transcription-box{margin-top:34px;background:#fff8e9;border:1px solid var(--line);padding:26px}.transcription-box h2{font-weight:400;color:var(--wine)}.transcription-box blockquote{font-style:italic;border-left:3px solid var(--gold);padding:12px 18px;margin:14px 0;background:#fff}
@media(max-width:1050px){.nav{gap:14px}.nav a{font-size:.84rem}.scan-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.lang-switch{border-left:0;padding-left:0;margin-top:8px}.people-grid,.document-case,.doc-highlights{grid-template-columns:1fr}.scan-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.scan-grid,.two-scans,.people-grid{grid-template-columns:1fr}.document-case h2{font-size:2rem}}

/* V8.1 stability fixes */
.admin-bar .site-header{top:32px}.site-header{display:block!important}.hero-inner{position:relative;z-index:3;opacity:1!important;visibility:visible!important}.hero .container,.hero h1,.hero h2,.hero p,.hero .eyebrow,.hero .actions{opacity:1!important;visibility:visible!important}.site-header,.hero,.section,.feature-strip,.site-footer{transform:none!important}.legacy-placeholder-contact{display:none!important}
@media(max-width:782px){.admin-bar .site-header{top:46px}}

/* ===== V9: storia ampia, separazione Pilo/Boyl, dossiers ===== */
.history-long{max-width:980px}.history-long h2{margin-top:2.25em;padding-top:.4em;border-top:1px solid #e3d5ba}.history-long p{font-size:1.06rem}.history-source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:38px 0}.history-source-grid article{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);padding:22px}.history-source-grid h3{margin-top:0}.tree-node.pilo{background:#f7f2ea;border-style:dashed}.pilo-context{outline:2px dashed #b9a27b;outline-offset:-7px}.pilo-context figcaption:before{content:'PILO · NON BOYL';display:inline-block;font-size:.66rem;letter-spacing:.14em;color:#7b5d37;border:1px solid #c9ae80;padding:3px 6px;margin-bottom:7px}.history-index{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.history-index a{display:block;background:#fff;border:1px solid var(--line);padding:16px;text-decoration:none;color:var(--wine)}
@media(max-width:850px){.history-source-grid,.history-index{grid-template-columns:1fr}}
.scan-sheet,.gallery-sheet{display:inline-block;margin-top:8px;color:var(--wine)!important;font-size:.78rem;text-decoration:underline;text-underline-offset:3px}.archive-card figcaption a+a{margin-left:12px}

/* V9: menu Storia ripristinato con fonti separate */
.nav-dropdown{position:relative}.nav-parent{display:inline-flex;align-items:center;gap:4px}.nav-submenu{display:none;position:absolute;top:100%;left:-18px;min-width:260px;padding:10px;background:#31070c;border:1px solid rgba(201,160,82,.55);box-shadow:0 15px 35px rgba(0,0,0,.28);z-index:70}.nav-submenu a{display:block;padding:9px 12px;white-space:nowrap;border-bottom:1px solid rgba(255,255,255,.07)}.nav-submenu a:last-child{border-bottom:0}.nav-dropdown:hover .nav-submenu,.nav-dropdown:focus-within .nav-submenu{display:block}
@media(max-width:900px){.nav-dropdown{width:100%}.nav-submenu{position:static;display:block!important;min-width:0;border:0;border-left:2px solid rgba(201,160,82,.45);box-shadow:none;background:transparent;margin:5px 0 3px 8px;padding:2px 0 2px 10px}.nav-submenu a{padding:6px 8px;font-size:.8rem}}


/* V9.1-1 — pagine storia per autore */
.history-perspectives{margin:2.2rem 0 3rem;padding:1.7rem;border:1px solid rgba(91,34,38,.18);background:#fbf6ec;border-radius:14px}
.history-perspective-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:1.2rem}
.history-perspective-grid a{display:flex;flex-direction:column;gap:.28rem;padding:1rem 1.05rem;background:#fff;border:1px solid rgba(91,34,38,.14);border-radius:10px;text-decoration:none;color:#2a1617;box-shadow:0 4px 18px rgba(35,12,14,.04)}
.history-perspective-grid a:hover{transform:translateY(-1px);border-color:#a36a2e}
.history-perspective-grid strong{font-family:Georgia,'Times New Roman',serif;font-size:1.06rem;color:#4d0d14}
.history-perspective-grid span{font-size:.92rem;line-height:1.45;color:#5f5551}
.history-author-hero{padding-bottom:2.7rem}
.history-source-jump{margin-top:1rem}.history-source-jump a{color:#f1d49a;text-decoration:none;font-weight:700}
.history-author{max-width:920px}
.source-summary,.evidence-box{padding:1.2rem 1.35rem;border-left:4px solid #a36a2e;background:#fbf5e9;margin:0 0 2rem}
.history-author-section{padding:0 0 1.1rem;margin-bottom:1.25rem;border-bottom:1px solid rgba(81,43,35,.12)}
.history-author-section h2{margin-bottom:.55rem}
.source-list{margin-top:2rem}.source-list ul{padding-left:1.2rem}.source-list li{margin:.55rem 0}
.history-author-nav{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid rgba(81,43,35,.15)}
.history-author-nav a{padding:.55rem .75rem;border:1px solid rgba(81,43,35,.18);border-radius:999px;text-decoration:none;color:#4d0d14;background:#fff}
@media(max-width:760px){.history-perspective-grid{grid-template-columns:1fr}.history-perspectives{padding:1.15rem}.history-author-nav{gap:.4rem}}

/* ===== V9.2 Biblioteca di ricerca ===== */
.library-intro{max-width:900px;margin:0 auto 42px}.library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.library-card{background:#fff;border:1px solid var(--line);box-shadow:0 8px 24px rgba(48,25,14,.08);padding:26px;display:flex;flex-direction:column;gap:10px}.library-card h3{margin:0;color:var(--wine);font-weight:400;font-size:1.35rem}.library-card .meta{font-size:.82rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.library-card p{margin:0}.library-card .actions{justify-content:flex-start;margin-top:auto}.library-note{background:#fff;border-left:4px solid var(--gold);padding:20px 24px;margin:30px 0}.folio-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.folio-grid figure{margin:0;background:#fff;border:1px solid var(--line);padding:8px}.folio-grid img{width:100%;aspect-ratio:3/4;object-fit:cover}.folio-grid figcaption{font-size:.78rem;color:var(--muted);padding:7px 3px 2px}.research-list{columns:2;column-gap:36px}.research-list li{break-inside:avoid;margin:0 0 10px}.badge-source{display:inline-block;background:#efe2c3;color:#4a2e0d;padding:4px 8px;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase}.size-meter{background:#fff;border:1px solid var(--line);padding:18px 20px;margin:24px 0}.size-meter strong{color:var(--wine)}
@media(max-width:900px){.library-grid{grid-template-columns:1fr}.folio-grid{grid-template-columns:repeat(2,1fr)}.research-list{columns:1}}
@media(max-width:560px){.folio-grid{grid-template-columns:1fr}}


/* ===== V12 Edizione Monumentale 1 GB ===== */
.facsimile-collections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:30px 0}.facsimile-collection{background:#fff;border:1px solid var(--line);padding:22px;box-shadow:0 8px 24px rgba(48,25,14,.07)}.facsimile-collection h3{color:var(--wine);font-weight:400;margin-top:0}.page-link-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;margin:18px 0 32px}.page-link-grid a{display:block;text-align:center;padding:7px 5px;border:1px solid var(--line);background:#fff;text-decoration:none;color:var(--wine);font-size:.76rem}.page-link-grid a:hover{background:#f3e7cc}.hires-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.hires-grid a{display:block;background:#fff;border:1px solid var(--line);padding:12px;text-decoration:none;color:var(--wine);font-size:.88rem}.archive-metric{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:26px 0}.archive-metric div{background:#fff;border:1px solid var(--line);padding:16px;text-align:center}.archive-metric strong{display:block;color:var(--wine);font-size:1.65rem;font-weight:400}.archive-metric span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
@media(max-width:900px){.facsimile-collections,.hires-grid{grid-template-columns:1fr}.page-link-grid{grid-template-columns:repeat(5,1fr)}.archive-metric{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.page-link-grid{grid-template-columns:repeat(3,1fr)}}

/* ===== V12 Edizione Monumentale 1 GB — genealogie e onomastica ===== */
.genealogy-v11{max-width:1180px}.genealogy-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:28px 0 44px}.genealogy-index a{display:block;padding:12px 14px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--wine);font-size:.9rem}.genealogy-index a:hover{background:#f7eedc}.tree-section{padding:38px 0;border-top:1px solid #ddcfb2}.tree-section:first-of-type{border-top:0}.tree-title{max-width:900px;margin-bottom:24px}.tree-title h2{font-weight:400;font-size:clamp(1.8rem,3vw,2.65rem);color:var(--wine);margin:.15em 0 .35em}.genealogy-scroll{overflow:auto;padding:10px 2px 20px}.tree-branch{min-width:800px;display:flex;flex-direction:column;align-items:center;gap:8px}.tree-row{display:flex;justify-content:center;align-items:stretch;gap:16px;width:100%}.tree-row.branches{align-items:stretch}.tree-node{background:#fff;border:1px solid var(--line);padding:16px 18px;text-align:center;min-width:210px;max-width:290px;box-shadow:0 6px 16px rgba(0,0,0,.055)}.tree-node strong{display:block;color:var(--wine);font-weight:400;font-size:1.05rem}.tree-node span{display:block;font-size:.82rem;color:var(--muted);margin-top:4px}.tree-node.documented{border-top:4px solid #5f793b}.tree-node.tradition{border-top:4px solid #a47d3c;background:#fffaf0}.tree-node.research{border-style:dashed;border-color:#9c8b74;background:#faf7f1}.tree-node.research.highlight{border-color:#8e2f38}.tree-node.source{border-top:4px solid #7d4e8b}.tree-node.key{box-shadow:0 0 0 2px rgba(201,160,82,.24),0 8px 22px rgba(0,0,0,.06)}.tree-node.spouse{min-width:360px}.tree-connector{height:26px;width:1px;background:var(--gold)}.tree-connector.proof{background:#5f793b;width:2px}.tree-connector.tradition{background:#a47d3c;border-left:1px dashed #a47d3c}.tree-connector.branch{position:relative;width:56%;height:26px;border-top:1px solid var(--gold);background:transparent}.tree-connector.branch:before{content:'';position:absolute;left:50%;top:-16px;height:16px;border-left:1px solid var(--gold)}.disconnected .tree-row{gap:22px}.disconnected .tree-node{position:relative}.disconnected .tree-node:after{content:attr(data-status)}.mini-link{display:inline-block;margin-top:9px;color:var(--wine);font-size:.78rem;text-decoration:underline}.evidence-level.documented{background:rgba(89,114,55,.035)}.evidence-level.tradition{background:rgba(165,125,60,.035)}.evidence-level.research{background:rgba(70,55,43,.025)}.research-person-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.research-person-grid article{background:#fff;border:1px solid var(--line);border-left:4px dashed #9a8260;padding:22px}.research-person-grid h3{margin:0 0 8px;color:var(--wine);font-weight:400}.research-person-grid p{margin:0 0 10px}.research-person-grid a{color:var(--wine)}
.name-variants{max-width:1040px}.table-wrap{overflow:auto;margin:20px 0 40px}.source-table{width:100%;border-collapse:collapse;background:#fff;font-size:.91rem}.source-table th,.source-table td{padding:12px 14px;border:1px solid #ddcfb2;vertical-align:top;text-align:left}.source-table th{background:#3a070d;color:#fff;font-weight:400}.source-table tr:nth-child(even) td{background:#fffaf0}.name-variants ol{padding-left:1.3rem}.name-variants ol li{margin:.55rem 0}.evidence-box a{color:var(--wine);font-weight:700}
@media(max-width:900px){.genealogy-index{grid-template-columns:repeat(2,1fr)}.research-person-grid{grid-template-columns:1fr}.tree-branch{min-width:680px}.tree-node{min-width:190px}.tree-node.spouse{min-width:310px}}
@media(max-width:560px){.genealogy-index{grid-template-columns:1fr}.source-table{font-size:.82rem}}

/* ===== V12 Edizione Monumentale ===== */
.wide-prose{max-width:1180px}.wide-prose h2{margin-top:2.4rem}.latin-document,.translation-document{padding:28px 32px;border:1px solid rgba(71,18,24,.16);background:#fbf8f2;box-shadow:0 8px 24px rgba(38,12,15,.06);margin:22px 0 38px}.latin-document{font-family:Georgia,'Times New Roman',serif;line-height:1.8}.translation-document{font-size:1.03rem;line-height:1.75}.evidence-table{width:100%;border-collapse:collapse;margin:25px 0 42px}.evidence-table th,.evidence-table td{padding:14px;border:1px solid rgba(65,20,24,.15);vertical-align:top}.evidence-table th{background:#3a070d;color:#fff}.legend-box{margin:34px 0;padding:28px 30px;border-left:5px solid #b08b45;background:linear-gradient(135deg,#fff8e8,#f4ead4)}
.legend-hero{background:linear-gradient(120deg,#1d0508,#4b1017)}.dark-story{background:#170608;color:#f7efe5}.story-layout{max-width:1050px}.story-chapter{position:relative;padding:38px 40px;margin:28px 0;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.018));border:1px solid rgba(255,255,255,.12)}.story-chapter h2{font-family:Georgia,serif;font-size:2rem;margin:.6rem 0 1rem}.story-chapter p{font-size:1.08rem;line-height:1.85;color:#eadfd5}.legend-badge,.status-badge{display:inline-block;padding:6px 10px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;background:#b08b45;color:#fff}.story-layout .evidence-box{background:#fff;color:#2d1618}
.place-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.place-card{padding:26px;border:1px solid #e4d9cf;background:#fff;box-shadow:0 8px 26px rgba(39,15,18,.06)}.place-card h2{font-family:Georgia,serif;margin:.55rem 0 .8rem;font-size:1.45rem}.place-card p{line-height:1.65}.place-card a,.person-card a{font-weight:700;text-decoration:none}.people-group{margin-bottom:55px}.people-group .section-head{text-align:left}.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.person-card{padding:28px;border:1px solid #e1d4c9;background:#fff;box-shadow:0 8px 28px rgba(45,16,19,.07)}.person-card h3{font-family:Georgia,serif;font-size:1.45rem;margin:.75rem 0}.person-card .status-badge{background:#6d1c25}.place-context{margin:35px 0;padding:28px 32px;background:#f5eee5;border-left:5px solid #7b1c27}.monument-case{margin-bottom:35px}
@media(max-width:900px){.place-grid,.people-grid{grid-template-columns:1fr 1fr}.story-chapter{padding:28px}.latin-document,.translation-document{padding:20px}}
@media(max-width:620px){.place-grid,.people-grid{grid-template-columns:1fr}.story-chapter{padding:22px}.story-chapter h2{font-size:1.55rem}.evidence-table{font-size:.9rem}.evidence-table th,.evidence-table td{padding:9px}.latin-document,.translation-document{padding:16px}}
