:root{
    --primary:#0B7A3B;
    --secondary:#FFD200;
    --accent:#D71920;

    --dark:#08151f;
    --text:#222;
    --light:#f5f7f9;
    --white:#fff;

    --container:1280px;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family: Inter, Arial, sans-serif;
    color:var(--text);
    background:#fff;
    line-height:1.6;
}

a{
    text-decoration:none;
}

img{
    max-width:100%;
    display:block;
}

.container{
    width:100%;
    max-width:var(--container);
    margin:0 auto;
    padding:0 20px;
}

/* HEADER */

.site-header{
    position:sticky;
    top:0;
    z-index:999;
    background:#08151f;
    border-bottom:2px solid var(--primary);
}

.header-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    height:100px;
}
.logo {
    position: relative;
    z-index: 20;
}

.logo{
    color:#fff;
    font-size:28px;
    font-weight:900;
}

.logo img {
    height: 185px;
    width: auto;
    display: block;
    transform: translateY(35px);
    filter: drop-shadow(0 8px 18px rgba(0,0,0,.35));
}

.site-header {
    overflow: visible;
}
.main-nav{
    display:flex;
    gap:35px;
}

.main-nav a{
    color:white;
    font-weight:700;
    transition:.3s;
}

.main-nav a:hover{
    color:var(--secondary);
}

/* HERO */

.hero{
    min-height:650px;
    position:relative;
    display:flex;
    align-items:center;
    color:white;
    overflow:hidden;

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

.hero-content{
    position:relative;
    z-index:2;
    max-width:700px;
}

.hero h1{
    font-size:82px;
    line-height:1;
    margin-bottom:20px;
}

.hero p{
    font-size:24px;
    margin-bottom:35px;
}/* HERO */

.hero-content{
    position:relative;
    z-index:2;
    max-width:700px;
}

.hero h1{
    font-size:82px;
    line-height:1;
    margin-bottom:20px;
}

.hero p{
    font-size:24px;
    margin-bottom:35px;
}

.btn{
    display:inline-block;
    padding:16px 32px;
    border-radius:12px;
    font-weight:800;
}

.btn-primary{
    background:var(--secondary);
    color:#000;
}

.btn-primary:hover{
    opacity:.9;
}

/* SECTION */

.section{
    padding:90px 0;
}

.section-title{
    font-size:42px;
    margin-bottom:40px;
    color:var(--dark);
}

/* CARDS */

.grid{
    display:grid;
    gap:25px;
}

.grid-3{
    grid-template-columns:repeat(3,1fr);
}

.card{
    background:white;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

/* FOOTER */

.site-footer{
    background:#08151f;
    color:white;
    padding:70px 0;
}

.footer-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:40px;
}

.site-footer a{
    color:white;
}

@media(max-width:992px){

    .hero h1{
        font-size:52px;
    }

    .grid-3{
        grid-template-columns:1fr;
    }

    .footer-grid{
        grid-template-columns:1fr;
    }

    .main-nav{
        display:none;
    }

}
.section-light {
    background: var(--light);
}

.lead {
    font-size: 22px;
    max-width: 850px;
}

.card-body {
    padding: 24px;
}

.card-body h3 {
    font-size: 24px;
    margin-bottom: 12px;
}

.card-body p {
    margin-bottom: 18px;
}

.card-body a {
    color: var(--primary);
    font-weight: 800;
}

.news-card img,
.group-card img {
    width: 100%;
    height: 220px;
    object-fit: cover;
}

.match-section {
    background: var(--primary);
    color: white;
}

.match-section .section-title {
    color: white;
}

.match-box {
    background: white;
    color: var(--dark);
    padding: 35px;
    border-radius: 24px;
    box-shadow: 0 15px 40px rgba(0,0,0,.18);
}

.match-box h3 {
    font-size: 36px;
    margin: 10px 0;
}
.post-hero-image{
    width:100%;
    max-height:500px;
    object-fit:cover;
    border-radius:24px;
    margin-bottom:40px;
}

.post-container{
    max-width:900px;
    margin:0 auto;
}

.post-meta{
    color:#666;
    margin-bottom:15px;
    font-weight:600;
}

.post-title{
    font-size:56px;
    line-height:1.1;
    margin-bottom:25px;
    color:var(--dark);
}

.post-excerpt{
    font-size:22px;
    font-weight:600;
    margin-bottom:35px;
    color:#444;
}

.post-content{
    font-size:18px;
    line-height:1.9;
}

.post-content p{
    margin-bottom:20px;
}
.page-hero {
    background: var(--primary);
    color: white;
    padding: 80px 0;
}

.page-hero h1 {
    font-size: 56px;
    margin-bottom: 15px;
}

.page-hero p {
    font-size: 22px;
}
.group-hero {
    position: relative;
    min-height: 520px;
    color: white;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.group-hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
}

.group-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0,0,0,.75), rgba(0,0,0,.25));
}

.group-hero-content {
    position: relative;
    z-index: 2;
}

.breadcrumbs {
    margin-bottom: 25px;
    opacity: .85;
}

.group-hero h1 {
    font-size: 72px;
    line-height: 1;
    margin-bottom: 20px;
}

.group-years,
.group-coach {
    font-size: 22px;
}

.group-coach strong {
    color: var(--secondary);
}

.group-info-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.info-card {
    background: white;
    border-radius: 22px;
    padding: 32px;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
}

.info-card h2 {
    margin-bottom: 22px;
    color: var(--dark);
}

.coach-name {
    font-size: 24px;
    font-weight: 800;
    color: var(--primary);
}

.players-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 22px;
}

.player-card {
    background: white;
    border-radius: 20px;
    padding: 22px;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
}

.player-card img {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    object-fit: cover;
    margin: 0 auto 15px;
}

.player-placeholder {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background: var(--primary);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 15px;
    font-size: 36px;
    font-weight: 900;
}

.player-card h3 {
    font-size: 18px;
    margin-bottom: 5px;
}

.player-card p {
    color: var(--primary);
    font-weight: 700;
}

.player-card span {
    font-size: 14px;
    color: #666;
}

.two-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.schedule-row,
.match-row {
    padding: 18px 0;
    border-bottom: 1px solid #e5e7eb;
}

.schedule-row strong,
.match-row strong {
    display: block;
    margin-bottom: 5px;
}

.schedule-row span,
.match-row span {
    display: block;
    color: var(--primary);
    font-weight: 800;
}

.schedule-row small,
.match-row small {
    color: #666;
}

@media(max-width: 992px) {
    .group-hero h1 {
        font-size: 48px;
    }

    .group-info-grid,
    .two-columns {
        grid-template-columns: 1fr;
    }
}
.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
}

.contact-row {
    padding: 18px 0;
    border-bottom: 1px solid #e5e7eb;
}

.contact-row strong {
    display: block;
    margin-bottom: 6px;
    color: var(--dark);
}

.contact-row a,
.contact-row span {
    color: var(--primary);
    font-weight: 800;
}

.contact-socials {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 25px;
}

.contact-socials a {
    background: var(--primary);
    color: white;
    padding: 10px 14px;
    border-radius: 10px;
    font-weight: 800;
}

.contact-form label {
    display: block;
    margin-bottom: 8px;
    margin-top: 16px;
    font-weight: 800;
}

.contact-form input,
.contact-form textarea {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid #d1d5db;
    border-radius: 12px;
    font-size: 16px;
}

.contact-form input:focus,
.contact-form textarea:focus {
    outline: none;
    border-color: var(--primary);
}

.map-section iframe {
    display: block;
}

@media(max-width: 992px) {
    .contact-grid {
        grid-template-columns: 1fr;
    }
}
.alert-success {
    background: #dcfce7;
    color: #166534;
    padding: 14px 16px;
    border-radius: 12px;
    margin-bottom: 18px;
    font-weight: 800;
}

.alert-error {
    background: #fee2e2;
    color: #991b1b;
    padding: 14px 16px;
    border-radius: 12px;
    margin-bottom: 18px;
    font-weight: 800;
}
.schedule-table{
    display:flex;
    flex-direction:column;
    gap:15px;
}

.schedule-card{
    display:grid;
    grid-template-columns:200px 1fr 180px 1fr;
    gap:20px;

    background:white;
    padding:20px;
    border-radius:18px;

    box-shadow:0 8px 25px rgba(0,0,0,.06);
}

.schedule-day{
    font-weight:800;
    color:var(--primary);
}

.schedule-group{
    font-weight:700;
}

.schedule-time{
    font-weight:800;
}

@media(max-width:900px){

    .schedule-card{
        grid-template-columns:1fr;
    }

}
.match-card{
    background:white;

    border-radius:20px;

    padding:25px;

    margin-bottom:20px;

    display:flex;
    justify-content:space-between;
    align-items:center;

    box-shadow:0 8px 25px rgba(0,0,0,.08);
}

.match-group{
    color:var(--primary);
    font-weight:800;
    margin-bottom:10px;
}

.match-card h3{
    font-size:28px;
    margin-bottom:8px;
}

.match-date{
    font-size:22px;
    font-weight:800;
    text-align:right;
}

.result-score{
    font-size:42px;
    font-weight:900;
    color:var(--primary);
}

@media(max-width:900px){

    .match-card{
        flex-direction:column;
        gap:20px;
        text-align:center;
    }

    .match-date{
        text-align:center;
    }

}
.menu-toggle {
    display: none;
    background: var(--primary);
    color: white;
    border: 0;
    font-size: 28px;
    width: 48px;
    height: 48px;
    border-radius: 12px;
    cursor: pointer;
}

