/*
Theme Name: ClubSport
Description: Tema responsive per società polisportive: spazio logo, slider in home page, pagine disciplina con icone social su ogni pagina.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: clubsport
*/
:root{--c1:#1550e8;--c2:#d8f031;--ink:#0f1b2d;--chalk:#f4f6f2;--mute:#566174;--line:#dde2da;--d:var(--c1);
--hf:"Bahnschrift","Roboto Condensed","Arial Narrow","Helvetica Neue",Arial,sans-serif;--bf:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--wrap:1180px}
*{box-sizing:border-box}
body{margin:0;font:400 1.0625rem/1.65 var(--bf);color:var(--ink);background:var(--chalk)}
img{max-width:100%;height:auto;display:block}
a{color:var(--c1)}
:focus-visible{outline:3px solid var(--c1);outline-offset:3px}
.hero :focus-visible,.site-footer :focus-visible,.social-bar :focus-visible,.topbar :focus-visible{outline-color:var(--c2)}
.wrap{width:min(100% - 2.5rem,var(--wrap));margin-inline:auto}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem 1rem;z-index:99}
h1,h2,h3{font-family:var(--hf);font-weight:800;line-height:1.02;margin:0 0 .6em;letter-spacing:.005em}
h1,h2{text-transform:uppercase}
.btn{display:inline-block;background:var(--c2);color:var(--ink);font:700 1rem var(--hf);padding:.85rem 1.6rem;text-decoration:none;border-radius:2px;border:2px solid var(--c2)}
.btn:hover{background:transparent;color:#fff}
.btn.dark{background:var(--ink);border-color:var(--ink);color:#fff}.btn.dark:hover{background:transparent;color:var(--ink)}
/* icone social */
.ico{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.social{list-style:none;margin:0;padding:0;display:flex;gap:.25rem}
.social a{display:grid;place-items:center;width:40px;height:40px;color:inherit;border-radius:50%}
.social a:hover{background:var(--c2);color:var(--ink)}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.topbar{background:var(--ink);color:#cfd6e2;font-size:.875rem}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:40px}
.topbar a{color:inherit;text-decoration:none}.topbar span+span{margin-left:1.25rem}
.topbar .social a{width:32px;height:32px}.topbar .ico{width:18px;height:18px}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:80px}
.brand{display:flex;align-items:center;gap:.9rem;text-decoration:none;color:var(--ink)}
.custom-logo-link img,.brand img{max-height:56px;width:auto}
.logo-slot{display:grid;place-items:center;width:56px;height:56px;border:2px dashed var(--mute);color:var(--mute);font:700 .75rem var(--hf)}
.brand-name{font:800 1.35rem/1 var(--hf);text-transform:uppercase}
.menu,.menu ul{list-style:none;margin:0;padding:0}
.menu{display:flex;gap:.25rem}
.menu a{display:block;padding:.6rem .9rem;color:var(--ink);text-decoration:none;font-weight:600}
.menu a:hover,.menu .current-menu-item>a{color:var(--c1)}
.menu li{position:relative}
.menu .sub-menu{display:none;position:absolute;left:0;top:100%;min-width:230px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--c1);box-shadow:0 12px 24px rgba(15,27,45,.12)}
.menu li:hover>.sub-menu,.menu li:focus-within>.sub-menu{display:block}
.nav-toggle{display:none;background:none;border:2px solid var(--ink);padding:.5rem .8rem;font:700 1rem var(--hf);cursor:pointer}
/* slider */
.hero{position:relative;background:var(--ink);color:#fff;height:clamp(460px,78vh,700px);overflow:hidden;clip-path:polygon(0 0,100% 0,100% calc(100% - 3rem),0 100%)}
.slide{position:absolute;inset:0;display:flex;align-items:flex-end;visibility:hidden;opacity:0;transition:opacity .8s,visibility 0s .8s}
.slide.is-active{visibility:visible;opacity:1;transition-delay:0s}
.slide .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slide::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,27,45,.88),rgba(15,27,45,.2) 75%)}
.slide.fb0{background:linear-gradient(120deg,#0f1b2d,#1550e8)}.slide.fb1{background:linear-gradient(120deg,#0f1b2d,#0b7a55)}.slide.fb2{background:linear-gradient(120deg,#0f1b2d,#8a2be2)}
.slide .wrap{position:relative;padding-bottom:6.5rem}
.slide h2{font-size:clamp(2.6rem,8vw,6.5rem);max-width:12ch;line-height:.92}
.slide p{max-width:46ch;font-size:1.2rem;margin:0 0 1.5rem}
.hero .arrow{position:absolute;bottom:4.5rem;z-index:3;width:48px;height:48px;border:2px solid #fff;background:transparent;color:#fff;font-size:1.6rem;cursor:pointer}
.hero .arrow:hover{background:var(--c2);color:var(--ink);border-color:var(--c2)}
.hero .prev{right:calc(max(1.25rem,(100% - var(--wrap))/2) + 56px)}.hero .next{right:max(1.25rem,(100% - var(--wrap))/2)}
.dots{position:absolute;left:max(1.25rem,(100% - var(--wrap))/2);bottom:4.6rem;z-index:3;display:flex;gap:.5rem}
.dots button{width:36px;height:6px;border:0;background:rgba(255,255,255,.4);cursor:pointer;padding:0}
.dots button[aria-current=true]{background:var(--c2)}
.hero.single .arrow,.hero.single .dots{display:none}
/* sezioni e card */
.section{padding:clamp(3rem,7vw,5.5rem) 0}.section.alt{background:#fff}
.section h2{font-size:clamp(2rem,5vw,3.4rem)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem}
.card{background:#fff;border-top:6px solid var(--d);display:flex;flex-direction:column}
.section.alt .card{background:var(--chalk)}
.card .thumb{position:relative;aspect-ratio:4/3;background:var(--d);display:grid;place-items:center;color:#fff;font:800 4rem var(--hf);overflow:hidden}
.card .thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.card-body{padding:1.25rem 1.4rem 1.6rem}.card h3{font-size:1.6rem;margin-bottom:.4rem}
.card h3 a{color:var(--ink);text-decoration:none}.card h3 a:hover{color:var(--d)}
.card p{margin:0 0 .8rem;color:var(--mute)}
.more{font-weight:700;text-decoration:none;color:var(--d)}
.cta{background:var(--c1);color:#fff;text-align:center}.cta h2{margin-inline:auto;max-width:18ch}.cta p{max-width:50ch;margin:0 auto 1.5rem}
/* disciplina */
.d-hero{position:relative;background:var(--d);color:#fff;padding:clamp(4rem,10vw,7rem) 0 clamp(5rem,11vw,8rem);clip-path:polygon(0 0,100% 0,100% calc(100% - 2.5rem),0 100%);overflow:hidden}
.d-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;opacity:.55}
.d-hero .wrap{position:relative}.d-hero h1{font-size:clamp(2.8rem,9vw,6rem);margin:0}
.subnav{margin-top:-1rem;padding-bottom:1rem}
.subnav ul{list-style:none;margin:0;padding:0;display:flex;gap:.5rem;overflow-x:auto}
.subnav a{display:block;white-space:nowrap;padding:.5rem 1.1rem;background:#fff;border:2px solid var(--d);color:var(--ink);text-decoration:none;font-weight:700}
.subnav .current_page_item a,.subnav a.on,.subnav a:hover{background:var(--d);color:#fff}
.d-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(2rem,5vw,4rem);padding:2rem 0 4rem}
.entry{max-width:70ch}.entry h2{font-size:2rem;margin-top:1.6em}
.info{background:#fff;border-left:6px solid var(--d);padding:1.4rem 1.6rem;align-self:start}
.info h2{font-size:1.5rem}.info p{margin:0 0 1rem;white-space:pre-line}
.social-bar{position:fixed;z-index:40;left:0;top:50%;transform:translateY(-50%);background:var(--ink);color:#fff}
.social-bar .social{flex-direction:column;gap:0}.social-bar .social a{width:48px;height:48px;border-radius:0}
.social-bar .social a:hover{background:var(--d);color:#fff}
/* footer */
.site-footer{background:var(--ink);color:#cfd6e2;padding:3.5rem 0 2rem}
.site-footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem}
.site-footer h2{font-size:1.2rem;color:#fff}.site-footer a{color:#fff}
.site-footer .copy{border-top:1px solid #2a3850;margin-top:2.5rem;padding-top:1.25rem;font-size:.9rem}
.site-footer ul{list-style:none;margin:0;padding:0}.site-footer .social{margin-top:.75rem;margin-left:-.5rem}
.page-head{padding:3rem 0 1rem}.page-head h1{font-size:clamp(2.4rem,6vw,4.4rem)}
/* responsive */
@media(max-width:899px){
.topbar .info-line{display:none}.topbar .wrap{justify-content:center}
.nav-toggle{display:block}
.main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:4px solid var(--c1);padding:.5rem 1.25rem 1rem;max-height:70vh;overflow:auto}
.nav-open .main-nav{display:block}
.menu{flex-direction:column}.menu .sub-menu{display:block;position:static;border:0;box-shadow:none;padding-left:1rem}
.site-header{position:relative}
.d-layout{grid-template-columns:1fr}
.social-bar{top:auto;bottom:0;left:0;right:0;transform:none}
.social-bar .social{flex-direction:row;justify-content:center}
body.single-disciplina{padding-bottom:48px}
.hero .arrow{display:none}.slide .wrap{padding-bottom:5.5rem}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pagination{margin-top:2rem}.pagination .page-numbers{display:inline-block;padding:.4rem .9rem;background:#fff;margin-right:.25rem;text-decoration:none}
.entry{overflow-wrap:break-word}.entry img{height:auto}
.entry .alignwide,.entry .alignfull{max-width:100%}
.entry .wp-block-image,.entry figure{margin:1.5rem 0}
.entry ul,.entry ol{padding-left:1.4rem}
.menu li.menu-item-has-children{display:flex;align-items:center}
.menu .sub-menu li{display:flex}.menu .sub-menu li>a{flex:1}
.menu .sub-menu .sub-menu{left:100%;top:-4px}
.menu li.open>.sub-menu{display:block}
.sub-toggle{background:none;border:0;color:var(--ink);cursor:pointer;padding:.5rem .45rem;font-size:.8rem}
@media(max-width:899px){
.sub-toggle{display:none}
.menu li.menu-item-has-children{display:block}
.menu .sub-menu li{display:block}
.menu .sub-menu .sub-menu{padding-left:1rem}
}
.entry:has(.grid){max-width:none}
.card .thumb.has-img{background:transparent}
