/* SK Preloader - SVG draw animation */
.sk-preloader {
    align-items: center;
    justify-content: center;
    display: flex;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 99999999;
    background: #fff;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}
.sk-preloader.loaded {
    opacity: 0;
    visibility: hidden;
}
.sk-preloader-logo {
    width: 560px;
    height: 560px;
}
.sk-preloader-logo svg {
    width: 100%;
    height: 100%;
    overflow: visible;
}
.sk-preloader-logo svg .st0,
.sk-preloader-logo svg .st1,
.sk-preloader-logo svg .st2 {
    fill: transparent;
    stroke-dasharray: 3000;
    stroke-dashoffset: 3000;
    stroke-width: 4;
}
.sk-preloader-logo svg .st0,
.sk-preloader-logo svg .st1 {
    stroke: #1d4c95;
    animation: sk-draw 1.5s ease-in-out forwards, sk-fill-blue 0.4s ease-in 1.4s forwards;
}
.sk-preloader-logo svg .st2 {
    stroke: #961a30;
    animation: sk-draw 1.5s ease-in-out forwards, sk-fill-red 0.4s ease-in 1.4s forwards;
}
.sk-preloader-logo svg polygon.st2 {
    animation: sk-draw 1.5s ease-in-out forwards, sk-fill-red 0.4s ease-in 1.4s forwards;
}
@keyframes sk-draw {
    to { stroke-dashoffset: 0; }
}
@keyframes sk-fill-blue {
    to { fill: #1d4c95; stroke-width: 0; }
}
@keyframes sk-fill-red {
    to { fill: #961a30; stroke-width: 0; }
}
@media (max-width: 767px) {
    .sk-preloader-logo {
        width: 400px;
        height: 400px;
    }
}


.preloader {
    align-items: center;
    cursor: default;
    display: flex;
    height: 100%;
    justify-content: center;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 9999999;
    background: #fff;
}
.preloader.loaded {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}
.preloader-logo {
    width: 560px;
    height: 560px;
}
.preloader-logo svg {
    width: 100%;
    height: 100%;
}
/* Phase 1: draw stroke */
.preloader-logo svg path,
.preloader-logo svg polygon {
    fill: transparent !important;
    stroke-width: 3;
    stroke-dasharray: 2000;
    stroke-dashoffset: 2000;
    animation: draw 2s ease-out forwards, fill-in 0.6s ease-in 1.8s forwards;
}
.preloader-logo svg .st0,
.preloader-logo svg .st1 {
    stroke: #1d4c95;
}
.preloader-logo svg .st2 {
    stroke: #961a30;
}
/* Stagger animation for different groups */
.preloader-logo svg g:nth-child(1) path,
.preloader-logo svg g:nth-child(1) polygon {
    animation: draw 2s ease-out forwards, fill-red 0.6s ease-in 1.8s forwards;
}
.preloader-logo svg g:nth-child(2) path,
.preloader-logo svg g:nth-child(2) polygon {
    animation-delay: 0.3s, 2.1s;
}
/* Phase 1: stroke draws in */
@keyframes draw {
    to {
        stroke-dashoffset: 0;
    }
}
/* Phase 2: fill fades in (blue) */
@keyframes fill-in {
    to {
        fill: #1d4c95;
        stroke-width: 0;
    }
}
/* Phase 2: fill fades in (red) */
@keyframes fill-red {
    to {
        fill: #961a30;
        stroke-width: 0;
    }
}

@media (max-width: 767px) {
    .preloader-logo {
        width: 400px;
        height: 400px;
    }
}

/* === Polska Szkoła Amsterdam - Custom Overrides === */

/* Banner: real photos instead of PNG illustrations */
.banner-1 .banner-shape-thumb1,
.banner-1 .banner-shape-thumb2 {
    animation: none !important;
}
.banner-1 .banner-shape-thumb1 img,
.banner-1 .banner-shape-thumb2 img {
    border-radius: 15px;
    object-fit: cover;
    max-height: 380px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.15);
}
.banner-1 .banner-shape-thumb2 {
    margin-top: 180px !important;
}

/* About: main photo */
.about-one-thumbs .thumbs .main-img {
    object-fit: cover;
    max-height: 450px;
    width: 100%;
    box-shadow: 0 6px 25px rgba(0,0,0,0.12);
}
.about-one-thumbs .thumbs .about-light1,
.about-one-thumbs .thumbs .about-arrows {
    display: none;
}

/* Program child - hide floating element */
.program-sectionv1 .program-child {
    display: none !important;
}

/* Program section - custom icons */
.sk-program-icon {
    font-size: 40px;
    line-height: 1;
}
.sk-program-icon-lg {
    font-size: 50px;
}

/* FAQ: disable zoom animation */
.faq-thumbs {
    animation: none !important;
}
.faq-thumbs img {
    border-radius: 15px;
    object-fit: cover;
    max-height: 500px;
    box-shadow: 0 6px 25px rgba(0,0,0,0.12);
}

/* Knowledge/Groups: hide template animal/shape decorations */
.knowledge-section .knowledge-animal,
.knowledge-section .knowledge-shapeleft {
    display: none !important;
}

/* Zapisy (inspiration) section - hide missing bg image */
.inspair-section {
    background-image: none !important;
}
.inspair-section .inspair-thumb {
    animation: none !important;
}
.inspair-section .inspair-thumb img {
    border-radius: 15px;
    object-fit: cover;
    max-height: 420px;
    box-shadow: 0 6px 25px rgba(0,0,0,0.12);
}
.inspair-section .inspair-content {
    padding: 80px 0 !important;
}

/* News cards - 3 column layout */
.news-card {
    background: #fff;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
    border-radius: 10px;
    overflow: hidden;
}
.news-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(0,0,0,0.15);
}
.news-card h5 a {
    text-decoration: none;
    transition: color 0.3s;
}
.news-card h5 a:hover {
    color: #961A30 !important;
}
.news-card .readmore {
    color: #1A4D95;
    text-decoration: none;
    font-weight: 500;
}
.news-card .readmore:hover {
    color: #961A30;
}

/* Preloader: school colors + logo */



@media (max-width: 767px) {
    
}

/* Footer shapes - hide */
.footer-apple,
.footer-cut {
    display: none !important;
}

/* Hide search icon in header */
.search-trigger.search-icon {
    display: none !important;
}

/* Scroll-to-top button - more visible */
.progress-wrap {
    box-shadow: inset 0 0 0 2px rgba(26, 77, 149, 0.3) !important;
}
.progress-wrap::after {
    color: #1A4D95 !important;
}
.progress-wrap svg.progress-circle path {
    stroke: #1A4D95 !important;
}
.progress-wrap.active-progress {
    opacity: 1 !important;
    visibility: visible !important;
}

/* === O Nas page === */

/* Groups table */
.sk-groups-table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06);
}
.sk-groups-table thead th {
    background: #1A4D95;
    color: #fff;
    font-weight: 600;
    padding: 14px 18px;
    font-size: 0.95rem;
    border: none;
}
.sk-groups-table tbody td {
    padding: 12px 18px;
    border-bottom: 1px solid #eee;
    vertical-align: middle;
    font-size: 0.92rem;
}
.sk-groups-table tbody tr:last-child td {
    border-bottom: none;
}
.sk-groups-table tbody tr:hover {
    background: #f8fafd;
}
.sk-group-badge {
    display: inline-block;
    color: #fff;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 6px;
    font-size: 0.9rem;
    min-width: 40px;
    text-align: center;
}