@media(max-width: 992px) {
    .menu-toggle {
        display: block;
    }

    .main-nav {
        position: absolute;
        top: 85px;
        left: 0;
        width: 100%;
        background: #08151f;
        padding: 20px;

        display: none;
        flex-direction: column;
        gap: 18px;

        border-top: 1px solid rgba(255,255,255,.12);
    }

    .main-nav.active {
        display: flex;
    }
}
.hero-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.hero-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
}

.hero-logo {
    width: 230px;
    height: 230px;
    object-fit: contain;
    flex-shrink: 0;
}

.hero-text h1 {
    margin: 0;
    font-size: 92px;
    line-height: 0.95;
    color: #fff;
}

.hero-text p {
    margin: 22px 0 0;
    font-size: 24px;
    color: #fff;
}

.hero-btn {
    margin-top: 36px;
}
.hero{
    min-height:650px;
    position:relative;
    display:flex;
    align-items:center;
    color:white;
    overflow:hidden;
}

.hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(rgba(0,0,0,.65), rgba(0,0,0,.65)),
        url('/assets/images/hero.png');
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

.hero-content{
    position:relative;
    z-index:2;
}
.header-socials{
    display:flex;
    align-items:center;
    gap:12px;
}

.header-socials a{
    width:38px;
    height:38px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:rgba(255,255,255,.1);

    color:#fff;

    transition:.3s;
}

.header-socials a:hover{
    background:var(--secondary);
    color:#000;
    transform:translateY(-2px);
}
.join-btn{
    background: var(--accent);
    color:#fff;
    padding:12px 22px;
    border-radius:12px;
    font-weight:800;
    text-decoration:none;
    transition:.3s;
    white-space:nowrap;
}

.join-btn:hover{
    transform:translateY(-2px);
    opacity:.9;
}
.events-panel {
    position: fixed;
    right: -360px;
    top: 180px;
    width: 360px;
    z-index: 9999;
    transition: .35s ease;
}

.events-panel:hover {
    right: 0;
}

.events-tab {
    position: absolute;
    left: -48px;
    top: 0;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    background: var(--accent);
    color: white;
    padding: 18px 12px;
    border-radius: 0 12px 12px 0;
    font-weight: 900;
    cursor: pointer;
}

.events-content {
    background: white;
    border-radius: 0 0 0 18px;
    padding: 22px;
    box-shadow: 0 15px 45px rgba(0,0,0,.22);
    max-height: 70vh;
    overflow-y: auto;
}

.events-content h3 {
    margin-bottom: 18px;
    color: var(--dark);
}

.event-tile {
    display: flex;
    gap: 14px;
    padding: 14px;
    border-radius: 14px;
    margin-bottom: 12px;
    background: #f3f4f6;
    border-left: 5px solid var(--primary);
}

.event-match {
    border-left-color: #2563eb;
}

.event-training {
    border-left-color: var(--primary);
}

.event-postponed {
    border-left-color: #f59e0b;
}

.event-date {
    min-width: 52px;
    height: 52px;
    border-radius: 12px;
    background: var(--primary);
    color: white;
    text-align: center;
    padding-top: 5px;
}

.event-date strong {
    display: block;
    font-size: 22px;
    line-height: 1;
}

.event-date span {
    font-size: 13px;
    font-weight: 800;
}

.event-info h4 {
    font-size: 15px;
    margin-bottom: 4px;
}

.event-info p {
    font-weight: 800;
    color: var(--primary);
}

.event-info small {
    color: #666;
}

@media(max-width: 768px) {
    .events-panel {
        right: -310px;
        width: 310px;
        top: 140px;
    }
}
.event-tile {
    display: flex;
    gap: 14px;
    padding: 14px;
    border-radius: 14px;
    margin-bottom: 12px;
    background: #f3f4f6;
    border-left: 6px solid var(--primary);
}

.event-training {
    border-left-color: #0B7A3B;
}

.event-match {
    border-left-color: #2563eb;
}

.event-event {
    border-left-color: #FFD200;
}

.event-postponed {
    border-left-color: #f59e0b;
}

.event-cancelled {
    border-left-color: #dc2626;
}

.event-tile.event-training .event-date {
    background: #0B7A3B;
}

.event-tile.event-match .event-date {
    background: #2563eb;
}

.event-tile.event-event .event-date {
    background: #FFD200;
    color: #111827;
}

.event-tile.event-postponed .event-date {
    background: #f59e0b;
}

.event-tile.event-cancelled .event-date {
    background: #dc2626;
}
.event-badge{
    display:inline-block;
    padding:4px 10px;
    border-radius:999px;
    font-size:11px;
    font-weight:800;
    margin-bottom:8px;
    color:#fff;
}

.event-badge-training{
    background:#0B7A3B;
}

.event-badge-match{
    background:#2563eb;
}

.event-badge-event{
    background:#FFD200;
    color:#111827;
}

.event-badge-postponed{
    background:#f59e0b;
}

.event-badge-cancelled{
    background:#dc2626;
}
.event-note {
    display: block;
    margin-top: 6px;
    color: #dc2626;
    font-weight: 800;
}
.match-status {
    display: inline-block;
    margin-top: 8px;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
}

.match-planned {
    background: #dcfce7;
    color: #166534;
}

.match-postponed {
    background: #fef3c7;
    color: #92400e;
}

.match-cancelled {
    background: #fee2e2;
    color: #991b1b;
}
.menu-item {
    position: relative;
}

.submenu {
    position: absolute;
    top: 100%;
    left: 0;

    min-width: 220px;

    background: #fff;

    border-radius: 12px;

    box-shadow: 0 15px 35px rgba(0,0,0,.15);

    padding: 10px 0;

    display: none;

    z-index: 999;
}

.menu-item:hover .submenu {
    display: block;
}

.submenu li {
    list-style: none;
}

.submenu a {
    display: block;
    padding: 10px 16px;
    color: #111;
}

.submenu a:hover {
    background: #f3f4f6;
}
.form-check-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    margin-top: 18px;
    font-weight: 800;
}

.form-check-row input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin: 0;
}
.switch-label {
    display: block;
    font-weight: 800;
    margin-top: 18px;
    margin-bottom: 8px;
}

.yesno-switch {
    position: relative;
    display: inline-block;
    width: 120px;
    height: 42px;
}

.yesno-switch input {
    display: none;
}

.switch-slider {
    position: relative;
    display: flex;
    width: 120px;
    height: 42px;
    background: #e5e7eb;
    border-radius: 999px;
    overflow: hidden;
    cursor: pointer;
}

.switch-slider::before {
    content: "";
    position: absolute;
    top: 4px;
    left: 4px;
    width: 56px;
    height: 34px;
    background: #dc2626;
    border-radius: 999px;
    transition: .25s;
}

.switch-slider span {
    position: relative;
    z-index: 2;
    width: 50%;
    text-align: center;
    line-height: 42px;
    font-size: 13px;
    font-weight: 900;
    color: #111827;
}

.yesno-switch input:checked + .switch-slider::before {
    left: 60px;
    background: #0B7A3B;
}
.menu-arrow {
    display: inline-block;
    margin-left: 6px;
    font-size: 10px;
    transition: transform .25s ease;
}

.menu-item:hover .menu-arrow {
    transform: rotate(180deg);
}
.coaches-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 28px;
}

.coach-card {
    background: white;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 12px 35px rgba(0,0,0,.09);
}

.coach-card img {
    width: 100%;
    height: 330px;
    object-fit: cover;
}

.coach-card-body {
    padding: 26px;
}

.coach-role {
    display: inline-block;
    background: var(--primary);
    color: white;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    margin-bottom: 14px;
}

.coach-card h2 {
    font-size: 28px;
    margin-bottom: 10px;
    color: var(--dark);
}

.coach-license {
    font-weight: 900;
    color: var(--accent);
    margin-bottom: 15px;
}

.coach-groups {
    margin-bottom: 20px;
}

.coach-groups strong {
    display: block;
    margin-bottom: 8px;
}

.coach-groups span {
    display: inline-block;
    background: #f3f4f6;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    margin: 3px;
}

.coach-profile-section {
    background: #f5f7f9;
}

.coach-profile {
    display: grid;
    grid-template-columns: 380px 1fr;
    gap: 40px;
    align-items: center;
}

.coach-profile-photo img {
    width: 100%;
    border-radius: 28px;
    box-shadow: 0 15px 45px rgba(0,0,0,.15);
}

.coach-profile-info {
    background: white;
    border-radius: 28px;
    padding: 40px;
    box-shadow: 0 15px 45px rgba(0,0,0,.09);
}

.coach-profile-info h1 {
    font-size: 56px;
    line-height: 1.05;
    margin-bottom: 15px;
    color: var(--dark);
}

.coach-contact-box {
    margin: 25px 0;
}

.coach-contact-box p {
    margin-bottom: 8px;
}

.coach-contact-box a {
    color: var(--primary);
    font-weight: 800;
}

.coach-profile-content {
    margin-top: 40px;
    display: grid;
    gap: 24px;
}

@media(max-width: 900px) {
    .coach-profile {
        grid-template-columns: 1fr;
    }

    .coach-profile-info h1 {
        font-size: 40px;
    }
}
.group-coach a,
.coach-name a {
    color: var(--secondary);
    text-decoration: none;
}

.coach-name a {
    color: var(--primary);
}
.coach-small-role {
    display: block;
    font-size: 13px;
    font-weight: 800;
    color: #666;
    margin-top: 3px;
}

/* HEADER - więcej luzu */
.header-inner{
    height:110px;
    gap:28px;
}

.main-nav{
    gap:28px;
}

.header-socials{
    gap:10px;
}

.join-btn{
    padding:13px 24px;
}

/* HERO - wyśrodkowanie i proporcje */
.hero{
    min-height:620px;
}

.hero-content{
    max-width:100%;
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
}

.hero-brand{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:34px;
}

