/* === CSS Variables - Light Mode (Default) === */
:root {
    --color-primary-light: #FFFFFF;
    --color-primary-background: #EBF0F6; /* Cieplejszy, delikatniejszy szaro-niebieski */
    --color-secondary-dark-text: #2A3C4F; /* Pogłębiony ciemny tekst */
    --color-contrast-block: #003A6A; /* Intensywniejszy Navy Blue */
    --color-accent-red: #D92D2D; /* Bardziej żywy i intensywny czerwony */
    --font-family-headings: 'Montserrat', sans-serif;
    --font-family-body: 'Open Sans', sans-serif;
    --text-color-body: #4A5568;
    --nav-height: 70px;
    --border-light: #C0CCD9; /* Lżejsza, ale obecna linia */
    --box-shadow-card: 0 8px 24px rgba(0,0,0,0.1); /* Bardziej wyraźny, miękki cień */
    --box-shadow-card-hover: 0 14px 35px rgba(0,0,0,0.18); /* Głęboki cień na hover */
    --hero-bg-gradient-start: #DCE7F0; /* Delikatniejszy początek gradientu */
    --hero-bg-gradient-end: #EBF0F6; /* Dopasowany do nowego tła */
    --section-accent-bg: #CADBEB; /* Bardziej nasycony odcień dla akcentu */
    --separator-height: 4px;

    /* NEW: Button Variables */
    --button-primary-bg: var(--color-accent-red);
    --button-primary-text: var(--color-primary-light);
    --button-secondary-bg: var(--color-contrast-block); /* Drugi przycisk w kolorze bloku kontrastu */
    --button-secondary-text: var(--color-primary-light);
    /* NEW: Enhanced shadows for less "flat" look */
    --box-shadow-medium: 0 10px 25px rgba(0,0,0,0.12); /* Zwiększone cienie */
    --box-shadow-large: 0 16px 40px rgba(0,0,0,0.2);
    --box-shadow-button-hover: 0 12px 30px rgba(0,0,0,0.25); /* Ulepszony cień na hover przycisków */
}

/* --- Global Reset & Typography --- */
* { box-sizing: border-box; margin: 0; padding: 0; }
html {
    scroll-behavior: smooth;
    overflow-x: hidden; /* Dodaj tę linię */
}
body {
    font-family: var(--font-family-body);
    line-height: 1.8;
    color: var(--text-color-body);
    background-color: var(--color-primary-background);
    font-size: 17px;
    transition: background-color 0.3s, color 0.3s;
    overflow-x: hidden;
    opacity: 0;
    animation: pageFadeIn 0.7s ease-out forwards;
    animation-delay: 0.2s;
}

/* Custom Scrollbar */
body::-webkit-scrollbar {
    width: 10px;
}
body::-webkit-scrollbar-track {
    background: var(--color-primary-background);
}
body::-webkit-scrollbar-thumb {
    background-color: var(--color-contrast-block);
    border-radius: 10px;
    border: 2px solid var(--color-primary-background);
}
body::-webkit-scrollbar-thumb:hover {
    background-color: var(--color-accent-red);
}


@keyframes pageFadeIn { to { opacity: 1; } }

