/* ==========================================================================
   Sarmacja Będzin – strona główna (wygląd modułów Codexa, renderowane w PHP)
   ========================================================================== */
.sb-main{overflow-x:clip}

/* ---------- Slider ---------- */
.sb-hero{position:relative;background:#0b120e;color:#fff;overflow:hidden}
.sb-hero-track{display:grid}
.sb-slide{grid-area:1/1;position:relative;isolation:isolate;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s}
.sb-slide.is-active{opacity:1;visibility:visible}
.sb-slide-bg{position:absolute;inset:-40px;z-index:-1;background:center/cover no-repeat;filter:blur(16px) brightness(.5);transform:scale(1.05)}
.sb-slide-inner{max-width:1230px;margin:0 auto;padding:56px 30px;min-height:clamp(560px,46vw,700px);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(30px,4vw,70px);align-items:center}
.sb-slide-copy{padding-bottom:70px}
.sb-slide-title{font:500 clamp(40px,4.3vw,60px)/1.12 var(--sb-head);text-transform:uppercase;margin:0 0 22px;color:#fff}
.sb-slide-title a{color:#fff;text-decoration:none}
.sb-slide-meta{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 22px}
.sb-slide-meta>*{font:13px/1.4 var(--sb-head);color:#d7e0da;border:1px solid #ffffff38;padding:3px 8px}
.sb-slide-excerpt{font:300 17px/1.65 var(--sb-head);color:#e3e9e5;margin:0 0 34px;max-width:560px}
/* Zdjęcie w kształcie herbu, wyśrodkowane w pionie, z cienkim zielonym obrysem (zielona warstwa pod spodem + zdjęcie odsunięte o 1 px). */
.sb-slide-shield{align-self:center;display:block;width:100%;max-width:520px;justify-self:end;aspect-ratio:1.04/1;clip-path:polygon(0 0,100% 0,100% 83%,50% 100%,0 83%);background:var(--sb-green);padding:1px}
.sb-slide-shield img{display:block;width:100%;height:100%;object-fit:cover;clip-path:polygon(0 0,100% 0,100% 83%,50% 100%,0 83%);background:var(--sb-green)}
.sb-hero-controls{position:absolute;left:max(30px,calc(50% - 585px));bottom:34px;display:flex;align-items:center;gap:6px;z-index:2}
.sb-hero-controls button{width:46px;height:46px;border:1px solid #ffffff55;background:#0b120ecc;color:#fff;font:28px/1 Arial;cursor:pointer;padding:0 0 4px}
.sb-hero-controls button:hover{background:var(--sb-green)}
.sb-hero-status{min-width:58px;text-align:center;font:14px var(--sb-head);color:#d7e0da}
.sb-hero a:focus-visible,.sb-hero button:focus-visible{outline:2px solid #fff;outline-offset:4px}
@media(max-width:1024px){
	.sb-slide-inner{grid-template-columns:1fr;padding:28px 20px 90px;min-height:0;gap:0}
	.sb-slide-shield{order:-1;justify-self:center;max-width:370px;aspect-ratio:1.2/1}
	.sb-slide-copy{padding:24px 0 0}
	.sb-slide-title{font-size:clamp(27px,5vw,36px);margin:14px 0 18px}
	.sb-slide-meta{order:-1;margin:0}
	.sb-slide-copy{display:flex;flex-direction:column;align-items:flex-start}
	.sb-slide-excerpt{font:15px/1.65 var(--sb-body);color:var(--sb-muted);margin-bottom:24px}
	.sb-hero-controls{left:0;right:0;bottom:0;justify-content:space-between;padding:12px 18px;background:var(--sb-bg);border-top:1px solid #344138}
}

/* ---------- Wspólne ---------- */
.sh-home{max-width:1230px;color:#fff;padding-bottom:50px}
.sh-home h2,.sh-home h3{font-family:var(--sb-head);line-height:1.15;color:#fff}
.sh-home h2{font-size:clamp(30px,3.5vw,46px);margin:0}
.sh-home h3{font-size:25px;margin:15px 0}
.sh-home a{color:inherit;text-decoration:none}
.sh-section{margin:65px 0}
.sh-home>.sh-section:last-child{margin-bottom:0}
.sh-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}
.sh-kicker{display:block;font:11px/1.6 var(--sb-body);letter-spacing:1px;text-transform:uppercase;color:#b5c1b9;margin-bottom:12px}
.sh-button{display:inline-flex;align-items:center;justify-content:center;position:relative;isolation:isolate;overflow:hidden;min-height:52px;padding:16px 28px;background:var(--sb-red);color:#fff!important;border:0;font:400 18px/1.2 var(--sb-head);text-transform:uppercase;text-decoration:none;cursor:pointer}
.sh-button::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--sb-green);transform:scaleX(1);transition:transform .4s cubic-bezier(.2,1,.3,1)}
.sh-button:hover::before,.sh-button:focus-visible::before,.sh-news-card:hover .sh-button::before{transform:scaleX(0)}
.sh-home a:focus-visible,.sh-home button:focus-visible{outline:2px solid #fff;outline-offset:4px}
.sh-date{font:13px/1.5 var(--sb-body);color:#b5c1b9}
.sb-round{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--sb-soft);margin-top:4px}
.sh-head .sb-round{width:100%}
.sh-empty{color:var(--sb-muted)}

/* ---------- Mecze ---------- */
.sh-scoreboard{display:grid;grid-template-columns:1fr 180px 1fr;align-items:center;gap:30px}
.sh-next .sh-head{margin-bottom:0}
.sh-team{display:flex;gap:20px;align-items:center;min-width:0}
.sh-team:last-child{flex-direction:row-reverse;text-align:right}
.sh-team img{width:85px;height:90px;object-fit:contain;flex-shrink:0}
.sh-team h3{font-size:24px;line-height:1.3;text-transform:uppercase;margin:0}
.sh-score{font:72px/1 var(--sb-head);text-align:center;white-space:nowrap}
.sh-goals{list-style:none;margin:6px 0 0;padding:0;font:13px/1.45 var(--sb-body);color:var(--sb-muted)}
.sh-goals li{margin:0;padding:0}

.sh-next{padding:50px clamp(20px,4vw,70px);color:#fff;text-align:center;border-top:4px solid var(--sb-green);background:linear-gradient(90deg,rgba(11,29,19,.91),rgba(16,36,25,.85)),url("https://sarmacjabedzin.pl/wp-content/uploads/2024/04/Sarmacja_cover_black-1.jpg") center/cover}
.sh-next.sb-venue-photo{background:linear-gradient(100deg,rgba(5,25,13,.88),rgba(7,20,12,.75)),var(--sb-venue-image) center/cover}
.sh-next .sh-head{justify-content:center;flex-wrap:wrap;text-align:center}
.sh-next h2{font-size:clamp(30px,3.5vw,46px);margin:0}
.sh-next h3{font-size:24px;line-height:1.3;text-transform:uppercase;margin:0}
.sh-next a{color:#fff;text-decoration:none}
.sh-next .sb-photo-credit{max-width:1170px;margin:16px auto 0}
.sh-next .sh-head .sb-round{text-align:center}
.sh-next .sh-scoreboard{max-width:880px;margin:30px auto;grid-template-columns:1fr 70px 1fr}
.sh-next .sh-team{flex-direction:column!important;text-align:center!important}
.sh-next .sh-team img{width:110px;height:115px}
.sh-vs{font:32px var(--sb-head);color:#a8b6ac}
.sh-next .sh-date{font-size:19px;color:#fff}
.sb-match-address{text-align:center;color:var(--sb-muted);font:15px/1.6 var(--sb-body);margin:12px auto 20px;padding:0 12px}
.sb-countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:570px;margin:24px auto 28px}
.sb-countdown>span{display:flex;flex-direction:column;align-items:center;justify-content:center;height:104px;padding:12px 5px;background:rgba(17,23,19,.85);border:1px solid #44644f}
.sb-countdown b{font:400 45px/1.1 var(--sb-head);color:#fff}
.sb-countdown small{display:block;margin-top:8px;font:11px/1.4 var(--sb-body);text-transform:uppercase;color:#b5c1b9}
.sb-photo-credit{display:block;text-align:right;color:#bbc9c0!important;font:11px/1.5 var(--sb-body);margin-top:16px}

.sh-last{max-width:880px;margin:34px auto 65px;padding:26px 30px;background:var(--sb-card);border-top:4px solid var(--sb-green)}
.sh-last .sh-head{flex-wrap:wrap;row-gap:6px;margin-bottom:20px}
.sh-last .sh-head h2{flex:1 1 100%;font-size:28px;white-space:nowrap;text-align:left}
.sh-last .sh-head .sb-round{flex:1 1 100%;text-align:center;margin-top:0}
.sh-last-footer{display:flex;flex-direction:column;align-items:center;gap:18px;margin-top:25px}
.sh-last-footer .sh-date{color:var(--sb-muted)}

/* ---------- Aktualności ---------- */
.sh-news-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 32px}
.sh-category-card{position:relative;isolation:isolate;display:flex;align-items:flex-end;aspect-ratio:4/3;min-width:0;overflow:hidden;border:1px solid #405647;border-bottom:4px solid var(--sb-green);background:var(--sb-card);color:#fff!important;transition:border-color .3s}
.sh-category-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(1.01);transition:transform .55s,filter .55s}
.sh-category-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,15,10,.04) 15%,rgba(6,15,10,.3) 48%,rgba(6,15,10,.9) 100%)}
.sh-category-copy{display:block;width:100%;padding:23px 22px 18px;transform:translateY(15px);transition:transform .35s}
.sh-category-name{display:block;font:500 clamp(23px,2.4vw,30px)/1.2 var(--sb-head);text-transform:uppercase;letter-spacing:.6px;text-shadow:0 2px 12px #0008}
.sh-category-action{display:block;margin-top:9px;font:11px/1.4 var(--sb-body);letter-spacing:1.2px;text-transform:uppercase;opacity:0;transition:opacity .35s}
.sh-category-card:hover,.sh-category-card:focus-visible{border-color:var(--sb-red)}
.sh-category-card:hover img,.sh-category-card:focus-visible img{transform:scale(1.09);filter:blur(2.5px) brightness(.8)}
.sh-category-card:hover .sh-category-copy,.sh-category-card:focus-visible .sh-category-copy{transform:none}
.sh-category-card:hover .sh-category-action,.sh-category-card:focus-visible .sh-category-action{opacity:1}
.sh-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.sh-news-card{display:flex;flex-direction:column;min-width:0;background:#1b271f}
.sh-news-photo{aspect-ratio:16/10;overflow:hidden}
.sh-news-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s}
.sh-news-card:hover img{transform:scale(1.045)}
.sh-news-copy{flex:1;display:flex;flex-direction:column;padding:25px}
.sh-news-copy h3{font-size:28px;line-height:1.25}
.sh-news-copy p{font:15px/1.7 var(--sb-body);color:var(--sb-muted);margin:0 0 25px}
.sh-news-copy .sh-button{align-self:flex-start;margin-top:auto}
.sh-news-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.25fr 1fr}
.sh-news-card:first-child .sh-news-photo{aspect-ratio:auto;min-height:100%}
.sh-news-card:first-child .sh-news-copy{padding:35px}
.sh-news-card:first-child h3{font-size:38px}

/* ---------- Terminarz + tabela ---------- */
.sh-league-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:40px 52px}
.sh-league-left,.sh-league{min-width:0}
.sh-upcoming-match{display:block;padding:24px 0;border-bottom:1px solid #344138}
.sh-upcoming-match time{display:block;font:12px var(--sb-body);color:#b5c1b9;margin-bottom:14px}
.sh-upcoming-match .sb-round{display:inline;margin:0 0 0 6px;font-size:11px}
.sh-upcoming-teams{display:grid;grid-template-columns:1fr 26px 1fr;align-items:center;gap:10px;font:20px/1.3 var(--sb-head)}
.sh-upcoming-teams small{text-align:center;color:#91a498}
.sh-up-team{display:flex;align-items:center;gap:10px}
.sh-up-team:last-child{flex-direction:row-reverse;text-align:right}
.sh-crest{flex:0 0 29px;width:29px;height:33px;object-fit:contain}
.sh-up-team .sh-crest{flex-basis:36px;width:36px;height:42px}
.sh-upcoming .sh-button{margin-top:28px}
.sh-facebook{margin-top:38px;padding:22px;background:#1b271f;min-width:0}
.sh-facebook h2{font-size:29px;margin:0 0 20px}
.sh-facebook .fb-page,.sh-facebook .fb-page>span,.sh-facebook iframe{display:block;width:100%!important;max-width:100%!important}
.sh-facebook .fb-page{min-height:500px;max-height:500px;overflow:hidden;background:#111713}
.sh-facebook .sh-button{margin-top:20px;font-size:16px;white-space:normal}
.sh-table-scroll{overflow-x:auto;margin-bottom:26px}
.sh-league table{width:100%;min-width:490px;border-collapse:collapse;margin:0}
.sh-league th,.sh-league td{padding:13px 7px;text-align:center;font:14px/1.4 var(--sb-body);color:#fff;border:0;border-bottom:1px solid #344138;background:none}
.sh-league thead th{background:#1b271f;color:#b5c1b9;font-size:11px}
.sh-league td:nth-child(2),.sh-league th:nth-child(2){text-align:left}
.sh-league td:nth-child(4){font-size:20px;font-weight:bold}
.sh-league .sh-our-team td{background:#123c24}
.sh-league .sh-our-team td:first-child{box-shadow:inset 3px 0 var(--sb-green)}
.sh-table-team{display:flex;align-items:center;gap:9px;font-size:13px}
.sh-form{display:flex;gap:4px;margin:8px 0 0 38px}
.sh-form a{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:50%;font:700 11px/1 var(--sb-body);color:#fff!important}
.sh-form-W{background:var(--sb-green)}
.sh-form-R{background:#5c655f}
.sh-form-P{background:#a73c3c}
.sh-record{display:none}

/* ---------- Sarmacja TV ---------- */
.sh-tv{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.6fr);gap:clamp(28px,5vw,80px);align-items:center;padding:clamp(24px,4vw,64px);background:linear-gradient(120deg,#193d29,#142119 65%);border-top:4px solid var(--sb-green);margin:56px 0}
.sh-tv-intro h2{font-size:clamp(36px,4vw,62px);margin:0 0 22px;text-transform:uppercase}
.sh-tv-intro h2 span{display:inline-block;background:var(--sb-green);padding:2px 12px;margin-top:8px}
.sh-tv-intro p{font:16px/1.65 var(--sb-body);color:var(--sb-muted);margin:0 0 28px}
.sh-tv .sh-kicker{font-size:12px;letter-spacing:2px;color:#b8c9bd}
.sh-tv-feature{min-width:0}
.sh-tv-screen{position:relative;aspect-ratio:16/9;background:#080e0a;overflow:hidden}
.sh-tv-play{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:#080e0a;color:#fff;cursor:pointer;overflow:hidden}
.sh-tv-play img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s,filter .5s}
.sh-tv-play:hover img{transform:scale(1.035);filter:brightness(.75)}
.sh-tv-play-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:80px;height:80px;display:grid;place-items:center;background:var(--sb-green);box-shadow:0 8px 32px rgba(0,0,0,.4);transition:background .25s}
.sh-tv-play:hover .sh-tv-play-icon{background:var(--sb-red)}
.sh-tv-watch{position:absolute;left:0;right:0;bottom:0;padding:38px 18px 18px;background:linear-gradient(transparent,#000b);font:20px var(--sb-head);text-transform:uppercase;text-align:left}
.sh-tv-screen iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.sh-tv-caption{padding-top:20px}
.sh-tv-caption h3{font:26px/1.35 var(--sb-head);margin:0 0 12px}
.sh-tv-external{font:13px var(--sb-body);color:var(--sb-muted)!important;text-decoration:underline!important;text-underline-offset:4px}

/* ---------- Zawodnicy ---------- */
.sh-controls{display:flex;gap:8px}
.sh-controls button{min-height:46px;padding:12px 16px;border:1px solid #405647;background:var(--sb-card);color:#fff;font:16px var(--sb-head);cursor:pointer}
.sh-controls button:hover{background:var(--sb-green)}
.sh-player-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:18px;scrollbar-color:var(--sb-green) var(--sb-card)}
.sh-player{flex:0 0 calc(25% - 18px);min-width:0;scroll-snap-align:start;background:#1b271f}
.sh-player img{display:block;width:100%;height:auto;aspect-ratio:760/1080;object-fit:contain;background:linear-gradient(140deg,var(--sb-green),#14251b)}
.sh-player-info{position:relative;padding:20px}
.sh-player-info h3{margin:8px 0 0;font-size:26px;padding-right:30px}
.sh-player-info h3 span{display:block}
.sh-position{font:11px var(--sb-body);letter-spacing:1px;text-transform:uppercase;color:#b5c1b9}
.sh-number{position:absolute;right:16px;bottom:20px;font:32px var(--sb-head);color:#7fac8c}

/* ---------- Responsywność ---------- */
@media(max-width:1024px){
	.sh-scoreboard{grid-template-columns:1fr 140px 1fr;gap:15px}
	.sh-team{flex-direction:column!important;text-align:center!important}
	.sh-player{flex-basis:calc(33.333% - 16px)}
	.sh-league-grid{grid-template-columns:1fr}
	.sh-league-left{display:grid;grid-template-columns:1fr 1fr;gap:25px}
	.sh-facebook{margin-top:0}
}
@media(max-width:800px){.sh-news-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(max-width:767px){
	.sh-tv{grid-template-columns:1fr;gap:28px;padding:24px 18px;margin:36px 0}
	.sh-tv-intro h2{font-size:36px}
	.sh-tv-caption h3{font-size:23px}
	.sh-tv-play-icon{width:64px;height:64px}
	.sh-last{padding:24px 17px}
}
@media(max-width:700px){
	.sh-section{margin:40px 0}
	.sh-home h2{font-size:31px}
	.sh-head{align-items:flex-start;flex-wrap:wrap;gap:14px;margin-bottom:20px}
	.sh-last .sh-head h2{font-size:24px}
	.sh-scoreboard{grid-template-columns:1fr 75px 1fr;gap:10px}
	.sh-score{font-size:45px}
	.sh-team img{width:60px;height:65px}
	.sh-team h3{font-size:17px}
	.sh-goals{font-size:11px}
	.sh-news-grid{grid-template-columns:1fr}
	.sh-news-card:first-child{display:flex;grid-column:auto}
	.sh-news-card:first-child .sh-news-photo{aspect-ratio:16/9;min-height:0}
	.sh-news-card:first-child .sh-news-copy{padding:24px}
	.sh-news-card:first-child h3,.sh-news-copy h3{font-size:28px}
	.sh-news-photo{aspect-ratio:16/9}
	.sh-next{padding:30px 18px}
	.sh-next .sh-scoreboard{grid-template-columns:1fr 35px 1fr;gap:8px}
	.sh-next .sh-team img{width:75px;height:80px}
	.sb-countdown{gap:6px}
	.sb-countdown>span{height:84px}
	.sb-countdown b{font-size:32px}
	.sb-countdown small{font-size:9px}
	.sh-upcoming-teams{font-size:18px}
	.sh-player{flex-basis:calc(50% - 8px)}
	.sh-player-track{gap:16px}
	.sh-player-info{padding:15px 12px}
	.sh-player-info h3{font-size:21px}
	.sh-number{font-size:24px;right:10px}
	.sh-position{font-size:9px}
	.sh-button{font-size:16px;padding:15px 22px}
	.sh-controls button{font-size:14px;padding:10px}
}
@media(max-width:650px){
	.sh-league-left{display:block}
	.sh-facebook{margin-top:32px}
	.sh-table-scroll table{min-width:0}
	.sh-league td:nth-child(n+5),.sh-league th:nth-child(n+5){display:none}
	.sh-league th,.sh-league td{padding:12px 5px}
	.sh-table-team{font-size:12px;gap:7px}
	.sh-crest{flex-basis:25px;width:25px;height:29px}
	.sh-form{margin-left:32px}
	.sh-record{display:block;color:#aab9af;font:10px/1.4 var(--sb-body);margin:8px 0 0 32px}
	.sh-league td:nth-child(4){font-size:18px}
}
@media(max-width:450px){
	.sh-news-categories{gap:12px;margin-bottom:26px}
	.sh-category-card{aspect-ratio:1.12/1}
	.sh-category-copy{padding:15px 12px 13px}
	.sh-category-name{font-size:23px}
	.sh-category-action{font-size:9px;letter-spacing:.7px}
}
@media(hover:none){.sh-category-copy{transform:none}.sh-category-action{opacity:1}}
@media(prefers-reduced-motion:reduce){.sb-hero *,.sh-home *{transition:none!important;scroll-behavior:auto!important}}