/* Subgroup tags */
.sk-subgroups {
    margin-top: 6px;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}
.sk-subgroup-tag {
    display: inline-block;
    font-size: 0.78rem;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 4px;
    border: 1.5px solid;
    background: #fff;
}

/* Schedule compact */
.sk-schedule-row {
    padding: 12px 20px;
    border-bottom: 1px solid #eee;
}
.sk-schedule-row:last-child {
    border-bottom: none;
}
.sk-schedule-month {
    min-width: 150px;
    font-weight: 600;
    color: #1A4D95;
    font-size: 0.92rem;
}
.sk-schedule-day {
    display: inline-flex;
    align-items: baseline;
    gap: 2px;
    background: #f0f4fa;
    padding: 5px 12px;
    border-radius: 6px;
    font-weight: 700;
    font-size: 0.95rem;
    color: #333;
}
.sk-schedule-day small {
    font-weight: 400;
    color: #888;
    font-size: 0.78rem;
}
.sk-schedule-day em {
    font-style: normal;
    font-weight: 400;
    color: #aaa;
    font-size: 0.72rem;
    margin-left: 3px;
}
.sk-schedule-row.sk-month-past {
    opacity: 0.45;
}
.sk-day-past {
    opacity: 0.5;
    text-decoration: line-through;
}
@media (max-width: 575px) {
    .sk-schedule-row {
        flex-direction: column;
        gap: 6px;
    }
    .sk-schedule-month {
        min-width: auto;
    }
}