h1, h2, h3, h4 {
    font-family: var(--font-family-headings);
    color: var(--color-secondary-dark-text);
    margin-bottom: 1.2rem;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: -0.02em; /* Dodany letter-spacing */
}
h1 { font-size: 2.7rem; font-weight: 800; }
h2 { font-size: 2.2rem; color: var(--color-contrast-block); margin-bottom: 2.5rem;}
h3 { font-size: 1.4rem; color: var(--color-secondary-dark-text); }
p { margin-bottom: 1.2rem; line-height: 1.7; /* Lekko zmieniony line-height */ }
a { color: var(--color-accent-red); text-decoration: none; transition: color 0.3s; }
a:hover { color: #A82424; /* Ciemniejszy czerwony na hover */ text-decoration: none; }
img { max-width: 100%; height: auto; }

.container { width: 90%; max-width: 1100px; margin: 0 auto; padding: 3rem 0; }

section {
    padding: 80px 0;
    background-color: transparent;
    position: relative;
}
/* Domyślny border-top dla sekcji, zresetowany dla hero i kalendarza */
section:not(.hero):not(#kontakt) {
    border-top: 1px solid var(--border-light);
    margin-top: -1px;
    box-shadow: inset 0 2px 5px rgba(0,0,0,0.03), inset 0 -2px 5px rgba(0,0,0,0.03);
}
/* Resetowanie border-top i margin-top dla kalendarza, ponieważ jest teraz tuż za hero */
#kalendarz {
    border-top: none;
    margin-top: 0;
}
/* #o-mnie ma teraz border-top, bo jest za kalendarzem */
#o-mnie {
    background-color: var(--section-accent-bg);
    /* border-top: 1px solid var(--border-light); - już jest w generalnym section */
    box-shadow: inset 0 5px 15px rgba(0,0,0,0.05);
}


/* === Buttons === */
.btn {
    display: inline-block;
    padding: 14px 28px;
    border-radius: 8px;
    font-family: var(--font-family-headings);
    font-weight: 700;
    text-align: center;
    transition: all 0.3s ease;
    cursor: pointer;
    text-decoration: none;
    font-size: 1rem;
    border: 2px solid transparent;
    box-shadow: var(--box-shadow-medium); /* Lekki cień na przyciskach */
    min-width: 200px; /* Zwiększono min-width dla desktopu */
    box-sizing: border-box; /* Ważne dla min-width z paddingiem */
}

.btn-primary {
    background-color: var(--button-primary-bg);
    color: var(--button-primary-text);
    border-color: var(--button-primary-bg);
}

.btn-primary:hover {
    background-color: transparent;
    color: var(--button-primary-bg);
    border-color: var(--button-primary-bg);
    transform: translateY(-3px);
    box-shadow: var(--box-shadow-button-hover); /* Ulepszony cień na hover */
}

.btn-secondary {
    background-color: var(--button-secondary-bg);
    color: var(--button-secondary-text);
    border-color: var(--button-secondary-bg);
}

.btn-secondary:hover {
    background-color: transparent;
    color: var(--button-secondary-bg);
    border-color: var(--button-secondary-bg);
    transform: translateY(-3px);
    box-shadow: var(--box-shadow-button-hover); /* Ulepszony cień na hover */
}

/* === Header & Navigation === */
.main-header {
    background-color: rgba(255, 255, 255, 0.95);
    -webkit-backdrop-filter: blur(15px);
    backdrop-filter: blur(15px);
    padding: 0 1rem;
    border-bottom: 1px solid var(--border-light);
    position: sticky;
    top: 0;
    z-index: 1000;
    height: var(--nav-height);
    transition: all 0.3s ease; /* Zmienione na 'all' dla płynniejszej animacji height/shadow */
    box-shadow: 0 3px 10px rgba(0,0,0,0.08);
}
.main-header.scrolled { /* Nowe style dla nagłówka po scrollu */
    height: 60px; /* Nieco mniejsza wysokość */
    box-shadow: 0 5px 15px rgba(0,0,0,0.15); /* Wyraźniejszy cień */
    background-color: rgba(255, 255, 255, 0.98); /* Bardziej krytyczne tło */
    border-bottom: 1px solid var(--border-light); /* Zachowanie linii */
}
.main-header .container { display: flex; justify-content: space-between; align-items: center; padding-top: 0; padding-bottom: 0; height: 100%; }

.logo-area { display: flex; flex-direction: column; justify-content: center; }
.logo-area .doctor-name { font-size: 1.25rem; font-weight: 700; color: var(--color-secondary-dark-text); margin:0; line-height: 1.2; }
.logo-area .doctor-title { font-size: 0.75rem; color: var(--text-color-body); margin:0; line-height: 1.2; }

