@media(max-width:40rem) {
    body{font-size:1.05rem}
    .content{padding:1.2rem}
}:root{
    --primary:#4f46e5;
    --primary-hover:#4338ca;
    --text:#1f2937;
    --border:#d1d5db;
    --bg:#f5f7fb;
    --error:#dc2626;
    --success:#16a34a;
} * {
    box-sizing:border-box;
    margin:0;
    padding:0
} body {
    font-weight: 400; 
    font: 1.125rem/1.75 Segoe UI,Tahoma,sans-serif; /*"Source Sans 3",sans-serif*/
    margin: 0;
    display: flex;
    flex-direction: column;
    background:linear-gradient(135deg,#eef2ff,#f8fafc);
    min-height: 100vh;
    justify-content:center;

} h1,h2,h3 {
    font-family:"Cormorant Garamond",serif;
    line-height:1.15;
    letter-spacing:.01em;
    color:var(--head);
}h1{
    /*font-style font-weight font-size font-family */
    font-size: clamp(2rem,2vw,3rem);
    /*font-width: 150%;*/
    font-stretch: 200%;
    text-align:center;
    color: #FDFDFD;
    margin: 2vh 4vh 2vh;
    padding: 1vh 0;
    background-color: #16455C;
}h2{
    text-align: center;
    font-stretch: 150%;
    color: #FDFDFD;
    background-color:#5A7D8F;
    padding: 1vh 0;
    margin: 2vh 4vh;
}h3{
    padding: 0;
    margin: 2vh 4vh;
}h4{
    padding: 0;
    margin: 1vh 4vh;
    text-align: left;
    font-weight: 100;
    font-style: italic;
    font-size: medium;
}header{
    border-bottom:1px solid #ddd;
    min-height: min(400px, 80%);
    min-width: min(1100px,85%);
    background-color:#d0dde8;
    margin: 0 auto;
}#header .banner{
    width: 100%;
    aspect-ratio: 1920/800;
    background-image: url('baner1.png');
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    display: block;
    margin-left: auto; 
    margin-right: auto;
}#header .container{
    justify-content: space-between;
    padding: 20px 0;
    text-align: center;
}nav a{
    text-decoration:none;
    color:#333;
    padding: 1vh;
    font-weight:normal;
}nav a:hover{
    color:#2d6cdf;
    font-weight:normal;
}nav a.active{
    color:#2d6cdf;
    font-weight:bold;
    border-bottom:3px solid #2d6cdf
}main .container{
    min-width: min(1100px,70%);
    margin: 1vh;
    font-weight: normal;
}.prowadzacy {
    margin: 0 2vh;
    border: 1px solid #D0DDE8;
    padding: 3vh 0;
}main p{
    text-align: justify;
    margin: 1vh 4vh;
}ul{
    margin: 0 1vh 2vh 2vh;
    padding: 0;
    list-style-position: inside;
}ul li{
    margin: 0 2vh;
    padding: 0 2vh; 
}ul li ul li{
    margin: 0 2vh;
    padding: 0 2vh;
}.fb_insta {
    overflow: hidden;
    margin: 2vh 4vh;
}.fb_insta img {
    width: 8vh;
    height: 8vh;
    margin-right: 2vh;
} ol ol {
    padding-left: 2vh;
} /* Resetujemy i definiujemy główny licznik */
ol {
    list-style-type: none; /* Ukrywa standardowe numery */
    counter-reset: poziom;  /* Tworzy nowy licznik o nazwie "poziom" */
    padding-left: 1vh;
    margin: 1vh 4vh;
} /* Inkrementacja i wyświetlanie licznika */
ol li {
    counter-increment: poziom; /* Zwiększa licznik o 1 przy każdym li */
} /* Generowanie tekstu numeru przed elementem */
ol li::before {
    content: counters(poziom, ".") ". "; /* Łączy liczniki kropką i dodaje kropkę na końcu */
    /*font-weight: bold; */                 /* Pogrubienie dla lepszej czytelności */
    margin-right: 5px;
} table {
    border-collapse: collapse;
    text-align: center;
    margin: 0 auto;
    width: 99%;
} table, th, td {
    border: 2px solid black;
    padding: 5px;
} th, td {
    height: 5rem;
} td.godzina {
    width: 7rem;
}


/* Formularz kontaktowy na podstronie "Kontakt" */
.contact-card{
    background:#fff;
    max-width:720px;
    width:100%;
    padding:2.5rem;
    border-radius:20px;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
    margin: 0 auto;   
}.form-group {
    margin-bottom:1rem
}label{
    display:block;
    font-weight:600;
    margin-bottom:.5rem
}input,textarea{
    width:100%;
    padding:14px;
    border:1px solid var(--border);
    border-radius:12px;
    font-size:1rem;
}textarea{
    min-height:160px
}.error{
    display:none;
    color:var(--error);
    font-size:.9rem;
    margin-top:.3rem;
}button{
    width:100%;
    padding:15px;
    border:none;
    border-radius:12px;
    background:var(--primary);
    color:#fff;
    font-size:
    1rem;
    cursor:pointer;
}button:hover{
    background:var(--primary-hover)
}.success-message{
    display:none;margin-top:1rem;padding:1rem;
    background:#ecfdf5;border:1px solid #bbf7d0;border-radius:12px;color:var(--success);
}.consent-label{
    display:flex;
    gap:12px;
    align-items:flex-start;
    font-weight:400;
    line-height:1.6;
}.consent-label input{
    width:20px;
    height:20px;
    flex-shrink:0;
    margin-top:2px
}.small-note{
    font-size:.9rem;
    color:#666;
    margin-top:1rem;
}

/*Stopka*/
footer{
    min-width: min(1100px,90%);
    background:#d0dde8;
    color:#000;
    padding:1vh;
    text-align:center;
    margin-top: 4vh;
    margin-left: auto;
    margin-right: auto;
}