/* Rules lists */
.sk-rules-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.sk-rules-list li {
    padding: 6px 0 6px 22px;
    position: relative;
    font-size: 0.92rem;
    color: #555;
}
.sk-rules-list li::before {
    content: '\f00c';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    color: #2BA84A;
    font-size: 0.8rem;
}

/* Sticky header - use CSS sticky instead of JS fixed toggle.
   This keeps the header in document flow, eliminating all jumps. */
header#header-sticky {
    position: sticky !important;
    top: 0;
    z-index: 100;
    background-color: #fff;
}
/* Override parent theme's position:fixed on .sticky class */
header#header-sticky.sticky {
    position: sticky !important;
    animation: none !important;
    transition: padding 0.2s ease, box-shadow 0.2s ease !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}
header#header-sticky.sticky.header-1 {
    padding: 14px 0 !important;
}
header#header-sticky .header-logo img {
    transition: max-height 0.2s ease;
}
header#header-sticky.sticky .header-logo img {
    max-height: 50px !important;
}
header#header-sticky.sticky .mega-menu-wrapper,
header#header-sticky.sticky .header-main {
    overflow: visible !important;
}

/* Scrollbar - wider and more visible */
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}
::-webkit-scrollbar-track {
    background: #f0f0f0;
    box-shadow: none;
}
::-webkit-scrollbar-thumb {
    background: #1A4D95;
    border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
    background: #961A30;
}
html {
    scrollbar-width: auto;
    scrollbar-color: #1A4D95 #f0f0f0;
}

/* === Single Post === */

/* Compact breadcrumb */
.szkola-breadcrumb {
    padding: 12px 0 8px;
    font-size: 0.85rem;
    color: #999;
}
.szkola-breadcrumb a {
    color: #888;
    text-decoration: none;
    transition: color 0.2s;
}
.szkola-breadcrumb a:hover {
    color: #1A4D95;
}
.szkola-breadcrumb i {
    font-size: 0.6rem;
    margin: 0 6px;
    color: #ccc;
}
.szkola-breadcrumb span {
    color: #555;
}

/* Responsive */
@media (max-width: 991px) {
    .banner-1 .banner-shape-thumb1 img,
    .banner-1 .banner-shape-thumb2 img {
        max-height: 250px;
    }
    .banner-1 .banner-shape-thumb2 {
        margin-top: 80px !important;
    }
    .inspair-section .inspair-content {
        padding: 40px 0 !important;
    }
}
@media (max-width: 767px) {
    .banner-1 .banner-shape-thumb1 img,
    .banner-1 .banner-shape-thumb2 img {
        max-height: 180px;
    }
    .banner-1 .banner-shape-thumb2 {
        margin-top: 40px !important;
    }
}

/* Polish text — disable English-style capitalize from parent theme */
h1, h2, h3, h4, h5, h6,
.sub-title,
.section-title,
.banner-v1-content h1 .title-explore,
.header-main .main-menu ul li a,
.theme-btn,
.theme-btn span,
.theme-btn-2,
.accordion-btn,
.offcanvas__wrapper .offcanvas__content .offcanvas__contact .header-button .theme-btn {
    text-transform: none !important;
}

