/* ===== RESPONSYWNOŚĆ DLA STRONY "UMÓW WIZYTĘ" ===== */
/* Tylko skalowalne jednostki: rem, em, %, vw, vh */
/* Desktopowe style pozostają bez zmian */

/* ===== TABLET (768px - 991px) ===== */
@media (max-width: 991px) {
    /* Banner */
    .new-banner {
        padding: clamp(3rem, 8vh, 5rem) 0;
    }
    
    .new-banner .banner-container {
        gap: clamp(2rem, 4vw, 2.5rem);
    }
    
    .new-banner .banner-content h1 {
        font-size: clamp(2.5rem, 6vw, 3rem);
    }
    
    .new-banner .banner-content .banner-description {
        font-size: clamp(1.1rem, 2.5vw, 1.25rem);
    }
    
    .new-banner .banner-badges {
        gap: clamp(1rem, 2vw, 1.25rem);
    }
    
    .new-banner .banner-badge {
        padding: clamp(0.875rem, 2vw, 1rem) clamp(1.125rem, 2.5vw, 1.25rem);
        font-size: clamp(0.875rem, 2vw, 0.9375rem);
    }
    
    .new-banner .banner-logo img {
        max-width: clamp(12.5rem, 25vw, 15.625rem);
        max-height: clamp(17.5rem, 35vh, 21.875rem);
    }
    
    /* Main Section */
    .main-appointment-section {
        padding: clamp(4rem, 8vh, 6rem) 0;
    }
    
    /* Section Headers */
    .section-header {
        margin-bottom: clamp(3rem, 6vh, 3.75rem);
    }
    
    .section-header h2 {
        font-size: clamp(2rem, 5vw, 2.5rem);
        margin-bottom: clamp(1rem, 2vh, 1.25rem);
    }
    
    .section-header p {
        font-size: clamp(1rem, 2.5vw, 1.125rem);
    }
    
    /* Booking Methods */
    .booking-methods-section {
        margin-bottom: clamp(4rem, 8vh, 6.25rem);
        padding-top: clamp(3rem, 6vh, 3.75rem);
    }
    
    .methods-grid {
        grid-template-columns: repeat(auto-fit, minmax(clamp(18.75rem, 40vw, 25rem), 1fr));
        gap: clamp(1.5rem, 3vw, 1.875rem);
        margin-top: clamp(2.5rem, 5vh, 3.125rem);
    }
    
    .method-card {
        padding: clamp(2rem, 4vw, 2.5rem) clamp(1.5rem, 3vw, 1.875rem);
        border-radius: clamp(1.125rem, 2.5vw, 1.25rem);
    }
    
    .method-icon {
        width: clamp(4rem, 8vw, 5rem);
        height: clamp(4rem, 8vw, 5rem);
        font-size: clamp(1.5rem, 3vw, 1.875rem);
        margin-bottom: clamp(1.25rem, 2.5vh, 1.5rem);
    }
    
    .method-card h3 {
        font-size: clamp(1.25rem, 3vw, 1.375rem);
        margin-bottom: clamp(0.875rem, 2vh, 1rem);
    }
    
    .method-card p {
        font-size: clamp(0.9375rem, 2vw, 1rem);
        margin-bottom: clamp(1.125rem, 2.5vh, 1.25rem);
    }
    
    .method-time {
        padding: clamp(0.5rem, 1vw, 0.625rem) clamp(1rem, 2vw, 1.125rem);
        font-size: clamp(0.8125rem, 1.8vw, 0.875rem);
        border-radius: clamp(0.6875rem, 1.5vw, 0.75rem);
    }
    
    /* Booking Form */
    .booking-form-section {
        margin-bottom: clamp(4rem, 8vh, 6.25rem);
        padding-top: clamp(3rem, 6vh, 3.75rem);
    }
    
    .form-container {
        padding: clamp(2.5rem, 5vw, 3.125rem) clamp(2rem, 4vw, 2.5rem);
        border-radius: clamp(1.375rem, 3vw, 1.5rem);
    }
    
    .form-header {
        margin-bottom: clamp(2.5rem, 5vh, 3.125rem);
    }
    
    .form-header h2 {
        font-size: clamp(1.875rem, 4.5vw, 2.25rem);
        margin-bottom: clamp(1.125rem, 2.5vh, 1.25rem);
    }
    
    .form-header p {
        font-size: clamp(1rem, 2.5vw, 1.125rem);
    }
    
    .form-wrapper {
        margin-bottom: clamp(2rem, 4vh, 2.5rem);
        border-radius: clamp(1rem, 2vw, 1.125rem);
    }
    
    .form-wrapper iframe {
        height: clamp(43.75rem, 85vh, 56.25rem);
        border-radius: clamp(1rem, 2vw, 1.125rem);
        min-height: 43.75rem;
    }
    
    .form-footer {
        grid-template-columns: 1fr;
        gap: clamp(2rem, 4vh, 2.5rem);
        margin-top: clamp(2rem, 4vh, 2.5rem);
    }
    
    .specialists-info h4 {
        font-size: clamp(1.125rem, 2.8vw, 1.25rem);
        margin-bottom: clamp(1.125rem, 2.5vh, 1.25rem);
    }
    
    .specialists-grid {
        grid-template-columns: repeat(auto-fit, minmax(clamp(12.5rem, 30vw, 15.625rem), 1fr));
        gap: clamp(0.875rem, 2vw, 1rem);
    }
    
    .specialist-card {
        padding: clamp(0.875rem, 2vw, 1rem) clamp(1.125rem, 2.5vw, 1.25rem);
        border-radius: clamp(0.6875rem, 1.5vw, 0.75rem);
        gap: clamp(0.6875rem, 1.5vw, 0.75rem);
    }
    
    .specialist-card i {
        font-size: clamp(1rem, 2.5vw, 1.125rem);
    }
    
    .specialist-card span {
        font-size: clamp(0.875rem, 2vw, 0.9375rem);
    }
    
    .security-info {
        gap: clamp(0.875rem, 2vh, 1rem);
    }
    
    .security-info p {
        font-size: clamp(0.875rem, 2vw, 0.9375rem);
        gap: clamp(0.5625rem, 1.5vw, 0.625rem);
    }
    
    .security-info i {
        font-size: clamp(0.9375rem, 2.2vw, 1rem);
    }
    
    /* Clinic Info */
    .clinic-info-section {
        margin-bottom: clamp(4rem, 8vh, 5rem);
        padding-top: clamp(3rem, 6vh, 3.75rem);
    }
    
    .info-container {
        padding: clamp(2.5rem, 5vw, 3.125rem) clamp(2rem, 4vw, 2.5rem);
        border-radius: clamp(1.375rem, 3vw, 1.5rem);
    }
    
    .info-header {
        margin-bottom: clamp(2.5rem, 5vh, 3.125rem);
    }
    
    .info-header h2 {
        font-size: clamp(1.875rem, 4.5vw, 2.25rem);
        margin-bottom: clamp(1.125rem, 2.5vh, 1.25rem);
    }
    
    .info-header p {
        font-size: clamp(1rem, 2.5vw, 1.125rem);
    }
    
    .info-grid {
        grid-template-columns: repeat(auto-fit, minmax(clamp(18.75rem, 40vw, 25rem), 1fr));
        gap: clamp(1.5rem, 3vw, 1.875rem);
    }
    
    .info-card {
        padding: clamp(1.75rem, 3.5vw, 2.25rem) clamp(1.5rem, 3vw, 1.875rem);
        border-radius: clamp(1.125rem, 2.5vw, 1.25rem);
        gap: clamp(1.125rem, 2.5vw, 1.375rem);
    }
    
    .info-icon {
        width: clamp(3.5rem, 7vw, 4.5rem);
        height: clamp(3.5rem, 7vw, 4.5rem);
        font-size: clamp(1.25rem, 3vw, 1.5rem);
        border-radius: clamp(0.875rem, 2vw, 1rem);
    }
    
    .info-content h3 {
        font-size: clamp(1.125rem, 2.8vw, 1.25rem);
        margin-bottom: clamp(0.75rem, 1.8vh, 0.875rem);
    }
    
    .info-content p {
        font-size: clamp(0.9375rem, 2vw, 1rem);
        line-height: clamp(1.5, 2vh, 1.6);
    }
    
    /* Benefits Section */
    .benefits-section {
        padding: clamp(4rem, 8vh, 6rem) 0;
    }
    
    .benefits-container {
        padding: 0 clamp(1.5rem, 3vw, 2rem);
    }
    
    .benefits-header {
        margin-bottom: clamp(3rem, 6vh, 3.75rem);
    }
    
    .benefits-header h2 {
        font-size: clamp(2rem, 5vw, 2.5rem);
        margin-bottom: clamp(1rem, 2vh, 1.25rem);
    }
    
    .benefits-header p {
        font-size: clamp(1rem, 2.5vw, 1.125rem);
    }
    
    .benefits-grid {
        grid-template-columns: repeat(auto-fit, minmax(clamp(18.75rem, 40vw, 25rem), 1fr));
        gap: clamp(1.5rem, 3vw, 1.875rem);
    }
    
    .benefit-card {
        padding: clamp(2rem, 4vw, 2.5rem) clamp(1.5rem, 3vw, 1.875rem);
        border-radius: clamp(1.125rem, 2.5vw, 1.25rem);
    }
    
    .benefit-icon {
        width: clamp(4rem, 8vw, 5rem);
        height: clamp(4rem, 8vw, 5rem);
        font-size: clamp(1.5rem, 3vw, 1.875rem);
        margin-bottom: clamp(1.25rem, 2.5vh, 1.5rem);
    }
    
    .benefit-card h3 {
        font-size: clamp(1.25rem, 3vw, 1.375rem);
        margin-bottom: clamp(0.875rem, 2vh, 1rem);
    }
    
    .benefit-card p {
        font-size: clamp(0.9375rem, 2vw, 1rem);
    }
    
    /* FAQ Section */
    .faq-section {
        padding: clamp(4rem, 8vh, 6rem) 0;
    }
    
    .faq-container {
        max-width: 100%;
    }
    
    .faq-item {
        margin-bottom: clamp(0.875rem, 2vh, 1rem);
        border-radius: clamp(0.75rem, 1.8vw, 0.875rem);
    }
    
    .faq-question {
        padding: clamp(1.25rem, 3vw, 1.5625rem);
        font-size: clamp(1rem, 2.5vw, 1.125rem);
    }
    
    .faq-answer {
        padding: 0 clamp(1.25rem, 3vw, 1.5625rem);
    }
    
    .faq-item.active .faq-answer {
        padding: clamp(1.25rem, 3vw, 1.5625rem);
    }
    
    .faq-answer p {
        font-size: clamp(0.9375rem, 2vw, 1rem);
        line-height: clamp(1.5, 2vh, 1.6);
    }
}

