html {
font-family: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"!important;
}
.sp-megamenu-parent > li.active > a, .sp-megamenu-parent > li.active:hover > a {
  color: #2369b8!important;
}
#sp-main-body {
  padding: 10px 0;
}
#sp-header {
  height: 100px;
}
#sp-top-bar {
  background: #fff;
  color: #9e9e9e;
}
/*Baner*/
.jp-hero-banner {
    position: relative;
    width: 100%;
    height: 560px;
    overflow: hidden;
    background: #ffffff;
    isolation: isolate;
}

.jp-hero-images {
    position: absolute;
    inset: 0;
    display: flex;
}

.jp-hero-image {
    flex: 1 1 33.333%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
}

/* Podmień na własne zdjęcia */
.jp-img-1 {
    background-image: url('images/headers/dziecieca.webp');
}

.jp-img-2 {
    background-image: url('/images/headers/hero-1.jpg');
}

.jp-img-3 {
    background-image: url('images/headers/endodoncja-1.webp');
}

/* Delikatne przejścia między zdjęciami */
.jp-hero-image:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 100px;
    height: 100%;
    background: linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,0.18));
    pointer-events: none;
}

/* Overlay zgodny z kolorystyką logo */
.jp-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(
            90deg,
            rgba(82, 185, 243, 0.20) 0%,
            rgba(82, 185, 243, 0.10) 35%,
            rgba(140, 198, 63, 0.10) 70%,
            rgba(140, 198, 63, 0.16) 100%
        ),
        linear-gradient(
            180deg,
            rgba(255,255,255,0.12) 0%,
            rgba(255,255,255,0.02) 45%,
            rgba(255,255,255,0.00) 100%
        );
}

/* Treść */
.jp-hero-content {
    position: relative;
    z-index: 2;
    max-width: 1200px;
    height: 100%;
    margin: 0 auto;
    padding: 60px 40px 120px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    color: #ffffff;
}

.jp-hero-content h1 {
    margin: 0 0 16px;
    font-size: 52px;
    line-height: 1.08;
    font-weight: 600;
    max-width: 680px;
    text-shadow: 0 2px 18px rgba(0,0,0,0.20);
}

.jp-hero-content p {
    margin: 0 0 24px;
    font-size: 20px;
    line-height: 1.5;
    max-width: 620px;
    text-shadow: 0 2px 14px rgba(0,0,0,0.18);
}

.jp-hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 26px;
    border-radius: 999px;
    background: #2369b8;
    color: #ffffff;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    transition: all 0.25s ease;
    box-shadow: 0 8px 24px rgba(82, 185, 243, 0.28);
}

.jp-hero-btn:hover {
    background: #42ace8;
    color: #ffffff;
    transform: translateY(-1px);
}

/* Dolna, płynna linia */
.jp-hero-curve {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 130px;
    z-index: 3;
    display: block;
    pointer-events: none;
}

.jp-hero-curve path:first-child {
    fill: #ffffff; /* kolor tła sekcji poniżej */
}

.jp-curve-line {
    fill: none;
    stroke: #2369b8;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: 0.95;
}

/* Opcjonalny zielony akcent na końcówce linii */
.jp-hero-curve::after {
    content: "";
}

/* Responsywność */
@media (max-width: 991px) {
    .jp-hero-banner {
        height: 460px;
    }

    .jp-hero-content {
        padding: 50px 24px 100px;
        align-items: center;
        text-align: center;
    }

    .jp-hero-content h1 {
        font-size: 38px;
        max-width: 100%;
    }

    .jp-hero-content p {
        font-size: 18px;
        max-width: 100%;
    }
}

@media (max-width: 767px) {
    .jp-hero-banner {
        height: 420px;
    }

    .jp-hero-content {
        padding: 40px 18px 90px;
        text-align: center;
        align-items: center;
    }

    .jp-hero-content h1 {
        font-size: 30px;
    }

    .jp-hero-content p {
        font-size: 16px;
    }

    .jp-hero-curve {
        height: 90px;
    }
}
/*o nas*/

:root {
    --jp-blue: #2369b8;
    --jp-blue-dark: #2369b8;
    --jp-green: #8cc63f;
    --jp-text: #1f2430;
    --jp-muted: #5e6673;
    --jp-bg: #f5f7f9;
    --jp-card: #ffffff;
    --jp-border: rgba(82, 185, 243, 0.10);
    --jp-shadow: 0 8px 24px rgba(31, 36, 48, 0.06);
}

.jp-services-section {
    padding: 90px 20px 20px;
    background: #fff;
}

.jp-services-container {
    max-width: 1320px;
    margin: 0 auto;
}

.jp-services-header {
    text-align: center;
    margin-bottom: 50px;
}

.jp-services-header h2 {
    margin: 0 0 12px;
    font-size: 52px;
    line-height: 1.1;
    font-weight: 600;
    color: var(--jp-text);
}

.jp-services-header p {
    margin: 0;
    font-size: 18px;
    line-height: 1.5;
    font-weight: 600;
    color: var(--jp-blue-dark);
}

.jp-services-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.jp-service-card {
    min-height: 230px;
    padding: 34px 26px 28px;
    background: var(--jp-card);
    border: 1px solid var(--jp-border);
    border-radius: 20px;
    box-shadow: var(--jp-shadow);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    text-align: center;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.jp-service-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 34px rgba(31, 36, 48, 0.10);
    border-color: rgba(82, 185, 243, 0.22);
}

.jp-service-card h3 {
    margin: 0;
    font-size: 18px;
    line-height: 1.4;
    font-weight: 600;
    color: var(--jp-text);
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.jp-service-icon {
    width: 92px;
    height: 92px;
    margin-top: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.jp-service-icon img {
    max-width: 100%;
    max-height: 100%;
    display: block;
    object-fit: contain;
}

/* Ostatni rząd wyśrodkowany jak na zrzucie */
.jp-services-grid > .jp-service-card:nth-child(9) {
    grid-column: 2;
}

.jp-services-grid > .jp-service-card:nth-child(10) {
    grid-column: 3;
}

/* Tablet */
@media (max-width: 1199px) {
    .jp-services-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .jp-services-grid > .jp-service-card:nth-child(9),
    .jp-services-grid > .jp-service-card:nth-child(10) {
        grid-column: auto;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .jp-services-section {
        padding: 70px 14px 80px;
    }

    .jp-services-header {
        margin-bottom: 28px;
    }

    .jp-services-header h2 {
        font-size: 34px;
    }

    .jp-services-header p {
        font-size: 15px;
    }

    /* KLUCZOWA ZMIANA */
    .jp-services-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
    }

    .jp-service-card {
        min-height: 170px;
        padding: 20px 14px 18px;
        border-radius: 16px;
    }

    .jp-service-card h3 {
        font-size: 15px;
        line-height: 1.3;
        min-height: auto;
    }

    .jp-service-icon {
        width: 64px;
        height: 64px;
        margin-top: 10px;
    }
}
/*inne usługi */
._inne_uslugi {
    --jp-blue: #2369b8;
    --jp-blue-dark: #2369b8;
    --jp-green: #8cc63f;
    --jp-text: #1f2430;
    --jp-muted: #5e6673;
    --jp-card: #ffffff;
    --jp-border: rgba(82, 185, 243, 0.12);
    --jp-shadow: 0 10px 28px rgba(31, 36, 48, 0.06);

    background: #ffffff;
    border: 1px solid var(--jp-border);
    border-radius: 22px;
    box-shadow: var(--jp-shadow);
    padding: 26px 24px 24px;
    position: relative;
    overflow: hidden;
}

.jp-service-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    text-align: center;
    text-decoration: none;
    color: inherit;
}

.jp-service-card h3 {
    transition: color 0.25s ease;
}

.jp-service-card:hover h3,
.jp-service-card:focus h3 {
    color: var(--jp-blue-dark);
}

.jp-service-card--more {
    background: linear-gradient(
        180deg,
        rgba(82, 185, 243, 0.06) 0%,
        rgba(140, 198, 63, 0.06) 100%
    );
    border: 1px dashed rgba(82, 185, 243, 0.24);
}

.jp-service-card--more .jp-service-icon {
    color: var(--jp-blue);
}

.jp-service-card--more .jp-service-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.jp-service-card--more:hover,
.jp-service-card--more:focus {
    background: linear-gradient(
        180deg,
        rgba(82, 185, 243, 0.12) 0%,
        rgba(140, 198, 63, 0.10) 100%
    );
}

/* górny delikatny akcent */
._inne_uslugi::before {
    content: "";
    position: absolute;
    top: 0;
    left: 24px;
    right: 24px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--jp-blue) 0%, var(--jp-green) 100%);
}

