/* ── Tamka – kolorystyka niebieska ───────────────────────── */
:root {
    --clr-primary:    #4A7FA5;
    --clr-primary-dk: #3A6585;
    --clr-primary-lt: #EEF4FA;
    --clr-footer-bg:  #1E3347;
}

/* === page === */
.section-inner, .site-header {
    background: rgba(239, 251, 255, 0.9);
}

.problem, .card, .home-article-card, .contact-card, input {
    background: rgb(245, 253, 252);
}

.articles-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 28px;
}

@media (max-width: 500px) {
    .btn-lg {
        padding: 16px 26px;
    }
}

@media (max-width: 768px) {
    /* Globalny zakaz poziomego przewijania */
    html, body {
        overflow-x: hidden !important;
        max-width: 100vw;
    }

    /* Wszystkie iframe (mapy, video) */
    iframe {
        max-width: 100% !important;
        width: 100% !important;
    }
    img { max-width: 100% !important; height: auto; }

    .map-wrap,
    .map-wrap iframe {
        max-width: 100% !important;
        width: 100% !important;
    }

    /* Karta kontakt — ŻADNEGO overflow:hidden, tylko box-sizing */
    .contact-card {
        padding: 16px !important;
        box-shadow: none !important;
        border: 1px solid rgba(0,0,0,.06);
        max-width: 100%;
        box-sizing: border-box;
        overflow: visible;
    }

    #kontakt .section-inner {
        padding-left: 14px !important;
        padding-right: 14px !important;
        overflow: visible !important;   /* NIE ucina! */
        box-sizing: border-box;
    }

    /* Wszystko w karcie kontaktu szanuje szerokość rodzica */
    .contact-card * {
        max-width: 100%;
        box-sizing: border-box;
    }

    /* Przycisk „Umów wizytę" — zwija się do szerokości karty */
    .contact-card .booking-box,
    .contact-card .cta-button,
    .contact-card a.btn,
    .contact-card .btn-primary {
        max-width: 100% !important;
        width: 100% !important;
        white-space: normal !important;
        word-break: break-word;
        text-align: center;
        box-sizing: border-box;
    }

    /* Długie linki / adresy łamią się */
    .contact-value,
    .contact-value a,
    .contact-card p {
        word-break: break-word;
        overflow-wrap: anywhere;
    }

    pre, code, table {
        max-width: 100%;
        overflow-x: auto;
    }
}
/* === end-page === */