.hero-logo{
    width:210px;
    height:210px;
    object-fit:contain;
}

.hero-text h1{
    font-size:72px;
    line-height:.95;
    margin:0;
}

.hero-text p{
    font-size:24px;
    margin:24px 0 0;
}

.hero .btn{
    margin-top:28px;
    align-self:center;
}

/* mobile */
@media(max-width:768px){
    .hero-brand{
        flex-direction:column;
        gap:18px;
    }

    .hero-logo{
        width:160px;
        height:160px;
    }

    .hero-text h1{
        font-size:48px;
    }

    .hero-text p{
        font-size:19px;
    }
}
/* FIX HEADER */
.header-inner{
    height:110px;
    gap:22px;
}

.logo img{
    height:115px;
    transform:translateY(18px);
}

.main-nav{
    flex:1;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:24px;
    flex-wrap:nowrap;
}

.main-nav a{
    white-space:nowrap;
    font-size:15px;
}

.menu-item{
    display:flex;
    align-items:center;
}

.menu-item > a{
    display:flex;
    align-items:center;
    gap:5px;
    white-space:nowrap;
}

.header-socials{
    flex-shrink:0;
}

.join-btn{
    flex-shrink:0;
    padding:13px 24px;
}
.logo img{
    height:250px;
    transform:translateY(28px);
}
/* MOBILE HEADER FIX */
@media(max-width: 992px){

    .header-inner{
        height:95px;
    }

    .logo img{
        height:105px;
        transform:translateY(16px);
    }

    .menu-toggle{
        display:flex !important;
        align-items:center;
        justify-content:center;
        flex-shrink:0;
        z-index:10001;
    }

    .main-nav{
        position:absolute;
        top:95px;
        left:0;
        width:100%;
        background:#08151f;
        padding:22px;

        display:none !important;
        flex-direction:column;
        align-items:flex-start;
        gap:16px;

        border-top:1px solid rgba(255,255,255,.12);
        z-index:9999;
    }

    .main-nav.active{
        display:flex !important;
    }

    .main-nav a,
    .menu-item > a{
        width:100%;
        color:#fff;
    }

    .menu-item{
        width:100%;
        display:block;
    }

    .submenu{
        position:static;
        display:none;
        width:100%;
        margin-top:8px;
        background:rgba(255,255,255,.08);
        box-shadow:none;
    }

    .menu-item:hover .submenu{
        display:block;
    }

    .header-socials,
    .join-btn{
        display:none;
    }
}
.training-days {
    display: flex;
    flex-direction: column;
    gap: 34px;
}

.training-day-block {
    background: white;
    border-radius: 26px;
    padding: 28px;
    box-shadow: 0 12px 35px rgba(0,0,0,.07);
}

.training-day-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 22px;
}

.training-day-header span {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: var(--primary);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

.training-day-header h2 {
    font-size: 30px;
    color: var(--dark);
}

.training-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 18px;
}

.training-card {
    background: #f8fafc;
    border-radius: 20px;
    padding: 22px;
    border-left: 6px solid var(--primary);
}

.training-card-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 18px;
}

.training-badge {
    display: inline-block;
    background: var(--secondary);
    color: #111;
    padding: 7px 12px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
}

.training-time {
    color: var(--primary);
    font-size: 18px;
    white-space: nowrap;
}

.training-location {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    font-weight: 800;
    margin-bottom: 18px;
    color: #334155;
}

.training-coaches-box {
    border-top: 1px solid #e5e7eb;
    padding-top: 14px;
}

.training-coaches-box strong {
    display: block;
    margin-bottom: 9px;
    color: var(--dark);
}

.training-coach-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.training-coach-list a {
    background: white;
    color: var(--primary);
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(0,0,0,.06);
}

.training-coach-list a:hover {
    background: var(--primary);
    color: white;
}

.training-muted {
    color: #64748b;
    font-size: 14px;
    font-weight: 700;
}

@media(max-width: 768px) {
    .training-day-block {
        padding: 22px;
    }

    .training-card-top {
        flex-direction: column;
    }
}
.section-kicker,
.hero-kicker,
.card-label {
    display:inline-block;
    color:var(--primary);
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:13px;
    margin-bottom:10px;
}

.hero-actions {
    display:flex;
    gap:14px;
    justify-content:center;
    margin-top:34px;
    flex-wrap:wrap;
}

.btn-outline {
    background:rgba(255,255,255,.12);
    color:#fff;
    border:2px solid rgba(255,255,255,.45);
}

.btn-outline:hover {
    background:#fff;
    color:var(--dark);
}

.intro-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:48px;
    align-items:center;
}

.why-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

.why-card {
    background:#fff;
    padding:24px;
    border-radius:22px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.why-card strong {
    font-size:34px;
    display:block;
    margin-bottom:12px;
}

.why-card h3 {
    font-size:22px;
    color:var(--dark);
    margin-bottom:8px;
}

.section-head {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:35px;
}

.section-head .section-title {
    margin-bottom:0;
}

.section-link {
    color:var(--primary);
    font-weight:900;
}

.modern-card {
    transition:.25s ease;
}

.modern-card:hover {
    transform:translateY(-6px);
    box-shadow:0 18px 45px rgba(0,0,0,.13);
}

.coach-home-card {
    background:white;
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 12px 35px rgba(0,0,0,.09);
}

.coach-home-card img {
    width:100%;
    height:330px;
    object-fit:cover;
}

.coach-home-card div {
    padding:24px;
}

.coach-home-card span {
    display:inline-block;
    background:var(--primary);
    color:white;
    padding:6px 12px;
    border-radius:999px;
    font-size:13px;
    font-weight:900;
    margin-bottom:12px;
}

.coach-home-card h3 {
    font-size:26px;
    margin-bottom:8px;
    color:var(--dark);
}

.coach-home-card p {
    color:var(--accent);
    font-weight:900;
    margin-bottom:14px;
}

.coach-home-card a {
    color:var(--primary);
    font-weight:900;
}

.modern-match-box {
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}

.modern-match-box span {
    display:inline-block;
    background:var(--secondary);
    color:#111;
    padding:7px 14px;
    border-radius:999px;
    font-weight:900;
    margin-bottom:14px;
}

.home-cta {
    padding:80px 0;
    background:linear-gradient(135deg, var(--primary), #064d28);
    color:white;
}

.home-cta-box {
    text-align:center;
    max-width:850px;
    margin:0 auto;
}

.home-cta-box h2 {
    font-size:46px;
    margin-bottom:16px;
}

.home-cta-box p {
    font-size:21px;
    margin-bottom:28px;
}

@media(max-width:900px) {
    .intro-grid,
    .why-grid {
        grid-template-columns:1fr;
    }

    .section-head {
        align-items:flex-start;
        flex-direction:column;
    }

    .home-cta-box h2 {
        font-size:34px;
    }
}
.next-match-section {
    padding: 90px 0;
    background:
        linear-gradient(135deg, rgba(8,21,31,.96), rgba(11,122,59,.92)),
        url('/assets/images/hero.png');
    background-size: cover;
    background-position: center;
    color: white;
}

.next-match-card {
    max-width: 980px;
    margin: 0 auto;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 30px;
    padding: 38px;
    box-shadow: 0 25px 70px rgba(0,0,0,.28);
    backdrop-filter: blur(8px);
}

.next-match-label {
    display: inline-block;
    background: var(--secondary);
    color: #111;
    padding: 9px 16px;
    border-radius: 999px;
    font-weight: 900;
    margin-bottom: 28px;
}

.next-match-content {
    display: grid;
    grid-template-columns: 1fr 190px 1fr;
    gap: 25px;
    align-items: center;
}

.next-team {
    background: rgba(255,255,255,.1);
    border-radius: 22px;
    padding: 28px;
    text-align: center;
}

.next-team strong {
    display: block;
    font-size: 30px;
    line-height: 1.1;
}

.next-team span {
    display: block;
    margin-top: 10px;
    color: rgba(255,255,255,.75);
    font-weight: 800;
}

.next-match-center {
    text-align: center;
}

.vs {
    width: 78px;
    height: 78px;
    border-radius: 50%;
    background: var(--accent);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
    font-size: 24px;
    font-weight: 900;
    box-shadow: 0 10px 25px rgba(215,25,32,.35);
}

.next-date {
    font-size: 24px;
    font-weight: 900;
}

.next-time {
    color: var(--secondary);
    font-size: 18px;
    font-weight: 900;
    margin-top: 4px;
}

.next-match-footer {
    margin-top: 28px;
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,.18);
    display: flex;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
    font-weight: 800;
}

@media(max-width: 850px) {
    .next-match-content {
        grid-template-columns: 1fr;
    }

    .next-team strong {
        font-size: 24px;
    }
}
.group-modern-card {
    background: white;
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 14px 40px rgba(0,0,0,.1);
    transition: .25s ease;
}

.group-modern-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 55px rgba(0,0,0,.16);
}

.group-modern-image {
    position: relative;
    height: 240px;
    overflow: hidden;
}

.group-modern-image > img:not(.group-modern-logo) {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.group-modern-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.1), rgba(0,0,0,.65));
}

.group-modern-logo {
    position: absolute;
    left: 22px;
    bottom: -34px;

    width: 86px;
    height: 86px;
    object-fit: contain;

    background: white;
    padding: 10px;
    border-radius: 20px;

    box-shadow: 0 12px 30px rgba(0,0,0,.25);
}

.group-modern-body {
    padding: 48px 24px 26px;
}

.group-modern-body span {
    display: inline-block;
    color: var(--primary);
    font-weight: 900;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: .08em;
    margin-bottom: 8px;
}

.group-modern-body h3 {
    font-size: 28px;
    color: var(--dark);
    margin-bottom: 10px;
}