._inne_title {
    margin: 0 0 18px;
    padding-top: 8px;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 700;
    color: var(--jp-text);
    letter-spacing: -0.01em;
}

._inne_uslugi .sp-module-content {
    margin: 0;
}

._inne_uslugi .mod-articles-items {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
}

._inne_uslugi .mod-articles-items > li {
    margin: 0;
    padding: 0;
}

._inne_uslugi .mod-articles-item {
    margin: 0;
}

._inne_uslugi .mod-articles-item-content {
    margin: 0;
    padding: 0;
}

/* tytuł z linkiem */
._inne_uslugi .mod-articles-title {
    margin: 0;
    font-size: 0;
    line-height: 1;
}

._inne_uslugi .mod-articles-link {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 58px;
    padding: 14px 18px 14px 18px;
    border: 1px solid rgba(82, 185, 243, 0.10);
    border-radius: 16px;
    background: #ffffff;
    color: var(--jp-text);
    text-decoration: none;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 600;
    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.25s ease,
        color 0.25s ease,
        background 0.25s ease;
}

/* strzałka */
._inne_uslugi .mod-articles-link::after {
    content: "→";
    margin-left: auto;
    padding-left: 14px;
    font-size: 18px;
    line-height: 1;
    color: var(--jp-blue);
    transition: transform 0.25s ease, color 0.25s ease;
}

._inne_uslugi .mod-articles-link:hover,
._inne_uslugi .mod-articles-link:focus {
    background: linear-gradient(
        90deg,
        rgba(82, 185, 243, 0.05) 0%,
        rgba(140, 198, 63, 0.04) 100%
    );
    border-color: rgba(82, 185, 243, 0.24);
    box-shadow: 0 10px 24px rgba(82, 185, 243, 0.10);
    color: var(--jp-blue-dark);
    transform: translateY(-1px);
}

._inne_uslugi .mod-articles-link:hover::after,
._inne_uslugi .mod-articles-link:focus::after {
    transform: translateX(3px);
    color: var(--jp-green);
}

/* ukrywamy śmieciowe zajawki z artykułu */
._inne_uslugi .mod-articles-item-content > h2,
._inne_uslugi .mod-articles-item-content > p,
._inne_uslugi .mod-articles-item-content .headline,
._inne_uslugi .mod-articles-item-content br {
    display: none !important;
}

/* gdyby Joomla wrzucała inne elementy pod linkiem */
._inne_uslugi .mod-articles-item-content > :not(.mod-articles-title) {
    display: none !important;
}

/* sticky po prawej stronie - opcjonalnie */
@media (min-width: 992px) {
    ._inne_uslugi {
        position: sticky;
        top: 120px;
    }
}

/* tablet */
@media (max-width: 991px) {
    ._inne_uslugi {
        padding: 22px 20px 20px;
        border-radius: 20px;
    }

    ._inne_title {
        font-size: 22px;
        margin-bottom: 16px;
    }

    ._inne_uslugi .mod-articles-link {
        min-height: 54px;
        padding: 13px 16px;
        border-radius: 14px;
        font-size: 15px;
    }
}

/* mobile */
@media (max-width: 767px) {
    ._inne_uslugi {
        padding: 20px 16px 16px;
        border-radius: 18px;
    }

    ._inne_uslugi::before {
        left: 16px;
        right: 16px;
    }

    ._inne_title {
        font-size: 20px;
        margin-bottom: 14px;
    }

    ._inne_uslugi .mod-articles-items {
        gap: 8px;
    }

    ._inne_uslugi .mod-articles-link {
        min-height: 50px;
        padding: 12px 14px;
        border-radius: 13px;
        font-size: 15px;
    }

    ._inne_uslugi .mod-articles-link::after {
        font-size: 16px;
        padding-left: 10px;
    }
}
/* Umów wizyte */
._umow_wizyte {
    --jp-blue: #2369b8;
    --jp-blue-dark: #2369b8;
    --jp-green: #8cc63f;
    --jp-text: #1f2430;
    --jp-muted: #5e6673;
    --jp-border: rgba(82, 185, 243, 0.12);
    --jp-shadow: 0 10px 28px rgba(31, 36, 48, 0.06);

    position: relative;
    background: #ffffff;
    border: 1px solid var(--jp-border);
    border-radius: 22px;
    box-shadow: var(--jp-shadow);
    padding: 26px 24px 24px;
    overflow: hidden;
}

._umow_wizyte::before {
    content: "";
    position: absolute;
    top: 0;
    left: 24px;
    right: 24px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--jp-blue) 0%, var(--jp-green) 100%);
}

._uwow_wizyte {
    margin: 0 0 18px;
    padding-top: 8px;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 700;
    color: var(--jp-text);
    letter-spacing: -0.01em;
}

._umow_wizyte .sp-module-content {
    margin: 0;
}

._umow_wizyte .mod-custom {
    margin: 0;
}

._umow_wizyte p {
    margin: 0;
}

._umow_wizyte .uw-intro {
    margin-bottom: 18px;
    font-size: 15px;
    line-height: 1.6;
    color: var(--jp-muted);
}

._umow_wizyte .uw-locations {
    display: grid;
    gap: 14px;
}

._umow_wizyte .uw-location {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 14px;
    align-items: start;
    padding: 16px;
    border: 1px solid rgba(82, 185, 243, 0.10);
    border-radius: 18px;
    background: linear-gradient(
        180deg,
        rgba(82, 185, 243, 0.03) 0%,
        rgba(255, 255, 255, 1) 100%
    );
    transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

._umow_wizyte .uw-location:hover {
    border-color: rgba(82, 185, 243, 0.20);
    box-shadow: 0 10px 20px rgba(82, 185, 243, 0.08);
    transform: translateY(-1px);
}

._umow_wizyte .uw-icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(82,185,243,0.12) 0%, rgba(140,198,63,0.10) 100%);
    color: var(--jp-blue);
    display: flex;
    align-items: center;
    justify-content: center;
}

._umow_wizyte .uw-icon svg {
    width: 22px;
    height: 22px;
    display: block;
}

._umow_wizyte .uw-content h4 {
    margin: 0 0 6px;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 700;
    color: var(--jp-text);
}

._umow_wizyte .uw-content p {
    margin: 0 0 12px;
    font-size: 14px;
    line-height: 1.6;
    color: var(--jp-muted);
}

._umow_wizyte .uw-content p span {
    color: var(--jp-blue-dark);
}

._umow_wizyte .uw-phone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid rgba(82, 185, 243, 0.16);
    color: var(--jp-blue-dark);
    text-decoration: none;
    font-size: 15px;
    line-height: 1;
    font-weight: 700;
    transition: all 0.25s ease;
}

._umow_wizyte .uw-phone:hover,
._umow_wizyte .uw-phone:focus {
    background: var(--jp-blue);
    border-color: var(--jp-blue);
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(82, 185, 243, 0.22);
}

._umow_wizyte .uw-actions {
    margin-top: 18px;
}

._umow_wizyte .uw-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 22px;
    border-radius: 999px;
    text-decoration: none;
    font-size: 15px;
    font-weight: 700;
    transition: all 0.25s ease;
}

._umow_wizyte .uw-btn-primary {
    background: linear-gradient(90deg, var(--jp-blue) 0%, var(--jp-green) 100%);
    color: #ffffff;
    box-shadow: 0 12px 24px rgba(82, 185, 243, 0.20);
}

._umow_wizyte .uw-btn-primary:hover,
._umow_wizyte .uw-btn-primary:focus {
    transform: translateY(-1px);
    box-shadow: 0 16px 28px rgba(82, 185, 243, 0.24);
    color: #ffffff;
}

/* jeśli blok ma być sticky w sidebarze */
@media (min-width: 992px) {
    ._umow_wizyte {
        position: sticky;
        top: 420px;
    }
}

