/* CM Klara – układ profilu lekarza niezależny od motywu i Visual Composer */

body.single-lekarze {
    overflow-x: hidden;
}

body.single-lekarze article.lekarze,
body.single-lekarze .entry-content,
body.single-lekarze .wpb-content-wrapper,
body.single-lekarze .vc_row,
body.single-lekarze .vc_column_container,
body.single-lekarze .vc_column-inner,
body.single-lekarze .wpb_wrapper {
    min-width: 0;
}

/*
 * Profil bywa osadzony w kolumnie treści, która w motywie rezerwuje miejsce
 * na sidebar. Poszerzamy wyłącznie elementy zawierające profil — bez reguł
 * zależnych od Divi i bez ingerowania w inne podstrony.
 */
@supports selector(:has(*)) {
    body.single-lekarze .container:has(.cmk-profile),
    body.single-lekarze .row:has(.cmk-profile),
    body.single-lekarze .content-area:has(.cmk-profile),
    body.single-lekarze .site-main:has(.cmk-profile),
    body.single-lekarze #primary:has(.cmk-profile),
    body.single-lekarze [class*="col-"]:has(.cmk-profile),
    body.single-lekarze .vc_row:has(.cmk-profile),
    body.single-lekarze .wpb_column:has(.cmk-profile),
    body.single-lekarze .vc_column_container:has(.cmk-profile) {
        float: none !important;
        clear: both;
        width: 100% !important;
        max-width: 1240px !important;
        flex: 0 0 100% !important;
        margin-right: auto !important;
        margin-left: auto !important;
        padding-right: 0;
        padding-left: 0;
    }
}

body.single-lekarze article.lekarze,
body.single-lekarze .entry-content {
    width: 100%;
    max-width: none;
    overflow: visible;
}

/* Szerokość odpowiada głównej siatce strony i nigdy nie przekracza ekranu. */
body.single-lekarze .cmk-profile {
    position: relative;
    left: auto;
    width: min(1180px, calc(100vw - 48px));
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    transform: none;
}

/* Płaskie powierzchnie — bez gradientów. */
body.single-lekarze .cmk-profile__hero {
    background: #f4f6f8 !important;
    border-left: 6px solid var(--cmk-profile-accent);
}

body.single-lekarze .cmk-profile__photo-placeholder {
    background: #e4e8ec !important;
}

/* CTA: mocny kontrast i wymuszone kolory odporne na style motywu. */
body.single-lekarze .cmk-profile__cta {
    position: relative;
    overflow: hidden;
    color: #fff !important;
    background: var(--cmk-profile-accent) !important;
    border: 0 !important;
    box-shadow: 0 12px 30px rgba(35, 49, 63, 0.16);
}

body.single-lekarze .cmk-profile__cta::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 9px;
    background: var(--cmk-profile-accent-dark);
}

body.single-lekarze .cmk-profile__cta > div,
body.single-lekarze .cmk-profile__cta-kicker,
body.single-lekarze .cmk-profile__cta strong,
body.single-lekarze .cmk-profile__cta p,
body.single-lekarze .cmk-profile__cta a {
    position: relative;
    z-index: 1;
}