.main-nav ul { list-style: none; display: flex; }
.main-nav ul li { margin-left: 18px; }
.main-nav ul li a {
    color: var(--color-secondary-dark-text);
    font-weight: 700;
    font-size: 0.85rem;
    padding: 5px 2px;
    border-bottom: 2px solid transparent;
    transition: color 0.3s, border-color 0.3s ease;
}
.main-nav ul li a:hover, .main-nav ul li a.active { color: var(--color-accent-red); border-bottom-color: var(--color-accent-red); }

.menu-toggle {
    display: none;
    width: 28px;
    height: 21px;
    position: relative;
    cursor: pointer;
    background: none;
    border: none;
    z-index: 1001;
}
.menu-toggle span {
    display: block; position: absolute; height: 3px; width: 100%;
    background: var(--color-secondary-dark-text); border-radius: 3px;
    opacity: 1; left: 0; transform: rotate(0deg); transition: .25s ease-in-out;
}
.menu-toggle span:nth-child(1) { top: 0px; }
.menu-toggle span:nth-child(2) { top: 9px; }
.menu-toggle span:nth-child(3) { top: 18px; }
.menu-toggle.open span:nth-child(1) { top: 9px; transform: rotate(135deg); }
.menu-toggle.open span:nth-child(2) { opacity: 0; left: -28px; }
.menu-toggle.open span:nth-child(3) { top: 9px; transform: rotate(-135deg); }

/* === Hero Section === */
.hero {
    background: linear-gradient(135deg, var(--hero-bg-gradient-start) 0%, var(--hero-bg-gradient-end) 100%);
    color: var(--color-secondary-dark-text);
    text-align: center;
    padding: 90px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.hero .container { padding-top:0; padding-bottom:0; }
.hero h1 { color: var(--color-secondary-dark-text); margin-bottom: 1.5rem; }
.hero .subtitle { font-size: 1.3rem; font-weight: 400; color: var(--text-color-body); margin-bottom: 0; max-width: 700px; margin-left: auto; margin-right: auto; }

.hero-buttons {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 3rem;
    margin-bottom: 3.5rem;
    flex-wrap: wrap; /* Umożliwia zawijanie przycisków na mniejszych ekranach */
}


.hero-summary { margin-top: 2.5rem; font-size: 1.1rem; color: var(--text-color-body); }
.hero-summary ul { list-style: none; padding: 0; display: inline-block; text-align: left; }
.hero-summary li { margin-bottom: 0.9rem; padding-left: 2.2rem; position: relative; }
.hero-summary li::before { content: '✓'; color: var(--color-accent-red); font-weight: 700; position: absolute; left: 0; top: 3px; font-size: 1.2rem; }

/* === About Section === */
.styled-list { list-style: none; padding-left: 0; margin-top: 1.5rem; margin-bottom: 2rem; }
.styled-list li { padding-left: 2.2rem; position: relative; margin-bottom: 1rem; font-size: 1.05rem; }
.styled-list li::before {
    font-family: initial; color: var(--color-accent-red); position: absolute;
    left: 0; top: 2px; font-weight: 700; font-size: 1.2rem;
}
.credentials li::before { content: '🏅'; }
.philosophy li::before { content: '🗨️'; }
#o-mnie .highlight { color: var(--color-accent-red); font-weight: 700; }

/* === Services Section === */
#oferta .service-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 2rem; }
#oferta .service-item {
    background-color: var(--color-primary-light);
    padding: 2rem; border-radius: 12px;
    box-shadow: var(--box-shadow-medium);
    border-top: 5px solid var(--color-contrast-block);
    transition: background-color 0.3s, box-shadow 0.3s, border-color 0.3s, transform 0.3s;
}
#oferta .service-item:hover { transform: translateY(-10px); box-shadow: var(--box-shadow-large); }
#oferta .service-item h3 { display: flex; align-items: center; color: var(--color-secondary-dark-text); margin-top: 0; margin-bottom:1rem;}
#oferta .service-item h3::before { content: '✨'; margin-right: 0.75rem; font-size: 1.3rem; color: var(--color-accent-red); }
#oferta .additional-info-list { list-style: none; padding-left:0; margin-top:1.5rem;}
#oferta .additional-info-list li { padding-left: 2rem; position:relative; margin-bottom: 0.5rem; }
#oferta .additional-info-list li::before { content: '+'; position: absolute; left:0; top: 1px; color: var(--color-accent-red); font-size: 1.2rem; font-weight:700; }