/* tablet */
@media (max-width: 991px) {
    ._umow_wizyte {
        padding: 22px 20px 20px;
        border-radius: 20px;
    }

    ._uwow_wizyte {
        font-size: 22px;
        margin-bottom: 16px;
    }

    ._umow_wizyte .uw-location {
        padding: 14px;
        border-radius: 16px;
    }
}

/* mobile */
@media (max-width: 767px) {
    ._umow_wizyte {
        padding: 20px 16px 16px;
        border-radius: 18px;
    }

    ._umow_wizyte::before {
        left: 16px;
        right: 16px;
    }

    ._uwow_wizyte {
        font-size: 20px;
        margin-bottom: 14px;
    }

    ._umow_wizyte .uw-intro {
        font-size: 14px;
        margin-bottom: 14px;
    }

    ._umow_wizyte .uw-location {
        grid-template-columns: 40px 1fr;
        gap: 12px;
        padding: 13px;
        border-radius: 14px;
    }

    ._umow_wizyte .uw-icon {
        width: 40px;
        height: 40px;
        border-radius: 12px;
    }

    ._umow_wizyte .uw-icon svg {
        width: 20px;
        height: 20px;
    }

    ._umow_wizyte .uw-content h4 {
        font-size: 17px;
    }

    ._umow_wizyte .uw-content p {
        font-size: 13px;
        margin-bottom: 10px;
    }

    ._umow_wizyte .uw-phone,
    ._umow_wizyte .uw-btn {
        width: 100%;
    }
}
/*blog*/
.blog.com-content-category-blog {
    --jp-blue: #2369b8;
    --jp-blue-dark: #2369b8;
    --jp-green: #8cc63f;
    --jp-text: #1f2430;
    --jp-muted: #5e6673;
    --jp-border: rgba(82, 185, 243, 0.12);
    --jp-shadow: 0 10px 28px rgba(31, 36, 48, 0.06);
    --jp-shadow-hover: 0 18px 38px rgba(31, 36, 48, 0.10);

    padding: 10px 0 0;
    background: #ffffff;
}

/* układ */
.blog.com-content-category-blog .article-list > .row {
    row-gap: 28px;
}

.blog.com-content-category-blog .col-lg-6 {
    margin-bottom: 28px;
    display: flex;
}

/* karta */
.blog.com-content-category-blog .article {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    background: #ffffff;
    border: 1px solid var(--jp-border);
    border-radius: 24px;
    box-shadow: var(--jp-shadow);
    overflow: hidden;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

/* górny akcent */
.blog.com-content-category-blog .article::before {
    content: "";
    position: absolute;
    top: 0;
    left: 24px;
    right: 24px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--jp-blue) 0%, var(--jp-green) 100%);
    z-index: 3;
}

.blog.com-content-category-blog .article:hover {
    transform: translateY(-4px);
    border-color: rgba(82, 185, 243, 0.22);
    box-shadow: var(--jp-shadow-hover);
}

/* zdjęcie */
.blog.com-content-category-blog .article > a {
    display: block;
    text-decoration: none;
    color: inherit;
}

.blog.com-content-category-blog .article-intro-image {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #f4f8fb;
}

.blog.com-content-category-blog .article-intro-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.blog.com-content-category-blog .article:hover .article-intro-image img {
    transform: scale(1.04);
}

/* opcjonalny delikatny overlay */
.blog.com-content-category-blog .article-intro-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(82, 185, 243, 0.02) 0%,
        rgba(0, 0, 0, 0.02) 100%
    );
    pointer-events: none;
}

/* body */
.blog.com-content-category-blog .article-body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 28px 28px 24px;
}

/* tytuł */
.blog.com-content-category-blog .article-header {
    margin-bottom: 16px;
}

.blog.com-content-category-blog .article-header h2 {
    margin: 0;
    font-size: 28px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.blog.com-content-category-blog .article-header h2 a {
    color: var(--jp-text);
    text-decoration: none;
    transition: color 0.25s ease;
}

.blog.com-content-category-blog .article:hover .article-header h2 a,
.blog.com-content-category-blog .article-header h2 a:hover,
.blog.com-content-category-blog .article-header h2 a:focus {
    color: var(--jp-blue-dark);
}

/* intro */
.blog.com-content-category-blog .article-introtext {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.blog.com-content-category-blog .article-introtext p {
    margin: 0 0 18px;
    font-size: 16px;
    line-height: 1.75;
    color: var(--jp-muted);
}

.blog.com-content-category-blog .article-introtext p strong {
    font-weight: 600;
    color: var(--jp-muted);
}

/* read more */
.blog.com-content-category-blog .readmore {
    margin-top: auto;
    padding-top: 6px;
}

.blog.com-content-category-blog .readmore a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 22px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--jp-blue) 0%, var(--jp-green) 100%);
    color: #ffffff;
    text-decoration: none;
    font-size: 0;
    line-height: 1;
    font-weight: 700;
    box-shadow: 0 12px 24px rgba(82, 185, 243, 0.18);
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.blog.com-content-category-blog .readmore a::before {
    font-size: 15px;
    line-height: 1;
}

.blog.com-content-category-blog .readmore a::after {
    content: "→";
    margin-left: 10px;
    font-size: 16px;
    line-height: 1;
    transition: transform 0.25s ease;
}

.blog.com-content-category-blog .readmore a:hover,
.blog.com-content-category-blog .readmore a:focus {
    transform: translateY(-1px);
    box-shadow: 0 16px 28px rgba(82, 185, 243, 0.24);
    color: #ffffff;
}

.blog.com-content-category-blog .readmore a:hover::after,
.blog.com-content-category-blog .readmore a:focus::after {
    transform: translateX(3px);
}

/* wyrównanie wysokości kart */
.blog.com-content-category-blog .row {
    display: flex;
    flex-wrap: wrap;
}

.blog.com-content-category-blog .row > [class*="col-"] {
    display: flex;
}

.blog.com-content-category-blog .row > [class*="col-"] .article {
    width: 100%;
}

/* tablet */
@media (max-width: 991px) {
    .blog.com-content-category-blog .col-lg-6 {
        margin-bottom: 22px;
    }

    .blog.com-content-category-blog .article {
        border-radius: 22px;
    }

    .blog.com-content-category-blog .article::before {
        left: 20px;
        right: 20px;
    }

    .blog.com-content-category-blog .article-body {
        padding: 24px 22px 22px;
    }

    .blog.com-content-category-blog .article-header h2 {
        font-size: 24px;
    }

    .blog.com-content-category-blog .article-introtext p {
        font-size: 15px;
        line-height: 1.65;
    }
}

/* mobile */
@media (max-width: 576px) {
  .logo-image {
    height: 80px !important;
    margin-top: 40px;
  }
}
@media (max-width: 767px) {
    .blog.com-content-category-blog .article-list > .row {
        row-gap: 18px;
    }

    .blog.com-content-category-blog .col-lg-6 {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
        margin-bottom: 18px;
    }

    .blog.com-content-category-blog .article {
        border-radius: 18px;
    }

    .blog.com-content-category-blog .article::before {
        left: 16px;
        right: 16px;
    }

    .blog.com-content-category-blog .article-intro-image {
        aspect-ratio: 16 / 11;
    }

    .blog.com-content-category-blog .article-body {
        padding: 20px 16px 18px;
    }

    .blog.com-content-category-blog .article-header {
        margin-bottom: 14px;
    }

    .blog.com-content-category-blog .article-header h2 {
        font-size: 21px;
        line-height: 1.25;
    }

    .blog.com-content-category-blog .article-introtext p {
        font-size: 14px;
        line-height: 1.6;
        margin-bottom: 16px;
    }

    .blog.com-content-category-blog .readmore a {
        width: 100%;
        min-height: 44px;
    }

    .blog.com-content-category-blog .readmore a::before {
        font-size: 14px;
    }
}
/* O NAS */
.jp-about-clinic {
    --jp-blue: #2369b8;
    --jp-blue-dark: #2369b8;
    --jp-green: #8cc63f;
    --jp-text: #1f2430;
    --jp-muted: #5e6673;
    --jp-border: rgba(82, 185, 243, 0.12);
    --jp-shadow: 0 10px 28px rgba(31, 36, 48, 0.06);
    --jp-shadow-hover: 0 18px 38px rgba(31, 36, 48, 0.10);

    padding: 90px 0px 0px 0px;
    background: #ffffff;
}

