/*
Theme Name: Café Novecento
Theme URI: https://example.com/cafe-novecento
Author: Café Novecento
Description: Tema WordPress personalizzato per Café Novecento, con layout editoriale e supporto Gutenberg.
Version: 1.0.1
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cafe-novecento
*/


:root{--red:#ad0400;--paper:#faf8f1;--ink:#121212}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--red);color:var(--paper);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,button:focus-visible{outline:3px solid currentColor;outline-offset:5px}button{font:inherit;cursor:pointer}.skip{position:absolute;left:24px;top:-100px;background:var(--paper);color:var(--red);padding:12px;z-index:5}.skip:focus{top:12px}.masthead{padding:20px 32px 0}.identity{display:flex;align-items:end;justify-content:space-between;padding-bottom:24px;gap:24px}.brand{font-size:clamp(30px,4.5vw,70px);font-weight:600;letter-spacing:-.065em;line-height:1}.descriptor{font-size:16px;line-height:1.4;max-width:220px}.navigation{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid;border-bottom:1px solid}.navigation a{display:flex;gap:24px;align-items:baseline;padding:16px 20px;font-size:24px;border-right:1px solid;transition:background .15s,color .15s}.navigation a:first-child{padding-left:0}.navigation a:last-child{border:0}.navigation a:hover,.navigation a[aria-current=page]{background:var(--paper);color:var(--red);text-decoration:none}.navigation a:hover:first-child{padding-left:20px}.num,.eyebrow{font-size:14px;letter-spacing:.06em;text-transform:uppercase}.wrap{padding:56px 32px}.hero{position:relative;margin:24px 32px 0;min-height:490px;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent 70%),url('assets/space.webp') center/cover;display:flex;flex-direction:column;justify-content:space-between;padding:40px}.hero img{width:100%;height:300px;object-fit:fill}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:20px}.hero-bottom p{max-width:550px;font-size:22px;margin:24px 0 0}.textlink{border-bottom:1px solid;padding-bottom:5px;display:inline-block;font-size:17px}.intro{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;padding-top:48px;padding-bottom:64px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(56px,9vw,136px);letter-spacing:-.065em;line-height:.95;font-weight:500}h2{font-size:clamp(38px,5.7vw,82px);letter-spacing:-.045em;line-height:1.02;font-weight:500}h3{font-size:clamp(27px,3vw,42px);letter-spacing:-.03em;line-height:1.1;font-weight:500}p{font-size:20px;line-height:1.5}.intro p{max-width:650px}.section-heading{display:flex;justify-content:space-between;border-top:1px solid;padding-top:16px;margin-bottom:32px;gap:24px}.feature{display:grid;grid-template-columns:1fr 1fr;gap:32px}.feature-photo{width:100%;height:400px;object-fit:cover;filter:grayscale(1)}.feature-copy{display:flex;flex-direction:column;justify-content:space-between;padding:4px 0}.feature-copy h3{font-size:clamp(36px,4vw,64px)}.meta{font-size:15px;line-height:1.5}.article-row{display:grid;grid-template-columns:180px 1fr 220px;gap:28px;border-top:1px solid;padding:28px 0}.article-row:last-child{border-bottom:1px solid}.article-row h3{margin-bottom:0}.paper{background:var(--paper);color:var(--red)}.manifesto-teaser{display:grid;grid-template-columns:1.3fr 1fr;gap:64px}.manifesto-teaser h2{font-size:clamp(38px,5vw,72px)}footer{padding:32px;display:flex;justify-content:space-between;border-top:1px solid;font-size:16px}.page-intro{max-width:1040px;padding-top:64px}.page-intro p{max-width:800px}.chapters{max-width:1100px}.chapter{display:grid;grid-template-columns:110px 1fr;gap:32px;padding:32px 0;border-top:1px solid}.chapter .num{font-size:32px}.chapter h2{font-size:36px}.chapter p{max-width:780px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 40px}.filters button{background:none;color:inherit;border:1px solid;padding:10px 16px;font-size:16px;border-radius:0}.filters button[aria-pressed=true],.filters button:hover{background:var(--paper);color:var(--red)}.empty{border-top:1px solid;padding:32px 0}.article-body{max-width:760px;margin:auto;padding:48px 0}.article-body p{font-size:22px;line-height:1.65}.media-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.media-grid img{width:100%;height:400px;object-fit:cover}.media-grid figure{margin:0}.media-grid figcaption{font-size:16px;padding:16px 0} [hidden]{display:none!important}
@media(max-width:760px){.masthead{padding:20px 20px 0}.identity{align-items:start;flex-direction:column;gap:12px;padding-bottom:20px}.brand{font-size:42px}.descriptor{max-width:none;font-size:14px}.navigation a{font-size:18px;padding:14px 10px;gap:10px}.num{font-size:12px}.hero{margin:20px 20px 0;padding:24px;min-height:370px}.hero img{height:180px;object-fit:contain}.hero-bottom{display:block}.hero-bottom p{font-size:18px;margin-bottom:24px}.wrap{padding:40px 20px}.intro,.feature,.manifesto-teaser,.media-grid{grid-template-columns:1fr;gap:24px}.intro h2{margin-bottom:0}.feature-photo,.media-grid img{height:270px}.feature-copy{gap:24px}.article-row{grid-template-columns:1fr;gap:12px;padding:24px 0}.article-row h3{font-size:30px}.article-row .meta:last-child{font-size:14px}.section-heading{align-items:start}.chapter{grid-template-columns:45px 1fr;gap:16px}.chapter .num{font-size:24px}.chapter h2{font-size:28px}.chapter p,p{font-size:18px}footer{padding:24px 20px;gap:20px;flex-wrap:wrap}.page-intro{padding-top:40px}.article-body p{font-size:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Full-viewport opening, following the original Figma composition. */
.splash{position:relative;width:100%;height:100vh;height:100svh;display:grid;place-items:center;background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.08) 65%),url('assets/space.webp') center/cover;overflow:hidden}.splash h1{margin:0;line-height:0;width:min(72vw,1037px);max-width:calc((100svh - 170px)*2.47)}.splash img{display:block;width:100%;height:auto;object-fit:contain}.splash-scroll{position:absolute;bottom:clamp(24px,5vh,60px);left:50%;transform:translateX(-50%);display:grid;place-items:center;padding:12px;color:#faf8f1}.splash-scroll:hover{color:#fff}.splash-scroll svg{width:32px;height:52px}#contenuto{scroll-margin-top:20px}@media(max-width:760px){.splash h1{width:86vw;max-width:calc((100svh - 150px)*2.47)}.splash-scroll{bottom:24px}}

/* Keep the opening composition together while the scroll reveals its caption. */
.home-motion .splash{height:135svh;background:none;display:block;overflow:visible}
.splash-stage{position:sticky;top:0;width:100%;max-width:none;min-width:0;justify-self:stretch;isolation:isolate;height:100svh;display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;padding:24px 24px clamp(24px,5svh,56px);background:#080d16}
.splash-stage:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(0deg,rgba(0,0,0,.72),rgba(0,0,0,.1) 65%),url('assets/space.webp');background-position:center;background-size:cover;background-repeat:no-repeat}
.home-motion .splash h1{position:static;transform:none;align-self:center;width:min(72vw,1037px);max-width:min(100%,calc(45svh * 2.47))}
.splash-reveal{position:static;width:100%;text-align:center;color:var(--paper)}
.splash-reveal p{font-size:24px;line-height:1.3;margin:0 0 18px}
.home-motion .splash-scroll{position:static;inset:auto;transform:none;display:flex;flex-direction:column;align-items:center;gap:14px;width:fit-content;margin:0 auto;padding:8px;font-size:16px}
.home-motion .splash-scroll svg{flex:none;width:24px;height:38px}
.home-motion .masthead{position:sticky;top:0;z-index:10;background:var(--red)}
.home-motion.motion-enabled .splash-reveal>p{opacity:var(--reveal,0);transform:translateY(calc((1 - var(--reveal,0))*16px))}
.home-motion.motion-enabled .masthead{position:fixed;top:0;left:0;width:100%;transition:transform .25s ease,opacity .25s ease}
.home-motion.motion-enabled .masthead:not(.header-visible){transform:translateY(-100%);opacity:0;pointer-events:none}
.home-motion .masthead:focus-within{transform:none!important;opacity:1!important;pointer-events:auto!important}
.home-motion.motion-enabled main{padding-top:var(--header-height,170px)}
@media(max-width:760px){.splash-stage{padding-inline:20px}.splash-reveal p{font-size:19px}.home-motion .splash h1{width:86vw}}
@media(max-height:500px){.splash-stage{padding-block:16px}.splash-reveal p{font-size:18px;margin-bottom:8px}.home-motion .splash-scroll{gap:6px}.home-motion .splash-scroll svg{height:28px}}
@media(prefers-reduced-motion:reduce){.home-motion.motion-enabled .splash-reveal>p{opacity:1;transform:none}.home-motion.motion-enabled .masthead{transition:none}}

.splash-clock{position:absolute;top:24px;left:32px;right:32px;display:flex;justify-content:space-between;gap:16px;font-size:14px;letter-spacing:.06em;font-variant-numeric:tabular-nums}.splash-clock time{font-family:monospace;letter-spacing:0}.day-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:64px}.day-grid h2{font-size:clamp(38px,5vw,72px)}.day-date{font-size:24px;text-transform:capitalize}.day-events{list-style:none;padding:0;margin:0}.day-events li{display:grid;grid-template-columns:90px 1fr;gap:24px;border-top:1px solid;padding:24px 0}.day-year{font-size:36px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.day-events p{font-size:18px;margin:0 0 12px}.day-events a{font-size:14px;border-bottom:1px solid}.day-source{margin:28px 0 0}.day-source a{text-decoration:underline}.day-more{background:transparent;color:inherit;border:1px solid;padding:12px 16px;font-size:16px}.day-more:hover{background:var(--red);color:var(--paper)}@media(max-width:760px){.splash-clock{left:20px;right:20px;top:20px;font-size:12px;flex-wrap:wrap}.day-grid{grid-template-columns:1fr;gap:20px}.day-events li{grid-template-columns:70px 1fr;gap:16px}.day-year{font-size:30px}}

.home-archive .section-heading{align-items:baseline;margin-bottom:24px}.home-archive .section-heading h2{font-size:14px;font-weight:400;line-height:1.4;letter-spacing:.06em;margin:0}.home-archive .article-row{border-top:0}

.home-motion .splash-scroll svg{width:48px;height:48px}.feature-track{display:flex;gap:32px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:20px}.feature-track>.feature{flex:0 0 100%;min-width:0;scroll-snap-align:start}.carousel-controls{display:flex;align-items:center;gap:12px}.carousel-controls button{display:grid;place-items:center;background:none;color:inherit;border:1px solid;padding:6px;border-radius:0}.carousel-controls button:disabled{opacity:.3;cursor:default}.carousel-controls svg{width:36px;height:36px}.placeholder-visual{height:400px;border:1px solid;display:grid;place-items:center}.placeholder-visual span{font-size:clamp(100px,16vw,200px);letter-spacing:-.08em}.feature-placeholder .feature-copy{min-height:300px}@media(max-width:760px){.feature-track{gap:20px}.feature-track>.feature{flex-basis:100%}.placeholder-visual{height:270px}.carousel-controls{gap:8px}.carousel-controls svg{width:28px;height:28px}.carousel-controls #slide-count{display:none}.feature-placeholder .feature-copy{min-height:240px}}

.feature-track{scrollbar-width:none;-ms-overflow-style:none}.feature-track::-webkit-scrollbar{display:none;width:0;height:0}.home-archive .article-row+.article-row{border-top:1px solid}.draft-label{display:inline-block;margin-top:8px;font-size:14px}

/* WordPress integration */
.navigation ul{display:contents;list-style:none;margin:0;padding:0}.navigation li{display:contents}.navigation .current-menu-item>a,.navigation .current_page_item>a{background:var(--paper);color:var(--red)}.entry-content>*{max-width:100%}.entry-content .alignwide{max-width:1100px}.entry-content .alignfull{max-width:none;width:100vw;margin-left:calc(50% - 50vw)}.entry-content img{height:auto;max-width:100%}.wp-block-image img{height:auto}.wp-block-quote{border-left:2px solid;padding-left:24px;margin-left:0}.wp-block-button__link{background:var(--paper);color:var(--red);border-radius:0}