/* === Calendar Section === */
#kalendarz .calendar-intro p { font-size: 1.1em; }
.calendar-container {
    margin-top: 2rem;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    /* Dodany order, aby kontenery kalendarza były zawsze nad tekstem */
    order: -1;
}
.calendar-month {
    background-color: var(--color-primary-light);
    padding: 2rem;
    border-radius: 12px;
    box-shadow: var(--box-shadow-medium);
    transition: background-color 0.3s, box-shadow 0.3s;
}
.calendar-month:hover {
    box-shadow: var(--box-shadow-large);
}
.calendar-month h3 { color: var(--color-contrast-block); text-align: center; margin-top:0; }
.calendar-month ul { list-style: none; padding: 0; }
.calendar-month li {
    padding: 0.9rem;
    border-bottom: 1px solid var(--border-light);
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: border-color 0.3s, background-color 0.3s; /* Dodano transition dla background-color */
}
.calendar-month li:last-child { border-bottom: none; }
.calendar-month li:hover { /* Dodany hover na pozycjach listy kalendarza */
    background-color: var(--color-primary-background);
}
.calendar-month .status-available { color: #28a745; font-weight: bold; }

/* Dedykowana reguła dla status-closed w trybie jasnym */
.calendar-month ul li .status-closed {
    color: #D92D2D; /* Bezpośredni czerwony kolor dla trybu jasnego */
    font-weight: bold;
    text-decoration: none;
}


/* === Contact Section === */
#kontakt { background-color: var(--color-contrast-block); color: var(--color-primary-light); }
#kontakt h2, #kontakt p, #kontakt a { color: #F7FAFC;  } /* Utrzymujemy jasny tekst na ciemnym tle */
#kontakt .contact-details p { font-size: 1.2rem; margin-bottom: 1rem; }
#kontakt .contact-details strong { color: #E2E8F0; }
#kontakt .contact-phone a {
    font-size: 1.8rem; font-weight: bold; display: inline-block; padding: 12px 25px;
    border: 2px solid var(--color-accent-red); border-radius: 8px;
    background-color: var(--color-accent-red); color: var(--color-primary-light);
    transition: background-color 0.3s, color 0.3s, transform 0.2s;
}
#kontakt .contact-phone a:hover { background-color: var(--color-primary-light); color: var(--color-accent-red); text-decoration: none; transform: scale(1.05); }