.jp-about-clinic__container {
    max-width: 1320px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: 42px;
    align-items: center;
}

.jp-about-clinic__content {
    position: relative;
    background: #ffffff;
    border: 1px solid var(--jp-border);
    border-radius: 24px;
    box-shadow: var(--jp-shadow);
    padding: 38px 36px 34px;
    overflow: hidden;
}

.jp-about-clinic__content::before {
    content: "";
    position: absolute;
    top: 0;
    left: 28px;
    right: 28px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--jp-blue) 0%, var(--jp-green) 100%);
}

.jp-about-clinic__eyebrow {
    margin-bottom: 10px;
    padding-top: 8px;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--jp-blue-dark);
}

.jp-about-clinic__title {
    margin: 0 0 10px;
    font-size: 46px;
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--jp-text);
}

.jp-about-clinic__subtitle {
    margin-bottom: 22px;
    font-size: 20px;
    line-height: 1.4;
    font-weight: 600;
    color: var(--jp-text);
}

.jp-about-clinic__text p {
    margin: 0 0 16px;
    font-size: 16px;
    line-height: 1.8;
    color: var(--jp-muted);
}

.jp-about-clinic__text p:last-child {
    margin-bottom: 0;
}

.jp-about-clinic__media {
    display: grid;
    grid-template-columns: 1fr 0.82fr;
    gap: 18px;
    align-items: stretch;
}

.jp-about-clinic__image {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    background: #f5f9fc;
    border: 1px solid var(--jp-border);
    box-shadow: var(--jp-shadow);
}

.jp-about-clinic__image::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(82, 185, 243, 0.03) 0%,
        rgba(140, 198, 63, 0.02) 100%
    );
    pointer-events: none;
    z-index: 1;
}

.jp-about-clinic__image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.45s ease;
}

.jp-about-clinic__image:hover img {
    transform: scale(1.03);
}

.jp-about-clinic__image--large {
    min-height: 520px;
}

.jp-about-clinic__image--small {
    min-height: 520px;
}

/* delikatna dekoracja */
.jp-about-clinic__media::after {
    content: "";
    position: absolute;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: radial-gradient(
        circle,
        rgba(82, 185, 243, 0.10) 0%,
        rgba(140, 198, 63, 0.04) 55%,
        rgba(255,255,255,0) 72%
    );
    transform: translate(-20px, -20px);
    pointer-events: none;
    display: none;
}

/* tablet */
@media (max-width: 991px) {
    .jp-about-clinic {
        padding: 70px 20px;
    }

    .jp-about-clinic__container {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .jp-about-clinic__content {
        border-radius: 22px;
        padding: 30px 24px 26px;
    }

    .jp-about-clinic__content::before {
        left: 20px;
        right: 20px;
    }

    .jp-about-clinic__title {
        font-size: 38px;
    }

    .jp-about-clinic__subtitle {
        font-size: 18px;
        margin-bottom: 18px;
    }

    .jp-about-clinic__text p {
        font-size: 15px;
        line-height: 1.7;
    }

    .jp-about-clinic__media {
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }

    .jp-about-clinic__image {
        border-radius: 22px;
    }

    .jp-about-clinic__image--large,
    .jp-about-clinic__image--small {
        min-height: 340px;
    }
}

/* mobile */
@media (max-width: 767px) {
    .jp-about-clinic {
        padding: 56px 16px;
    }

    .jp-about-clinic__container {
        gap: 22px;
    }

    .jp-about-clinic__content {
        border-radius: 18px;
        padding: 22px 16px 20px;
    }

    .jp-about-clinic__content::before {
        left: 16px;
        right: 16px;
    }

    .jp-about-clinic__eyebrow {
        font-size: 13px;
        margin-bottom: 8px;
    }

    .jp-about-clinic__title {
        font-size: 30px;
        line-height: 1.12;
        margin-bottom: 8px;
    }

    .jp-about-clinic__subtitle {
        font-size: 17px;
        line-height: 1.45;
        margin-bottom: 16px;
    }

    .jp-about-clinic__text p {
        font-size: 14px;
        line-height: 1.65;
        margin-bottom: 14px;
    }

    .jp-about-clinic__media {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .jp-about-clinic__image {
        border-radius: 18px;
    }

    .jp-about-clinic__image--large,
    .jp-about-clinic__image--small {
        min-height: 240px;
    }
}
.jp-contact-section {
    --jp-blue: #2369b8;
    --jp-blue-dark: #2369b8;
    --jp-green: #8cc63f;
    --jp-text: #1f2430;
    --jp-muted: #5e6673;
    --jp-border: rgba(82, 185, 243, 0.12);
    --jp-shadow: 0 10px 28px rgba(31, 36, 48, 0.06);
    --jp-shadow-hover: 0 18px 38px rgba(31, 36, 48, 0.10);
    padding: 90px 0px 0px 0px;
    background: #ffffff;
}

.jp-contact-container {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 0px; /* ważne – zgodne z Helix / Bootstrap */
    box-sizing: border-box;
}

.jp-contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr; /* równe kolumny */
    gap: 28px;
    align-items: stretch;
}

.jp-contact-card {
    position: relative;
    background: #ffffff;
    border: 1px solid var(--jp-border);
    border-radius: 24px;
    box-shadow: var(--jp-shadow);
    padding: 34px 32px 30px;
    overflow: hidden;
}

.jp-contact-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 24px;
    right: 24px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--jp-blue) 0%, var(--jp-green) 100%);
}

.jp-contact-eyebrow {
    margin-bottom: 10px;
    padding-top: 8px;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--jp-blue-dark);
}

.jp-contact-title {
    margin: 0 0 10px;
    font-size: 40px;
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--jp-text);
}

.jp-contact-lead {
    margin: 0 0 22px;
    font-size: 16px;
    line-height: 1.7;
    color: var(--jp-muted);
}

/* lokalizacje */
.jp-contact-locations {
    display: grid;
    gap: 14px;
    margin-bottom: 20px;
}

.jp-contact-location {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 14px;
    align-items: start;
    padding: 16px;
    border: 1px solid rgba(82, 185, 243, 0.10);
    border-radius: 18px;
    background: linear-gradient(
        180deg,
        rgba(82, 185, 243, 0.03) 0%,
        rgba(255, 255, 255, 1) 100%
    );
    transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.jp-contact-location:hover {
    border-color: rgba(82, 185, 243, 0.20);
    box-shadow: 0 10px 20px rgba(82, 185, 243, 0.08);
    transform: translateY(-1px);
}

.jp-contact-icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(82,185,243,0.12) 0%, rgba(140,198,63,0.10) 100%);
    color: var(--jp-blue);
    display: flex;
    align-items: center;
    justify-content: center;
}

.jp-contact-icon svg {
    width: 22px;
    height: 22px;
    display: block;
}

.jp-contact-location-content h3 {
    margin: 0 0 6px;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 700;
    color: var(--jp-text);
}

.jp-contact-location-content p {
    margin: 0 0 12px;
    font-size: 14px;
    line-height: 1.6;
    color: var(--jp-muted);
}

.jp-contact-location-content p span {
    color: var(--jp-blue-dark);
}

.jp-contact-phone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid rgba(82, 185, 243, 0.16);
    color: var(--jp-blue-dark);
    text-decoration: none;
    font-size: 15px;
    line-height: 1;
    font-weight: 700;
    transition: all 0.25s ease;
}

.jp-contact-phone:hover,
.jp-contact-phone:focus {
    background: var(--jp-blue);
    border-color: var(--jp-blue);
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(82, 185, 243, 0.22);
}

/* przyciski map */
.jp-contact-map-buttons {
    display: grid;
    gap: 12px;
}

.jp-map-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 18px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--jp-blue) 0%, var(--jp-green) 100%);
    color: #ffffff;
    text-decoration: none;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 700;
    text-align: center;
    box-shadow: 0 12px 24px rgba(82, 185, 243, 0.18);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.jp-map-btn:hover,
.jp-map-btn:focus {
    transform: translateY(-1px);
    box-shadow: 0 16px 28px rgba(82, 185, 243, 0.24);
    color: #ffffff;
}