.group-modern-body p {
    color: #555;
    font-weight: 700;
    margin-bottom: 18px;
}

.group-modern-body a {
    display: inline-block;
    background: var(--primary);
    color: white;
    padding: 11px 18px;
    border-radius: 12px;
    font-weight: 900;
}.groups-hero {
    position: relative;
    padding: 115px 0 95px;
    text-align: center;
    color: white;
    background:
        linear-gradient(rgba(8,21,31,.82), rgba(8,21,31,.92)),
        url('/assets/images/hero.png');
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

.groups-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 55px;
    background: white;
    clip-path: ellipse(65% 100% at 50% 100%);
}

.groups-hero span {
    color: #22c55e;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: 14px;
}

.groups-hero h1 {
    font-size: 72px;
    line-height: 1;
    margin: 16px 0 18px;
    text-transform: uppercase;
    color: white;
}

.groups-hero p {
    font-size: 22px;
    color: rgba(255,255,255,.88);
}

.groups-list-section {
    background: #f5f7f9;
}

.groups-modern-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 34px;
}

.group-academy-card {
    background: white;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 18px 45px rgba(8,21,31,.12);
    transition: .28s ease;
}

.group-academy-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 28px 70px rgba(8,21,31,.2);
}

.group-academy-media {
    position: relative;
    height: 255px;
    overflow: visible;
    background: #0b2516;
}

.group-academy-media > img:not(.group-academy-logo) {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .4s ease;
}

.group-academy-card:hover .group-academy-media > img:not(.group-academy-logo) {
    transform: scale(1.08);
}

.group-academy-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(11,122,59,.25), rgba(8,21,31,.7));
}

.group-academy-logo {
    position: absolute;
    left: 50%;
    bottom: -64px;
    transform: translateX(-50%);
    width: 210px;
    height: 210px;
    object-fit: contain;
    z-index: 3;
    filter: drop-shadow(0 14px 24px rgba(0,0,0,.35));
    transition: .28s ease;
}

.group-academy-card:hover .group-academy-logo {
    transform: translateX(-50%) translateY(-6px) scale(1.03);
}

.group-academy-body {
    padding: 86px 28px 30px;
}

.group-type {
    display: inline-block;
    color: var(--primary);
    font-weight: 900;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .14em;
    margin-bottom: 10px;
}

.group-academy-body h2 {
    font-size: 34px;
    color: var(--dark);
    line-height: 1.05;
    margin-bottom: 12px;
}

.group-years-card {
    font-size: 18px;
    color: #64748b;
    font-weight: 800;
    margin-bottom: 20px;
}

.group-info-mini {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 18px;
}

.group-info-mini div {
    background: #f1f5f9;
    border-radius: 16px;
    padding: 14px;
    text-align: center;
}

.group-info-mini strong {
    display: block;
    color: var(--primary);
    font-size: 26px;
    line-height: 1;
}

.group-info-mini span {
    font-size: 12px;
    font-weight: 900;
    color: #64748b;
    text-transform: uppercase;
}

.group-training-mini {
    background: #ecfdf5;
    border: 1px solid #bbf7d0;
    border-radius: 16px;
    padding: 14px 16px;
    margin-bottom: 22px;
}

.group-training-mini span {
    display: block;
    font-size: 12px;
    color: #166534;
    font-weight: 900;
    text-transform: uppercase;
}

.group-training-mini strong {
    color: #064e3b;
    font-size: 16px;
}

.group-card-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--primary);
    color: white;
    padding: 13px 20px;
    border-radius: 14px;
    font-weight: 900;
    transition: .25s ease;
}

.group-card-btn:hover {
    background: #064e3b;
    transform: translateY(-2px);
}

@media(max-width: 1050px) {
    .groups-modern-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .groups-hero h1 {
        font-size: 56px;
    }
}

@media(max-width: 700px) {
    .groups-modern-grid {
        grid-template-columns: 1fr;
    }

    .groups-hero {
        padding: 90px 0 80px;
    }

    .groups-hero h1 {
        font-size: 42px;
    }

    .group-academy-logo {
        width: 180px;
        height: 180px;
        bottom: -54px;
    }

    .group-academy-body {
        padding-top: 76px;
    }
}
.section-header-center{
    max-width:760px;
    margin:0 auto 70px;
    text-align:center;
}

.section-badge{
    display:inline-block;
    padding:10px 18px;

    background:rgba(11,122,59,.12);

    color:var(--primary);

    border-radius:999px;

    font-size:13px;
    font-weight:900;
    letter-spacing:.18em;
    text-transform:uppercase;

    margin-bottom:18px;
}

.section-title-big{

    font-size:58px;
    font-weight:900;

    color:var(--dark);

    margin-bottom:18px;

    line-height:1;
}

.section-header-center p{

    font-size:20px;

    color:#6b7280;

    line-height:1.7;
}
.groups-home-hero{
    position:relative;
    margin-bottom:55px;

    border-radius:28px;

    overflow:hidden;

    min-height:300px;

    background:
        linear-gradient(rgba(8,21,31,.65), rgba(8,21,31,.78)),
        url('/assets/images/hero.png');

    background-size:cover;
    background-position:center;

    display:flex;
    align-items:center;
    justify-content:center;
}

.groups-home-content{
    position:relative;
    z-index:2;

    text-align:center;

    max-width:760px;

    color:white;

    padding:40px;
}

.groups-home-content h2{

    font-size:58px;

    margin:18px 0;

    color:white;

    text-transform:uppercase;
}

.groups-home-content p{

    font-size:22px;

    line-height:1.7;

    color:rgba(255,255,255,.9);
}

.section-badge-light{

    display:inline-block;

    background:rgba(255,255,255,.15);

    backdrop-filter:blur(12px);

    color:white;

    padding:10px 18px;

    border-radius:999px;

    font-size:13px;

    font-weight:900;

    letter-spacing:.16em;

    text-transform:uppercase;
}

@media(max-width:768px){

    .groups-home-hero{
        min-height:240px;
    }

    .groups-home-content h2{
        font-size:40px;
    }

    .groups-home-content p{
        font-size:18px;
    }

}
/* Sekcja grup na stronie głównej - marginesy */
.home-groups-section .container{
    padding-left:32px;
    padding-right:32px;
}

.home-groups-section .groups-modern-grid{
    padding:0 10px;
}

/* MOBILE FRONTEND FIX */
@media(max-width: 768px){

    .container{
        padding-left:18px;
        padding-right:18px;
    }

    .home-groups-section .container{
        padding-left:18px;
        padding-right:18px;
    }

    .groups-home-hero{
        min-height:260px;
        border-radius:22px;
        margin-bottom:35px;
    }

    .groups-home-content{
        padding:28px 18px;
    }

    .groups-home-content h2{
        font-size:34px;
        line-height:1.05;
    }

    .groups-home-content p{
        font-size:16px;
        line-height:1.6;
    }

    .groups-modern-grid{
        grid-template-columns:1fr !important;
        gap:26px;
    }

    .group-academy-card{
        border-radius:24px;
    }

    .group-academy-media{
        height:220px;
    }

    .group-academy-logo{
        width:150px;
        height:150px;
        bottom:-48px;
    }

    .group-academy-body{
        padding:72px 22px 24px;
    }

    .group-academy-body h2{
        font-size:28px;
    }

    .group-info-mini{
        grid-template-columns:1fr 1fr;
    }

    .section-head{
        flex-direction:column;
        align-items:flex-start;
        gap:12px;
    }

    .section-title{
        font-size:34px;
    }
}
@media screen and (max-width: 768px){

    body .home-groups-section .groups-modern-grid{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:28px !important;
        padding:0 !important;
    }

    body .home-groups-section .group-academy-card{
        width:100% !important;
        max-width:100% !important;
        border-radius:24px !important;
        overflow:hidden !important;
    }

    body .home-groups-section .group-academy-media{
        height:220px !important;
    }

    body .home-groups-section .group-academy-logo{
        width:150px !important;
        height:150px !important;
        bottom:-48px !important;
    }

    body .home-groups-section .group-academy-body{
        padding:76px 22px 26px !important;
    }

    body .home-groups-section .groups-home-hero{
        min-height:250px !important;
        border-radius:22px !important;
        margin-bottom:35px !important;
    }

    body .home-groups-section .groups-home-content h2{
        font-size:34px !important;
    }

    body .home-groups-section .groups-home-content p{
        font-size:16px !important;
    }
}
/* Przycisk "Do góry" */