/* === Footer === */
.main-footer { background-color: var(--color-secondary-dark-text); color: #A0AEC0; text-align: center; padding: 2.5rem 0; font-size: 0.9rem; transition: background-color 0.3s, color 0.3s; }
.main-footer a {
    color: #CBD5E0;
    transition: color 0.3s, transform 0.2s; /* Dodano transition dla transform */
}
.main-footer a:hover {
    color: var(--color-accent-red);
    text-decoration: none;
    transform: translateY(-2px); /* Dodana animacja */
}

/* === Privacy Policy Page === */
.privacy-container {
    max-width: 900px;
    margin: 60px auto; /* Zwiększony margines z góry i z dołu */
    padding: 40px; /* Zwiększony padding wewnętrzny */
    background-color: var(--color-primary-light);
    border-radius: 12px;
    box-shadow: var(--box-shadow-card);
    color: var(--text-color-body);
}

.privacy-container h1 {
    color: var(--color-contrast-block);
    margin-bottom: 1.5rem; /* Zmniejszony margines, bo będzie border */
    font-size: 2.5rem;
    text-align: center;
    padding-bottom: 15px; /* Padding dla bordera */
    border-bottom: 2px solid var(--border-light); /* Dodana linia */
}

.privacy-container h2 {
    color: var(--color-secondary-dark-text);
    margin-top: 2.5rem; /* Zwiększony margines od góry */
    margin-bottom: 1rem;
    font-size: 1.8rem;
    padding-bottom: 8px; /* Padding dla bordera */
    border-bottom: 1px dashed var(--border-light); /* Dodana przerywana linia */
}

.privacy-container p {
    margin-bottom: 1rem;
    line-height: 1.8; /* Zwiększony line-height dla lepszej czytelności */
    font-size: 1.05rem; /* Lekko zwiększony rozmiar czcionki */
}

.privacy-container strong {
    color: var(--color-secondary-dark-text);
}

.privacy-container .back-link {
    text-align: center;
    margin-top: 3.5rem; /* Zwiększony margines od góry */
}

.privacy-container .back-link a {
    display: inline-block;
    padding: 10px 20px;
    background-color: var(--color-contrast-block);
    color: var(--color-primary-light);
    border-radius: 8px;
    text-decoration: none;
    transition: background-color 0.3s, transform 0.3s;
}

.privacy-container .back-link a:hover {
    background-color: var(--color-accent-red);
    transform: translateY(-2px);
}

/* === Form Elements (Dla przyszłych formularzy) === */
input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
    width: 100%;
    padding: 12px;
    margin-bottom: 1rem;
    border: 1px solid var(--border-light);
    border-radius: 8px;
    font-family: var(--font-family-body);
    font-size: 1rem;
    color: var(--text-color-body);
    background-color: var(--color-primary-light);
    transition: border-color 0.3s, box-shadow 0.3s;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus {
    border-color: var(--color-accent-red);
    outline: none;
    box-shadow: 0 0 0 3px rgba(var(--color-accent-red), 0.2);
}

textarea {
    min-height: 120px;
    resize: vertical;
}

/* === Responsive Design === */
@media (max-width: 768px) {
    body { font-size: 16px; }
    .main-header .container { flex-direction: row; flex-wrap:nowrap; }
    .logo-area { flex-grow: 1; margin-right: 10px; overflow: hidden; }
    .logo-area .doctor-name { font-size: 1.1rem; }
    .logo-area .doctor-title { font-size: 0.7rem; white-space: normal; overflow: visible; text-overflow: clip; max-width: 100%;}

    .menu-toggle { display: flex; align-items: center; justify-content:center; flex-shrink: 0; }
    .main-nav {
        width: 100%;
        display: none;
        background-color: rgba(255, 255, 255, 0.98);
        -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
        box-shadow: 0 4px 8px rgba(0,0,0,0.1);
        position: absolute;
        top: calc(var(--nav-height) - 1px);
        left: 0; right: 0;
    }
    .main-nav.active { display: block; }
    .main-nav ul { flex-direction: column; width: 100%; }
    .main-nav ul li { margin-left: 0; text-align: center; padding: 13px 0; border-bottom: 1px solid var(--border-light); }
    .main-nav ul li:last-child { border-bottom:none; }
    h1 { font-size: 2.0rem; line-height: 1.3; }
    h2 { font-size: 1.8rem; margin-bottom: 1.5rem; }
    h3 { font-size: 1.3rem; }
    .hero { padding: 60px 15px; }
    .hero .subtitle { font-size: 1.15rem; line-height: 1.5; margin-bottom:0.5rem; }

    .hero-buttons {
        flex-direction: column; /* Stack buttons on small screens */
        align-items: center; /* Center stacked buttons */
        gap: 15px; /* Space between stacked buttons */
        margin-top: 2rem;
        margin-bottom: 2.5rem;
    }
    /* Rozciągnięcie przycisków na mobile - ustaw min-width tak, aby wyglądały dobrze */
    .hero-buttons .btn-primary {
        min-width: 80%; /* Przycisk będzie zajmował 80% szerokości rodzica */
        max-width: 300px; /* Maksymalna szerokość, żeby nie był za duży na szerokich telefonach */
    }

    .hero-summary { margin-top:2rem; font-size: 1rem; }
    .hero-summary li { margin-bottom:0.7rem; padding-left:1.8rem;}
    .hero-summary li::before {font-size:1.1rem; top:2px;}

    section { padding: 60px 0; }
    .container {padding: 2rem 0;}
    #oferta .service-grid, .calendar-container { grid-template-columns: 1fr; }
    #kontakt .contact-phone a { font-size: 1.6rem; padding: 10px 18px; }

    /* Privacy Policy Page Responsive */
    .privacy-container {
        margin: 30px 15px;
        padding: 25px;
    }
    .privacy-container h1 {
        font-size: 2rem;
        padding-bottom: 10px;
    }
    .privacy-container h2 {
        font-size: 1.6rem;
        margin-top: 2rem;
    }
    .privacy-container p {
        font-size: 1rem;
    }
}
   @media (max-width: 420px) {
    .logo-area .doctor-name { font-size: 1rem; }
    .logo-area .doctor-title { display: block; font-size: 0.65rem; }
    .main-nav ul li a {font-size: 0.8rem;}
    h1 { font-size: 1.7rem;}
    .hero .subtitle {font-size: 1.05rem;}
    .hero-summary {font-size: 0.9rem;}
   }


/* === Dark Mode (updated button styles and shadows) === */
@media (prefers-color-scheme: dark) {
    :root {
        --color-primary-light-dark: #2D3748;
        --color-primary-background-dark: #1A202C;
        --color-secondary-dark-text-dark: #EBF8FF;
        --color-contrast-block-dark: #4A5F7A;
        --color-accent-red-dark: #FF6B6B; /* Bardziej żywy czerwony w dark mode */
        --text-color-body-dark: #CBD5E0;
        --border-light-dark: #4A5568;
        --box-shadow-card-dark: 0 8px 24px rgba(0,0,0,0.4);
        --box-shadow-card-hover-dark: 0 14px 35px rgba(0,0,0,0.6);
        --hero-bg-gradient-start-dark: #2A3C4F; /* Dopasowane do nowej palety dark mode */
        --hero-bg-gradient-end-dark: #1A202C;
        --section-accent-bg-dark: #222B38;
        --section-separator-color-dark: var(--border-light-dark);
        /* NEW: Button Variables for Dark Mode */
        --button-primary-bg-dark: var(--color-accent-red-dark);
        --button-primary-text-dark: #1A202C;
        --button-secondary-bg-dark: var(--color-contrast-block-dark); /* Drugi przycisk w kolorze bloku kontrastu w dark mode */
        --button-secondary-text-dark: var(--color-primary-light-dark);
        /* NEW: Enhanced shadows for dark mode */
        --box-shadow-medium-dark: 0 10px 25px rgba(0,0,0,0.5);
        --box-shadow-large-dark: 0 16px 40px rgba(0,0,0,0.7);
        --box-shadow-button-hover-dark: 0 12px 30px rgba(0,0,0,0.45);
    }

    body { color: var(--text-color-body-dark); background-color: var(--color-primary-background-dark); }

    /* Custom Scrollbar Dark Mode */
    body::-webkit-scrollbar-track {
        background: var(--color-primary-background-dark);
    }
    body::-webkit-scrollbar-thumb {
        background-color: var(--color-contrast-block-dark);
        border: 2px solid var(--color-primary-background-dark);
    }
    body::-webkit-scrollbar-thumb:hover {
        background-color: var(--color-accent-red-dark);
    }

    h1, h2, h3, h4 { color: var(--color-secondary-dark-text-dark); }
    h2 { color: #D1E0EC; }
    a { color: var(--color-accent-red-dark); }
    a:hover { color: #FF9999; }
    section:not(.hero):not(#kontakt) {
        border-top-color: var(--border-light-dark);
        /* Dodane cienie dla sekcji w dark mode */
        box-shadow: inset 0 2px 5px rgba(0,0,0,0.2), inset 0 -2px 5px rgba(0,0,0,0.2);
    }
    #o-mnie {
        /* Zachowanie border-top dla o-mnie w dark mode */
        border-top: 1px solid var(--border-light-dark);
        background-color: var(--section-accent-bg-dark);
        box-shadow: inset 0 5px 15px rgba(0,0,0,0.15); /* Wzmocniony inner shadow w dark mode */
    }
    #kalendarz { /* Zresetowanie border-top dla kalendarza w dark mode */
        border-top: none;
        margin-top: 0;
    }

    .main-header {
        background-color: rgba(26, 32, 44, 0.95);
        -webkit-backdrop-filter: blur(15px); backdrop-filter: blur(15px);
        border-bottom-color: var(--border-light-dark);
        box-shadow: 0 3px 10px rgba(0,0,0,0.3); /* Wyraźniejszy cień nagłówka w dark mode */
    }
    .main-header.scrolled { /* Nowe style dla nagłówka po scrollu w dark mode */
        background-color: rgba(26, 32, 44, 0.98);
        box-shadow: 0 5px 15px rgba(0,0,0,0.5);
        border-bottom-color: var(--border-light-dark);
    }
    .logo-area .doctor-name { color: var(--color-secondary-dark-text-dark); }
    .menu-toggle span { background: var(--color-secondary-dark-text-dark); }
    .logo-area .doctor-title { color: var(--text-color-body-dark); }
    .main-nav ul li a { color: var(--color-secondary-dark-text-dark); }
    .main-nav ul li a:hover, .main-nav ul li a.active { color: var(--color-accent-red-dark); border-bottom-color: var(--color-accent-red-dark); }
    @media (max-width: 768px) {
        .main-nav { background-color: rgba(30, 40, 58, 0.98); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: 0 4px 8px rgba(0,0,0,0.25); }
        .main-nav ul li { border-bottom-color: var(--border-light-dark); }
    }
    .hero { background: linear-gradient(135deg, var(--hero-bg-gradient-start-dark) 0%, var(--hero-bg-gradient-end-dark) 100%); color: var(--color-secondary-dark-text-dark); }
    .hero h1 { color: var(--color-secondary-dark-text-dark); }
    .hero .subtitle { color: var(--text-color-body-dark); }
    .hero-summary { color: var(--text-color-body-dark);}
    .hero-summary li::before { color: var(--color-accent-red-dark); }
    .styled-list li::before { color: var(--color-accent-red-dark); }
    #o-mnie .highlight { color: var(--color-accent-red-dark); }

    /* Dark mode button styles */
    .btn {
        box-shadow: var(--box-shadow-medium-dark);
    }
    .btn-primary {
        background-color: var(--button-primary-bg-dark);
        color: var(--button-primary-text-dark);
        border-color: var(--button-primary-bg-dark);
    }
    .btn-primary:hover {
        background-color: transparent;
        color: var(--button-primary-bg-dark);
        border-color: var(--button-primary-bg-dark);
        box-shadow: var(--box-shadow-button-hover-dark);
    }
    .btn-secondary {
        background-color: transparent; /* Zmiana na transparentny w dark mode */
        color: var(--button-secondary-bg-dark); /* Kolor tekstu taki jak kolor tła buttona */
        border-color: var(--button-secondary-bg-dark);
    }
    .btn-secondary:hover {
        background-color: var(--button-secondary-bg-dark); /* Wypełnienie kolorem w hover */
        color: var(--button-secondary-text-dark);
        border-color: var(--button-secondary-bg-dark);
        box-shadow: var(--box-shadow-button-hover-dark);
    }

    #oferta .service-item { background-color: var(--color-primary-light-dark); box-shadow: var(--box-shadow-medium-dark); border-top-color: var(--color-contrast-block-dark); }
    #oferta .service-item:hover { box-shadow: var(--box-shadow-large-dark); }
    #oferta .service-item h3 { color: var(--color-secondary-dark-text-dark); }
    #oferta .service-item h3::before { color: var(--color-accent-red-dark); }
    #oferta .additional-info-list li::before { color: var(--color-accent-red-dark); }

    #kalendarz .calendar-month { background-color: var(--color-primary-light-dark); box-shadow: var(--box-shadow-medium-dark); }
    #kalendarz .calendar-month h3 { color: #D1E0EC; }
    #kalendarz .calendar-month li {
        border-bottom-color: var(--border-light-dark);
        transition: border-color 0.3s, background-color 0.3s; /* Dodano transition dla background-color */
    }
    #kalendarz .calendar-month li:hover { /* Dodany hover na pozycjach listy kalendarza w dark mode */
        background-color: var(--color-primary-background-dark);
    }
    .calendar-month .status-available { color: #68D391; }
    /* Ustawienie dla status-closed w dark mode - spójne ze zmiennymi CSS */
    .calendar-month ul li .status-closed {
        color: var(--color-accent-red-dark); /* Używamy zmiennej koloru akcentującego dla dark mode */
        font-weight: bold;
        text-decoration: none;
    }

    #kontakt { background-color: var(--color-contrast-block-dark); }
    #kontakt h2, #kontakt p, #kontakt a { color: var(--color-secondary-dark-text-dark); }
    #kontakt .contact-details strong { color: #E2E8F0; }
    #kontakt .contact-phone a { border-color: var(--color-accent-red-dark); background-color: var(--color-accent-red-dark); color: #1A202C;  }
    #kontakt .contact-phone a:hover { background-color: var(--color-primary-light-dark); color: var(--color-accent-red-dark); }

    .main-footer { background-color: #171923; color: #718096; }
    .main-footer a { color: #A0AEC0; }
    .main-footer a:hover { color: var(--color-accent-red-dark); }

    /* Dark mode adjustments for privacy policy container */
    .privacy-container {
        background-color: var(--color-primary-light-dark);
        box-shadow: var(--box-shadow-medium-dark);
        color: var(--text-color-body-dark);
    }
    .privacy-container h1 {
        color: var(--color-secondary-dark-text-dark);
        border-bottom-color: var(--border-light-dark);
    }
    .privacy-container h2 {
        color: var(--color-secondary-dark-text-dark);
        border-bottom-color: var(--border-light-dark);
    }
    .privacy-container strong {
        color: var(--color-secondary-dark-text-dark);
    }
    .privacy-container .back-link a {
        background-color: var(--color-contrast-block-dark);
        color: var(--color-primary-light-dark);
    }
    .privacy-container .back-link a:hover {
        background-color: var(--color-accent-red-dark);
        color: var(--button-primary-text-dark); /* Ensure text color is readable on hover */
    }

    /* Dark mode for form elements */
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    textarea {
        border: 1px solid var(--border-light-dark);
        color: var(--text-color-body-dark);
        background-color: var(--color-primary-light-dark);
    }

    input[type="text"]:focus,
    input[type="email"]:focus,
    input[type="tel"]:focus,
    textarea:focus {
        border-color: var(--color-accent-red-dark);
        box-shadow: 0 0 0 3px rgba(var(--color-accent-red-dark), 0.2);
    }
}