/* formularz */
.jp-contact-form {
    display: grid;
    gap: 16px;
}

.jp-form-group {
    display: grid;
    gap: 8px;
}

.jp-form-group label {
    font-size: 14px;
    line-height: 1.4;
    font-weight: 600;
    color: var(--jp-text);
}

.jp-form-group input,
.jp-form-group textarea {
    width: 100%;
    border: 1px solid rgba(82, 185, 243, 0.14);
    border-radius: 16px;
    background: #ffffff;
    padding: 14px 16px;
    font-size: 15px;
    line-height: 1.5;
    color: var(--jp-text);
    outline: none;
    transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
    box-sizing: border-box;
}

.jp-form-group textarea {
    min-height: 130px;
    resize: vertical;
}

.jp-form-group input:focus,
.jp-form-group textarea:focus {
    border-color: rgba(82, 185, 243, 0.34);
    box-shadow: 0 0 0 4px rgba(82, 185, 243, 0.10);
}

.jp-form-checkbox {
    margin-top: 4px;
}

.jp-form-checkbox label {
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: 10px;
    align-items: start;
    font-size: 13px;
    line-height: 1.6;
    color: var(--jp-muted);
    cursor: pointer;
}

.jp-form-checkbox input[type="checkbox"] {
    margin: 2px 0 0;
    accent-color: var(--jp-blue);
}

.jp-form-actions {
    padding-top: 4px;
}

.jp-form-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 24px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--jp-blue) 0%, var(--jp-green) 100%);
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 12px 24px rgba(82, 185, 243, 0.18);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.jp-form-submit:hover,
.jp-form-submit:focus {
    transform: translateY(-1px);
    box-shadow: 0 16px 28px rgba(82, 185, 243, 0.24);
}

/* tablet */
@media (max-width: 991px) {
    .jp-contact-section {
        padding: 70px 20px;
    }

    .jp-contact-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .jp-contact-card {
        border-radius: 22px;
        padding: 28px 22px 24px;
    }

    .jp-contact-card::before {
        left: 20px;
        right: 20px;
    }

    .jp-contact-title {
        font-size: 34px;
    }
}

/* mobile */
@media (max-width: 767px) {
    .jp-contact-section {
        padding: 56px 16px;
    }

    .jp-contact-card {
        border-radius: 18px;
        padding: 22px 16px 18px;
    }

    .jp-contact-card::before {
        left: 16px;
        right: 16px;
    }

    .jp-contact-title {
        font-size: 28px;
    }

    .jp-contact-lead {
        font-size: 14px;
        line-height: 1.6;
        margin-bottom: 18px;
    }

    .jp-contact-location {
        grid-template-columns: 40px 1fr;
        gap: 12px;
        padding: 13px;
        border-radius: 14px;
    }

    .jp-contact-icon {
        width: 40px;
        height: 40px;
        border-radius: 12px;
    }

    .jp-contact-icon svg {
        width: 20px;
        height: 20px;
    }

    .jp-contact-location-content h3 {
        font-size: 17px;
    }

    .jp-contact-location-content p {
        font-size: 13px;
        margin-bottom: 10px;
    }

    .jp-contact-phone,
    .jp-map-btn,
    .jp-form-submit {
        width: 100%;
    }

    .jp-form-group input,
    .jp-form-group textarea {
        border-radius: 14px;
        padding: 13px 14px;
        font-size: 14px;
    }
}
.jp-contact-info,
.jp-contact-form-wrap {
    display: flex;
}

.jp-contact-card {
    width: 100%;
    height: 100%;
}
/* orły */
.jp-awards-section {
    --jp-gold: #c8a45a;
    --jp-gold-dark: #9f7d39;
    --jp-gold-soft: rgba(200, 164, 90, 0.16);
    --jp-gold-line: rgba(200, 164, 90, 0.22);
    --jp-text: #1f2430;
    --jp-muted: #666d78;
    --jp-shadow: 0 14px 34px rgba(31, 36, 48, 0.06);

    padding: 90px 0;
    background: #ffffff;
}

.jp-awards-container {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 15px;
    box-sizing: border-box;
}

.jp-awards-box {
    position: relative;
    text-align: center;
    background: linear-gradient(
        180deg,
        rgba(255, 250, 240, 0.75) 0%,
        rgba(255, 255, 255, 1) 100%
    );
    border: 1px solid var(--jp-gold-line);
    border-radius: 28px;
    box-shadow: var(--jp-shadow);
    padding: 44px 40px 42px;
    overflow: hidden;
}

/* górny złoty akcent */
.jp-awards-box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 28px;
    right: 28px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(
        90deg,
        rgba(200, 164, 90, 0.30) 0%,
        #c8a45a 25%,
        #e3c98f 50%,
        #c8a45a 75%,
        rgba(200, 164, 90, 0.30) 100%
    );
}

/* delikatna dekoracja tła */
.jp-awards-box::after {
    content: "";
    position: absolute;
    inset: auto -80px -80px auto;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: radial-gradient(
        circle,
        rgba(200, 164, 90, 0.10) 0%,
        rgba(200, 164, 90, 0.03) 45%,
        rgba(255,255,255,0) 72%
    );
    pointer-events: none;
}

.jp-awards-eyebrow {
    margin-bottom: 10px;
    padding-top: 8px;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: var(--jp-gold-dark);
}

.jp-awards-title {
    margin: 0 0 14px;
    font-size: 42px;
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--jp-text);
}

.jp-awards-lead {
    max-width: 860px;
    margin: 0 auto 30px;
    font-size: 17px;
    line-height: 1.75;
    color: var(--jp-muted);
}

.jp-awards-image {
    position: relative;
    max-width: 980px;
    margin: 0 auto;
    padding: 18px 18px 8px;
    border-radius: 24px;
    background: linear-gradient(
        180deg,
        rgba(200, 164, 90, 0.04) 0%,
        rgba(255,255,255,0.90) 100%
    );
    border: 1px solid rgba(200, 164, 90, 0.10);
}

.jp-awards-image img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

/* subtelna linia pod grafiką */
.jp-awards-image::after {
    content: "";
    display: block;
    width: 180px;
    height: 1px;
    margin: 20px auto 0;
    background: linear-gradient(
        90deg,
        rgba(200, 164, 90, 0) 0%,
        rgba(200, 164, 90, 0.65) 50%,
        rgba(200, 164, 90, 0) 100%
    );
}

/* tablet */
@media (max-width: 991px) {
    .jp-awards-section {
        padding: 70px 0;
    }

    .jp-awards-box {
        border-radius: 24px;
        padding: 34px 24px 32px;
    }

    .jp-awards-box::before {
        left: 20px;
        right: 20px;
    }

    .jp-awards-title {
        font-size: 34px;
    }

    .jp-awards-lead {
        font-size: 16px;
        line-height: 1.7;
        margin-bottom: 24px;
    }

    .jp-awards-image {
        border-radius: 20px;
        padding: 14px 14px 6px;
    }
}

/* mobile */
@media (max-width: 767px) {
    .jp-awards-section {
        padding: 56px 0;
    }

    .jp-awards-container {
        padding: 0 16px;
    }

    .jp-awards-box {
        border-radius: 18px;
        padding: 24px 16px 22px;
    }

    .jp-awards-box::before {
        left: 16px;
        right: 16px;
    }

    .jp-awards-eyebrow {
        font-size: 12px;
        margin-bottom: 8px;
    }

    .jp-awards-title {
        font-size: 28px;
        line-height: 1.15;
        margin-bottom: 10px;
    }

    .jp-awards-lead {
        font-size: 14px;
        line-height: 1.65;
        margin-bottom: 18px;
    }

    .jp-awards-image {
        border-radius: 16px;
        padding: 10px 10px 4px;
    }

    .jp-awards-image::after {
        width: 120px;
        margin-top: 14px;
    }
}
.jp-footer-wave {
    position: relative;
    width: 100%;
    height: 120px;
    margin-top: -40px;
    z-index: 2;
}

.jp-footer-wave svg {
    width: 100%;
    height: 100%;
    display: block;
}

/* tło fali */
.jp-footer-wave path:first-child {
    fill: #ffffff;
}

/* cienka linia jak w logo */
.jp-footer-line {
    fill: none;
    stroke: #2369b8;
    stroke-width: 3;
    stroke-linecap: round;
}