.scroll-top-btn{

    position:fixed;

    right:28px;
    bottom:28px;

    width:58px;
    height:58px;

    border:none;
    border-radius:50%;

    background:linear-gradient(135deg,var(--primary),#0e9f4d);

    color:#fff;

    font-size:20px;

    cursor:pointer;

    box-shadow:0 12px 30px rgba(0,0,0,.25);

    display:flex;
    align-items:center;
    justify-content:center;

    opacity:0;
    visibility:hidden;

    transform:translateY(20px);

    transition:.3s ease;

    z-index:9999;
}

.scroll-top-btn.show{

    opacity:1;
    visibility:visible;

    transform:translateY(0);

}

.scroll-top-btn:hover{

    transform:translateY(-5px) scale(1.08);

    background:linear-gradient(135deg,#0f8f45,var(--primary));

    box-shadow:0 18px 40px rgba(0,0,0,.35);

}

.scroll-top-btn:active{

    transform:scale(.95);

}

@media(max-width:768px){

    .scroll-top-btn{

        width:50px;
        height:50px;

        right:18px;
        bottom:18px;

        font-size:18px;

    }

}
.iframe-card{

    background:white;

    border-radius:24px;

    overflow:hidden;

    box-shadow:0 12px 35px rgba(0,0,0,.08);

}

.iframe-card iframe{

    width:100%;

    height:calc(100vh - 180px);

    border:none;

}
.sportsmanago-hero {
    background: white;
    border-radius: 24px;
    padding: 32px;
    margin-bottom: 22px;
    box-shadow: 0 12px 35px rgba(0,0,0,.07);

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.sportsmanago-hero span {
    display: inline-block;
    color: #0B7A3B;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: 12px;
    margin-bottom: 8px;
}

.sportsmanago-hero h1 {
    font-size: 42px;
    margin-bottom: 8px;
}

.sportsmanago-hero p {
    color: #64748b;
    font-weight: 700;
}

.sportsmanago-info {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e3a8a;
    border-radius: 18px;
    padding: 18px 22px;
    margin-bottom: 22px;
}

.sportsmanago-info strong {
    display: block;
    margin-bottom: 4px;
}

.sportsmanago-frame-card {
    background: white;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 16px 45px rgba(0,0,0,.1);
    border: 1px solid #e5e7eb;
}

.sportsmanago-frame-card iframe {
    width: 100%;
    height: calc(100vh - 260px);
    min-height: 650px;
    border: 0;
    display: block;
}

@media(max-width: 900px) {
    .sportsmanago-hero {
        flex-direction: column;
        align-items: flex-start;
    }

    .sportsmanago-frame-card iframe {
        min-height: 600px;
    }
}
/* SPORTSMANAGO IFRAME FIX */
.sportsmanago-frame-card{
    width:100% !important;
    height:calc(100vh - 220px) !important;
    min-height:760px !important;
    border-radius:24px !important;
    overflow:hidden !important;
    background:#fff !important;
}

.sportsmanago-frame-card iframe{
    width:100% !important;
    height:100% !important;
    min-height:760px !important;
    border:0 !important;
    display:block !important;
}
.sportsmanago-center{

    max-width:900px;

    margin:80px auto;

    background:white;

    border-radius:28px;

    padding:70px;

    text-align:center;

    box-shadow:0 20px 60px rgba(0,0,0,.08);

}

.sportsmanago-center img{

    width:180px;

    margin-bottom:25px;

}

.sportsmanago-center h2{

    font-size:42px;

    margin-bottom:18px;

}

.sportsmanago-center p{

    font-size:20px;

    color:#64748b;

    line-height:1.7;

    max-width:650px;

    margin:0 auto 35px;

}
.home-stats{

    background:#0B7A3B;

    padding:45px 0;

}

.stats-grid{

    display:grid;

    grid-template-columns:repeat(5,1fr);

    gap:25px;

}

.stat-card{

    text-align:center;

    color:white;

}

.stat-card span{

    display:block;

    font-size:40px;

    margin-bottom:12px;

}

.stat-card strong{

    display:block;

    font-size:42px;

    font-weight:900;

    line-height:1;

    margin-bottom:10px;

}

.stat-card p{

    font-size:15px;

    text-transform:uppercase;

    letter-spacing:.08em;

    opacity:.92;

    font-weight:700;

}

@media(max-width:900px){

    .stats-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:600px){

    .stats-grid{

        grid-template-columns:1fr;

    }

}
.club-shop-box{

    display:grid;

    grid-template-columns:2fr 1fr;

    gap:40px;

    align-items:center;

    padding:45px;

    background:linear-gradient(135deg,#0B7A3B,#0f9f4b);

    border-radius:28px;

    color:white;

    margin:60px 0;

}

.club-shop-left span{

    display:inline-block;

    background:rgba(255,255,255,.15);

    padding:8px 16px;

    border-radius:999px;

    font-size:13px;

    font-weight:900;

    margin-bottom:18px;

}

.club-shop-left h2{

    font-size:42px;

    margin-bottom:18px;

}

.club-shop-left p{

    font-size:18px;

    line-height:1.7;

    margin-bottom:25px;

}

.club-shop-left ul{

    list-style:none;

    padding:0;

    margin:0 0 30px;

}

.club-shop-left li{

    margin-bottom:10px;

    font-weight:700;

}

.club-shop-right{

    display:flex;

    align-items:center;

    justify-content:center;

}

.club-shop-right i{

    font-size:170px;

    color:rgba(255,255,255,.18);

}

@media(max-width:900px){

    .club-shop-box{

        grid-template-columns:1fr;

        text-align:center;

    }

}
/* HEADER LOGO + MENU FIX */
.logo {
    flex: 0 0 auto;
    min-width: 130px;
}

.logo img {
    width: auto !important;
    height: 145px !important;
    max-width: none !important;
    object-fit: contain !important;
    flex-shrink: 0 !important;
}

.header-inner {
    overflow-x: auto;
    overflow-y: visible;
    scrollbar-width: none;
}

.header-inner::-webkit-scrollbar {
    display: none;
}

.main-nav {
    flex: 0 0 auto;
    white-space: nowrap;
}

.header-socials,
.join-btn {
    flex: 0 0 auto;
}
/* HEADER FIX - logo nie chowa się, scroll tylko na menu */
.site-header{
    overflow: visible !important;
}

.header-inner{
    height:120px;
    overflow: visible !important;
    gap:24px;
}

.logo{
    flex:0 0 145px;
    min-width:145px;
    position:relative;
    z-index:20;
}

.logo img{
    height:150px !important;
    width:auto !important;
    max-width:none !important;
    object-fit:contain !important;
    transform:translateY(22px);
    flex-shrink:0 !important;
}

.main-nav{
    flex:1 1 auto;
    min-width:0;
    overflow-x:auto;
    overflow-y:visible;
    white-space:nowrap;
    scrollbar-width:none;

    display:flex;
    align-items:center;
    gap:26px;
}

.main-nav::-webkit-scrollbar{
    display:none;
}

.main-nav a,
.menu-item > a{
    white-space:nowrap;
}

.header-socials,
.join-btn{
    flex:0 0 auto;
}
.header-inner{
    display:flex;
    align-items:center;
    gap:22px;
}

.logo{
    flex:0 0 150px;
}

.main-nav{
    flex:1;
    display:flex;
    justify-content:center;
    gap:24px;
}

.header-socials{
    margin-left:auto;
}

.join-btn{
    margin-left:16px;
}
/* FINAL HEADER FIX */

.site-header {
    overflow: visible !important;
}

.header-inner {
    height: 120px;
    display: flex;
    align-items: center;
    gap: 20px;
    overflow: visible !important;
}

.logo {
    flex: 0 0 145px;
    min-width: 145px;
    position: relative;
    z-index: 20;
}

.logo img {
    height: 150px !important;
    width: auto !important;
    max-width: none !important;
    object-fit: contain !important;
    transform: translateY(22px);
    filter: drop-shadow(0 8px 18px rgba(0,0,0,.35));
}

.main-nav {
    flex: 1 1 auto;
    min-width: 0;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;

    overflow: visible !important;
    white-space: nowrap;
}

.main-nav > a,
.menu-item > a {
    font-size: 15px;
    white-space: nowrap;
}

.menu-item {
    position: relative;
    flex: 0 0 auto;
}

.submenu {
    position: absolute;
    top: 100%;
    left: 0;

    min-width: 220px;

    background: #fff;
    border-radius: 12px;
    box-shadow: 0 15px 35px rgba(0,0,0,.18);

    padding: 10px 0;
    display: none;

    z-index: 99999;
}

.menu-item:hover .submenu {
    display: block;
}

.submenu a {
    display: block;
    color: #111 !important;
    padding: 10px 16px;
    font-size: 14px;
}

.header-socials {
    flex: 0 0 auto;
    gap: 8px;
}

.header-socials a {
    width: 36px;
    height: 36px;
}

.join-btn {
    flex: 0 0 auto;
    padding: 13px 22px;
    font-size: 15px;
}

/* Tablet - mniej miejsca */
@media(max-width: 1200px) {
    .main-nav {
        gap: 14px;
    }

    .main-nav > a,
    .menu-item > a {
        font-size: 14px;
    }

    .header-socials {
        display: none;
    }
}

/* Mobile */
@media(max-width: 992px) {
    .header-inner {
        height: 95px;
    }

    .logo {
        flex: 0 0 110px;
        min-width: 110px;
    }

    .logo img {
        height: 112px !important;
        transform: translateY(14px);
    }

    .menu-toggle {
        display: flex !important;
        align-items: center;
        justify-content: center;
        margin-left: auto;
        z-index: 10001;
    }

    .main-nav {
        position: absolute;
        top: 95px;
        left: 0;
        width: 100%;

        background: #08151f;
        padding: 22px;

        display: none !important;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;

        border-top: 1px solid rgba(255,255,255,.12);
        z-index: 9999;
    }

    .main-nav.active {
        display: flex !important;
    }

    .main-nav > a,
    .menu-item,
    .menu-item > a {
        width: 100%;
    }

    .submenu {
        position: static;
        width: 100%;
        margin-top: 8px;
        background: rgba(255,255,255,.08);
        box-shadow: none;
        border-radius: 10px;
    }

    .submenu a {
        color: #fff !important;
    }

    .join-btn,
    .header-socials {
        display: none;
    }
}
.sponsors-section {
    background: #f5f7f9;
}

.section-header-center {
    max-width: 780px;
    margin: 0 auto 55px;
    text-align: center;
}

.section-badge {
    display: inline-block;
    background: rgba(11,122,59,.12);
    color: var(--primary);
    padding: 9px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.section-title-big {
    font-size: 52px;
    line-height: 1;
    color: var(--dark);
    margin-bottom: 16px;
}

.section-header-center p {
    font-size: 19px;
    color: #64748b;
}

.sponsors-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 22px;
}

.sponsor-card {
    min-height: 150px;
    background: white;
    border-radius: 22px;
    padding: 24px;
    box-shadow: 0 10px 30px rgba(0,0,0,.07);

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;

    text-align: center;
    color: var(--dark);
    transition: .25s ease;
}

.sponsor-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 45px rgba(0,0,0,.12);
}

.sponsor-card img {
    max-width: 150px;
    max-height: 80px;
    object-fit: contain;
}

.sponsor-card strong {
    font-size: 15px;
    font-weight: 900;
}

@media(max-width: 700px) {
    .section-title-big {
        font-size: 36px;
    }

    .sponsors-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .sponsor-card {
        min-height: 130px;
        padding: 18px;
    }
}
.facebook-section {
    background: #f5f7f9;
}

.facebook-feed-box {
    max-width: 560px;
    margin: 0 auto;
    padding: 26px;
    background: #fff;
    border-radius: 26px;
    box-shadow: 0 16px 45px rgba(0,0,0,.09);
    text-align: center;
    overflow: hidden;
}

.facebook-feed-box .fb-page,
.facebook-feed-box iframe {
    max-width: 100% !important;
}

@media(max-width: 600px) {
    .facebook-feed-box {
        padding: 12px;
        border-radius: 20px;
    }
}
/* =========================================================
   SPORTING WARSZAWA — PROFESSIONAL FRONTEND REFRESH 2026
   ========================================================= */
:root{
    --sw-dark:#07140f;
    --sw-dark-2:#0c2118;
    --sw-muted:#667085;
    --sw-surface:#f6f8f7;
    --sw-border:rgba(15,23,42,.09);
    --sw-shadow:0 20px 55px rgba(8,21,31,.11);
    --sw-shadow-lg:0 30px 90px rgba(8,21,31,.18);
    --sw-radius:24px;
}
body{overflow-x:hidden;background:#fff;color:#17211c;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
::selection{background:var(--secondary);color:#111}
.container{padding-left:clamp(18px,3vw,32px);padding-right:clamp(18px,3vw,32px)}

.site-header{height:auto;background:rgba(7,20,15,.94);border:0;box-shadow:0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(18px);transition:box-shadow .3s ease,background .3s ease}
.site-header.is-scrolled{background:rgba(7,20,15,.985);box-shadow:0 14px 40px rgba(0,0,0,.22)}
.header-inner{height:92px;gap:22px}
.logo img{height:142px!important;transform:translateY(25px);transition:transform .35s ease,filter .35s ease}
.site-header.is-scrolled .logo img{transform:translateY(20px) scale(.94)}
.main-nav{align-items:center;gap:clamp(12px,1.45vw,26px)}
.main-nav>a,.menu-item>a{position:relative;font-size:14px;letter-spacing:.015em;padding:34px 0;color:rgba(255,255,255,.88)}
.main-nav>a::after,.menu-item>a::after{content:"";position:absolute;left:0;right:100%;bottom:25px;height:3px;border-radius:99px;background:var(--secondary);transition:right .25s ease}
.main-nav>a:hover::after,.menu-item>a:hover::after{right:0}
.submenu{border:1px solid rgba(255,255,255,.08);background:#0d2119!important;border-radius:16px!important;padding:10px!important;box-shadow:0 24px 65px rgba(0,0,0,.3)!important;min-width:230px!important;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease!important}
.menu-item:hover .submenu{transform:translateY(0)}
.submenu a{padding:11px 13px!important;border-radius:9px;color:#fff!important;font-size:14px!important}
.submenu a:hover{background:rgba(255,255,255,.09)!important;color:var(--secondary)!important}
.header-socials a{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);transition:.25s ease}
.header-socials a:hover{background:var(--secondary);color:#111!important;transform:translateY(-2px)}
.join-btn{border-radius:999px!important;background:var(--secondary)!important;color:#111!important;box-shadow:0 10px 25px rgba(255,210,0,.18);transition:.25s ease!important}
.join-btn:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(255,210,0,.28)}

.hero{min-height:min(780px,calc(100vh - 40px));background-image:linear-gradient(90deg,rgba(4,16,11,.95) 0%,rgba(4,16,11,.78) 45%,rgba(4,16,11,.18) 100%),url('/assets/images/hero.png');background-position:center;background-size:cover;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 77% 24%,rgba(255,210,0,.14),transparent 28%),linear-gradient(180deg,transparent 70%,rgba(7,20,15,.65));z-index:0}
.hero::after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-160px;top:-130px;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.018);z-index:0}
.hero-content{max-width:890px;padding:90px 0 85px}
.hero-brand{display:flex;align-items:center;gap:36px}
.hero-logo{width:180px!important;max-height:230px;object-fit:contain;filter:drop-shadow(0 24px 35px rgba(0,0,0,.35));animation:heroFloat 5s ease-in-out infinite}
.hero-kicker{display:inline-flex;align-items:center;gap:9px;padding:8px 14px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);border-radius:999px;text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:900;margin-bottom:20px;backdrop-filter:blur(12px)}
.hero-kicker::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--secondary);box-shadow:0 0 0 6px rgba(255,210,0,.14)}
.hero h1{font-size:clamp(58px,7vw,104px);letter-spacing:-.065em;line-height:.88;margin:0 0 26px;text-wrap:balance;text-shadow:0 15px 45px rgba(0,0,0,.28)}
.hero p{font-size:clamp(18px,2vw,24px);max-width:630px;color:rgba(255,255,255,.82);margin:0}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px}
.btn{position:relative;overflow:hidden;border-radius:999px;padding:16px 28px;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.btn::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.45) 50%,transparent 75%);transform:translateX(-130%);transition:transform .6s ease}
.btn:hover::before{transform:translateX(130%)}
.btn:hover{transform:translateY(-3px)}
.btn-primary{box-shadow:0 15px 35px rgba(255,210,0,.24)}
.btn-outline{border:1px solid rgba(255,255,255,.28);color:#fff;background:rgba(255,255,255,.07);backdrop-filter:blur(12px)}
.btn-outline:hover{background:#fff;color:#111}
@keyframes heroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

.home-stats{position:relative;z-index:4;margin-top:-54px;padding:0 0 45px}
.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid var(--sw-border);border-radius:26px;box-shadow:var(--sw-shadow-lg);overflow:hidden}
.stat-card{position:relative;padding:28px 18px;text-align:center;background:#fff;transition:.3s ease}
.stat-card:not(:last-child)::after{content:"";position:absolute;right:0;top:24%;height:52%;width:1px;background:var(--sw-border)}
.stat-card:hover{background:#f8faf9;transform:translateY(-3px)}
.stat-card span{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:14px;background:rgba(11,122,59,.1);font-size:22px;margin-bottom:10px}
.stat-card strong{display:block;font-size:31px;line-height:1.1;color:var(--sw-dark);letter-spacing:-.04em}
.stat-card p{font-size:13px;color:var(--sw-muted);margin-top:6px}

.section{padding:clamp(72px,8vw,115px) 0}
.section-light,.facebook-section,.sponsors-section{background:var(--sw-surface)}
.section-kicker,.section-badge{letter-spacing:.17em;font-size:12px;font-weight:900;text-transform:uppercase;color:var(--primary)}
.section-title,.section-title-big{font-size:clamp(40px,5vw,62px);line-height:1;letter-spacing:-.045em;margin-top:10px;margin-bottom:24px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}
.section-link{display:inline-flex;align-items:center;gap:10px;color:var(--primary);font-weight:900;border-bottom:2px solid rgba(11,122,59,.18);padding-bottom:5px;transition:.2s ease}
.section-link:hover{gap:15px;border-color:var(--primary)}
.intro-grid{gap:70px;align-items:start}
.lead{font-size:clamp(19px,2vw,24px);color:#4b5c53;line-height:1.75}
.why-grid{gap:18px}
.why-card{border:1px solid var(--sw-border)!important;border-radius:22px!important;padding:27px!important;background:#fff!important;box-shadow:0 12px 35px rgba(8,21,31,.06)!important;transition:.3s ease!important}
.why-card:hover{transform:translateY(-7px);box-shadow:var(--sw-shadow)!important;border-color:rgba(11,122,59,.25)!important}
.why-card strong{display:grid!important;place-items:center;width:48px;height:48px;border-radius:15px;background:rgba(11,122,59,.1);margin-bottom:18px;font-size:23px!important}

.card,.modern-card,.group-academy-card,.coach-home-card,.sponsor-card,.next-match-card,.facebook-feed-box{border:1px solid var(--sw-border);box-shadow:0 14px 42px rgba(8,21,31,.08)}
.modern-card{border-radius:24px;transition:transform .35s ease,box-shadow .35s ease}
.modern-card:hover{transform:translateY(-10px);box-shadow:var(--sw-shadow)}
.news-card img{height:260px!important;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.news-card:hover img{transform:scale(1.055)}
.card-body{padding:28px}
.card-label{display:inline-block;padding:6px 10px;border-radius:999px;background:rgba(11,122,59,.09);color:var(--primary);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;margin-bottom:14px}
.card-body h3{font-size:25px;line-height:1.2;letter-spacing:-.02em}
.card-body p{color:var(--sw-muted)}

.groups-home-hero{border-radius:30px!important;overflow:hidden;min-height:390px!important;box-shadow:var(--sw-shadow-lg)}
.groups-home-content{max-width:720px!important;padding:clamp(36px,6vw,78px)!important}
.groups-home-content h2{font-size:clamp(44px,6vw,70px)!important;letter-spacing:-.05em!important}
.groups-modern-grid{gap:25px!important;margin-top:30px!important}
.group-academy-card{border-radius:24px!important;overflow:hidden;transition:.35s ease;background:#fff}
.group-academy-card:hover{transform:translateY(-9px);box-shadow:var(--sw-shadow-lg)}
.group-academy-media img:not(.group-academy-logo){transition:transform .65s ease}
.group-academy-card:hover .group-academy-media img:not(.group-academy-logo){transform:scale(1.06)}
.group-card-btn{display:inline-flex!important;align-items:center;background:var(--sw-dark)!important;color:#fff!important;border-radius:999px!important;padding:11px 17px!important;transition:.25s ease}
.group-card-btn:hover{background:var(--primary)!important;transform:translateX(4px)}

.coach-home-card{overflow:hidden;border-radius:24px!important;transition:.35s ease;background:#fff}
.coach-home-card:hover{transform:translateY(-9px);box-shadow:var(--sw-shadow-lg)}
.coach-home-card img{transition:transform .65s ease}
.coach-home-card:hover img{transform:scale(1.045)}
.next-match-section{padding:90px 0;background:linear-gradient(135deg,var(--sw-dark),#123a28);position:relative;overflow:hidden}
.next-match-section::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 25%,rgba(255,210,0,.16),transparent 32%)}
.next-match-card{position:relative;border-color:rgba(255,255,255,.12)!important;box-shadow:0 30px 80px rgba(0,0,0,.25)!important}
.sponsor-card{filter:grayscale(.1);transition:.3s ease}
.sponsor-card:hover{filter:none;transform:translateY(-7px) scale(1.015)}
.facebook-feed-box{border-radius:28px;padding:18px}
.home-cta{padding:0 0 100px;background:#fff}
.home-cta-box{position:relative;overflow:hidden;border-radius:32px!important;padding:clamp(45px,7vw,85px)!important;background:linear-gradient(135deg,var(--primary),#07592c)!important;box-shadow:0 30px 75px rgba(11,122,59,.24)!important}
.home-cta-box::before{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.14);border-radius:50%;right:-150px;top:-190px;box-shadow:0 0 0 65px rgba(255,255,255,.04),0 0 0 130px rgba(255,255,255,.025)}
.home-cta-box>*{position:relative;z-index:1}
.home-cta-box h2{font-size:clamp(38px,5vw,62px)!important;letter-spacing:-.045em;line-height:1!important}

.site-footer{position:relative;padding:85px 0 40px;background:var(--sw-dark)}
.site-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),var(--secondary),var(--accent))}
.footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:65px}
.site-footer h3{font-size:19px;margin-bottom:20px;color:#fff}
.site-footer p,.site-footer a{color:rgba(255,255,255,.66);line-height:1.9}
.site-footer a:hover{color:var(--secondary)}
.scroll-top-btn{border:0!important;box-shadow:0 12px 30px rgba(0,0,0,.25)!important;transition:.25s ease!important}
.scroll-top-btn:hover{transform:translateY(-4px)!important}

/* scroll reveal */
.reveal-item{opacity:0;transform:translateY(34px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}
.reveal-item.reveal-visible{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}.reveal-delay-4{transition-delay:.32s}

@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(3,1fr)}.stat-card:nth-child(3)::after{display:none}.hero-brand{gap:20px}.hero-logo{width:145px!important}.main-nav{gap:12px}.join-btn{padding:11px 16px!important}}
@media(max-width:992px){
 .header-inner{height:82px}.logo img{height:105px!important;transform:translateY(15px)}
 .menu-toggle{width:46px;height:46px;border-radius:13px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.07);color:#fff;font-size:0}
 .menu-toggle::before{content:"\f0c9";font-family:"Font Awesome 6 Free";font-weight:900;font-size:20px}.menu-toggle.active::before{content:"\f00d"}
 .main-nav{top:82px!important;height:calc(100vh - 82px);overflow:auto;padding:26px!important;background:rgba(7,20,15,.99)!important;gap:4px!important}
 .main-nav>a,.menu-item>a{padding:14px 6px!important;font-size:17px!important;border-bottom:1px solid rgba(255,255,255,.07)}
 .main-nav>a::after,.menu-item>a::after{display:none}.submenu{display:block!important;opacity:1!important;visibility:visible!important;transform:none!important;margin:6px 0 8px!important}
 .hero{min-height:700px;background-position:62% center}.hero-content{padding:92px 0 100px}.hero-brand{display:block}.hero-logo{width:125px!important;margin-bottom:24px}.hero h1{font-size:clamp(57px,13vw,82px)}
 .stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card:nth-child(2n)::after{display:none}.stat-card:last-child{grid-column:1/-1}.intro-grid{grid-template-columns:1fr!important}.footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
 .hero{min-height:650px}.hero::after{display:none}.hero p{font-size:18px}.hero-actions{display:grid}.hero-actions .btn{text-align:center;width:100%}
 .home-stats{margin-top:-28px}.stats-grid{border-radius:20px}.stat-card{padding:22px 10px}.stat-card strong{font-size:26px}.stat-card p{font-size:12px}
 .section{padding:70px 0}.section-head{align-items:flex-start;flex-direction:column;margin-bottom:30px}.section-title,.section-title-big{font-size:39px}.grid-3{gap:18px}
 .why-grid{grid-template-columns:1fr!important}.groups-home-hero{min-height:430px!important}.groups-home-content{padding:35px 24px!important}.groups-modern-grid{grid-template-columns:1fr!important}
 .next-match-content{gap:14px!important}.footer-grid{grid-template-columns:1fr;gap:35px}.home-cta{padding-bottom:70px}.home-cta-box{border-radius:24px!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal-item{opacity:1;transform:none}}

/* =========================================================
   HOMEPAGE MOTION & SPACING — PREMIUM PASS
   ========================================================= */
html{scroll-behavior:smooth}
.section-spacious{padding-top:clamp(82px,8vw,132px)!important;padding-bottom:clamp(82px,8vw,132px)!important}
.section-spacious + .section-spacious{border-top:1px solid rgba(12,33,24,.055)}
.section-head{margin-bottom:clamp(34px,4vw,58px)!important}
.section-header-center{margin-bottom:clamp(36px,4.5vw,62px)!important}
.grid{gap:clamp(20px,2.4vw,34px)!important}

.hero{isolation:isolate;overflow:hidden}
.hero-motion{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.hero .container{position:relative;z-index:2}
.hero-orbit{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.14);animation:sw-orbit-pulse 7s ease-in-out infinite}
.hero-orbit-one{width:520px;height:520px;right:-145px;top:4%;box-shadow:0 0 0 65px rgba(255,255,255,.025),0 0 0 130px rgba(255,255,255,.014)}
.hero-orbit-two{width:230px;height:230px;left:-75px;bottom:5%;border-color:rgba(255,210,0,.24);animation-delay:-3.2s}
.hero-glow{position:absolute;width:560px;height:560px;left:34%;bottom:-390px;border-radius:50%;background:radial-gradient(circle,rgba(255,210,0,.24),rgba(255,210,0,0) 68%);filter:blur(6px);animation:sw-glow 6s ease-in-out infinite}
.hero-dot-field{position:absolute;right:8%;bottom:12%;width:185px;height:185px;opacity:.18;background-image:radial-gradient(circle,white 1.3px,transparent 1.5px);background-size:15px 15px;mask-image:linear-gradient(135deg,#000,transparent)}
.hero-kicker{animation:sw-fade-up .75s .1s both}
.hero h1{animation:sw-fade-up .9s .2s both}
.hero-text p{animation:sw-fade-up .9s .33s both}
.hero-logo{animation:sw-logo-enter 1s .12s both,sw-logo-float 5s 1.2s ease-in-out infinite}
.hero-actions{animation:sw-fade-up .9s .46s both}
.hero-actions .btn{position:relative;overflow:hidden}
.hero-actions .btn::before{content:"";position:absolute;inset:-2px auto -2px -45%;width:35%;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);transition:left .65s ease}
.hero-actions .btn:hover::before{left:115%}

.section-float{position:relative;z-index:5}
.stats-grid{transform:translateZ(0)}
.stat-card{position:relative;overflow:hidden}
.stat-card::before{content:"";position:absolute;left:18%;right:18%;bottom:0;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--secondary));transform:scaleX(0);transition:transform .35s ease}
.stat-card:hover::before{transform:scaleX(1)}
.stat-card span{display:inline-block;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.stat-card:hover span{transform:translateY(-5px) rotate(-6deg) scale(1.12)}

.section-pattern{position:relative;overflow:hidden}
.section-pattern::before{content:"";position:absolute;right:-170px;top:30px;width:430px;height:430px;border-radius:50%;border:1px solid rgba(11,122,59,.08);box-shadow:0 0 0 70px rgba(11,122,59,.025),0 0 0 140px rgba(11,122,59,.018);pointer-events:none}
.intro-grid{position:relative}
.intro-watermark{position:absolute;left:-5px;top:-78px;font-size:clamp(70px,11vw,150px);font-weight:950;letter-spacing:-.07em;color:rgba(7,20,15,.026);white-space:nowrap;pointer-events:none;user-select:none}
.intro-copy{position:relative;z-index:1}
.why-card{position:relative;overflow:hidden}
.why-card::after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;right:-75px;bottom:-85px;background:rgba(11,122,59,.07);transition:transform .45s ease}
.why-card:hover::after{transform:scale(1.65)}

.news-home-section{position:relative;overflow:hidden}
.news-home-section::after{content:"";position:absolute;left:-80px;top:25%;width:160px;height:330px;border-radius:0 160px 160px 0;background:linear-gradient(180deg,rgba(11,122,59,.07),rgba(255,210,0,.05));pointer-events:none}
.modern-card,.group-academy-card,.coach-home-card,.sponsor-card{will-change:transform}
.modern-card::after{content:"";position:absolute;inset:0;border-radius:inherit;border:1px solid transparent;transition:border-color .3s ease;pointer-events:none}
.modern-card:hover::after{border-color:rgba(11,122,59,.2)}
.section-link{display:inline-flex;align-items:center;gap:9px;transition:gap .25s ease,color .25s ease}
.section-link::after{content:"→";display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(11,122,59,.1);transition:transform .25s ease,background .25s ease}
.section-link:hover{gap:13px}
.section-link:hover::after{transform:translateX(2px);background:var(--primary);color:#fff}

.groups-home-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.1) 44%,transparent 62%);transform:translateX(-120%);animation:sw-hero-shine 8s 1.5s ease-in-out infinite;pointer-events:none}
.group-academy-logo{transition:transform .4s cubic-bezier(.2,.8,.2,1)!important}
.group-academy-card:hover .group-academy-logo{transform:translateY(-4px) rotate(-4deg) scale(1.06)}
.coaches-home-section{background:linear-gradient(180deg,#fff,#f8faf9)}
.coach-home-card div{position:relative;z-index:1}

.next-match-card{transition:transform .35s ease,box-shadow .35s ease}
.next-match-card:hover{transform:translateY(-7px);box-shadow:0 40px 95px rgba(0,0,0,.32)!important}
.next-match-section::after{content:"";position:absolute;right:-80px;bottom:-170px;width:420px;height:420px;border:1px solid rgba(255,255,255,.1);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.015);animation:sw-spin 28s linear infinite}
.sponsors-grid{gap:clamp(18px,2vw,28px)!important}
.sponsor-card img{transition:transform .35s ease,filter .35s ease}
.sponsor-card:hover img{transform:scale(1.06)}
.home-cta-box{transition:transform .4s ease,box-shadow .4s ease}
.home-cta-box:hover{transform:translateY(-6px);box-shadow:0 40px 90px rgba(11,122,59,.3)!important}

[data-parallax]{transform:translate3d(0,var(--parallax-y,0),0)}
.tilt-active{transition:transform .12s linear!important}

@keyframes sw-fade-up{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes sw-logo-enter{from{opacity:0;transform:translateY(25px) scale(.82) rotate(-7deg)}to{opacity:1;transform:none}}
@keyframes sw-logo-float{0%,100%{translate:0 0}50%{translate:0 -9px}}
@keyframes sw-orbit-pulse{0%,100%{transform:scale(1);opacity:.65}50%{transform:scale(1.07);opacity:1}}
@keyframes sw-glow{0%,100%{transform:translateY(0) scale(1);opacity:.75}50%{transform:translateY(-25px) scale(1.08);opacity:1}}
@keyframes sw-hero-shine{0%,68%{transform:translateX(-120%)}86%,100%{transform:translateX(120%)}}
@keyframes sw-spin{to{transform:rotate(360deg)}}

@media(max-width:900px){
 .section-spacious{padding-top:82px!important;padding-bottom:82px!important}
 .hero-orbit-one{width:380px;height:380px;right:-190px}.hero-dot-field{display:none}
 .intro-watermark{top:-48px;font-size:74px}
}
@media(max-width:640px){
 .section-spacious{padding-top:68px!important;padding-bottom:68px!important}
 .section-spacious + .section-spacious{border-top:0}
 .hero-orbit-two{display:none}.hero-glow{left:5%;width:400px}
 .intro-watermark{font-size:54px;top:-30px}
 .section-pattern::before,.news-home-section::after{display:none}
 .grid{gap:20px!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-logo,.hero-kicker,.hero h1,.hero-text p,.hero-actions,.hero-orbit,.hero-glow,.groups-home-hero::after,.next-match-section::after{animation:none!important}}

/* =========================================================
   PEWNE ANIMACJE SEKCJI — SCROLL REVEAL V2
   ========================================================= */
body > section.scroll-section-reveal {
    opacity: 0;
    transform: translate3d(0, 68px, 0) scale(.985);
    filter: blur(7px);
    transition:
        opacity 1.05s cubic-bezier(.22, 1, .36, 1),
        transform 1.05s cubic-bezier(.22, 1, .36, 1),
        filter .9s ease;
    will-change: opacity, transform, filter;
}

body > section.scroll-section-reveal.is-section-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0);
}

.scroll-child-reveal {
    opacity: 0;
    transform: translate3d(0, 30px, 0);
    transition:
        opacity .82s cubic-bezier(.22, 1, .36, 1),
        transform .82s cubic-bezier(.22, 1, .36, 1);
    transition-delay: calc(150ms + (var(--reveal-order, 0) * 90ms));
    will-change: opacity, transform;
}

.is-section-visible .scroll-child-reveal.is-child-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

/* Hero ma osobny, efektowny start bez oczekiwania na scroll. */
.hero.scroll-section-reveal {
    transform: translate3d(0, 24px, 0) scale(.992);
}

/* Więcej oddechu pomiędzy kolejnymi blokami strony głównej. */
body > section:not(.hero):not(.home-stats) {
    scroll-margin-top: 105px;
}

.section-spacious {
    padding-top: clamp(92px, 9vw, 145px) !important;
    padding-bottom: clamp(92px, 9vw, 145px) !important;
}

.section-spacious .container {
    position: relative;
    z-index: 2;
}

@media (max-width: 900px) {
    body > section.scroll-section-reveal {
        transform: translate3d(0, 44px, 0) scale(.99);
        filter: blur(4px);
        transition-duration: .85s;
    }

    .section-spacious {
        padding-top: 78px !important;
        padding-bottom: 78px !important;
    }
}

@media (max-width: 600px) {
    body > section.scroll-section-reveal {
        transform: translate3d(0, 34px, 0);
        filter: blur(3px);
    }

    .section-spacious {
        padding-top: 64px !important;
        padding-bottom: 64px !important;
    }
}

/* Przy ograniczonym ruchu zachowujemy delikatne przenikanie bez przesuwania. */
@media (prefers-reduced-motion: reduce) {
    body > section.scroll-section-reveal,
    .scroll-child-reveal {
        transform: none !important;
        filter: none !important;
        transition: opacity .35s ease !important;
    }
}

/* =========================================================
   MOBILE NAV + KALENDARZ — TOUCH FIX
   ========================================================= */
.events-panel.is-open {
    right: 0;
}

.events-tab {
    border: 0;
    font: inherit;
    line-height: 1;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

.events-tab span {
    display: block;
}

@media (hover: hover) and (pointer: fine) {
    .events-panel:hover {
        right: 0;
    }
}

@media (max-width: 992px) {
    .site-header,
    .site-header .container,
    .header-inner {
        position: relative;
        z-index: 10020;
    }

    .menu-toggle {
        position: relative;
        pointer-events: auto;
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
    }

    .main-nav {
        position: fixed !important;
        top: 95px !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        height: calc(100dvh - 95px) !important;
        max-height: calc(100dvh - 95px) !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        pointer-events: none;
        opacity: 0;
        visibility: hidden;
        transform: translateY(-12px);
        display: flex !important;
        transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
    }

    .main-nav.active {
        pointer-events: auto;
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .main-nav a,
    .main-nav .menu-item {
        pointer-events: auto;
    }

    .events-panel {
        top: 125px;
        right: min(-88vw, -350px);
        width: min(88vw, 350px);
        z-index: 10010;
        transition: right .35s cubic-bezier(.22, 1, .36, 1);
    }

    .events-panel.is-open {
        right: 0;
    }

    .events-tab {
        left: -48px;
        min-width: 48px;
        min-height: 118px;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 2;
    }

    .events-content {
        max-height: calc(100dvh - 150px);
        border-radius: 0 0 0 18px;
    }
}

@media (max-width: 480px) {
    .events-panel {
        right: calc(-100vw + 54px);
        width: calc(100vw - 54px);
        top: 110px;
    }

    .events-content {
        padding: 16px;
        max-height: calc(100dvh - 125px);
    }
}

/* =========================================================
   MOBILE FULL-WIDTH FIX — biały pas / przesunięcie strony
   ========================================================= */
html,
body {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: clip;
}

@supports not (overflow: clip) {
    html,
    body {
        overflow-x: hidden;
    }
}

.site-header,
main,
body > section,
.site-footer {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.site-footer {
    clear: both;
}

/* Panel jest zawsze przy prawej krawędzi i chowa się transformacją.
   Dzięki temu nie poszerza dokumentu i nie tworzy białego pasa. */
.events-panel {
    right: 0 !important;
    transform: translate3d(100%, 0, 0);
    transition: transform .35s cubic-bezier(.22, 1, .36, 1) !important;
    will-change: transform;
}

.events-panel.is-open {
    right: 0 !important;
    transform: translate3d(0, 0, 0);
}

@media (hover: hover) and (pointer: fine) {
    .events-panel:hover {
        right: 0 !important;
        transform: translate3d(0, 0, 0);
    }
}

@media (max-width: 992px) {
    .events-panel {
        right: 0 !important;
        width: min(88vw, 350px) !important;
        transform: translate3d(100%, 0, 0);
    }

    .events-panel.is-open {
        transform: translate3d(0, 0, 0);
    }

    .events-content {
        width: 100%;
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .events-panel {
        right: 0 !important;
        width: calc(100vw - 54px) !important;
        max-width: calc(100vw - 54px) !important;
        transform: translate3d(100%, 0, 0);
    }

    .events-panel.is-open {
        transform: translate3d(0, 0, 0);
    }

    .events-tab {
        left: -48px !important;
    }

    body > section,
    .site-footer,
    .site-header {
        min-width: 0;
    }

    .container {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .grid,
    .groups-modern-grid,
    .group-academy-card,
    .groups-home-hero,
    .facebook-feed-box,
    .home-cta-box {
        min-width: 0;
        max-width: 100%;
    }
}