body.single-lekarze .cmk-profile__cta-kicker,
body.single-lekarze .cmk-profile__cta strong,
body.single-lekarze .cmk-profile__cta p {
    color: #fff !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

body.single-lekarze .cmk-profile__cta p {
    font-weight: 500;
}

body.single-lekarze .cmk-profile__cta .cmk-profile__button--primary {
    color: var(--cmk-profile-accent) !important;
    background: #fff !important;
    border-color: #fff !important;
}

body.single-lekarze .cmk-profile__cta .cmk-profile__button--primary:hover,
body.single-lekarze .cmk-profile__cta .cmk-profile__button--primary:focus-visible {
    color: #fff !important;
    background: var(--cmk-profile-accent-dark) !important;
    border-color: #fff !important;
}

body.single-lekarze .cmk-profile__cta .cmk-profile__button--phone {
    color: #fff !important;
    background: transparent !important;
    border-color: rgba(255, 255, 255, 0.9) !important;
}

body.single-lekarze .cmk-profile__cta .cmk-profile__button--phone:hover,
body.single-lekarze .cmk-profile__cta .cmk-profile__button--phone:focus-visible {
    color: var(--cmk-profile-accent) !important;
    background: #fff !important;
    border-color: #fff !important;
}

/* Zdjęcia lekarzy są przygotowywane jako kwadraty — bez pionowego kadrowania. */
body.single-lekarze .cmk-profile__photo-wrap {
    width: 100%;
    min-height: 0;
    aspect-ratio: 1 / 1;
}

body.single-lekarze .cmk-profile__photo,
body.single-lekarze .cmk-profile__photo-placeholder {
    width: 100%;
    height: 100%;
    min-height: 0;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
}

/* Krótkie, spokojne wejście elementów profilu. */
@keyframes cmk-profile-reveal {
    from {
        opacity: 0;
        transform: translate3d(0, 10px, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes cmk-profile-photo-reveal {
    from {
        opacity: 0;
        transform: translate3d(-10px, 0, 0) scale(0.99);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

body.single-lekarze .cmk-profile__motion,
body.single-lekarze .cmk-profile__fact,
body.single-lekarze .cmk-profile__section,
body.single-lekarze .cmk-profile__cta {
    animation: cmk-profile-reveal 0.48s cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

body.single-lekarze .cmk-profile__motion--photo {
    animation-name: cmk-profile-photo-reveal;
    animation-delay: 0.04s;
}

body.single-lekarze .cmk-profile__motion--location { animation-delay: 0.08s; }
body.single-lekarze .cmk-profile__motion--name { animation-delay: 0.14s; }
body.single-lekarze .cmk-profile__motion--specialty { animation-delay: 0.20s; }
body.single-lekarze .cmk-profile__motion--badge { animation-delay: 0.24s; }
body.single-lekarze .cmk-profile__fact:nth-child(1) { animation-delay: 0.26s; }
body.single-lekarze .cmk-profile__fact:nth-child(2) { animation-delay: 0.33s; }
body.single-lekarze .cmk-profile__fact:nth-child(3) { animation-delay: 0.40s; }
body.single-lekarze .cmk-profile__motion--lead { animation-delay: 0.44s; }
body.single-lekarze .cmk-profile__motion--actions { animation-delay: 0.50s; }
body.single-lekarze .cmk-profile__section:nth-child(1) { animation-delay: 0.12s; }
body.single-lekarze .cmk-profile__section:nth-child(2) { animation-delay: 0.19s; }
body.single-lekarze .cmk-profile__section:nth-child(3) { animation-delay: 0.26s; }
body.single-lekarze .cmk-profile__cta { animation-delay: 0.22s; }

@media (prefers-reduced-motion: reduce) {
    body.single-lekarze .cmk-profile__motion,
    body.single-lekarze .cmk-profile__fact,
    body.single-lekarze .cmk-profile__section,
    body.single-lekarze .cmk-profile__cta {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}

@media (max-width: 1100px) {
    body.single-lekarze .cmk-profile {
        width: min(100vw - 36px, 960px);
    }

    body.single-lekarze .cmk-profile__hero {
        grid-template-columns: minmax(250px, 340px) minmax(0, 1fr);
        gap: 30px;
    }

    body.single-lekarze .cmk-profile__sections {
        grid-template-columns: minmax(0, 1fr);
    }

    body.single-lekarze .cmk-profile__section--consultations,
    body.single-lekarze .cmk-profile__section--prices {
        grid-row: auto;
        grid-column: auto;
    }
}

@media (max-width: 767px) {
    body.single-lekarze .cmk-profile {
        width: calc(100vw - 24px);
        max-width: none;
    }

    body.single-lekarze .cmk-profile__hero,
    body.single-lekarze .cmk-profile__sections {
        grid-template-columns: minmax(0, 1fr);
    }

    body.single-lekarze .cmk-profile__hero {
        gap: 24px;
        padding: 20px;
        border-left-width: 4px;
    }

    body.single-lekarze .cmk-profile__photo-wrap {
        width: 100%;
        max-width: 500px;
        margin: 0 auto;
    }

    body.single-lekarze .cmk-profile__facts,
    body.single-lekarze .cmk-profile__section ul,
    body.single-lekarze .cmk-profile__prices {
        grid-template-columns: minmax(0, 1fr);
    }

    body.single-lekarze .cmk-profile__actions,
    body.single-lekarze .cmk-profile__cta-actions {
        display: grid;
        width: 100%;
    }

    body.single-lekarze .cmk-profile__button {
        width: 100%;
    }

    body.single-lekarze .cmk-profile__cta {
        align-items: stretch;
        gap: 22px;
    }
}

@media (max-width: 480px) {
    body.single-lekarze .cmk-profile {
        width: calc(100vw - 16px);
        margin-bottom: 30px;
    }

    body.single-lekarze .cmk-profile__hero,
    body.single-lekarze .cmk-profile__section,
    body.single-lekarze .cmk-profile__cta {
        padding: 18px 16px;
    }

    body.single-lekarze .cmk-profile__name {
        font-size: clamp(34px, 11vw, 46px);
        overflow-wrap: anywhere;
        word-break: normal;
    }

    body.single-lekarze .cmk-profile__fact {
        align-items: flex-start;
    }
}