/* delikatny gradient pod falą */
.jp-footer-wave::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(82,185,243,0.12) 0%,
        rgba(140,198,63,0.08) 50%,
        rgba(255,255,255,0) 100%
    );
    pointer-events: none;
}
#sp-footer, #sp-bottom {
  background: none!important;
  color: #fff;
}
/*kategorie*/
.com-content-category.category-list {
    --jp-blue: #2369b8;
    --jp-blue-dark: #2369b8;
    --jp-green: #8cc63f;
    --jp-text: #1f2430;
    --jp-muted: #5e6673;
    --jp-card: #ffffff;
    --jp-border: rgba(82, 185, 243, 0.12);
    --jp-shadow: 0 10px 28px rgba(31, 36, 48, 0.06);

    background: #ffffff;
}

/* szerokość i układ ogólny */
.com-content-category.category-list .content-category {
    max-width: 1320px;
    margin: 0 auto;
    padding: 20px 15px 40px;
    box-sizing: border-box;
}

/* =========================
   WPROWADZENIE
   ========================= */
.com-content-category.category-list .category-desc {
    position: relative;
    margin-bottom: 30px;
    padding: 34px 32px 30px;
    background: #ffffff;
    border: 1px solid var(--jp-border);
    border-radius: 24px;
    box-shadow: var(--jp-shadow);
    overflow: hidden;
}

.com-content-category.category-list .category-desc::before {
    content: "";
    position: absolute;
    top: 0;
    left: 24px;
    right: 24px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--jp-blue) 0%, var(--jp-green) 100%);
}

/* porządkujemy przypadkowe odstępy z edytora */
.com-content-category.category-list .category-desc p,
.com-content-category.category-list .category-desc h2,
.com-content-category.category-list .category-desc h3,
.com-content-category.category-list .category-desc h4 {
    margin-top: 0;
}

.com-content-category.category-list .category-desc p {
    margin-bottom: 14px;
    font-size: 16px;
    line-height: 1.75;
    color: var(--jp-muted);
}

.com-content-category.category-list .category-desc p strong {
    color: var(--jp-text);
    font-weight: 700;
}

.com-content-category.category-list .category-desc .headline,
.com-content-category.category-list .category-desc h2 {
    margin: 0 0 14px;
    padding-top: 8px;
    font-size: 38px;
    line-height: 1.12;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--jp-text);
}

/* logo we wprowadzeniu */
.com-content-category.category-list .category-desc img {
    max-width: 280px;
    width: 100%;
    height: auto;
    display: block;
    margin: 0 0 18px;
}

/* usuwamy puste paragrafy z &nbsp; */
.com-content-category.category-list .category-desc p:empty {
    display: none;
}

/* =========================
   FORM / TABELA -> GRID
   ========================= */
.com-content-category.category-list .com-content-category__articles {
    margin: 0;
}

.com-content-category.category-list .com-content-category__table {
    width: 100%;
    border: 0 !important;
    background: transparent !important;
    margin: 0;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
}

/* chowamy nagłówek tabeli */
.com-content-category.category-list .com-content-category__table thead,
.com-content-category.category-list .com-content-category__table caption {
    display: none !important;
}

/* tbody jako grid */
.com-content-category.category-list .com-content-category__table tbody {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

/* reset tabeli */
.com-content-category.category-list .com-content-category__table tr,
.com-content-category.category-list .com-content-category__table th,
.com-content-category.category-list .com-content-category__table td {
    display: block;
    width: 100%;
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: left;
    box-shadow: none !important;
}

.com-content-category.category-list .com-content-category__table .list-title {
    width: 100%;
}

/* =========================
   MINI CARDY / LINKI
   ========================= */
.com-content-category.category-list .com-content-category__table .list-title a {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 62px;
    padding: 16px 18px;
    border: 1px solid rgba(82, 185, 243, 0.10);
    border-radius: 18px;
    background: #ffffff;
    color: var(--jp-text);
    text-decoration: none;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 600;
    box-shadow: 0 8px 20px rgba(31, 36, 48, 0.04);
    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        transform 0.25s ease,
        color 0.25s ease,
        background 0.25s ease;
}

/* kropka/akcent po lewej */
.com-content-category.category-list .com-content-category__table .list-title a::before {
    content: "";
    width: 8px;
    height: 8px;
    margin-right: 12px;
    border-radius: 50%;
    background: linear-gradient(180deg, var(--jp-blue) 0%, var(--jp-green) 100%);
    flex: 0 0 8px;
}

/* strzałka po prawej */
.com-content-category.category-list .com-content-category__table .list-title a::after {
    content: "→";
    margin-left: auto;
    padding-left: 14px;
    font-size: 18px;
    line-height: 1;
    color: var(--jp-blue);
    transition: transform 0.25s ease, color 0.25s ease;
}

.com-content-category.category-list .com-content-category__table .list-title a:hover,
.com-content-category.category-list .com-content-category__table .list-title a:focus {
    background: linear-gradient(
        90deg,
        rgba(82, 185, 243, 0.05) 0%,
        rgba(140, 198, 63, 0.04) 100%
    );
    border-color: rgba(82, 185, 243, 0.24);
    box-shadow: 0 12px 26px rgba(82, 185, 243, 0.10);
    color: var(--jp-blue-dark);
    transform: translateY(-1px);
}

.com-content-category.category-list .com-content-category__table .list-title a:hover::after,
.com-content-category.category-list .com-content-category__table .list-title a:focus::after {
    transform: translateX(3px);
    color: var(--jp-green);
}

/* ukrywamy techniczne inputy */
.com-content-category.category-list .com-content-category__articles > div:last-child {
    display: none;
}

/* =========================
   TABLET
   ========================= */
@media (max-width: 991px) {
    .com-content-category.category-list .content-category {
        padding: 16px 15px 34px;
    }

    .com-content-category.category-list .category-desc {
        padding: 28px 22px 24px;
        border-radius: 22px;
        margin-bottom: 24px;
    }

    .com-content-category.category-list .category-desc::before {
        left: 20px;
        right: 20px;
    }

    .com-content-category.category-list .category-desc .headline,
    .com-content-category.category-list .category-desc h2 {
        font-size: 32px;
    }

    .com-content-category.category-list .category-desc p {
        font-size: 15px;
        line-height: 1.7;
    }

    .com-content-category.category-list .com-content-category__table tbody {
        gap: 12px;
    }

    .com-content-category.category-list .com-content-category__table .list-title a {
        min-height: 58px;
        padding: 14px 16px;
        border-radius: 16px;
        font-size: 15px;
    }
}

/* =========================
   MOBILE
   ========================= */
@media (max-width: 767px) {
    .com-content-category.category-list .content-category {
        padding: 14px 16px 28px;
    }

    .com-content-category.category-list .category-desc {
        padding: 22px 16px 18px;
        border-radius: 18px;
        margin-bottom: 18px;
    }

    .com-content-category.category-list .category-desc::before {
        left: 16px;
        right: 16px;
    }

    .com-content-category.category-list .category-desc img {
        max-width: 220px;
        margin-bottom: 14px;
    }

    .com-content-category.category-list .category-desc .headline,
    .com-content-category.category-list .category-desc h2 {
        font-size: 26px;
        line-height: 1.15;
        margin-bottom: 10px;
    }

    .com-content-category.category-list .category-desc p {
        font-size: 14px;
        line-height: 1.65;
        margin-bottom: 12px;
    }

    .com-content-category.category-list .com-content-category__table tbody {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .com-content-category.category-list .com-content-category__table .list-title a {
        min-height: 54px;
        padding: 13px 14px;
        border-radius: 14px;
        font-size: 15px;
    }

    .com-content-category.category-list .com-content-category__table .list-title a::after {
        font-size: 16px;
        padding-left: 10px;
    }
}

/* Strona dentystów */
.jp-doctor-page {
    --jp-blue: #2369b8;
    --jp-blue-dark: #2369b8;
    --jp-green: #8cc63f;
    --jp-text: #1f2430;
    --jp-muted: #5e6673;
    --jp-border: rgba(82, 185, 243, 0.12);
    --jp-shadow: 0 10px 28px rgba(31, 36, 48, 0.06);

    padding: 48px 0 80px;
    background: #ffffff;
}

.jp-doctor-page__container {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 15px;
    box-sizing: border-box;
}

.jp-doctor-page__grid {
    display: grid;
    grid-template-columns: minmax(320px, 430px) minmax(0, 1fr);
    gap: 42px;
    align-items: start;
}

.jp-doctor-page__photo {
    position: sticky;
    top: 120px;
}

.jp-doctor-page__photo-card {
    position: relative;
    background: #ffffff;
    border: 1px solid var(--jp-border);
    border-radius: 28px;
    box-shadow: var(--jp-shadow);
    padding: 14px;
    overflow: hidden;
}

.jp-doctor-page__photo-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 24px;
    right: 24px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--jp-blue) 0%, var(--jp-green) 100%);
    z-index: 2;
}

