/* =========================================================
   PKU Sampangan - Elementor / Theme Compatibility
   Loaded after plugin/theme styles to protect frontend
   components from generic reset rules and Elementor widgets.
========================================================= */

/* Base: keep plugin components predictable. */
body [class^="pku-"],
body [class*=" pku-"] {
    box-sizing: border-box;
    font-family: 'Inter', sans-serif;
}

body [class^="pku-"] *,
body [class*=" pku-"] * {
    box-sizing: border-box;
}

/* Typography inherited from theme must not replace plugin font. */
body [class^="pku-"] h1,
body [class^="pku-"] h2,
body [class^="pku-"] h3,
body [class^="pku-"] h4,
body [class^="pku-"] h5,
body [class^="pku-"] h6,
body [class^="pku-"] p,
body [class^="pku-"] a,
body [class^="pku-"] button,
body [class^="pku-"] input,
body [class^="pku-"] select,
body [class^="pku-"] textarea,
body [class*=" pku-"] h1,
body [class*=" pku-"] h2,
body [class*=" pku-"] h3,
body [class*=" pku-"] h4,
body [class*=" pku-"] h5,
body [class*=" pku-"] h6,
body [class*=" pku-"] p,
body [class*=" pku-"] a,
body [class*=" pku-"] button,
body [class*=" pku-"] input,
body [class*=" pku-"] select,
body [class*=" pku-"] textarea {
    font-family: 'Inter', sans-serif;
}

/* Theme image rules must not enlarge plugin images. */
body [class^="pku-"] img,
body [class*=" pku-"] img {
    max-width: 100%;
}

/* Generic theme heading reset protection. */
body .pku-single-container .pku-doctor-info h1 {
    margin: 0 !important;
    font-size: 24px !important;
    line-height: 1.2 !important;
    font-weight: 650 !important;
}

body .pku-single-container .pku-doctor-info h3 {
    margin: 8px 0 24px !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
    color: #848282 !important;
}

body .pku-single-container .pku-doctor-description {
    margin-top: 0 !important;
    line-height: 1.5 !important;
}

body .pku-single-container .pku-doctor-schedule {
    margin-top: 40px !important;
}

body .pku-single-container .pku-doctor-schedule h2 {
    margin: 0 0 17px !important;
    font-size: 20px !important;
    line-height: 1.3 !important;
    font-weight: 650 !important;
}

body .pku-single-container .pku-schedule-item {
    margin-bottom: 15px !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
}

body .pku-single-container .pku-button-daftar,
body .pku-single-container .pku-button-wa {
    text-decoration: none !important;
}

/* Doctor card headings / links. */
body .pku-doctor-content h3,
body .pku-doctor-slider-name {
    margin-top: 0;
}

body .pku-doctor-content p,
body .pku-doctor-slider-specialization {
    margin-bottom: 0;
}

body .pku-doctor-card,
body .pku-doctor-slider-card,
body .pku-doctor-schedule-link {
    text-decoration: none !important;
}

/* Layanan. */
body .pku-layanan-content h3,
body .pku-layanan-content h3 a,
body .pku-layanan-title {
    font-family: 'Inter', sans-serif;
}

body .pku-layanan-content h3 {
    margin-top: 0;
}

body .pku-layanan-button {
    text-decoration: none !important;
}

body .pku-layanan-right p,
body .pku-layanan-right h4,
body .pku-layanan-right li {
    font-family: 'Inter', sans-serif;
}

/* Promo. */
body .pku-promo-filter button {
    appearance: none;
    -webkit-appearance: none;
    text-transform: none;
    font-family: 'Inter', sans-serif;
}

body .pku-promo-card-title,
body .pku-promo-card-title a,
body .pku-promo-short-desc,
body .pku-promo-detail,
body .pku-promo-title,
body .pku-promo-description,
body .pku-promo-description p,
body .pku-promo-description h4,
body .pku-promo-description li,
body .pku-promo-cta {
    font-family: 'Inter', sans-serif;
}

body .pku-promo-card-title a,
body .pku-promo-detail,
body .pku-promo-cta {
    text-decoration: none !important;
}

/* Testimoni. */
body .pku-testimoni-name,
body .pku-testimoni-occupation,
body .pku-testimoni-review,
body .pku-testimoni-empty {
    font-family: 'Inter', sans-serif;
}

/* Karir. */
body .pku-single-karir h1,
body .pku-single-karir h2,
body .pku-single-karir h3,
body .pku-single-karir h4,
body .pku-single-karir p,
body .pku-single-karir li,
body .pku-single-karir a,
body .pku-single-karir span,
body .pku-single-karir button {
    font-family: 'Inter', sans-serif;
}

body .pku-single-karir a {
    text-decoration: none;
}

/* Popup. */
body .pku-popup-overlay,
body .pku-popup-modal,
body .pku-popup-shell {
    font-family: 'Inter', sans-serif;
}

body .pku-popup-modal h2,
body .pku-popup-modal p,
body .pku-popup-modal a,
body .pku-popup-modal button {
    font-family: 'Inter', sans-serif;
}

body .pku-popup-modal h2 {
    margin-top: 0;
}

body .pku-popup-modal a {
    text-decoration: none !important;
}

body .pku-popup-close {
    appearance: none !important;
    -webkit-appearance: none !important;
    text-transform: none !important;
}

/* Single Promo. */
body .pku-promo-single-container h1,
body .pku-promo-single-container h2,
body .pku-promo-single-container h3,
body .pku-promo-single-container h4,
body .pku-promo-single-container p,
body .pku-promo-single-container a,
body .pku-promo-single-container li {
    font-family: 'Inter', sans-serif;
}

/* Swiper/theme safety. */
body .pku-doctor-slider .swiper-slide,
body .pku-layanan-slider .swiper-slide {
    box-sizing: border-box;
}

body .pku-doctor-slider .swiper-slide img,
body .pku-layanan-slider .swiper-slide img {
    max-width: 100%;
}

/* Keep the plugin's existing responsive sizes when the compatibility
   layer is loaded after the original CSS. */
@media (max-width: 1024px) {
    body .pku-single-container .pku-doctor-info h1 {
        font-size: 32px !important;
    }

    body .pku-single-container .pku-doctor-info h3 {
        font-size: 20px !important;
    }
}

@media (max-width: 767px) {
    body .pku-single-container .pku-doctor-info h1 {
        font-size: 26px !important;
        line-height: 1.3 !important;
    }

    body .pku-single-container .pku-doctor-info h3 {
        font-size: 18px !important;
        margin: 8px 0 20px !important;
    }

    body .pku-single-container .pku-doctor-description {
        font-size: 15px !important;
        line-height: 1.6 !important;
    }

    body .pku-single-container .pku-schedule-item {
        font-size: 18px !important;
        line-height: 1.4 !important;
    }

    body .pku-single-container .pku-button-daftar,
    body .pku-single-container .pku-button-wa {
        width: 100%;
    }
}
