:root{
  --ink:#20150f;
  --ink-soft:#5d4b3c;
  --paper:#fff7e8;
  --paper-2:#f4e4ca;
  --sand:#dcc396;
  --gold:#c9a456;
  --gold-2:#f0d27e;
  --red:#b11822;
  --red-dark:#71151d;
  --brown:#6b2f1a;
  --blue:#1b7593;
  --green:#53634a;
  --white:#fffdf7;
  --line:rgba(32,21,15,.14);
  --shadow:0 22px 80px rgba(58,33,18,.18);
  --radius:28px;
  --radius-sm:18px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--ink);background:
  radial-gradient(circle at 10% 2%, rgba(177,24,34,.14), transparent 30rem),
  radial-gradient(circle at 90% 8%, rgba(27,117,147,.13), transparent 26rem),
  linear-gradient(180deg,#fffdf7 0%,var(--paper) 45%,#f0dfc2 100%);min-height:100vh;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}code{background:rgba(107,47,26,.1);padding:.12rem .34rem;border-radius:.45rem}.shell{width:min(var(--max),calc(100% - 32px));margin-inline:auto}.section-block{padding:72px 0}.skip-link{position:fixed;top:10px;left:10px;z-index:9999;background:#fff;color:#111;padding:10px 14px;border-radius:999px;transform:translateY(-140%);transition:.2s}.skip-link:focus{transform:translateY(0)}
.topbar{position:sticky;top:10px;z-index:1000;width:min(1220px,calc(100% - 20px));height:70px;margin:10px auto 0;border:1px solid rgba(255,247,232,.24);border-radius:999px;background:rgba(32,21,15,.8);box-shadow:0 16px 48px rgba(0,0,0,.2);backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:space-between;padding:10px 12px 10px 18px;color:#fff7e8}.topbar__brand{display:flex;align-items:center;min-width:0}.topbar__brand img{height:38px;width:auto;max-width:min(420px,52vw);object-fit:contain}.topbar__nav{display:flex;align-items:center;gap:3px}.topbar__nav a{padding:10px 14px;border-radius:999px;color:rgba(255,247,232,.84);font-weight:750;font-size:.92rem;transition:.25s}.topbar__nav a:hover{background:rgba(255,247,232,.13);color:#fff}.menu-btn{display:none;width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,247,232,.12);align-items:center;justify-content:center;gap:5px;flex-direction:column}.menu-btn span{width:19px;height:2px;border-radius:999px;background:#fff7e8}
.eyebrow{margin:0 0 12px;text-transform:uppercase;letter-spacing:.16em;font-weight:900;font-size:.76rem;color:var(--red)}.hero .eyebrow,.publish .eyebrow{color:#f5d885}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,"Times New Roman",serif;color:#fff7e8;font-size:clamp(2.25rem,7vw,5.8rem);line-height:.98;letter-spacing:-.045em;text-wrap:balance;margin:22px 0 22px}h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,5.2vw,4.6rem);line-height:1.02;letter-spacing:-.04em;text-wrap:balance;margin-bottom:18px}h3{font-size:1.15rem;margin-bottom:10px}p{line-height:1.7;color:var(--ink-soft)}.lead{font-size:clamp(1.03rem,2vw,1.25rem);color:rgba(255,247,232,.82);max-width:760px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;padding:13px 19px;border:1px solid transparent;font-weight:900;transition:.25s ease;box-shadow:none}.btn:hover{transform:translateY(-2px)}.btn--gold{background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#2e1d0f;box-shadow:0 14px 38px rgba(201,164,86,.32)}.btn--ghost{color:#fff7e8;border-color:rgba(255,247,232,.32);background:rgba(255,247,232,.08)}.btn--dark{background:var(--ink);color:#fff7e8}.hero{position:relative;min-height:calc(100svh - 90px);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:42px;align-items:center;padding:76px 0 68px}.hero:before{content:"";position:absolute;inset:20px -28px 30px;border-radius:42px;background:linear-gradient(112deg,rgba(32,21,15,.97),rgba(65,34,20,.88) 55%,rgba(113,21,29,.62)),url('assets/pages/page-01.webp') center/cover;box-shadow:var(--shadow);z-index:-1;overflow:hidden}.hero:after{content:"";position:absolute;inset:20px -28px 30px;border-radius:42px;background:radial-gradient(circle at 78% 18%,rgba(240,210,126,.26),transparent 24rem),radial-gradient(circle at 20% 80%,rgba(27,117,147,.22),transparent 30rem);z-index:-1}.hero__logo{width:min(840px,96%);filter:drop-shadow(0 10px 24px rgba(0,0,0,.25))}.hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.hero__stats{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));gap:10px;max-width:560px}.hero__stats span{border:1px solid rgba(255,247,232,.18);border-radius:20px;background:rgba(255,247,232,.08);padding:13px 15px;color:#fff7e8}.hero__stats strong{display:block;font-size:1.12rem}.hero__stats small{display:block;color:rgba(255,247,232,.62);margin-top:2px}.hero__visual{position:relative;min-height:540px;display:grid;place-items:center}.cover-stack{position:relative;z-index:2;width:min(380px,84vw);padding:12px;border-radius:24px;background:rgba(255,247,232,.13);border:1px solid rgba(255,247,232,.22);box-shadow:0 28px 90px rgba(0,0,0,.34);transform:rotate(2deg)}.cover-stack img{border-radius:18px}.cover-stack span{position:absolute;left:28px;bottom:28px;background:rgba(32,21,15,.82);color:#fff7e8;border:1px solid rgba(255,247,232,.25);border-radius:999px;padding:9px 13px;font-weight:900;font-size:.78rem}.mascot{pointer-events:none;user-select:none}.mascot--hero{position:absolute;right:-5px;bottom:-16px;width:min(330px,54vw);z-index:3;filter:drop-shadow(0 24px 34px rgba(0,0,0,.35));animation:float 5s ease-in-out infinite}.intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:36px;align-items:start;margin-top:34px;padding:34px;border:1px solid rgba(32,21,15,.12);border-radius:var(--radius);background:rgba(255,253,247,.72);box-shadow:0 18px 64px rgba(58,33,18,.1);backdrop-filter:blur(12px)}.intro h2{font-size:clamp(1.8rem,4vw,3.5rem)}
.section-heading{max-width:830px;margin-bottom:24px}.section-heading p{font-size:1.03rem}.path-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.path-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,rgba(255,253,247,.92),rgba(255,247,232,.7));padding:22px;min-height:180px;box-shadow:0 14px 46px rgba(58,33,18,.09);transition:.25s}.path-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.path-card:after{content:attr(data-num);position:absolute;right:14px;bottom:-24px;font-family:Georgia,serif;font-size:6rem;font-weight:900;color:rgba(107,47,26,.07)}.path-card b{font-family:Georgia,serif;font-size:1.35rem}.path-card p{margin:12px 0 0}.reader{border-radius:32px;background:linear-gradient(180deg,rgba(32,21,15,.94),rgba(64,35,22,.94));border:1px solid rgba(255,247,232,.15);box-shadow:var(--shadow);padding:14px}.reader__top,.reader__controls{display:flex;align-items:center;justify-content:center;gap:10px;padding:6px}.reader__controls{flex-wrap:wrap;padding-top:14px}.round-btn,.tool-btn{border:1px solid rgba(255,247,232,.18);background:rgba(255,247,232,.08);color:#fff7e8;border-radius:999px;min-width:44px;min-height:44px;font-weight:900}.round-btn{font-size:1.8rem;line-height:1}.tool-btn--wide{padding:0 15px}.page-status{min-width:116px;text-align:center;color:#fff7e8;font-weight:900;background:rgba(0,0,0,.22);border-radius:999px;padding:12px 16px}.zoom-range{accent-color:var(--gold);width:min(280px,44vw)}.page-viewport{--zoom:1;position:relative;overflow:auto;overscroll-behavior:contain;max-height:min(78svh,980px);border-radius:24px;background:#18110c;display:grid;place-items:start center;padding:12px;touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch}.page-viewport img{width:100%;max-width:none;min-width:0;height:auto;border-radius:14px;box-shadow:0 18px 58px rgba(0,0,0,.42);background:#fff;transition:width .16s ease, opacity .18s ease}.page-viewport.is-changing img{opacity:.35;transform:scale(.985)}.page-viewport.is-hit{outline:3px solid var(--gold);outline-offset:5px}.thumbs-wrap{margin-top:18px;border:1px solid var(--line);border-radius:28px;background:rgba(255,253,247,.78);box-shadow:0 16px 52px rgba(58,33,18,.08);padding:16px}.thumbs-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:12px}.thumbs-head h3{margin:0;font-family:Georgia,serif;font-size:1.45rem}.thumbs-head small{color:var(--ink-soft)}.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:10px;max-height:360px;overflow:auto;padding:2px 2px 8px}.thumb{border:0;background:transparent;padding:0;border-radius:14px;position:relative}.thumb img{border-radius:12px;border:2px solid transparent;box-shadow:0 8px 22px rgba(58,33,18,.12);width:100%;height:auto}.thumb span{position:absolute;left:5px;top:5px;border-radius:999px;background:rgba(32,21,15,.78);color:#fff7e8;font-size:.68rem;font-weight:900;padding:3px 6px}.thumb.is-active img{border-color:var(--red);box-shadow:0 0 0 4px rgba(177,24,34,.14),0 12px 28px rgba(58,33,18,.16)}.search-card{position:relative;display:grid;grid-template-columns:220px minmax(0,1fr);gap:30px;border:1px solid rgba(32,21,15,.13);border-radius:34px;background:linear-gradient(135deg,#fffdf7,#f5e4c8);box-shadow:var(--shadow);padding:30px;overflow:hidden}.search-card>img{align-self:end;max-height:300px;object-fit:contain;filter:drop-shadow(0 20px 24px rgba(58,33,18,.16))}.search-input{display:grid;gap:8px}.search-input span{font-weight:900;color:var(--ink);font-size:.9rem}.search-input input{width:100%;min-height:54px;border:1px solid rgba(32,21,15,.16);border-radius:18px;background:#fffdf7;padding:0 16px;outline:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}.search-input input:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,164,86,.18)}.results{display:grid;gap:10px;margin-top:14px}.result{border:1px solid rgba(32,21,15,.12);background:rgba(255,253,247,.82);border-radius:18px;padding:14px;text-align:left}.result button{all:unset;cursor:pointer;display:block}.result strong{display:block}.result small{color:var(--red);font-weight:900}.result mark{background:rgba(240,210,126,.7);border-radius:.3em;padding:0 .15em}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.chip{border:1px solid rgba(32,21,15,.15);background:#fffdf7;border-radius:999px;padding:10px 13px;font-weight:900;color:var(--ink-soft)}.chip.is-active{background:var(--ink);color:#fff7e8;border-color:var(--ink)}.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.story-card{border:1px solid var(--line);border-radius:24px;background:rgba(255,253,247,.78);padding:20px;box-shadow:0 14px 38px rgba(58,33,18,.08);display:flex;flex-direction:column;min-height:270px}.story-card .tag{display:inline-flex;align-self:flex-start;border-radius:999px;background:rgba(177,24,34,.1);color:var(--red-dark);font-size:.72rem;font-weight:900;padding:6px 9px;margin-bottom:12px}.story-card h3{font-family:Georgia,serif;font-size:1.35rem}.story-card p{font-size:.94rem}.story-card footer{margin-top:auto;display:flex;justify-content:space-between;gap:10px;align-items:center}.page-link{border:0;border-radius:999px;background:var(--red);color:#fff;padding:9px 12px;font-weight:900}.sponsor-search{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:20px}.search-input--compact{width:min(520px,100%)}.sponsor-search strong{border-radius:999px;background:rgba(32,21,15,.08);padding:13px 16px;color:var(--ink-soft)}.sponsor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.sponsor-card{border:1px solid var(--line);background:rgba(255,253,247,.84);border-radius:26px;overflow:hidden;box-shadow:0 16px 42px rgba(58,33,18,.09);display:flex;flex-direction:column;min-height:100%;transition:.25s}.sponsor-card:hover{transform:translateY(-3px);box-shadow:0 20px 68px rgba(58,33,18,.15)}.sponsor-card.is-pulse{animation:pulseCard 1.2s ease}.sponsor-card__image{background:#fff;aspect-ratio:1/1;display:grid;place-items:center;padding:10px;border-bottom:1px solid var(--line)}.sponsor-card__image img{width:100%;height:100%;object-fit:contain;border-radius:16px}.sponsor-card__body{padding:18px;display:flex;flex-direction:column;gap:12px;flex:1}.sponsor-card h3{font-family:Georgia,serif;font-size:1.3rem;margin:0}.sponsor-card .category{display:inline-flex;align-self:flex-start;border-radius:999px;background:rgba(83,99,74,.12);color:#3f5038;font-weight:900;font-size:.74rem;padding:6px 10px}.sponsor-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}.action{min-height:42px;border:1px solid rgba(32,21,15,.12);border-radius:14px;background:#fff7e8;color:var(--ink);display:flex;align-items:center;justify-content:center;text-align:center;font-weight:900;font-size:.82rem;padding:8px}.action:hover:not(.is-disabled){background:var(--ink);color:#fff7e8}.action.is-disabled{opacity:.52;cursor:not-allowed;background:rgba(32,21,15,.05);color:rgba(32,21,15,.46)}.sponsor-meta{display:grid;gap:6px;color:var(--ink-soft);font-size:.88rem}.sponsor-meta b{color:var(--ink)}.publish{margin:56px auto 34px;padding:32px;border-radius:34px;background:linear-gradient(135deg,var(--brown),var(--red-dark));color:#fff7e8;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:22px}.publish h2{font-size:clamp(1.9rem,4vw,3.5rem);margin-bottom:10px}.publish p{color:rgba(255,247,232,.78);margin-bottom:0}.footer{padding:26px 0 40px}.footer__credit{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--ink-soft)}.footer__credit img{width:42px;height:42px;object-fit:contain}.footer__credit strong{color:var(--ink)}.to-top{position:fixed;right:16px;bottom:16px;width:48px;height:48px;border:0;border-radius:50%;background:var(--ink);color:#fff7e8;font-size:1.2rem;box-shadow:0 12px 32px rgba(0,0,0,.22);opacity:0;transform:translateY(14px);pointer-events:none;transition:.25s}.to-top.is-visible{opacity:1;transform:none;pointer-events:auto}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease, transform .6s ease}.reveal.is-visible{opacity:1;transform:none}@keyframes float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-12px) rotate(2deg)}}@keyframes pulseCard{0%{box-shadow:0 0 0 0 rgba(177,24,34,.45)}100%{box-shadow:0 0 0 20px rgba(177,24,34,0)}}
@media (max-width:980px){.topbar__nav{position:absolute;right:8px;top:78px;display:none;flex-direction:column;align-items:stretch;width:min(260px,calc(100vw - 28px));padding:10px;border-radius:22px;background:rgba(32,21,15,.94);box-shadow:var(--shadow)}.topbar__nav.is-open{display:flex}.topbar__nav a{padding:13px 14px}.menu-btn{display:flex}.hero{grid-template-columns:1fr;gap:10px;padding-top:52px}.hero__visual{min-height:420px}.cover-stack{width:min(330px,78vw)}.mascot--hero{width:min(245px,48vw);right:2vw}.intro,.search-card{grid-template-columns:1fr}.search-card>img{display:none}.path-grid,.story-grid,.sponsor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.publish{align-items:flex-start;flex-direction:column}.sponsor-search{align-items:stretch;flex-direction:column}.reader{border-radius:26px;padding:10px}.page-viewport{max-height:76svh;padding:8px}}
@media (max-width:640px){.shell{width:min(100% - 20px,var(--max))}.topbar{height:64px;top:6px;margin-top:6px}.topbar__brand img{height:30px;max-width:66vw}.hero{min-height:auto;padding:38px 0 52px}.hero:before,.hero:after{inset:8px -10px 18px;border-radius:30px}.hero__content{padding:10px}.hero__logo{width:100%;margin-top:4px}h1{font-size:clamp(2.15rem,13vw,4rem)}h2{font-size:clamp(1.9rem,10vw,3.1rem)}.lead{font-size:1rem}.hero__stats{grid-template-columns:1fr 1fr 1fr}.hero__stats span{padding:11px 9px}.cover-stack{width:min(285px,76vw)}.hero__visual{min-height:330px}.section-block{padding:54px 0}.intro{padding:22px;border-radius:24px}.path-grid,.story-grid,.sponsor-grid{grid-template-columns:1fr}.reader__top{justify-content:space-between}.round-btn{min-width:48px;min-height:48px}.page-viewport{border-radius:18px;max-height:72svh}.page-viewport img{border-radius:10px}.thumbs{grid-template-columns:repeat(auto-fill,minmax(58px,1fr));max-height:310px}.thumbs-wrap{border-radius:22px}.search-card{padding:20px;border-radius:24px}.sponsor-actions{grid-template-columns:1fr}.sponsor-card{border-radius:22px}.publish{padding:24px;border-radius:24px}.footer__credit{font-size:.9rem}.menu-btn{width:44px;height:44px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}


/* === Revisione richiesta: hero premium, libricino mobile-safe, miniature in una sola riga === */
.hero{min-height:auto;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:34px;padding:70px 0 58px;}
.hero:before{inset:18px -24px 24px;border-radius:44px;background:linear-gradient(115deg,rgba(24,14,9,.98) 0%,rgba(46,24,14,.96) 48%,rgba(105,28,28,.92) 100%),url('assets/pages/page-01.webp') center/cover;}
.hero:after{inset:18px -24px 24px;border-radius:44px;background:radial-gradient(circle at 83% 12%,rgba(240,210,126,.32),transparent 21rem),radial-gradient(circle at 12% 76%,rgba(27,117,147,.22),transparent 26rem),linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.22));}
.hero-panel{position:relative;z-index:1;padding:26px;border:1px solid rgba(255,247,232,.18);border-radius:32px;background:linear-gradient(180deg,rgba(255,247,232,.11),rgba(255,247,232,.055));box-shadow:0 26px 90px rgba(0,0,0,.18);backdrop-filter:blur(16px);}
.hero .eyebrow{color:#ffe49a;text-shadow:0 2px 12px rgba(0,0,0,.35);margin-bottom:14px;}
.hero__logo{max-width:840px;margin:0 0 22px;filter:drop-shadow(0 12px 28px rgba(0,0,0,.52));}
.hero-kicker{display:inline-flex;margin:0 0 14px;padding:9px 13px;border-radius:999px;background:rgba(240,210,126,.14);border:1px solid rgba(240,210,126,.28);color:#ffe6a6;font-weight:900;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;}
.hero h1{margin:0 0 18px;color:#fffdf7;text-shadow:0 3px 28px rgba(0,0,0,.48);letter-spacing:-.05em;max-width:820px;}
.hero .lead{color:rgba(255,253,247,.92);font-size:clamp(1.02rem,1.8vw,1.22rem);max-width:780px;text-shadow:0 2px 16px rgba(0,0,0,.22);}
.hero__stats{max-width:760px;margin-top:14px;}
.hero__stats span{background:linear-gradient(180deg,rgba(255,253,247,.16),rgba(255,253,247,.07));border-color:rgba(255,247,232,.22);box-shadow:0 12px 38px rgba(0,0,0,.12);}
.hero__stats strong{color:#fffdf7;}
.hero__stats small{color:rgba(255,247,232,.76);}
.hero__visual{min-height:500px;}
.cover-stack{width:min(405px,82vw);transform:rotate(1.5deg);background:rgba(255,253,247,.16);}
.mascot--hero{right:-2px;bottom:-18px;width:min(285px,45vw);}

.page-viewport{overflow:hidden;overscroll-behavior:auto;max-height:none;touch-action:pan-y pinch-zoom;align-items:start;}
.page-viewport.is-zoomed{overflow:auto;overscroll-behavior:contain;max-height:min(78svh,980px);touch-action:pan-x pan-y pinch-zoom;}
.reader:fullscreen{width:100vw;height:100vh;overflow:auto;border-radius:0;padding:14px;background:linear-gradient(180deg,#20150f,#3f2417);}
.reader:fullscreen .page-viewport{max-height:calc(100vh - 140px);}
.reader:fullscreen .page-viewport:not(.is-zoomed){overflow:auto;}

.thumbs-wrap{padding:16px 16px 18px;}
.thumbs-head{display:block;margin-bottom:4px;}
.thumbs-note{margin:0 0 12px;color:var(--ink-soft);font-weight:800;font-size:.92rem;}
.thumbs{display:flex;grid-template-columns:none;gap:10px;max-height:none;overflow-x:auto;overflow-y:hidden;padding:4px 2px 12px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;}
.thumb{flex:0 0 78px;scroll-snap-align:start;}
.thumb img{aspect-ratio:1/1.4;object-fit:cover;}
.sponsor-search{justify-content:flex-start;}

@media (max-width:980px){.hero{grid-template-columns:1fr;padding:52px 0 54px}.hero__visual{min-height:390px}.hero-panel{padding:22px}.page-viewport{max-height:none}.page-viewport.is-zoomed{max-height:74svh}.intro{display:none!important}}
@media (max-width:640px){.hero{padding:34px 0 42px}.hero:before,.hero:after{inset:6px -10px 14px;border-radius:30px}.hero-panel{padding:18px;border-radius:24px}.hero__logo{margin-bottom:16px}.hero h1{font-size:clamp(2.05rem,12vw,3.55rem)}.hero__stats{grid-template-columns:1fr;}.hero__visual{min-height:300px}.cover-stack{width:min(270px,76vw)}.mascot--hero{width:min(205px,44vw)}.page-viewport{max-height:none}.page-viewport.is-zoomed{max-height:70svh}.thumb{flex-basis:62px}.thumbs-wrap{border-radius:22px}}


/* === Revisione finale richiesta === */
.hero{min-height:auto;grid-template-columns:minmax(0,1fr) minmax(270px,.72fr);gap:38px;padding:76px 0 64px;}
.hero:before{inset:10px -22px 20px;border-radius:46px;background:linear-gradient(120deg,rgba(24,14,9,.98) 0%,rgba(45,24,15,.96) 47%,rgba(96,29,23,.94) 100%),url('assets/pages/page-01.webp') center/cover;}
.hero:after{inset:10px -22px 20px;border-radius:46px;background:radial-gradient(circle at 80% 16%,rgba(240,210,126,.33),transparent 22rem),radial-gradient(circle at 16% 82%,rgba(206,58,41,.22),transparent 24rem),linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.23));}
.hero__content{position:relative;z-index:2;display:grid;align-content:center;gap:20px;}
.hero__logo{width:min(720px,96%);margin:0;filter:drop-shadow(0 16px 34px rgba(0,0,0,.58));}
.hero-card{max-width:780px;padding:28px;border-radius:32px;border:1px solid rgba(255,247,232,.18);background:linear-gradient(180deg,rgba(255,247,232,.12),rgba(255,247,232,.055));backdrop-filter:blur(18px);box-shadow:0 28px 90px rgba(0,0,0,.20);}
.hero .eyebrow{margin:0;color:#ffe5a3;text-shadow:0 2px 14px rgba(0,0,0,.48);}
.hero-kicker{display:inline-flex;margin:0 0 14px;padding:8px 12px;border-radius:999px;background:rgba(240,210,126,.16);border:1px solid rgba(240,210,126,.3);color:#ffe4a2;font-weight:900;text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;}
.hero h1{font-size:clamp(3rem,9vw,7.2rem);line-height:.88;margin:0 0 10px;color:#fffdf7;text-shadow:0 4px 34px rgba(0,0,0,.56);}
.hero-subtitle{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.35rem,3vw,2.35rem);line-height:1.06;color:#f8dfaa;margin:0 0 18px;text-wrap:balance;}
.hero .lead{max-width:670px;color:rgba(255,253,247,.91);font-size:clamp(1rem,1.55vw,1.15rem);text-shadow:0 2px 12px rgba(0,0,0,.26);}
.hero__actions{margin:24px 0 0;}
.hero__stats{display:none!important;}
.hero-panel{display:contents;}
.hero__visual{min-height:500px;}
.cover-stack{width:min(350px,78vw);transform:rotate(-1.4deg);}
.mascot--hero{width:min(260px,42vw);right:-10px;bottom:-22px;}
.page-viewport{overflow:hidden;overscroll-behavior:auto;touch-action:pan-y pinch-zoom;}
.page-viewport.is-zoomed{overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;}
.reader:fullscreen{height:100vh;overflow:hidden;display:flex;flex-direction:column;}
.reader:fullscreen .page-viewport{flex:1;max-height:none;}
.reader:fullscreen .reader__controls{padding-bottom:max(14px,env(safe-area-inset-bottom));}
.sponsor-actions:empty{display:none;}
.action.is-disabled{display:none!important;}
.sponsor-note{font-size:.9rem;color:var(--ink-soft);margin:0;}
.footer{padding:30px 0 44px;}
.footer__credit{gap:9px;font-size:.95rem;}
.footer__created{color:var(--ink-soft);}
.footer__brand{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-weight:900;}
.footer__brand img{width:28px;height:28px;object-fit:contain;flex:0 0 auto;}
.footer__brand strong{line-height:1;}
@media (max-width:980px){.hero{grid-template-columns:1fr;padding:54px 0 58px;}.hero__visual{min-height:360px}.hero-card{padding:22px}.hero__logo{width:min(620px,100%);}.mascot--hero{right:8vw;width:min(220px,44vw)}}
@media (max-width:640px){.hero{padding:34px 0 48px}.hero:before,.hero:after{inset:4px -10px 12px;border-radius:30px}.hero__content{gap:14px;padding:10px}.hero-card{padding:18px;border-radius:24px}.hero h1{font-size:clamp(3rem,18vw,4.6rem)}.hero-subtitle{font-size:clamp(1.2rem,6vw,1.75rem)}.hero__visual{min-height:290px}.cover-stack{width:min(260px,74vw)}.mascot--hero{width:min(185px,43vw);right:2vw}.footer__credit{flex-wrap:wrap}.footer__brand img{width:25px;height:25px}}


/* ===== Revisione finale: spazi, hero bruno, libricino stabile, CTA sponsor ===== */
.section-block{padding:44px 0!important;}
.section-heading{margin-bottom:18px!important;}
.path-grid,.story-grid,.sponsor-grid{gap:14px!important;}
.reader-section{padding-top:38px!important;}
.search-section,.stories,.sponsors{padding-top:42px!important;}

.hero{
  min-height:auto!important;
  grid-template-columns:minmax(0,1.03fr) minmax(260px,.72fr)!important;
  gap:34px!important;
  padding:52px 0 46px!important;
}
.hero:before{
  inset:0 -22px 8px!important;
  border-radius:44px!important;
  background:
    radial-gradient(circle at 14% 22%,rgba(201,164,86,.18),transparent 25rem),
    radial-gradient(circle at 92% 12%,rgba(116,54,32,.55),transparent 27rem),
    linear-gradient(135deg,#1d0f08 0%,#2b160d 45%,#442315 100%)!important;
  box-shadow:0 28px 90px rgba(33,17,10,.26)!important;
}
.hero:after{
  inset:0 -22px 8px!important;
  border-radius:44px!important;
  background:
    linear-gradient(180deg,rgba(255,247,232,.035),rgba(0,0,0,.2)),
    repeating-linear-gradient(90deg,rgba(255,247,232,.04) 0 1px,transparent 1px 82px)!important;
}
.hero__content{align-content:center!important;}
.hero-card--new{
  max-width:760px!important;
  padding:30px!important;
  border-radius:34px!important;
  background:linear-gradient(180deg,rgba(255,247,232,.12),rgba(255,247,232,.06))!important;
  border:1px solid rgba(255,247,232,.18)!important;
  box-shadow:0 24px 80px rgba(0,0,0,.20)!important;
  backdrop-filter:blur(14px)!important;
}
.hero .eyebrow{color:#f2d58d!important;letter-spacing:.18em!important;text-shadow:none!important;}
.hero__logo{
  width:auto!important;
  max-width:min(670px,100%)!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:left center!important;
  margin:0 0 18px!important;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.42))!important;
}
.hero-rule{width:min(320px,70%);height:1px;background:linear-gradient(90deg,rgba(240,210,126,.72),transparent);margin:6px 0 20px;}
.hero h1{color:#fff8e8!important;font-size:clamp(2.7rem,7.4vw,6.2rem)!important;line-height:.9!important;margin:0 0 12px!important;text-shadow:0 4px 28px rgba(0,0,0,.38)!important;}
.hero-subtitle{color:#f0d27e!important;margin-bottom:14px!important;}
.hero .lead{color:rgba(255,248,232,.88)!important;line-height:1.62!important;}
.hero-pills{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 2px;}
.hero-pills span{border:1px solid rgba(240,210,126,.24);background:rgba(240,210,126,.10);color:#fff1c2;border-radius:999px;padding:8px 11px;font-size:.82rem;font-weight:850;}
.hero__actions{margin-top:22px!important;}
.hero__visual{min-height:420px!important;}
.cover-stack{width:min(330px,72vw)!important;background:rgba(255,247,232,.10)!important;}
.mascot--hero{width:min(220px,39vw)!important;right:0!important;bottom:-10px!important;}

.page-viewport{scroll-behavior:auto!important;}
.thumbs{scroll-behavior:smooth;}
.to-sponsor{
  width:auto!important;height:auto!important;min-width:112px!important;min-height:48px!important;
  border-radius:999px!important;padding:0 18px!important;
  background:linear-gradient(135deg,var(--gold-2),var(--gold))!important;color:#25150c!important;
  box-shadow:0 16px 42px rgba(58,33,18,.24)!important;font-size:.9rem!important;font-weight:950!important;
}
.to-sponsor.is-visible{transform:translateY(0)!important;}

@media (max-width:980px){
  .section-block{padding:36px 0!important;}
  .hero{grid-template-columns:1fr!important;padding:36px 0 40px!important;}
  .hero__visual{min-height:300px!important;}
  .hero-card--new{padding:22px!important;}
  .hero__logo{max-width:min(560px,100%)!important;}
}
@media (max-width:640px){
  .shell{width:min(var(--max),calc(100% - 24px));}
  .section-block{padding:30px 0!important;}
  .hero{padding:24px 0 32px!important;gap:18px!important;}
  .hero:before,.hero:after{inset:0 -8px 4px!important;border-radius:28px!important;}
  .hero-card--new{padding:18px!important;border-radius:24px!important;}
  .hero__logo{max-width:100%!important;margin-bottom:14px!important;}
  .hero h1{font-size:clamp(2.7rem,16vw,4.2rem)!important;}
  .hero-pills span{font-size:.76rem;padding:7px 9px;}
  .hero__visual{min-height:245px!important;}
  .cover-stack{width:min(238px,70vw)!important;}
  .mascot--hero{width:min(160px,42vw)!important;right:2vw!important;}
  .to-sponsor{right:14px!important;bottom:14px!important;min-width:96px!important;min-height:44px!important;padding:0 14px!important;}
}


/* ===== CORREZIONI FINALI 18/05: hero marrone, pulsanti hero rimossi, download libricino ===== */
.hero::before,
.hero:before{
  background:#20150f!important;
  box-shadow:0 28px 90px rgba(32,21,15,.34)!important;
}
.hero::after,
.hero:after{
  background:
    radial-gradient(circle at 16% 18%,rgba(240,210,126,.16),transparent 24rem),
    radial-gradient(circle at 92% 14%,rgba(107,47,26,.34),transparent 28rem),
    linear-gradient(180deg,rgba(255,247,232,.03),rgba(0,0,0,.22))!important;
}
.hero-card--new,
.hero-card{
  background:rgba(32,21,15,.94)!important;
  border-color:rgba(255,247,232,.20)!important;
}
.hero h1,
.hero .lead{color:#fff8e8!important;}
.hero-subtitle{color:#f0d27e!important;}
.hero-pills{display:none!important;}
.booklet-download{display:flex;justify-content:center;margin:18px 0 0;}
.btn--download{min-width:min(100%,260px);text-align:center;box-shadow:0 16px 38px rgba(58,33,18,.22);}
.btn--download::before{content:"↓";margin-right:8px;font-weight:950;}
@media (max-width:640px){.booklet-download{margin-top:16px}.btn--download{width:100%;justify-content:center}}


/* ===== SFONDO DEFINITIVO RESPONSIVE 19/05 =====
   Usa l'immagine verticale allegata come sfondo reale della pagina.
   Regola fondamentale: niente background-size: cover, perché taglierebbe
   l'immagine. Con 100% auto l'immagine scala alla larghezza del dispositivo,
   mantiene proporzioni e viene ripetuta in verticale mostrando ogni volta
   tutta la sua lunghezza. */
html{
  scroll-behavior:smooth;
  background-color:#f5ecdc!important;
  background-image:url("assets/background/sfondo-briganti-20260520-v3.jpg")!important;
  background-repeat:repeat-y!important;
  background-position:center top!important;
  background-size:100% auto!important;
  background-attachment:scroll!important;
}
body{
  position:relative!important;
  isolation:isolate!important;
  background:transparent!important;
  min-height:100vh;
}
body::before{
  content:""!important;
  position:fixed!important;
  inset:0!important;
  pointer-events:none!important;
  z-index:0!important;
  opacity:1!important;
  background:
    linear-gradient(90deg,rgba(245,236,220,.22) 0%,rgba(255,253,247,.04) 18%,rgba(255,253,247,.04) 82%,rgba(245,236,220,.22) 100%),
    linear-gradient(180deg,rgba(255,253,247,.10),rgba(255,253,247,.20) 50%,rgba(245,236,220,.18));
  mix-blend-mode:normal!important;
}
body::after{
  content:"✕"!important;
  position:fixed!important;
  top:6vh!important;
  left:4vw!important;
  width:1px!important;
  height:1px!important;
  pointer-events:none!important;
  z-index:0!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:26px!important;
  line-height:1!important;
  font-weight:700!important;
  color:rgba(102,18,24,.30)!important;
  text-shadow:
    13vw 15vh 0 rgba(102,18,24,.18),
    72vw 13vh 0 rgba(102,18,24,.15),
    87vw 35vh 0 rgba(102,18,24,.20),
    24vw 49vh 0 rgba(102,18,24,.17),
    58vw 62vh 0 rgba(102,18,24,.13),
    10vw 78vh 0 rgba(102,18,24,.18),
    78vw 84vh 0 rgba(102,18,24,.15),
    44vw 27vh 0 rgba(102,18,24,.12);
  mix-blend-mode:multiply!important;
  transform:translate3d(0,0,0) rotate(-8deg);
  animation:brigand-x-fade 8.5s ease-in-out infinite;
  will-change:opacity,transform;
}
main,.footer{
  position:relative;
  z-index:1;
}
.topbar{position:sticky!important;z-index:1000!important;}
.topbar__nav{z-index:1001!important;}
.to-top{z-index:1002!important;}
.skip-link{z-index:9999!important;}
.hero::before,
.hero:before,
.hero::after,
.hero:after{
  display:none!important;
}
.hero{
  background:transparent!important;
  box-shadow:none!important;
}
.hero-card--new,
.hero-card{
  background:linear-gradient(180deg,rgba(32,21,15,.86),rgba(32,21,15,.72))!important;
  border:1px solid rgba(255,247,232,.18)!important;
  box-shadow:0 24px 70px rgba(32,21,15,.22)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}
.reader,.topbar{
  box-shadow:0 18px 58px rgba(32,21,15,.18)!important;
}
.path-card,.thumbs-wrap,.search-card,.story-card,.sponsor-card{
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
@keyframes brigand-x-fade{
  0%,100%{opacity:.07;transform:translate3d(0,0,0) rotate(-8deg) scale(.96)}
  18%{opacity:.28;transform:translate3d(1px,-1px,0) rotate(-7deg) scale(1)}
  38%{opacity:.11;transform:translate3d(-1px,1px,0) rotate(-9deg) scale(.98)}
  62%{opacity:.25;transform:translate3d(1px,1px,0) rotate(-6deg) scale(1.02)}
  82%{opacity:.13;transform:translate3d(0,-1px,0) rotate(-8deg) scale(.99)}
}
@media (max-width:640px){
  html{
    background-size:100% auto!important;
    background-position:center top!important;
    background-repeat:repeat-y!important;
  }
  body::before{
    background:linear-gradient(180deg,rgba(255,253,247,.08),rgba(255,253,247,.18) 55%,rgba(245,236,220,.16));
  }
  body::after{font-size:21px!important;text-shadow:
    10vw 12vh 0 rgba(102,18,24,.18),
    75vw 18vh 0 rgba(102,18,24,.16),
    82vw 44vh 0 rgba(102,18,24,.18),
    18vw 58vh 0 rgba(102,18,24,.15),
    62vw 76vh 0 rgba(102,18,24,.15);
  }
}
@media (prefers-reduced-motion:reduce){
  body::after{animation:none!important;opacity:.14!important;will-change:auto!important;}
}

/* ===== FIX 19/05: scroll orizzontale completo del libricino zoomato =====
   Il viewer non usa più centrature CSS quando la pagina è ingrandita:
   così l'immagine parte da sinistra e il contenitore può scorrere fino
   all'estremo destro senza tagli su mobile, tablet e desktop. */
.page-viewport{
  display:block!important;
  place-items:initial!important;
  justify-items:start!important;
  align-items:start!important;
  text-align:left!important;
  overflow:hidden!important;
  touch-action:pan-y pinch-zoom!important;
}
.page-viewport.is-zoomed{
  overflow:auto!important;
  overscroll-behavior:contain!important;
  touch-action:pan-x pan-y pinch-zoom!important;
}
.page-viewport img{
  display:block!important;
  width:calc(var(--zoom, 1) * 100%)!important;
  min-width:100%!important;
  max-width:none!important;
  margin:0!important;
  transform-origin:top left!important;
}
.reader:fullscreen .page-viewport{
  overflow:auto!important;
}
@media (max-width:640px){
  .page-viewport.is-zoomed{
    max-height:72svh!important;
  }
}

/* ===== HOTSPOT SPONSOR NEL LIBRICINO DIGITALE 19/05 ===== */
.page-stage{
  position:relative!important;
  display:block!important;
  width:calc(var(--zoom, 1) * 100%)!important;
  min-width:100%!important;
  max-width:none!important;
  margin:0!important;
  transform-origin:top left!important;
}
.page-stage > img,
.page-viewport .page-stage > img{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  margin:0!important;
}
.sponsor-hotspots{
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
}
.sponsor-hotspot{
  position:absolute;
  display:block;
  padding:0;
  border:0;
  border-radius:10px;
  background:rgba(107,18,24,0);
  cursor:pointer;
  pointer-events:auto;
  touch-action:pan-x pan-y;
  -webkit-tap-highlight-color:rgba(107,18,24,.16);
}
.sponsor-hotspot::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  border:1px solid rgba(102,18,24,0);
  box-shadow:0 0 0 rgba(102,18,24,0);
  transition:border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.sponsor-hotspot:hover::after,
.sponsor-hotspot:focus-visible::after{
  border-color:rgba(102,18,24,.34);
  background:rgba(255,247,232,.10);
  box-shadow:0 12px 30px rgba(58,33,18,.12);
}
.sponsor-hotspot span{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.sponsor-modal[hidden]{display:none!important;}
.sponsor-modal{
  position:fixed;
  inset:0;
  z-index:5000;
  display:grid;
  place-items:center;
  padding:clamp(14px,3vw,32px);
}
.sponsor-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(21,14,10,.58);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.sponsor-modal__panel{
  position:relative;
  z-index:1;
  width:min(920px,100%);
  max-height:min(88svh,920px);
  overflow:auto;
  border:1px solid rgba(255,247,232,.46);
  border-radius:30px;
  background:linear-gradient(180deg,rgba(255,253,247,.98),rgba(248,239,220,.96));
  box-shadow:0 34px 120px rgba(21,14,10,.45);
  outline:none;
}
.sponsor-modal__close{
  position:sticky;
  top:14px;
  float:right;
  z-index:2;
  width:42px;
  height:42px;
  margin:14px 14px 0 0;
  border:1px solid rgba(58,33,18,.18);
  border-radius:999px;
  background:rgba(32,21,15,.94);
  color:#fff8e8;
  font-size:25px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(21,14,10,.18);
}
.modal-sponsor-card{
  display:grid;
  grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);
  gap:0;
  padding:18px;
}
.modal-sponsor-card__image{
  display:grid;
  place-items:center;
  min-height:320px;
  padding:18px;
  border-radius:24px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(58,33,18,.10);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.45);
}
.modal-sponsor-card__image img{
  display:block;
  width:100%;
  height:auto;
  max-height:58svh;
  object-fit:contain;
  border-radius:16px;
}
.modal-sponsor-card__body{
  padding:clamp(18px,4vw,34px);
  align-self:center;
}
.modal-sponsor-card__body h2{
  margin:8px 0 14px;
  color:#24170f;
  font-size:clamp(1.7rem,4.2vw,3.2rem);
}
.modal-sponsor-card .sponsor-meta{
  margin-top:14px;
}
.modal-sponsor-card .sponsor-actions{
  margin-top:18px;
}
body.has-sponsor-modal{
  overflow:hidden;
}
@media (max-width:760px){
  .sponsor-modal{padding:10px;align-items:end;}
  .sponsor-modal__panel{width:100%;max-height:90svh;border-radius:26px 26px 18px 18px;}
  .modal-sponsor-card{grid-template-columns:1fr;padding:12px;}
  .modal-sponsor-card__image{min-height:190px;padding:12px;border-radius:20px;}
  .modal-sponsor-card__image img{max-height:38svh;}
  .modal-sponsor-card__body{padding:18px 12px 20px;}
  .sponsor-modal__close{top:10px;margin:10px 10px 0 0;}
}
@media (prefers-reduced-motion:no-preference){
  .sponsor-modal__backdrop{animation:sponsor-modal-fade .18s ease both;}
  .sponsor-modal__panel{animation:sponsor-modal-rise .22s ease both;}
  @keyframes sponsor-modal-fade{from{opacity:0}to{opacity:1}}
  @keyframes sponsor-modal-rise{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
}

/* ===== FIX DEFINITIVO SFONDO NON TAGLIATO 19/05 - v2 =====
   Il problema era lo scaling al 100% della larghezza su desktop: l'immagine
   diventava altissima e la parte finale non si vedeva prima della fine pagina.
   Ora lo sfondo è applicato al body, non all'html, con una larghezza massima:
   su mobile resta 100vw, su schermi grandi non viene ingrandito troppo.
   Niente cover: nessun taglio dell'immagine. */
html{
  min-height:100%!important;
  background:#f5ecdc!important;
  background-image:none!important;
}
body{
  min-height:100vh!important;
  background-color:#f5ecdc!important;
  background-image:url("assets/background/sfondo-briganti-20260520-v3.jpg")!important;
  background-repeat:repeat-y!important;
  background-position:center top!important;
  background-size:min(100vw, 760px) auto!important;
  background-attachment:scroll!important;
  background-origin:border-box!important;
  background-clip:border-box!important;
}
@supports (height:100dvh){
  body{min-height:100dvh!important;}
}
@media (max-width:760px){
  body{
    background-size:100vw auto!important;
    background-position:center top!important;
    background-repeat:repeat-y!important;
  }
}

/* ===== FIX 20/05: nascondi immagine di background su tablet e desktop =====
   L'immagine pergamena resta attiva solo su smartphone. Da tablet e desktop
   viene rimossa completamente per evitare che si veda sullo sfondo. */
@media (min-width:768px){
  html,
  body{
    background-color:#f5ecdc!important;
    background-image:none!important;
  }
}

@media (max-width:767px){
  html{
    background-color:#f5ecdc!important;
    background-image:none!important;
  }
  body{
    background-color:#f5ecdc!important;
    background-image:url("assets/background/sfondo-briganti-20260520-v3.jpg")!important;
    background-repeat:repeat-y!important;
    background-position:center top!important;
    background-size:100% auto!important;
    background-attachment:scroll!important;
  }
}

/* ===== FIX IPHONE FULLSCREEN 24/05/2026 =====
   Su iPhone Safari il Fullscreen API non si comporta come Android.
   Questa modalità non ricrea il libricino: usa lo stesso DOM, gli stessi
   pulsanti e lo stesso caricamento immagini, ma porta il reader in fixed. */
html.reader-fullscreen-lock,
body.reader-fullscreen-lock{
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
.reader.is-ios-fullscreen{
  position:fixed!important;
  z-index:2147483000!important;
  inset:0!important;
  width:100vw!important;
  height:var(--reader-app-height,100dvh)!important;
  max-height:var(--reader-app-height,100dvh)!important;
  margin:0!important;
  border-radius:0!important;
  border:0!important;
  box-sizing:border-box!important;
  padding:calc(env(safe-area-inset-top,0px) + 8px) 8px calc(env(safe-area-inset-bottom,0px) + 8px)!important;
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,#20150f 0%,#3f2417 100%)!important;
}
.reader.is-ios-fullscreen .reader__top,
.reader.is-ios-fullscreen .reader__controls{
  position:relative!important;
  z-index:3!important;
  flex:0 0 auto!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.reader.is-ios-fullscreen .reader__top{
  justify-content:space-between!important;
  padding:0 2px 2px!important;
}
.reader.is-ios-fullscreen .reader__controls{
  justify-content:center!important;
  align-items:center!important;
  gap:8px!important;
  padding:0 2px!important;
  flex-wrap:wrap!important;
}
.reader.is-ios-fullscreen .page-viewport{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  width:100%!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  overflow:hidden!important;
  padding:8px!important;
  border-radius:18px!important;
  background:#18110c!important;
  touch-action:pan-y pinch-zoom!important;
  -webkit-overflow-scrolling:touch!important;
}
.reader.is-ios-fullscreen .page-viewport.is-zoomed{
  overflow:auto!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  touch-action:pan-x pan-y pinch-zoom!important;
}
.reader.is-ios-fullscreen .page-stage{
  width:min(100%,var(--reader-fit-width,100%))!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0 auto!important;
  flex:0 0 auto!important;
}
.reader.is-ios-fullscreen .page-viewport.is-zoomed .page-stage{
  width:calc(var(--zoom,1) * 100%)!important;
  min-width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.reader.is-ios-fullscreen .page-stage > img,
.reader.is-ios-fullscreen .page-viewport .page-stage > img{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  display:block!important;
}
.reader.is-ios-fullscreen .round-btn,
.reader.is-ios-fullscreen .tool-btn{
  min-width:44px!important;
  min-height:44px!important;
  flex:0 0 auto!important;
}
.reader.is-ios-fullscreen .tool-btn--wide{
  padding-inline:14px!important;
}
.reader.is-ios-fullscreen .zoom-range{
  width:min(210px,42vw)!important;
  flex:0 1 210px!important;
}
.reader.is-ios-fullscreen .page-status{
  min-width:106px!important;
  padding:11px 14px!important;
}

/* ===== FIX IPHONE SPONSOR LIST 29/05/2026 =====
   Stabilizza il rendering delle immagini sponsor su Safari iOS.
   Evita la combinazione aspect-ratio + grid + height:100% che può decentrare
   o deformare le immagini nella lista in basso su iPhone. */
.sponsor-card__image{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  padding:0!important;
  overflow:hidden!important;
  line-height:0!important;
  background:#fff!important;
  border-bottom:1px solid var(--line)!important;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
}
.sponsor-card__image::before{
  content:"";
  display:block;
  width:100%;
  padding-top:100%;
}
.sponsor-card__image img{
  position:absolute!important;
  inset:10px!important;
  display:block!important;
  width:calc(100% - 20px)!important;
  height:calc(100% - 20px)!important;
  max-width:calc(100% - 20px)!important;
  max-height:calc(100% - 20px)!important;
  object-fit:contain!important;
  object-position:center center!important;
  margin:0!important;
  border-radius:16px!important;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
}

/* Stessa logica di centratura anche nella scheda popup degli sponsor. */
.modal-sponsor-card__image{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  line-height:0!important;
}
.modal-sponsor-card__image img{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:58svh!important;
  object-fit:contain!important;
  object-position:center center!important;
  margin:auto!important;
}
@media (max-width:760px){
  .modal-sponsor-card__image img{
    max-height:38svh!important;
  }
}