.jp-doctor-page__photo-card img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 22px;
}

.jp-doctor-page__card {
    position: relative;
    background: #ffffff;
    border: 1px solid var(--jp-border);
    border-radius: 28px;
    box-shadow: var(--jp-shadow);
    padding: 34px 34px 28px;
    overflow: hidden;
}

.jp-doctor-page__card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 24px;
    right: 24px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--jp-blue) 0%, var(--jp-green) 100%);
}

.jp-doctor-page__eyebrow {
    margin-bottom: 10px;
    padding-top: 8px;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--jp-blue-dark);
}

.jp-doctor-page__title {
    margin: 0 0 12px;
    font-size: 56px;
    line-height: 1.02;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--jp-text);
    max-width: 760px;
}

.jp-doctor-page__subtitle {
    margin-bottom: 24px;
    font-size: 19px;
    line-height: 1.45;
    font-weight: 600;
    color: var(--jp-text);
    max-width: 700px;
}

.jp-doctor-page__text p {
    margin: 0 0 16px;
    font-size: 16px;
    line-height: 1.85;
    color: var(--jp-muted);
}

.jp-doctor-page__text p:last-child {
    margin-bottom: 0;
}

.jp-doctor-page__signature {
    margin-top: 24px;
}

.jp-doctor-page__signature img {
    display: block;
    max-width: 270px;
    width: 100%;
    height: auto;
}

/* jeśli Joomla wyświetla jeszcze nagłówek strony nad blokiem */
.view-article .page-header,
.view-article .item-page > h2,
.view-article h2.headline.mb-2:first-child {
    display: none;
}

/* tablet */
@media (max-width: 991px) {
    .jp-doctor-page {
        padding: 34px 0 60px;
    }

    .jp-doctor-page__grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .jp-doctor-page__photo {
        position: static;
        max-width: 420px;
    }

    .jp-doctor-page__photo-card,
    .jp-doctor-page__card {
        border-radius: 22px;
    }

    .jp-doctor-page__photo-card::before,
    .jp-doctor-page__card::before {
        left: 20px;
        right: 20px;
    }

    .jp-doctor-page__card {
        padding: 28px 24px 24px;
    }

    .jp-doctor-page__title {
        font-size: 42px;
    }

    .jp-doctor-page__subtitle {
        font-size: 18px;
        margin-bottom: 18px;
    }

    .jp-doctor-page__text p {
        font-size: 15px;
        line-height: 1.75;
    }
}

/* mobile */
@media (max-width: 767px) {
    .jp-doctor-page {
        padding: 24px 0 44px;
    }

    .jp-doctor-page__container {
        padding: 0 16px;
    }

    .jp-doctor-page__grid {
        gap: 18px;
    }

    .jp-doctor-page__photo {
        max-width: 100%;
    }

    .jp-doctor-page__photo-card {
        padding: 10px;
        border-radius: 18px;
    }

    .jp-doctor-page__photo-card::before,
    .jp-doctor-page__card::before {
        left: 16px;
        right: 16px;
    }

    .jp-doctor-page__photo-card img {
        border-radius: 14px;
    }

    .jp-doctor-page__card {
        border-radius: 18px;
        padding: 22px 16px 18px;
    }

    .jp-doctor-page__eyebrow {
        font-size: 12px;
        margin-bottom: 8px;
    }

    .jp-doctor-page__title {
        font-size: 32px;
        line-height: 1.08;
        margin-bottom: 10px;
    }

    .jp-doctor-page__subtitle {
        font-size: 17px;
        margin-bottom: 16px;
    }

    .jp-doctor-page__text p {
        font-size: 14px;
        line-height: 1.7;
        margin-bottom: 14px;
    }

    .jp-doctor-page__signature {
        margin-top: 18px;
    }

    .jp-doctor-page__signature img {
        max-width: 210px;
    }
}

/* PERSONEL - przegląd kategorii */
/* =========================
   FONT (globalnie dla tej sekcji)
   ========================= */
.blog.com-content-category-blog {
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

/* =========================
   ZMIENNE
   ========================= */
.blog.com-content-category-blog .article-list._o_nas_glowna {
    --jp-blue: #52b9f3;
    --jp-blue-dark: #2f9fdf;
    --jp-green: #8cc63f;
    --jp-text: #1f2430;
    --jp-muted: #5e6673;
    --jp-border: rgba(82,185,243,0.12);
    --jp-shadow: 0 12px 32px rgba(31,36,48,0.08);
}

/* =========================
   OPIS KATEGORII
   ========================= */
.blog.com-content-category-blog .category-desc {
    max-width: 920px;
    margin: 0 auto 48px;
    text-align: center;
}

.blog.com-content-category-blog .category-desc p {
    margin: 0 0 14px;
    font-size: 16px;
    line-height: 1.75;
    color: var(--jp-muted);
}

.blog.com-content-category-blog .category-desc strong {
    color: var(--jp-text);
}

.blog.com-content-category-blog .category-desc img {
    max-width: 260px;
    margin: 20px auto 0;
    display: block;
}

/* =========================
   GRID
   ========================= */
.blog.com-content-category-blog .article-list._o_nas_glowna .row {
    display: flex;
    flex-wrap: wrap;
    gap: 28px 0;
}

.blog.com-content-category-blog .article-list._o_nas_glowna .col-lg-3 {
    display: flex;
    margin-bottom: 28px;
}

/* =========================
   KARTA
   ========================= */
.blog.com-content-category-blog .article-list._o_nas_glowna .article {
    width: 100%;
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid var(--jp-border);
    border-radius: 24px;
    box-shadow: var(--jp-shadow);
    overflow: hidden;
    transition: 0.3s ease;
    position: relative;
}

.blog.com-content-category-blog .article-list._o_nas_glowna .article::before {
    content: "";
    position: absolute;
    top: 0;
    left: 20px;
    right: 20px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--jp-blue), var(--jp-green));
}

.blog.com-content-category-blog .article-list._o_nas_glowna .article:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 42px rgba(31,36,48,0.12);
}

/* =========================
   ZDJĘCIE (KLUCZOWE)
   ========================= */
.blog.com-content-category-blog .article-list._o_nas_glowna .article-intro-image {
    float: none !important;
    margin: 0 !important;
    width: 100%;
    aspect-ratio: 3 / 4; /* poprawione pod portret */
    overflow: hidden;
    background: #f5f9fc;
}

.blog.com-content-category-blog .article-list._o_nas_glowna .article-intro-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 5%; /* pokazuje twarz */
    transition: transform 0.4s ease;
}

.blog.com-content-category-blog .article-list._o_nas_glowna .article:hover .article-intro-image img {
    transform: scale(1.05);
}

/* =========================
   BODY
   ========================= */
.blog.com-content-category-blog .article-list._o_nas_glowna .article-body {
    padding: 22px 20px 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

/* =========================
   TYTUŁ (POPRAWIONY)
   ========================= */
.blog.com-content-category-blog .article-list._o_nas_glowna .article-header h2 {
    margin: 0 0 16px;
    font-size: 19px; /* mniejsza czcionka */
    line-height: 1.3;
    font-weight: 600;
    text-align: center;
}

.blog.com-content-category-blog .article-list._o_nas_glowna .article-header h2 a {
    color: var(--jp-text);
    text-decoration: none;
}

.blog.com-content-category-blog .article-list._o_nas_glowna .article-header h2 a:hover {
    color: var(--jp-blue-dark);
}

/* =========================
   USUWA ŚMIECI Z INTROTEXT
   ========================= */
.blog.com-content-category-blog .article-list._o_nas_glowna .article-introtext > :not(.readmore) {
    display: none !important;
}

/* =========================
   BUTTON
   ========================= */
.blog.com-content-category-blog .article-list._o_nas_glowna .readmore a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: auto;
    width: 100%;
    height: 44px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--jp-blue), var(--jp-green));
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    transition: 0.25s;
}

