/*
Theme Name: Casalalta nel Cuore
Theme URI: https://www.casalaltanelcuore.it
Author: Casalalta nel Cuore APS
Description: Tema personalizzato per il sito ufficiale della associazione e la Rassegna di Poesia 2027.
Version: 5.4.0
Requires at least: 6.0
Text Domain: casalalta-nel-cuore
*/
:root{--wine:#791b2b;--wine-dark:#4d1321;--cream:#fcf6e9;--paper:#f5ead9;--ink:#302625;--muted:#6e625e;--gold:#b58a59}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.65}a{color:inherit}img{max-width:100%;display:block}.container{width:min(1160px,calc(100% - 44px));margin:auto}.narrow{max-width:760px}.center{text-align:center}.skip{position:absolute;left:-999px;top:10px;z-index:99;background:white;padding:10px}.skip:focus{left:10px}.site-header{position:sticky;top:0;z-index:10;background:rgba(252,246,233,.96);backdrop-filter:blur(15px);border-bottom:1px solid #e8d8c7}.nav-wrap{min-height:84px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:'Playfair Display',serif;font-size:19px;color:var(--wine);font-weight:700;line-height:1.05}.brand img{width:64px;height:64px;object-fit:contain;mix-blend-mode:multiply}.brand small{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-family:'DM Sans',sans-serif;margin-top:6px}nav{display:flex;align-items:center;gap:22px}nav a{text-decoration:none;font-size:13px;font-weight:600}nav a:hover,.text-link:hover{color:#bd4559}.nav-cta{background:var(--wine);color:white!important;border-radius:40px;padding:11px 17px}.menu-toggle{display:none;border:0;background:none;color:var(--wine);font-size:28px}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 80% 22%,#f4d7b5,transparent 40%),linear-gradient(135deg,#fffaf0,#f2e3d0);padding:80px 0 100px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:60px}.eyebrow,.overline,.theme-label{letter-spacing:.19em;text-transform:uppercase;font-size:11px;font-weight:700;color:var(--wine)}.script{font-family:'Great Vibes',cursive;font-size:39px;color:#a56d52;margin:12px 0 -8px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Playfair Display',serif;line-height:1.18}h1{font-size:clamp(54px,6vw,90px);color:var(--wine);letter-spacing:-.045em;margin:14px 0}h1 em,h2 em{font-weight:400}h2{font-size:clamp(34px,4vw,55px);letter-spacing:-.025em}.hero-sub{font-family:'Playfair Display',serif;font-size:20px;color:#69504a}.hairline{width:100px;height:1px;background:var(--gold);margin:30px 0}.hero h2{font-size:clamp(29px,3vw,43px);color:var(--wine);font-style:italic}.lead{font-size:16px;max-width:540px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.btn{display:inline-flex;justify-content:center;align-items:center;gap:12px;text-decoration:none;border-radius:3px;padding:14px 22px;font-size:13px;font-weight:700;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--wine);color:white}.btn-primary:hover{background:#9b2a3e}.btn-outline{border:1px solid var(--wine);color:var(--wine)}.hero-foot{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;color:#795b51}.hero-art{position:relative}.photo-frame{border:12px solid #fff8ee;box-shadow:0 28px 70px #70432333;transform:rotate(2deg);border-radius:160px 160px 6px 6px;overflow:hidden}.photo-frame img{width:100%;aspect-ratio:4/5;object-fit:cover}.art-caption{position:absolute;bottom:-35px;left:-45px;padding:25px 35px;background:#fffaf0;box-shadow:0 12px 40px #70432322;font-family:'Playfair Display',serif;font-size:19px;font-style:italic;color:var(--wine);transform:rotate(-4deg)}.section{padding:105px 0;scroll-margin-top:90px}.intro{background:#fffaf2}.intro .narrow>p:last-child{font-size:17px;color:var(--muted)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:65px}.feature{border-top:1px solid #d8bd9f;padding:23px 18px 0}.feature-num{font-family:'Playfair Display',serif;font-size:38px;color:#cba98b}.feature h3{font-size:23px;margin:9px 0}.feature p{color:var(--muted);font-size:14px}.theme-section{background:var(--wine-dark);color:#fff2e4;position:relative}.theme-section:after{content:'✧';position:absolute;right:5%;top:10%;font-size:220px;color:#ffffff08}.theme-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:90px}.light{color:#e6bca5}.theme-section h2{font-size:clamp(37px,4.7vw,65px)}.theme-section p{max-width:550px;color:#f0d9d1}.text-link{display:inline-block;color:white;font-weight:700;text-decoration:none;border-bottom:1px solid #c8a295;padding-bottom:7px}.theme-grid blockquote{font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(26px,3vw,42px);line-height:1.45;color:#f3d9c0;border-left:2px solid var(--gold);padding-left:30px;margin:0}.section-head{max-width:680px;margin:0 auto 48px}.section-head p:last-child{color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.step{background:#fffaf2;border:1px solid #e9daca;padding:32px;min-height:295px}.step>span{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid #d8b9a2;border-radius:50%;font-family:'Playfair Display',serif;color:var(--wine);margin-bottom:22px}.step h3{font-size:22px}.step p{font-size:14px;color:var(--muted)}.step a{overflow-wrap:anywhere;color:var(--wine)}.download-panel{margin-top:35px;padding:35px 40px;background:#efe0ce;display:flex;justify-content:space-between;align-items:center;gap:20px}.download-panel h3{font-size:27px;margin:8px 0}.download-panel p:last-child{margin:0;color:var(--muted);font-size:14px}.download-panel .btn{flex-shrink:0}.paper-info{max-width:840px;margin:45px auto 0;text-align:center}.paper-info h3{font-size:23px}.paper-info p{color:var(--muted)}.note{font-size:13px}.event-section{background:#fffaf2}.event-grid{display:grid;grid-template-columns:310px 1fr;gap:85px;align-items:center}.date-card{background:var(--wine);color:white;min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:14px 14px 0 #e9d5c1}.date-card span{font-size:16px;letter-spacing:.3em}.date-card strong{font-family:'Playfair Display',serif;font-size:80px;line-height:1.2}.date-card small{text-align:center;line-height:1.6}.event-grid p{color:var(--muted)}.poster-section{background:#f3e7d7}.poster-grid{display:grid;grid-template-columns:1fr 360px;gap:90px;align-items:center}.poster-grid img{box-shadow:0 20px 60px #5a39293b;border:8px solid #fffaf2;max-height:620px;margin:auto}.poster-grid p{max-width:450px;color:var(--muted)}.btn-outline.dark{margin-top:15px}.faq-section{background:#fffaf2}.faq-section h2{margin-bottom:40px}details{border-bottom:1px solid #dfcbbb;padding:19px 0}summary{cursor:pointer;font-weight:700;color:var(--wine);list-style:none;display:flex;justify-content:space-between;gap:10px}summary:after{content:'+';font-size:24px;line-height:1}details[open] summary:after{content:'−'}details p{padding:5px 30px 0 0;color:var(--muted)}.contact-section{background:var(--wine);color:#fff6ed}.contact-section h2{max-width:730px;margin:15px auto}.contact-section p{color:#f2d8d1}.contact-email{font-family:'Playfair Display',serif;font-size:clamp(19px,3vw,32px);overflow-wrap:anywhere;text-underline-offset:7px}.contact-links{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;margin-top:30px}.contact-links a{text-decoration:none;font-weight:600}footer{background:#35131b;color:#f5e7df;padding:28px 0;font-size:12px}.footer-wrap{display:flex;justify-content:space-between;align-items:center;gap:30px}.footer-wrap p{margin:5px 0;color:#ddc3bd}@media(max-width:950px){nav{gap:11px}nav a{font-size:12px}.hero-grid{gap:35px}.theme-grid{gap:40px}.poster-grid{gap:40px}}@media(max-width:760px){.nav-wrap{min-height:70px}.brand img{width:52px;height:52px}.menu-toggle{display:block}nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--cream);padding:24px;flex-direction:column;align-items:stretch;box-shadow:0 15px 20px #0002}nav.open{display:flex}nav a{font-size:15px}.hero{padding:45px 0 85px}.hero-grid,.theme-grid,.event-grid,.poster-grid{grid-template-columns:1fr}.hero-art{max-width:500px;margin:20px auto 0}.art-caption{left:5px;bottom:-30px}.section{padding:75px 0}.feature-grid,.steps{grid-template-columns:1fr;gap:20px}.feature-grid{margin-top:40px}.step{min-height:auto}.download-panel{flex-direction:column;align-items:flex-start;padding:25px}.event-grid{gap:50px}.date-card{max-width:330px;margin:auto;width:100%}.poster-grid img{max-width:330px}.footer-wrap{flex-direction:column;align-items:flex-start}.theme-grid blockquote{margin-top:25px}.hero-foot{gap:8px;flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

.association-intro{background:#faf5ed;padding:78px 0;text-align:center}.association-intro h2{font-family:Playfair Display,serif;font-size:clamp(2rem,4vw,3.2rem);color:#731a2a}.association-intro p{max-width:790px;margin:18px auto;line-height:1.8}.association-intro .overline{letter-spacing:.16em;text-transform:uppercase;font-size:.8rem}

/* Identita visiva della carta intestata ufficiale, senza alterare il logo */
:root{--wine:#b51219;--wine-dark:#665f50;--cream:#ffffff;--paper:#f6f3ef;--ink:#292722;--muted:#6c685f;--gold:#857c67}
.site-header{background:#fff;border-bottom:2px solid #cf161b}
.official-letterhead{max-width:1360px;margin:auto;background:white}
.official-letterhead img{display:block;width:100%;height:auto}
.nav-wrap{min-height:56px;justify-content:center}
.mobile-brand{display:none;text-decoration:none;font-weight:700;color:#746b5a}
.hero{background:linear-gradient(135deg,#fff,#f6f2ec)}
.association-intro{background:#fff}.association-intro h2{color:#766d5b}
.theme-section{background:#665f50}.contact-section{background:#8a2428}footer{background:#423c35}
@media(max-width:760px){.nav-wrap{justify-content:space-between;min-height:54px}.mobile-brand{display:block;font-size:14px}nav{top:auto;transform:translateY(0);margin-top:54px}.official-letterhead img{width:100%}}

/* Integrazione della prima versione: pagine vere e navigazione evidente */
.site-header{position:relative}.nav-wrap{justify-content:center;min-height:72px}nav{gap:clamp(9px,1.35vw,19px);flex-wrap:wrap;justify-content:center}nav a{font-size:13px}nav a:not(.nav-cta){padding:9px 3px;border-bottom:2px solid transparent}nav a:not(.nav-cta):hover{border-color:#b51219}.official-letterhead{max-width:1360px}.site-quicklinks{padding:70px 0;background:#f8f4ef}.site-quicklinks h2{font-family:'Playfair Display',serif;color:#766d5b;font-size:clamp(30px,4vw,46px);margin:12px 0 30px}.quicklinks-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.quicklink{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:108px;padding:24px 25px;border-radius:12px;background:white;box-shadow:0 5px 22px #34251a10;text-decoration:none;border:1px solid #e9ded3;color:#5d5148;font-family:'Playfair Display',serif;font-size:22px;font-weight:600;transition:transform .2s,box-shadow .2s}.quicklink>span:last-child{color:#b51219;font-family:sans-serif;font-size:25px}.quicklink:hover{transform:translateY(-4px);box-shadow:0 12px 28px #34251a20}.inner-page{padding:65px 0 100px;min-height:60vh}.inner-page .container{max-width:1040px}.inner-page h1{font-family:'Playfair Display',serif;font-size:clamp(36px,5vw,62px);line-height:1.15;color:#6b6253;margin:12px 0 26px}.inner-page h2{font-family:'Playfair Display',serif;color:#6b6253}.breadcrumb{font-size:13px;color:#81746a;margin-bottom:40px}.breadcrumb a{color:#a42229}.page-lead{font-size:21px;max-width:760px;line-height:1.65;margin-bottom:40px}.reading{max-width:820px;font-size:18px;line-height:1.85}.reading h2{font-size:30px;margin:35px 0 10px}.reading p{margin:0 0 22px}.history-photo{width:100%;max-height:480px;object-fit:cover;border-radius:14px;margin:10px 0 35px}.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.person-card{padding:30px 24px;border-radius:12px;border:1px solid #eee2d9;background:#fbf8f4;min-height:185px}.person-card h2{font-size:23px;margin:12px 0 7px}.person-card p{margin:0;color:#a02730;font-weight:700}.person-mark{font-size:21px;color:#a02730}.events-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.events-list article{padding:27px;background:#fbf8f4;border:1px solid #eee2d9;border-radius:12px}.events-list span{color:#aa2933;font-weight:700;font-size:12px;letter-spacing:.1em}.events-list h2{font-size:24px}.source-note{font-size:14px;color:#73695f;margin-top:25px}.page-poster{margin-top:65px;align-items:start}.page-poster img{max-width:350px}.back-home{margin-top:65px}
@media(max-width:950px){nav{gap:10px}nav a{font-size:12px}}
@media(max-width:760px){.quicklinks-grid,.people-grid,.events-list{grid-template-columns:1fr}.site-quicklinks{padding:45px 0}.quicklink{min-height:78px;padding:18px 20px}.nav-wrap{justify-content:space-between}.inner-page{padding:35px 0 65px}.inner-page h1{font-size:38px}.reading{font-size:16px}.page-poster img{max-width:100%}nav{top:100%;margin-top:0;transform:none;z-index:20;flex-wrap:nowrap}}

/* Eventi e volantini – integrazione della grafica ufficiale originale */
.events-feature{display:grid;grid-template-columns:1.1fr .8fr;gap:40px;align-items:center;background:#f8f3ed;padding:32px;border-radius:14px;margin:30px 0 60px}
.events-feature h2{font-size:clamp(28px,3.3vw,43px)}
.events-feature p{color:#635e56}.events-feature img{max-height:460px;width:100%;object-fit:contain;border-radius:8px;box-shadow:0 12px 30px #0002;background:white}
.events-heading{font-size:clamp(28px,3.2vw,40px);margin:0 0 26px}
.event-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.event-card{background:white;border:1px solid #e9ded3;border-radius:14px;overflow:hidden;box-shadow:0 6px 26px #34251a10;display:flex;flex-direction:column}
.event-poster{display:block;background:#f7f2ec;padding:14px}
.event-poster img{height:360px;width:100%;object-fit:contain;transition:transform .2s}
.event-poster:hover img{transform:scale(1.025)}
.event-card-copy{padding:27px 29px;flex:1}
.event-card-copy h3{font-family:'Playfair Display',serif;font-size:clamp(23px,2.4vw,29px);color:#62594d;margin:10px 0 14px}
.event-card-copy p{color:#5e5a55;line-height:1.7;margin-bottom:16px}
.event-date{font-size:12px;color:#a2222c;letter-spacing:.08em;font-weight:800}
.event-link{display:inline-block;font-size:14px;font-weight:700;color:#a2222c;text-decoration:none;border-bottom:1px solid #a2222c;padding-bottom:4px}
.event-link:hover{color:#73151b}.pdf-confirm{background:#f8f3ed;border-left:4px solid #b51219;padding:14px 18px}
@media(max-width:760px){.events-feature,.event-cards{grid-template-columns:1fr}.events-feature{padding:22px;gap:18px}.event-poster img{height:320px}.event-card-copy{padding:23px}}

/* Mobile v5.1 — versione desktop originale invariata */
@media(max-width:760px){
 .official-letterhead{display:none!important}
 .site-header{position:relative;background:#fff}
 .site-header .nav-wrap{min-height:76px!important;padding:8px 18px!important;display:flex;align-items:center;justify-content:space-between!important;gap:12px}
 .site-header .mobile-brand{display:flex!important;align-items:center;gap:12px;min-width:0;font-family:'Playfair Display',serif;font-size:19px!important;line-height:1.12;color:#665f50;font-weight:700}
 .mobile-brand img{width:59px;height:59px;object-fit:contain;flex-shrink:0}
 .mobile-brand small{font-size:.7em;letter-spacing:.04em}
 .site-header .menu-toggle{display:block;flex-shrink:0;font-size:29px;padding:8px 12px;color:#b51219;background:#fff;border:1px solid #ebdfda;border-radius:8px;line-height:1}
 .site-header nav{position:absolute!important;top:100%!important;left:0!important;right:0!important;margin:0!important;padding:16px 22px 23px!important;background:#fff!important;border-top:1px solid #eee;box-shadow:0 18px 25px #0002;z-index:100;flex-direction:column;align-items:stretch;gap:0!important}
 .site-header nav:not(.open){display:none!important}
 .site-header nav.open{display:flex!important}
 .site-header nav a{font-size:16px!important;padding:13px 8px!important;line-height:1.35;border-bottom:1px solid #eee!important}
 .site-header nav .nav-cta{margin-top:12px;text-align:center;color:white;border-radius:8px}
 .site-quicklinks{padding:34px 0!important}
 .site-quicklinks h2{font-size:31px!important}
 .quicklink{font-size:20px!important}
 .association-intro{padding:40px 0!important}
 .hero h1{font-size:clamp(42px,12vw,66px)}
 .hero .hero-copy{min-width:0}
 .hero .hero-sub{overflow-wrap:anywhere}
 .download-panel .btn{max-width:100%;white-space:normal;text-align:center}
 .container{width:min(100% - 36px,1140px)}
 .inner-page{min-height:65vh}
}

/* Volantino ufficiale responsive */
.poster-grid img,.page-poster img{display:block;max-width:100%;height:auto;border-radius:12px;box-shadow:0 15px 35px #0002}
.page-poster a:has(img){display:block}
@media(max-width:760px){.poster-grid,.page-poster{display:grid;grid-template-columns:1fr;gap:22px}.poster-grid img,.page-poster img{width:100%}}