/* Wydarzenia: okladki dopasowane - cale zdjecie na rozmytym tle */
.news-card-thumb{position:relative;height:220px;overflow:hidden;background-color:#e9eef6;background-size:cover;background-position:center;}
.news-card-thumb::before{content:"";position:absolute;inset:0;background-image:inherit;background-size:cover;background-position:center;filter:blur(16px) brightness(1.04);transform:scale(1.2);}
.news-card-thumb > a{position:relative;z-index:2;display:block;height:100%;}
.news-card-thumb img{width:100%!important;height:100%!important;object-fit:contain!important;position:relative;z-index:2;}
@media (max-width:575.98px){.news-card-thumb{height:200px;}}
/* === Mobilny dolny pasek nawigacji (tylko telefon) === */
.sk-bottomnav{display:none;}
@media (max-width:991.98px){
  .sk-bottomnav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:9990;background:#fff;border-top:1px solid #e6e9f0;box-shadow:0 -2px 12px rgba(0,0,0,.07);justify-content:space-around;padding:6px 4px;padding-bottom:calc(6px + env(safe-area-inset-bottom));}
  .sk-bottomnav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 2px;text-decoration:none;color:#555;font-size:.7rem;font-weight:600;line-height:1.1;text-align:center;}
  .sk-bottomnav a i{font-size:1.15rem;color:#1A4D95;}
  .sk-bottomnav a:active{opacity:.55;}
  body{padding-bottom:64px;}
  /* na telefonie header nie musi byc lepki - dolny pasek wystarczy */
  header#header-sticky{position:relative !important;top:auto !important;}
}
/* === Poprawki mobilne 2026 (dolny pasek / stopka / nawigacja wpisow) === */
@media (max-width:991.98px){
  body{padding-bottom:78px;}                       /* miejsce nad dolnym paskiem - stopka sie nie chowa */
  .progress-wrap{bottom:90px !important;}          /* przycisk "do gory" nad paskiem */
  /* stopka: wysrodkowane kolumny na telefonie */
  .footer-section .single-footer-widget{text-align:center;}
  .footer-section .footer-logo{display:inline-block;}
  .footer-section .social-wrapper{justify-content:center;}
  .footer-section .list-area{display:inline-block;text-align:left;}
  .footer-section .list-contact li{justify-content:center;}
  .footer-section .footer-bottom .footer-wrapper{text-align:center;justify-content:center;}
}
/* Nawigacja prev/next wpisu - czytelna, nie nachodzi na siebie */
.post-navigation .nav-links{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:stretch;}
.post-navigation .nav-previous,.post-navigation .nav-next{flex:1 1 45%;min-width:0;}
.post-navigation .nav-next{text-align:right;}
.post-navigation a{display:inline-flex;max-width:100%;align-items:center;}
@media (max-width:520px){
  .post-navigation .nav-previous,.post-navigation .nav-next{flex:1 1 100%;text-align:center;}
  .post-navigation .nav-next{text-align:center;}
}
/* === Override stopka 2026: pewne miejsce nad dolnym paskiem (mobile) === */
@media (max-width:991.98px){
  body{padding-bottom:0 !important;}
  .footer-section{padding-bottom:92px !important;}   /* stopka sama trzyma odstep nad paskiem */
  .sk-bottomnav a span{white-space:nowrap;font-size:.66rem;}
}
/* Gorne zdjecie wpisu - wycentrowane i responsywne */
.blog-single-items .blog-thumbig{text-align:center;}
.blog-single-items .blog-thumbig img{display:block;width:auto;max-width:100%;max-height:520px;height:auto;margin:0 auto;border-radius:10px;}
/* === Stopka Kontakt wyrownanie: spojny adres i mail === */
.footer-section .list-contact{display:inline-block;text-align:left;margin:0;padding:0;list-style:none;}
.footer-section .list-contact li{display:flex;align-items:flex-start;justify-content:flex-start;gap:9px;margin-bottom:12px;}
.footer-section .list-contact li i{flex-shrink:0;width:18px;text-align:center;margin-top:5px;}
.footer-section .list-contact li a{display:inline-block;line-height:1.5;}
/* === Stopka: mail wycentrowany w pionie z ikona (adres wieloliniowy zostaje do gory) === */
.footer-section .list-contact li:last-child{align-items:center;}
.footer-section .list-contact li:last-child i{margin-top:0;}
/* === Email zawsze male litery (wszystkie linki mailto, niezaleznie od text-transform) === */
a[href^="mailto:"]{text-transform:lowercase !important;}