/* ===== MOBILE (max-width: 767px) ===== */
@media (max-width: 767px) {
    /* Usunięcie padding-top z body i html dla mobile */
    body {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }
    
    html {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
    
    /* Navbar od samej góry - usunięcie białego paska */
    
    nav.navbar {
        top: 0 !important;
        margin-top: 0 !important;
        padding-top: 0 !important;
        position: sticky !important;
    }
    
    /* Usunięcie wszelkich marginesów/paddingów przed navbar */
    body > nav.navbar:first-child {
        margin-top: 0 !important;
    }
    
    /* Upewnienie się, że nie ma białego paska */
    * {
        box-sizing: border-box;
    }
    
    /* Usunięcie wszelkich marginesów przed pierwszym elementem */
    body > *:first-child {
        margin-top: 0 !important;
    }
    
    /* Naprawa przycisku menu mobilnego - upewnienie się że jest klikalny */
    .mobile-menu-btn {
        pointer-events: auto !important;
        cursor: pointer !important;
        z-index: 100001 !important;
        position: relative !important;
        touch-action: manipulation !important;
        -webkit-tap-highlight-color: rgba(6, 79, 61, 0.15) !important;
        user-select: none !important;
        -webkit-user-select: none !important;
    }
    
    .mobile-menu-btn:active {
        pointer-events: auto !important;
    }
    
    .mobile-menu-btn i {
        pointer-events: none !important;
    }
    
    /* Container */
    .container {
        padding: 0 clamp(1rem, 4vw, 1.25rem);
        max-width: 100%;
    }
    
    /* Banner - lepsze dopasowanie dla mobile */
    .new-banner {
        padding: clamp(2rem, 5vh, 3rem) 0 clamp(1.5rem, 4vh, 2rem) 0;
        margin-top: 0;
    }
    
    .new-banner .banner-container {
        gap: clamp(1.5rem, 4vh, 2rem);
        min-height: auto;
        padding-top: clamp(1rem, 2.5vh, 1.5rem);
    }
    
    .new-banner .banner-content {
        max-width: 100%;
        order: 1;
        width: 100%;
    }
    
    .new-banner .banner-content h1 {
        font-size: clamp(1.875rem, 8vw, 2.5rem);
        margin-bottom: clamp(0.875rem, 2.5vh, 1.25rem);
        line-height: clamp(1.2, 3vh, 1.3);
        text-align: center;
    }
    
    .new-banner .banner-content h1::after {
        left: 50%;
        transform: translateX(-50%);
        width: clamp(4rem, 20vw, 6.25rem);
        height: clamp(0.1875rem, 0.5vw, 0.25rem);
    }
    
    .new-banner .banner-content .banner-description {
        font-size: clamp(0.9375rem, 3.5vw, 1.125rem);
        margin-bottom: clamp(1.25rem, 3.5vh, 1.75rem);
        text-align: center;
        max-width: 100%;
        padding: 0 clamp(0.5rem, 2vw, 1rem);
        line-height: clamp(1.5, 2.5vh, 1.6);
    }
    
    .new-banner .banner-badges {
        flex-direction: column;
        gap: clamp(0.75rem, 2.5vh, 1rem);
        margin-top: clamp(1.25rem, 3.5vh, 1.75rem);
        width: 100%;
        align-items: stretch;
    }
    
    .new-banner .banner-badge {
        padding: clamp(0.875rem, 3vw, 1.125rem) clamp(1rem, 3.5vw, 1.25rem);
        font-size: clamp(0.8125rem, 2.5vw, 0.9375rem);
        border-radius: clamp(0.875rem, 2.5vw, 1rem);
        width: 100%;
        justify-content: center;
        min-height: clamp(3rem, 9vh, 3.5rem);
        gap: clamp(0.75rem, 2vw, 0.875rem);
    }
    
    .new-banner .banner-badge i {
        font-size: clamp(1.0625rem, 3.5vw, 1.1875rem);
        flex-shrink: 0;
    }
    
    .new-banner .banner-badge span {
        font-size: clamp(0.8125rem, 2.5vw, 0.9375rem);
        line-height: clamp(1.4, 2vh, 1.5);
    }
    
    .new-banner .banner-logo {
        flex: none;
        max-width: 100%;
        order: 2;
        width: 100%;
        margin-top: clamp(1rem, 2.5vh, 1.5rem);
    }
    
    .new-banner .banner-logo img {
        max-width: clamp(11.25rem, 55vw, 16.25rem);
        max-height: clamp(15.625rem, 55vh, 22.5rem);
        width: auto;
        height: auto;
        margin: 0 auto;
        display: block;
    }
    
    /* Main Section */
    .main-appointment-section {
        padding: clamp(3rem, 6vh, 4rem) 0;
    }
    
    /* Section Headers */
    .section-header {
        margin-bottom: clamp(2.5rem, 5vh, 3rem);
        padding: 0 clamp(0.5rem, 2vw, 1rem);
    }
    
    .section-header h2 {
        font-size: clamp(1.75rem, 6vw, 2.25rem);
        margin-bottom: clamp(0.875rem, 2vh, 1rem);
    }
    
    .section-header h2::after {
        width: clamp(5rem, 20vw, 6.25rem);
        height: clamp(0.1875rem, 0.5vw, 0.25rem);
    }
    
    .section-header p {
        font-size: clamp(0.9375rem, 2.8vw, 1.0625rem);
    }
    
    /* Booking Methods */
    .booking-methods-section {
        margin-bottom: clamp(3rem, 6vh, 4rem);
        padding-top: clamp(2.5rem, 5vh, 3rem);
    }
    
    .methods-grid {
        grid-template-columns: 1fr;
        gap: clamp(1.25rem, 3vh, 1.5rem);
        margin-top: clamp(2rem, 4vh, 2.5rem);
    }
    
    .method-card {
        padding: clamp(1.75rem, 4vw, 2.25rem) clamp(1.25rem, 3vw, 1.5rem);
        border-radius: clamp(1rem, 2.5vw, 1.125rem);
    }
    
    .method-icon {
        width: clamp(3.5rem, 10vw, 4.5rem);
        height: clamp(3.5rem, 10vw, 4.5rem);
        font-size: clamp(1.375rem, 4vw, 1.625rem);
        margin-bottom: clamp(1rem, 2.5vh, 1.25rem);
    }
    
    .method-card h3 {
        font-size: clamp(1.125rem, 3.5vw, 1.3125rem);
        margin-bottom: clamp(0.75rem, 2vh, 0.875rem);
    }
    
    .method-card p {
        font-size: clamp(0.875rem, 2.5vw, 0.9375rem);
        margin-bottom: clamp(1rem, 2.5vh, 1.125rem);
    }
    
    .method-time {
        padding: clamp(0.5rem, 1.5vw, 0.625rem) clamp(0.875rem, 2.5vw, 1rem);
        font-size: clamp(0.75rem, 2.2vw, 0.8125rem);
        border-radius: clamp(0.625rem, 1.8vw, 0.6875rem);
    }
    
    /* Booking Form */
    .booking-form-section {
        margin-bottom: clamp(3rem, 6vh, 4rem);
        padding-top: clamp(2.5rem, 5vh, 3rem);
    }
    
    .form-container {
        padding: clamp(1.75rem, 4vw, 2.25rem) clamp(1.25rem, 3vw, 1.5rem);
        border-radius: clamp(1.125rem, 3vw, 1.25rem);
    }
    
    .form-header {
        margin-bottom: clamp(2rem, 4vh, 2.5rem);
    }
    
    .form-header h2 {
        font-size: clamp(1.625rem, 5vw, 2rem);
        margin-bottom: clamp(1rem, 2.5vh, 1.125rem);
    }
    
    .form-header h2::after {
        width: clamp(4rem, 15vw, 5rem);
        height: clamp(0.1875rem, 0.5vw, 0.25rem);
    }
    
    .form-header p {
        font-size: clamp(0.9375rem, 2.8vw, 1.0625rem);
    }
    
    .form-wrapper {
        margin-bottom: clamp(1.75rem, 4vh, 2rem);
        border-radius: clamp(0.875rem, 2.5vw, 1rem);
    }
    
    .form-wrapper iframe {
        height: clamp(37.5rem, 80vh, 50rem);
        border-radius: clamp(0.875rem, 2.5vw, 1rem);
        min-height: 37.5rem;
    }
    
    .form-footer {
        grid-template-columns: 1fr;
        gap: clamp(1.75rem, 4vh, 2rem);
        margin-top: clamp(1.75rem, 4vh, 2rem);
    }
    
    .specialists-info h4 {
        font-size: clamp(1.0625rem, 3.2vw, 1.1875rem);
        margin-bottom: clamp(1rem, 2.5vh, 1.125rem);
    }
    
    .specialists-grid {
        grid-template-columns: 1fr;
        gap: clamp(0.75rem, 2vh, 0.875rem);
    }
    
    .specialist-card {
        padding: clamp(0.875rem, 2.5vw, 1rem) clamp(1rem, 3vw, 1.125rem);
        border-radius: clamp(0.625rem, 1.8vw, 0.6875rem);
        gap: clamp(0.625rem, 1.8vw, 0.75rem);
    }
    
    .specialist-card i {
        font-size: clamp(1rem, 3vw, 1.0625rem);
    }
    
    .specialist-card span {
        font-size: clamp(0.8125rem, 2.5vw, 0.875rem);
    }
    
    .security-info {
        gap: clamp(0.75rem, 2vh, 0.875rem);
    }
    
    .security-info p {
        font-size: clamp(0.8125rem, 2.5vw, 0.875rem);
        gap: clamp(0.5rem, 1.5vw, 0.5625rem);
        flex-wrap: wrap;
    }
    
    .security-info i {
        font-size: clamp(0.875rem, 2.5vw, 0.9375rem);
    }
    
    /* Clinic Info */
    .clinic-info-section {
        margin-bottom: clamp(3rem, 6vh, 4rem);
        padding-top: clamp(2.5rem, 5vh, 3rem);
    }
    
    .info-container {
        padding: clamp(1.75rem, 4vw, 2.25rem) clamp(1.25rem, 3vw, 1.5rem);
        border-radius: clamp(1.125rem, 3vw, 1.25rem);
    }
    
    .info-header {
        margin-bottom: clamp(2rem, 4vh, 2.5rem);
    }
    
    .info-header h2 {
        font-size: clamp(1.625rem, 5vw, 2rem);
        margin-bottom: clamp(1rem, 2.5vh, 1.125rem);
    }
    
    .info-header h2::after {
        width: clamp(4rem, 15vw, 5rem);
        height: clamp(0.1875rem, 0.5vw, 0.25rem);
    }
    
    .info-header p {
        font-size: clamp(0.9375rem, 2.8vw, 1.0625rem);
    }
    
    .info-grid {
        grid-template-columns: 1fr;
        gap: clamp(1.25rem, 3vh, 1.5rem);
    }
    
    .info-card {
        padding: clamp(1.5rem, 3.5vw, 1.875rem) clamp(1.125rem, 2.8vw, 1.375rem);
        border-radius: clamp(0.875rem, 2.5vw, 1rem);
        gap: clamp(1rem, 2.5vw, 1.125rem);
    }
    
    .info-icon {
        width: clamp(3rem, 8vw, 3.75rem);
        height: clamp(3rem, 8vw, 3.75rem);
        font-size: clamp(1.125rem, 3.5vw, 1.3125rem);
        border-radius: clamp(0.75rem, 2vw, 0.875rem);
    }
    
    .info-content h3 {
        font-size: clamp(1.0625rem, 3.2vw, 1.1875rem);
        margin-bottom: clamp(0.625rem, 1.8vh, 0.75rem);
    }
    
    .info-content p {
        font-size: clamp(0.875rem, 2.5vw, 0.9375rem);
        line-height: clamp(1.5, 2vh, 1.6);
    }
    
    /* Benefits Section */
    .benefits-section {
        padding: clamp(3rem, 6vh, 4rem) 0;
    }
    
    .benefits-container {
        padding: 0 clamp(1rem, 4vw, 1.25rem);
    }
    
    .benefits-header {
        margin-bottom: clamp(2.5rem, 5vh, 3rem);
    }
    
    .benefits-header h2 {
        font-size: clamp(1.75rem, 6vw, 2.25rem);
        margin-bottom: clamp(0.875rem, 2vh, 1rem);
    }
    
    .benefits-header p {
        font-size: clamp(0.9375rem, 2.8vw, 1.0625rem);
    }
    
    .benefits-grid {
        grid-template-columns: 1fr;
        gap: clamp(1.25rem, 3vh, 1.5rem);
    }
    
    .benefit-card {
        padding: clamp(1.75rem, 4vw, 2.25rem) clamp(1.25rem, 3vw, 1.5rem);
        border-radius: clamp(1rem, 2.5vw, 1.125rem);
    }
    
    .benefit-icon {
        width: clamp(3.5rem, 10vw, 4.5rem);
        height: clamp(3.5rem, 10vw, 4.5rem);
        font-size: clamp(1.375rem, 4vw, 1.625rem);
        margin-bottom: clamp(1rem, 2.5vh, 1.25rem);
    }
    
    .benefit-card h3 {
        font-size: clamp(1.125rem, 3.5vw, 1.3125rem);
        margin-bottom: clamp(0.75rem, 2vh, 0.875rem);
    }
    
    .benefit-card p {
        font-size: clamp(0.875rem, 2.5vw, 0.9375rem);
    }
    
    /* FAQ Section */
    .faq-section {
        padding: clamp(3rem, 6vh, 4rem) 0;
    }
    
    .faq-container {
        max-width: 100%;
    }
    
    .faq-item {
        margin-bottom: clamp(0.75rem, 2vh, 0.875rem);
        border-radius: clamp(0.625rem, 1.8vw, 0.75rem);
    }
    
    .faq-question {
        padding: clamp(1rem, 3vw, 1.25rem);
        font-size: clamp(0.9375rem, 2.8vw, 1.0625rem);
    }
    
    .faq-answer {
        padding: 0 clamp(1rem, 3vw, 1.25rem);
    }
    
    .faq-item.active .faq-answer {
        padding: clamp(1rem, 3vw, 1.25rem);
    }
    
    .faq-answer p {
        font-size: clamp(0.875rem, 2.5vw, 0.9375rem);
        line-height: clamp(1.5, 2vh, 1.6);
    }
}

/* ===== MAŁE MOBILE (max-width: 480px) ===== */
@media (max-width: 480px) {
    /* Container */
    .container {
        padding: 0 clamp(0.875rem, 3.5vw, 1rem);
    }
    
    /* Banner - jeszcze lepsze dopasowanie */
    .new-banner {
        padding: clamp(1.75rem, 4.5vh, 2.5rem) 0 clamp(1.25rem, 3.5vh, 1.75rem) 0;
        margin-top: 0;
    }
    
    .new-banner .banner-container {
        gap: clamp(1.25rem, 3vh, 1.5rem);
        padding-top: clamp(0.875rem, 2vh, 1.25rem);
    }
    
    .new-banner .banner-content h1 {
        font-size: clamp(1.75rem, 9vw, 2.25rem);
        margin-bottom: clamp(0.75rem, 2vh, 1rem);
    }
    
    .new-banner .banner-content .banner-description {
        font-size: clamp(0.875rem, 3.2vw, 1rem);
        margin-bottom: clamp(1rem, 3vh, 1.5rem);
        padding: 0 clamp(0.5rem, 2.5vw, 0.75rem);
    }
    
    .new-banner .banner-badges {
        gap: clamp(0.625rem, 2vh, 0.875rem);
        margin-top: clamp(1rem, 3vh, 1.5rem);
    }
    
    .new-banner .banner-badge {
        padding: clamp(0.75rem, 2.8vw, 1rem) clamp(0.875rem, 3.2vw, 1.125rem);
        font-size: clamp(0.75rem, 2.5vw, 0.875rem);
        min-height: clamp(2.875rem, 8.5vh, 3.25rem);
    }
    
    .new-banner .banner-badge i {
        font-size: clamp(1rem, 3.2vw, 1.125rem);
    }
    
    .new-banner .banner-badge span {
        font-size: clamp(0.75rem, 2.5vw, 0.875rem);
    }
    
    .new-banner .banner-logo {
        margin-top: clamp(0.875rem, 2vh, 1.25rem);
    }
    
    .new-banner .banner-logo img {
        max-width: clamp(10rem, 50vw, 14rem);
        max-height: clamp(14rem, 50vh, 20rem);
    }
    
    /* Section Headers */
    .section-header h2 {
        font-size: clamp(1.5rem, 7vw, 2rem);
    }
    
    /* Method Cards */
    .method-card {
        padding: clamp(1.5rem, 3.5vw, 1.875rem) clamp(1.125rem, 2.8vw, 1.375rem);
    }
    
    /* Form Container */
    .form-container {
        padding: clamp(1.5rem, 3.5vw, 1.875rem) clamp(1.125rem, 2.8vw, 1.375rem);
    }
    
    .form-wrapper iframe {
        height: clamp(34.375rem, 75vh, 43.75rem);
        min-height: 34.375rem;
    }
    
    /* Info Cards */
    .info-card {
        padding: clamp(1.25rem, 3vw, 1.5rem) clamp(1rem, 2.5vw, 1.125rem);
    }
}

/* ===== DODATKOWE ELEMENTY - TABLET ===== */
@media (max-width: 991px) {
    /* FAQ Icons */
    .faq-icon {
        width: clamp(2rem, 5vw, 2.5rem);
        height: clamp(2rem, 5vw, 2.5rem);
        font-size: clamp(0.875rem, 2.2vw, 1rem);
        flex-shrink: 0;
    }
    
    .faq-question h3 {
        font-size: clamp(1.125rem, 2.8vw, 1.25rem);
        padding-right: clamp(1rem, 2.5vw, 1.25rem);
    }
    
    /* Links and Buttons */
    .method-card p a,
    .info-content a,
    .security-info a {
        font-size: clamp(0.9375rem, 2vw, 1rem);
        padding: clamp(0.25rem, 0.5vw, 0.375rem) clamp(0.375rem, 0.8vw, 0.5rem);
        min-height: clamp(2.75rem, 6vh, 3.125rem);
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    
    /* Section Description */
    .section-description {
        font-size: clamp(1rem, 2.5vw, 1.125rem);
        margin-bottom: clamp(2.5rem, 5vh, 3.125rem);
        padding: 0 clamp(1rem, 2.5vw, 1.25rem);
    }
    
    /* Method Card Featured Badge */
    .method-card.featured::after {
        font-size: clamp(0.6875rem, 1.8vw, 0.75rem);
        padding: clamp(0.375rem, 1vw, 0.5rem) clamp(0.625rem, 1.5vw, 0.75rem);
        top: clamp(0.625rem, 1.5vw, 0.75rem);
        left: clamp(0.625rem, 1.5vw, 0.75rem);
    }
    
    /* Method Time */
    .method-time {
        font-size: clamp(0.8125rem, 1.8vw, 0.875rem);
        padding: clamp(0.5rem, 1vw, 0.625rem) clamp(0.875rem, 2vw, 1rem);
        border-radius: clamp(0.6875rem, 1.5vw, 0.75rem);
    }
    
    /* Specialist Cards */
    .specialist-card {
        padding: clamp(0.875rem, 2vw, 1rem) clamp(1.125rem, 2.5vw, 1.25rem);
        border-radius: clamp(0.6875rem, 1.5vw, 0.75rem);
        gap: clamp(0.6875rem, 1.5vw, 0.75rem);
    }
    
    .specialist-card i {
        font-size: clamp(1rem, 2.5vw, 1.125rem);
    }
    
    .specialist-card span {
        font-size: clamp(0.875rem, 2vw, 0.9375rem);
    }
    
    /* Specialists Grid */
    .specialists-grid {
        grid-template-columns: repeat(auto-fit, minmax(clamp(12.5rem, 30vw, 15.625rem), 1fr));
        gap: clamp(0.875rem, 2vw, 1rem);
    }
    
    /* Specialists Info */
    .specialists-info h4 {
        font-size: clamp(1.125rem, 2.8vw, 1.25rem);
        margin-bottom: clamp(1.125rem, 2.5vh, 1.25rem);
    }
    
    .specialists-info h4::after {
        width: clamp(2rem, 5vw, 2.5rem);
        height: clamp(0.125rem, 0.4vw, 0.1875rem);
    }
}

/* ===== DODATKOWE ELEMENTY - MOBILE ===== */
@media (max-width: 767px) {
    /* FAQ Icons - większe dla lepszego touch */
    .faq-icon {
        width: clamp(2.5rem, 7vw, 3rem);
        height: clamp(2.5rem, 7vw, 3rem);
        font-size: clamp(1rem, 3vw, 1.125rem);
        min-width: clamp(2.5rem, 7vw, 3rem);
        min-height: clamp(2.5rem, 7vw, 3rem);
    }
    
    .faq-question {
        gap: clamp(0.75rem, 2vw, 1rem);
        min-height: clamp(3.5rem, 10vh, 4rem);
    }
    
    .faq-question h3 {
        font-size: clamp(1rem, 3vw, 1.125rem);
        padding-right: clamp(0.75rem, 2vw, 1rem);
        line-height: clamp(1.4, 2vh, 1.5);
    }
    
    /* Links and Buttons - touch targets minimum 44x44px */
    .method-card p a,
    .info-content a,
    .security-info a,
    .btn {
        font-size: clamp(0.9375rem, 2.8vw, 1.0625rem);
        padding: clamp(0.75rem, 2.5vw, 0.875rem) clamp(1rem, 3vw, 1.125rem);
        min-height: clamp(2.75rem, 8vh, 3.125rem);
        min-width: clamp(2.75rem, 8vw, 3.125rem);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: clamp(0.625rem, 1.8vw, 0.6875rem);
        gap: clamp(0.5rem, 1.5vw, 0.625rem);
    }
    
    /* Section Description */
    .section-description {
        font-size: clamp(0.9375rem, 2.8vw, 1.0625rem);
        margin-bottom: clamp(2rem, 4vh, 2.5rem);
        padding: 0 clamp(0.75rem, 2vw, 1rem);
        line-height: clamp(1.5, 2vh, 1.6);
    }
    
    /* Method Card Featured Badge */
    .method-card.featured::after {
        font-size: clamp(0.625rem, 2vw, 0.6875rem);
        padding: clamp(0.375rem, 1.2vw, 0.5rem) clamp(0.5625rem, 1.8vw, 0.6875rem);
        top: clamp(0.5625rem, 1.5vw, 0.6875rem);
        left: clamp(0.5625rem, 1.5vw, 0.6875rem);
        border-radius: clamp(0.5rem, 1.5vw, 0.5625rem);
    }
    
    /* Method Time */
    .method-time {
        font-size: clamp(0.75rem, 2.2vw, 0.8125rem);
        padding: clamp(0.5rem, 1.5vw, 0.625rem) clamp(0.875rem, 2.5vw, 1rem);
        border-radius: clamp(0.625rem, 1.8vw, 0.6875rem);
        display: inline-block;
        margin-top: clamp(0.5rem, 1.5vh, 0.625rem);
    }
    
    /* Specialist Cards - większe dla touch */
    .specialist-card {
        padding: clamp(1rem, 2.5vw, 1.125rem) clamp(1.125rem, 3vw, 1.25rem);
        border-radius: clamp(0.625rem, 1.8vw, 0.6875rem);
        gap: clamp(0.625rem, 1.8vw, 0.75rem);
        min-height: clamp(3rem, 8vh, 3.5rem);
    }
    
    .specialist-card i {
        font-size: clamp(1rem, 3vw, 1.0625rem);
        min-width: clamp(1.25rem, 3.5vw, 1.375rem);
    }
    
    .specialist-card span {
        font-size: clamp(0.8125rem, 2.5vw, 0.875rem);
        word-break: break-word;
    }
    
    /* Specialists Grid - jedna kolumna na mobile */
    .specialists-grid {
        grid-template-columns: 1fr;
        gap: clamp(0.75rem, 2vh, 0.875rem);
    }
    
    /* Specialists Info */
    .specialists-info h4 {
        font-size: clamp(1.0625rem, 3.2vw, 1.1875rem);
        margin-bottom: clamp(1rem, 2.5vh, 1.125rem);
    }
    
    .specialists-info h4::after {
        width: clamp(2rem, 6vw, 2.5rem);
        height: clamp(0.125rem, 0.4vw, 0.1875rem);
    }
    
    /* Info Content Links */
    .info-content p {
        word-break: break-word;
        overflow-wrap: break-word;
    }
    
    .info-content a {
        word-break: break-all;
        display: inline-block;
        margin-top: clamp(0.25rem, 0.8vh, 0.375rem);
    }
    
    /* Security Info */
    .security-info p {
        flex-wrap: wrap;
        word-break: break-word;
    }
    
    /* Benefits Header */
    .benefits-header h2::after {
        width: clamp(4rem, 15vw, 5rem);
        height: clamp(0.1875rem, 0.5vw, 0.25rem);
    }
    
    /* Form Header */
    .form-header h2::after {
        width: clamp(4rem, 15vw, 5rem);
        height: clamp(0.1875rem, 0.5vw, 0.25rem);
    }
    
    /* Info Header */
    .info-header h2::after {
        width: clamp(4rem, 15vw, 5rem);
        height: clamp(0.1875rem, 0.5vw, 0.25rem);
    }
    
    /* Section Header Underlines */
    .section-header h2::after {
        width: clamp(5rem, 20vw, 6.25rem);
        height: clamp(0.1875rem, 0.5vw, 0.25rem);
    }
    
    /* FAQ Section Header */
    .faq-section .section-header h2::after {
        width: clamp(5rem, 20vw, 6.25rem);
        height: clamp(0.1875rem, 0.5vw, 0.25rem);
    }
    
    /* Banner Header Underline */
    .new-banner .banner-content h1::after {
        width: clamp(4rem, 15vw, 5rem);
        height: clamp(0.1875rem, 0.5vw, 0.25rem);
    }
    
    /* Prevent text overflow */
    h1, h2, h3, h4, p, span, a {
        word-wrap: break-word;
        overflow-wrap: break-word;
        hyphens: auto;
    }
    
    /* Better line heights for mobile */
    p, .banner-description, .section-description {
        line-height: clamp(1.5, 2vh, 1.7);
    }
    
    /* Touch-friendly spacing */
    .method-card,
    .info-card,
    .benefit-card,
    .faq-item {
        margin-bottom: clamp(1rem, 2.5vh, 1.25rem);
    }
    
    /* Container padding for mobile */
    .container {
        padding-left: clamp(1rem, 4vw, 1.25rem);
        padding-right: clamp(1rem, 4vw, 1.25rem);
    }
    
    /* Benefits container */
    .benefits-container {
        padding-left: clamp(1rem, 4vw, 1.25rem);
        padding-right: clamp(1rem, 4vw, 1.25rem);
    }
    
    /* Banner container */
    .new-banner .banner-container {
        padding-left: clamp(1rem, 4vw, 1.25rem);
        padding-right: clamp(1rem, 4vw, 1.25rem);
    }
}

/* ===== DODATKOWE ELEMENTY - MAŁE MOBILE ===== */
@media (max-width: 480px) {
    /* FAQ Icons - jeszcze większe dla bardzo małych ekranów */
    .faq-icon {
        width: clamp(2.75rem, 8vw, 3.25rem);
        height: clamp(2.75rem, 8vw, 3.25rem);
        font-size: clamp(1.0625rem, 3.5vw, 1.1875rem);
    }
    
    .faq-question {
        min-height: clamp(3.75rem, 12vh, 4.5rem);
    }
    
    /* Links - większe touch targets */
    .method-card p a,
    .info-content a,
    .security-info a,
    .btn {
        min-height: clamp(3rem, 9vh, 3.5rem);
        min-width: clamp(3rem, 9vw, 3.5rem);
        padding: clamp(0.875rem, 3vw, 1rem) clamp(1.125rem, 3.5vw, 1.25rem);
    }
    
    /* Better text wrapping */
    .method-card p,
    .info-content p,
    .benefit-card p,
    .faq-answer p {
        word-break: break-word;
        overflow-wrap: break-word;
        hyphens: auto;
    }
    
    /* Phone numbers and emails - break properly */
    a[href^="tel:"],
    a[href^="mailto:"] {
        word-break: break-all;
        display: inline-block;
    }
}

/* ===== ZACHOWANIE DESKTOPOWYCH STYLÓW ===== */
/* Wszystkie style desktopowe pozostają bez zmian */
/* Media queries działają tylko dla szerokości <= 991px */

/* ===== DODATKOWE OPTYMALIZACJE MOBILE ===== */
@media (max-width: 767px) {
    /* Smooth scrolling */
    html {
        scroll-behavior: smooth;
    }
    
    /* Prevent horizontal scroll */
    body {
        overflow-x: hidden;
        max-width: 100vw;
    }
    
    /* Better focus states for touch */
    *:focus {
        outline-width: clamp(0.125rem, 0.5vw, 0.1875rem);
        outline-offset: clamp(0.125rem, 0.5vw, 0.1875rem);
    }
    
    /* Touch action optimization */
    .faq-question,
    .method-card,
    .info-card,
    .benefit-card,
    .btn,
    a {
        touch-action: manipulation;
        -webkit-tap-highlight-color: rgba(6, 79, 61, 0.1);
    }
    
    /* Better image loading */
    img {
        max-width: 100%;
        height: auto;
    }
    
    /* Prevent text size adjustment on iOS */
    input,
    textarea,
    select,
    button {
        font-size: clamp(1rem, 4vw, 1.0625rem);
        -webkit-text-size-adjust: 100%;
    }
    
    /* Better spacing for all interactive elements */
    .method-card,
    .info-card,
    .benefit-card,
    .faq-item,
    .specialist-card {
        margin-bottom: clamp(1rem, 2.5vh, 1.25rem);
    }
    
    /* Ensure proper text wrapping in all cards */
    .method-card p,
    .info-content p,
    .benefit-card p,
    .faq-answer p,
    .banner-description {
        word-wrap: break-word;
        overflow-wrap: break-word;
        hyphens: auto;
    }
    
    /* Better icon sizing */
    .method-icon i,
    .info-icon i,
    .benefit-icon i {
        font-size: inherit;
    }
    
    /* Ensure proper aspect ratios */
    .new-banner .banner-logo img,
    img {
        max-width: 100%;
        height: auto;
        object-fit: contain;
    }
    
    /* Better container max-widths */
    .container,
    .benefits-container,
    .form-container,
    .info-container {
        max-width: 100%;
        width: 100%;
    }
    
    /* Ensure proper iframe responsiveness */
    .form-wrapper iframe {
        width: 100% !important;
        max-width: 100%;
        min-height: clamp(34.375rem, 75vh, 43.75rem);
        height: clamp(34.375rem, 75vh, 43.75rem) !important;
    }
    
    /* Better grid gaps */
    .methods-grid,
    .info-grid,
    .benefits-grid,
    .specialists-grid {
        gap: clamp(1rem, 2.5vh, 1.25rem);
    }
    
    /* Better card hover states for touch */
    .method-card:active,
    .info-card:active,
    .benefit-card:active,
    .faq-question:active {
        transform: scale(0.98);
    }
    
    /* Better focus states */
    .faq-question:focus,
    .btn:focus,
    a:focus {
        outline: clamp(0.125rem, 0.5vw, 0.1875rem) solid var(--primary);
        outline-offset: clamp(0.125rem, 0.5vw, 0.1875rem);
    }
    
    /* Ensure proper z-index stacking */
    .new-banner,
    .main-appointment-section,
    .benefits-section,
    .faq-section {
        position: relative;
        z-index: 1;
    }
    
    /* Better overflow handling */
    .method-card,
    .info-card,
    .benefit-card,
    .faq-item,
    .form-container,
    .info-container {
        overflow: hidden;
    }
    
    /* Better text alignment for mobile */
    .section-header,
    .form-header,
    .info-header,
    .benefits-header {
        text-align: center;
    }
    
    /* Better spacing for headers */
    .section-header h2,
    .form-header h2,
    .info-header h2,
    .benefits-header h2 {
        text-align: center;
        margin-left: auto;
        margin-right: auto;
    }
}

/* ===== DODATKOWE OPTYMALIZACJE - MAŁE MOBILE ===== */
@media (max-width: 480px) {
    /* Even better touch targets */
    .faq-question {
        min-height: clamp(4rem, 13vh, 4.75rem);
        padding: clamp(1.125rem, 3.5vw, 1.375rem);
    }
    
    /* Better text sizes */
    .method-card h3,
    .info-content h3,
    .benefit-card h3 {
        font-size: clamp(1.0625rem, 3.5vw, 1.1875rem);
        line-height: clamp(1.3, 2vh, 1.4);
    }
    
    /* Better spacing */
    .section-header,
    .form-header,
    .info-header,
    .benefits-header {
        margin-bottom: clamp(2rem, 5vh, 2.5rem);
        padding: 0 clamp(0.5rem, 2vw, 0.75rem);
    }
    
    /* Better card padding */
    .method-card,
    .info-card,
    .benefit-card {
        padding: clamp(1.5rem, 4vw, 1.875rem) clamp(1.125rem, 3vw, 1.375rem);
    }
    
    /* Better icon sizes */
    .method-icon,
    .info-icon,
    .benefit-icon {
        margin-bottom: clamp(1rem, 2.5vh, 1.125rem);
    }
}

