.app-header{position:relative;z-index:5;background:#0d3038;color:#fff;border-bottom:1px solid #ffffff25}
.app-header-inner{max-width:1180px;margin:auto;padding:8px 22px;min-height:68px;display:flex;align-items:center;gap:22px}
.site-brand{flex:0 0 auto;display:flex;align-items:center;width:166px;height:50px}
.site-brand img{display:block;max-width:100%;max-height:55px;object-fit:contain}
.app-menu{position:static;left:auto;right:auto;top:auto;display:flex;align-items:center;justify-content:center;gap:4px;flex:1;min-width:0;height:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.app-menu a{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:8px 11px;border-radius:8px;color:#e6f3ef;text-decoration:none;font-size:.84rem;font-weight:700;white-space:nowrap}
.app-menu a:hover,.app-menu a[aria-current="page"]{background:#ffffff17;color:#fff}
.app-menu a[aria-current="page"]{box-shadow:inset 0 -3px #25b895}
.site-instagram{flex:0 0 auto;display:grid;place-items:center;width:40px;height:40px;border-radius:9px;color:#e6f3ef}
.site-instagram svg{width:22px;height:22px}.site-instagram:hover{background:#ffffff17;color:#fff}
.app-header a:focus-visible,.site-footer a:focus-visible{outline:2px solid #6ce0bf;outline-offset:3px}
.site-footer{width:100%;background:#0d3038;color:#e5f0eb;margin-top:auto}
.site-footer-inner{max-width:1180px;margin:auto;padding:32px 22px;display:grid;grid-template-columns:minmax(210px,1.4fr) minmax(130px,1fr) minmax(220px,1.2fr);gap:34px}
.site-footer-brand img{display:block;width:172px;max-width:100%;height:auto}.site-footer-brand p,.site-footer-contacts p{font-size:.82rem;color:#c6ddd5;line-height:1.5;margin:8px 0 0}
.site-footer h2{font-size:.9rem;margin:0 0 10px;color:#fff}
.site-footer nav,.site-footer-contacts{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.site-footer a{color:#d5eee4;text-decoration:none;font-size:.83rem}.site-footer a:hover{text-decoration:underline;color:#fff}
@media(max-width:980px){.app-header-inner{gap:10px;padding:8px 16px}.site-brand{width:130px}.app-menu{gap:0}.app-menu a{padding:7px 6px;font-size:.75rem}.site-instagram{width:34px}}
@media(max-width:720px){.app-header-inner{flex-wrap:wrap;gap:3px 10px;padding:7px 14px}.site-brand{width:135px;height:44px}.site-instagram{margin-left:auto}.app-menu{order:3;flex:0 0 100%;justify-content:flex-start;overflow-x:auto;scrollbar-width:thin;padding-bottom:3px}.app-menu a{font-size:.78rem;padding:7px 10px}.site-footer-inner{grid-template-columns:1fr 1fr;gap:26px}.site-footer-brand{grid-column:1/-1}}
@media(max-width:480px){.site-footer-inner{grid-template-columns:1fr}.site-footer-brand{grid-column:auto}}
/* Le tre macro-card condividono proporzioni e struttura. */
#homeView .home-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#homeView .home-actions .macro-card{min-height:246px;width:100%;padding:23px;border-radius:18px}
#homeView .home-actions .macro-card--league{grid-column:1/-1;justify-self:center;width:calc((100% - 18px)/2)}
#homeView .macro-card--league .home-action-icon{background:#fff1d5;color:#946918}
#homeView .macro-card--league .macro-preview button{background:#fff4de;color:#805b1d}
#homeView .home-actions .macro-card .home-action-copy{display:flex;flex-direction:column;align-self:stretch}
#homeView .macro-card .macro-open{align-self:flex-start;margin-top:auto;padding-top:16px}
#homeView .home-action .home-action-icon{flex-shrink:0}
/* La stessa gerarchia hero > navigazione > contenuto vale per ogni landing. */
#player-hubView,#team-hubView,#league-hubView{padding:30px;border-radius:22px;background:linear-gradient(120deg,#0b3038,#145450);color:#fff}
#player-hubView h1,#team-hubView h1,#league-hubView :is(h1,.seo-page-title){color:#fff}
#player-hubView>.lead,#team-hubView>.lead,#league-hubView>.lead{color:#d7ede5}
#player-hubView .macro-nav,#team-hubView .macro-nav,#league-hubView .macro-nav{margin:22px 0 20px;padding-bottom:5px}
#player-hubView .macro-nav a,#team-hubView .macro-nav a,#league-hubView .macro-nav a{background:#ffffff19;border-color:#ffffff27;color:#fff}
#player-hubView .macro-nav a:hover,#team-hubView .macro-nav a:hover,#league-hubView .macro-nav a:hover{background:#fff;color:#174f47}
#player-hubView .macro-nav .macro-nav-root,#team-hubView .macro-nav .macro-nav-root,#league-hubView .macro-nav .macro-nav-root{background:#fff;color:#174f47}
#player-hubView .hub-card,#team-hubView .hub-card,#league-hubView .hub-card{background:#fff}
#player-hubView .hub-secondary,#team-hubView .hub-secondary,#league-hubView .hub-secondary{color:#d7ede5}
#player-hubView .hub-secondary a,#team-hubView .hub-secondary a,#league-hubView .hub-secondary a{color:#fff}
#player-hubView .hub-search{color:#172334}
#league-hubView #leagueHubEmpty button{margin:0;background:#177666;color:#fff}
body[data-macro="league"] .app-menu a[aria-current="page"]{box-shadow:inset 0 -3px #d9ad57}
body[data-macro="team"] .app-menu a[aria-current="page"]{box-shadow:inset 0 -3px #b7d998}
.app-meta{text-align:center;padding:0 20px 16px;background:#f2f5f8}
@media(max-width:720px){#homeView .home-actions{grid-template-columns:1fr}#homeView .home-actions .macro-card--league{grid-column:auto;width:100%}#player-hubView,#team-hubView,#league-hubView{padding:24px 18px}}
/* Vista home: fascia a tutta larghezza, contenuto centrato come nei mockup. */
#homeView{width:100vw;margin:12px 0 0 calc(50% - 50vw);padding:32px max(22px,calc((100vw - 1120px)/2 + 20px)) 42px;border-radius:0;box-shadow:none}
#homeView .home-logo-title{width:min(390px,75vw);height:105px;margin:0 auto 2px;overflow:visible}
#homeView .home-logo{object-fit:contain}
#homeView .lead{max-width:none;margin:0 auto;text-align:center;font-size:1rem}
#homeView .home-actions{width:100%;max-width:1010px;margin:24px auto 0;gap:14px}
#homeView .home-actions .macro-card{min-height:187px;padding:19px 20px;border-radius:16px;box-shadow:0 10px 26px #041d1c20}
#homeView .home-actions .macro-card--league{width:calc((100% - 14px)/2)}
#homeView .home-action .home-action-icon{width:66px;height:66px;flex-basis:66px}
#homeView .macro-card h2{font-size:1.34rem}
#homeView .macro-card p{font-size:.88rem;line-height:1.38;margin-bottom:9px}
#homeView .macro-preview{gap:5px}
#homeView .macro-preview button{font-size:.71rem;padding:4px 7px}
#homeView .macro-card .macro-open{padding-top:9px}
/* Landing omogenee: hero compatta sopra un unico pannello chiaro. */
#player-hubView,#team-hubView,#league-hubView{position:relative;overflow:hidden;width:100vw;margin:12px 0 0 calc(50% - 50vw);padding:30px max(22px,calc((100vw - 1120px)/2 + 20px)) 34px;border-radius:0;box-shadow:none;background:radial-gradient(circle at 89% 2%,#207267 0,transparent 27%),linear-gradient(115deg,#0c3038,#124e4b)}
#player-hubView::after,#team-hubView::after,#league-hubView::after{content:"";position:absolute;right:-7%;top:-40%;width:380px;height:380px;border:2px solid #80c9b624;border-radius:50%;pointer-events:none}
.hub-hero,#player-hubView .macro-nav,#team-hubView .macro-nav,#league-hubView .macro-nav,.hub-content{position:relative;z-index:1;width:100%;max-width:1120px;margin-left:auto;margin-right:auto}
.hub-hero{display:flex;align-items:center;gap:20px}
.hub-hero-icon{display:grid;place-items:center;flex:0 0 78px;width:78px;height:78px;border-radius:16px;background:#e5f5ef;color:#15a589}
.hub-hero-icon svg{width:45px;height:45px}
#team-hubView .hub-hero-icon{background:#eee5ff;color:#6942b3}
#league-hubView .hub-hero-icon{background:#fff1d6;color:#a36f19}
.hub-hero :is(h1,.seo-page-title){font-size:clamp(2rem,4vw,3rem);margin:0 0 3px;line-height:1.05}
.hub-hero .eyebrow{font-size:.7rem;color:#9bd9c8;margin-bottom:3px}
.hub-hero .lead{font-size:1rem;line-height:1.4;margin:0;color:#d7ede5}
#player-hubView .macro-nav,#team-hubView .macro-nav,#league-hubView .macro-nav{gap:10px;margin-top:19px;margin-bottom:13px;padding:0 0 4px}
#player-hubView .macro-nav a,#team-hubView .macro-nav a,#league-hubView .macro-nav a{min-width:112px;text-align:center;padding:7px 10px;border:0;border-radius:7px;background:#ffffff17;font-size:.78rem}
#player-hubView .macro-nav .macro-nav-root,#team-hubView .macro-nav .macro-nav-root,#league-hubView .macro-nav .macro-nav-root{background:#fff;color:#174f47}
.hub-content{padding:26px 29px 24px;border-radius:18px;background:#fff;color:#172633;box-shadow:0 12px 34px #061f2124}
.hub-content-heading h2{font-size:1.55rem;line-height:1.15;margin:0 0 4px;color:#102f37}
.hub-content-heading p{margin:0;color:#5d7380;font-size:.91rem}
#player-hubView .hub-search{max-width:100%;margin:18px 0 20px;padding:0;border:0;box-shadow:none}
#player-hubView .hub-search label{margin-bottom:5px;font-size:.82rem;color:#4e6869}
#player-hubView .hub-search input{height:46px}
.hub-content .hub-grid{margin-top:20px;gap:10px}
#player-hubView .hub-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
#team-hubView .hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#league-hubView .hub-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.hub-content .hub-card{display:grid;grid-template-columns:39px minmax(0,1fr);align-content:center;column-gap:10px;min-height:112px;padding:14px;border-radius:12px;box-shadow:none}
.hub-content .hub-card .hub-icon{grid-row:1/3;width:37px;height:37px;margin:0;font-size:1.25rem}
#team-hubView .hub-card .hub-icon{background:#eee5ff;color:#6942b3}
#league-hubView .hub-card .hub-icon{background:#fff1d6;color:#a36f19}
.hub-content .hub-card h2{grid-column:2;margin:0 0 3px;font-size:.91rem;line-height:1.22}
.hub-content .hub-card p{grid-column:2;font-size:.75rem;line-height:1.3}
.hub-content .hub-arrow{display:none}
.hub-content .hub-secondary{margin:14px 0 0;color:#5e7380!important;font-size:.84rem}
.hub-content .hub-secondary a{color:#176b5b!important}
.hub-primary-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:19px 0 6px}
.hub-primary-actions button,.hub-primary-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:43px;margin:0;padding:9px 14px;border-radius:9px;font-size:.84rem;font-weight:750;text-decoration:none}
.hub-primary-actions button:first-child{background:#177666;color:#fff}
.hub-primary-actions button:nth-child(2){background:#e5f3ed;color:#176b5b}
.hub-primary-actions a{color:#176b5b}
.hub-primary-actions a:hover{background:#e5f3ed}
.hub-primary-actions button:focus-visible,.hub-primary-actions a:focus-visible,.hub-content .hub-card:focus-visible,.macro-nav a:focus-visible{outline:2px solid #24aa8c;outline-offset:3px}
#league-hubView .hub-primary-actions button{background:#177666;color:#fff}
@media(max-width:920px){#player-hubView .hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#league-hubView .hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){#homeView,#player-hubView,#team-hubView,#league-hubView{padding-left:18px;padding-right:18px}#homeView .home-actions{grid-template-columns:1fr}#homeView .home-actions .macro-card--league{width:100%}#homeView .home-actions .macro-card{min-height:0}.hub-hero{gap:12px}.hub-hero-icon{flex-basis:56px;width:56px;height:56px;border-radius:12px}.hub-hero-icon svg{width:34px;height:34px}.hub-content{padding:20px 17px}#team-hubView .hub-grid,#league-hubView .hub-grid{grid-template-columns:1fr}}
@media(max-width:520px){#player-hubView .hub-grid{grid-template-columns:1fr}.hub-primary-actions{align-items:stretch;flex-direction:column}.hub-primary-actions>*{width:100%}}
body[data-macro="home"] main{padding-top:0}
body[data-macro="home"] #homeView{margin-top:0}
body:has(#player-hubView:not([hidden])) main,body:has(#team-hubView:not([hidden])) main,body:has(#league-hubView:not([hidden])) main{padding-top:0}
body:has(#player-hubView:not([hidden])) #player-hubView,body:has(#team-hubView:not([hidden])) #team-hubView,body:has(#league-hubView:not([hidden])) #league-hubView{margin-top:0}
#player-hubView .macro-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
#team-hubView .macro-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
#league-hubView .macro-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
#player-hubView .macro-nav a,#team-hubView .macro-nav a,#league-hubView .macro-nav a{min-width:0}
#player-hubView .macro-nav a[aria-current="page"],#team-hubView .macro-nav a[aria-current="page"],#league-hubView .macro-nav a[aria-current="page"]{background:#fff;color:#174f47}
@media(max-width:720px){#player-hubView .macro-nav,#team-hubView .macro-nav,#league-hubView .macro-nav{display:flex}#player-hubView .macro-nav a,#team-hubView .macro-nav a,#league-hubView .macro-nav a{flex:0 0 auto;min-width:105px}}
/* Team Value usa un accento viola coerente tra home e landing. */
#homeView .macro-card:nth-child(2) .home-action-icon{background:#eee5ff;color:#6942b3}
#homeView .macro-card:nth-child(2) .macro-preview button{background:#f1eaff;color:#6540a8}
#homeView .macro-card:nth-child(2) .macro-preview button:hover{background:#e5d9ff}
#homeView .macro-card:nth-child(2) .macro-open{color:#6540a8}
#team-hubView .macro-nav a[aria-current="page"]{color:#6540a8}
#team-hubView .hub-primary-actions button:first-child{background:#6942b3}
#team-hubView .hub-primary-actions button:nth-child(2){background:#f1eaff;color:#6540a8}
#team-hubView .hub-primary-actions a{color:#6540a8}
#team-hubView .hub-primary-actions a:hover{background:#f1eaff}
#team-hubView .hub-card:hover,#team-hubView .hub-card:focus-visible{border-color:#ac8ce5}
body[data-macro="team"] .app-menu a[aria-current="page"]{box-shadow:inset 0 -3px #b795ed}

/* Mobile usability shared by the portal and the editorial pages. */
@media(max-width:720px){
 .app-header-inner{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
 .site-instagram{width:44px;height:44px}
 .app-menu{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
 .app-menu a{min-height:44px;padding:8px 12px}
 .macro-nav{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
 .macro-nav a,#player-hubView .macro-nav a,#team-hubView .macro-nav a,#league-hubView .macro-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 12px}
 #homeView .macro-preview button{min-height:44px;padding:8px 10px;font-size:.78rem;line-height:1.2;text-align:left}
 #homeView .macro-card .macro-open{display:inline-flex;align-items:center;min-height:44px;padding-top:0}
 .hub-primary-actions button,.hub-primary-actions a{min-height:44px}
 .site-footer-inner{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(28px,env(safe-area-inset-bottom))}
 .site-footer nav a,.site-footer-contacts a{display:inline-flex;align-items:center;min-width:44px;min-height:44px;overflow-wrap:anywhere}
 #homeView .home-about a{display:inline-flex;align-items:center;min-height:44px}
}
@media(max-width:480px){
 #homeView .home-actions .macro-card{padding:18px 16px}
 #homeView .home-logo-title{max-width:100%;height:86px}
 #homeView .lead{line-height:1.4}
 .hub-content{padding:18px 15px}
 .hub-hero :is(h1,.seo-page-title){font-size:clamp(1.85rem,8vw,2.3rem)}
 .hub-hero .lead{font-size:.91rem}
 .site-footer-inner{gap:16px}
}