.blog.com-content-category-blog .article-list._o_nas_glowna .readmore a::after {
    content: " →";
    margin-left: 6px;
}

.blog.com-content-category-blog .article-list._o_nas_glowna .readmore a:hover {
    transform: translateY(-1px);
}

/* =========================
   RESPONSIVE
   ========================= */
@media (max-width: 991px) {
    .blog.com-content-category-blog .article-list._o_nas_glowna .col-lg-3 {
        flex: 0 0 50%;
        max-width: 50%;
    }
}

@media (max-width: 767px) {
    .blog.com-content-category-blog .article-list._o_nas_glowna .col-lg-3 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .blog.com-content-category-blog .article-list._o_nas_glowna .article-header h2 {
        font-size: 17px;
    }
}
/* =========================
   HERO ACTIONS
   ========================= */
.jp-hero-actions {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 28px;
    flex-wrap: wrap;
}

/* wrapper */
.jp-hero-call {
    position: relative;
}

/* drugi button */
.jp-hero-btn--outline {
    background: rgba(255,255,255,0.14);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.28);
    color: #ffffff;
}

.jp-hero-btn--outline:hover {
    background: rgba(255,255,255,0.22);
    color: #ffffff;
}

/* dropdown */
.jp-hero-call-dropdown {
    position: absolute;
    top: calc(100% + 12px);
    left: 0;
    min-width: 290px;

    background: rgba(255,255,255,0.96);
    backdrop-filter: blur(14px);

    border-radius: 18px;
    border: 1px solid rgba(82,185,243,0.12);

    box-shadow:
        0 16px 40px rgba(0,0,0,0.10),
        0 4px 14px rgba(82,185,243,0.08);

    overflow: hidden;

    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);

    transition:
        opacity 0.22s ease,
        transform 0.22s ease,
        visibility 0.22s ease;

    z-index: 20;
}

/* pokaż */
.jp-hero-call:hover .jp-hero-call-dropdown,
.jp-hero-call:focus-within .jp-hero-call-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* link */
.jp-hero-call-dropdown a {
    display: flex;
    align-items: center;

    min-height: 56px;
    padding: 0 18px;

    text-decoration: none;

    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;

    color: #1f2430;

    transition:
        background 0.2s ease,
        color 0.2s ease;
}

/* separator */
.jp-hero-call-dropdown a + a {
    border-top: 1px solid rgba(82,185,243,0.08);
}

/* hover */
.jp-hero-call-dropdown a:hover {
    background: linear-gradient(
        90deg,
        rgba(82,185,243,0.06) 0%,
        rgba(140,198,63,0.06) 100%
    );

    color: #2f9fdf;
}

/* telefon icon pseudo */
.jp-hero-call-dropdown a::before {
    content: "✆";
    margin-right: 10px;
    font-size: 15px;
    color: #52b9f3;
}

/* =========================
   MOBILE
   ========================= */
@media (max-width: 767px) {
    .jp-hero-actions {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .jp-hero-call {
        width: 100%;
    }

    .jp-hero-btn,
    .jp-hero-btn--outline {
        width: 100%;
        justify-content: center;
    }

    .jp-hero-call-dropdown {
        position: static;
        margin-top: 10px;
        width: 100%;
        min-width: 100%;

        opacity: 1;
        visibility: visible;
        transform: none;

        display: none;
    }

    .jp-hero-call:hover .jp-hero-call-dropdown,
    .jp-hero-call:focus-within .jp-hero-call-dropdown {
        display: block;
    }
}
/* =========================
   CONVERT FORMS - JP CONTACT
   ========================= */

.jp-contact-card--form #cf_1,
.jp-contact-card--form .convertforms {
    margin: 0;
    padding: 0;
    font-family: inherit;
}

.jp-contact-card--form #cf_1 form,
.jp-contact-card--form .convertforms form {
    margin: 0;
}

.jp-contact-card--form .cf-form-wrap {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
}

.jp-contact-card--form .cf-fields {
    display: grid;
    gap: 16px;
}

.jp-contact-card--form .cf-control-group {
    margin: 0 !important;
    padding: 0 !important;
}

.jp-contact-card--form .cf-control-label {
    margin: 0 0 8px;
}

.jp-contact-card--form .cf-label,
.jp-contact-card--form legend.cf-label {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 600;
    color: var(--jp-text);
}

.jp-contact-card--form .cf-required-label {
    color: var(--jp-blue-dark);
    margin-left: 3px;
}

/* pola */
.jp-contact-card--form .cf-input,
.jp-contact-card--form input.cf-input,
.jp-contact-card--form textarea.cf-input {
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;

    border: 1px solid rgba(82, 185, 243, 0.14) !important;
    border-radius: 16px !important;
    background: #ffffff !important;

    padding: 14px 16px !important;

    font-size: 15px !important;
    line-height: 1.5 !important;
    color: var(--jp-text) !important;

    outline: none !important;
    box-shadow: none !important;

    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        background 0.25s ease;
}

.jp-contact-card--form textarea.cf-input {
    min-height: 130px;
    resize: vertical;
}

.jp-contact-card--form .cf-input:focus {
    border-color: rgba(82, 185, 243, 0.34) !important;
    box-shadow: 0 0 0 4px rgba(82, 185, 243, 0.10) !important;
}

/* checkbox */
.jp-contact-card--form fieldset.cf-control-group {
    border: 0;
}

.jp-contact-card--form .cf-list {
    margin: 0;
    padding: 0;
}

.jp-contact-card--form .cf-checkbox-group {
    display: grid;
    grid-template-columns: 18px 1fr;
    gap: 10px;
    align-items: start;
    margin: 0;
}

.jp-contact-card--form .cf-checkbox-group input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    accent-color: var(--jp-blue);
}

.jp-contact-card--form .cf-checkbox-group label {
    font-size: 13px;
    line-height: 1.6;
    font-weight: 400;
    color: var(--jp-muted);
}

/* przycisk */
.jp-contact-card--form .cf-text-left {
    text-align: left !important;
}

.jp-contact-card--form .cf-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    min-height: 48px;
    padding: 0 24px !important;

    border: 0 !important;
    border-radius: 999px !important;

    background: linear-gradient(90deg, var(--jp-blue) 0%, var(--jp-green) 100%) !important;
    color: #ffffff !important;

    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 700 !important;

    cursor: pointer;
    box-shadow: 0 12px 24px rgba(82, 185, 243, 0.18) !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.jp-contact-card--form .cf-btn:hover,
.jp-contact-card--form .cf-btn:focus {
    transform: translateY(-1px);
    box-shadow: 0 16px 28px rgba(82, 185, 243, 0.24) !important;
    color: #ffffff !important;
}

.jp-contact-card--form .cf-btn-text {
    color: inherit;
}

/* komunikaty */
.jp-contact-card--form .cf-response {
    margin: 0 0 16px;
}

.jp-contact-card--form .cf-response:not(:empty) {
    padding: 14px 16px;
    border-radius: 16px;
    background: linear-gradient(
        90deg,
        rgba(82, 185, 243, 0.08) 0%,
        rgba(140, 198, 63, 0.08) 100%
    );
    border: 1px solid rgba(82, 185, 243, 0.14);
    color: var(--jp-text);
    font-size: 14px;
    line-height: 1.5;
}

/* honeypot ukryty */
.jp-contact-card--form .cf-field-hp {
    display: none !important;
}

/* mobile */
@media (max-width: 767px) {
    .jp-contact-card--form .cf-fields {
        gap: 14px;
    }

    .jp-contact-card--form .cf-input,
    .jp-contact-card--form input.cf-input,
    .jp-contact-card--form textarea.cf-input {
        border-radius: 14px !important;
        padding: 13px 14px !important;
        font-size: 14px !important;
    }

    .jp-contact-card--form .cf-btn {
        width: 100% !important;
        min-height: 46px;
    }
}