.ui-polish {
    --mf-polish-radius: 22px;
    --mf-polish-edge: linear-gradient(90deg, var(--mf-pink) 0 52%, var(--mf-turquoise) 52% 100%);
}

.ui-polish #header {
    transition: background-color .22s ease, box-shadow .22s ease;
}

.ui-polish #header::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    background: var(--mf-polish-edge);
    content: "";
    opacity: .28;
    pointer-events: none;
    transition: opacity .24s ease;
}

.ui-polish #header .header-before,
.ui-polish #header .nav-wrapper,
.ui-polish #header .navbar-brand img {
    transition: min-height .24s ease, width .24s ease, opacity .2s ease;
}

.ui-polish #header.is-compact {
    background: rgba(255, 255, 255, .93) !important;
    box-shadow: 0 10px 34px rgba(0, 0, 97, .1);
}

.ui-polish #header.is-compact::after {
    opacity: .72;
}

.ui-polish #header.is-compact .header-before {
    min-height: 32px;
}

.ui-polish #header.is-compact .nav-wrapper {
    min-height: 76px;
}

.ui-polish #header.is-compact .navbar-brand img {
    width: 164px;
}

.ui-polish .page__header::after {
    box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .12);
}

.ui-polish .page__header::before {
    position: absolute;
    right: 50%;
    bottom: 0;
    z-index: 0;
    width: 100vw;
    height: 3px;
    background: linear-gradient(
        90deg,
        transparent 0,
        rgba(234, 7, 117, .7) 31%,
        rgba(0, 204, 190, .72) 69%,
        transparent 100%
    );
    content: "";
    opacity: .65;
    pointer-events: none;
    transform: translateX(50%);
}

.ui-polish .page__header h1::after,
.ui-polish .page__header .h1::after {
    display: block;
    width: 52px;
    height: 4px;
    margin-top: 18px;
    border-radius: 999px;
    background: var(--mf-polish-edge);
    content: "";
}

.ui-polish .hero .swiper-pagination {
    z-index: 4;
    width: 50%;
    margin-left: auto;
    padding-top: 10px;
    justify-content: center;
}

.ui-polish .hero {
    padding-bottom: clamp(18px, 2.4vw, 32px);
}

.ui-polish .hero__information {
    margin-top: 8px;
}

.ui-polish .heading-title {
    margin-top: clamp(46px, 6vw, 76px);
    margin-bottom: clamp(25px, 3.4vw, 38px);
}

.ui-polish .offer__list {
    margin-bottom: clamp(60px, 7.5vw, 92px);
}

.ui-polish .services {
    margin-top: clamp(72px, 9vw, 118px);
    margin-bottom: clamp(72px, 9vw, 118px);
}

.ui-polish .services::before {
    background:
        radial-gradient(circle at 9% 18%, rgba(0, 204, 190, .11), transparent 29%),
        radial-gradient(circle at 91% 82%, rgba(234, 7, 117, .09), transparent 28%),
        linear-gradient(135deg, #F8F8FC, #F3F3FA);
}

.ui-polish .page-description {
    margin-top: clamp(38px, 5.5vw, 68px);
    margin-bottom: clamp(38px, 5.5vw, 68px);
    background:
        radial-gradient(circle at 95% 8%, rgba(0, 204, 190, .055), transparent 26%),
        var(--mf-surface);
}

.ui-polish .pricing-tables {
    margin-bottom: clamp(60px, 7vw, 84px);
}

.ui-polish .offer-extras {
    margin-bottom: clamp(60px, 7.5vw, 90px);
}

.ui-polish .service-availability {
    margin-bottom: 68px;
}

.ui-polish .faq-links {
    padding-top: 40px;
}

.ui-polish .faq {
    margin-bottom: clamp(60px, 7.5vw, 90px);
}

.ui-polish .promocje {
    padding-top: 40px;
    padding-bottom: 64px;
}

.ui-polish .contact-wrapper {
    padding-top: 46px;
    padding-bottom: 70px;
}

.ui-polish :is(
    .offer__list-item,
    .services__list-item,
    .blog-listing,
    .promocje-entry,
    .offer-extras__block,
    .faq__list-item,
    .faq-links .faq-login,
    .faq-links .faq-contact,
    .contact-info-adres,
    .contact-info-hours,
    .contact-info-helpdesk
) {
    position: relative;
}

.ui-polish :is(
    .offer__list-item,
    .services__list-item,
    .blog-listing,
    .promocje-entry,
    .offer-extras__block,
    .faq__list-item,
    .faq-links .faq-login,
    .faq-links .faq-contact,
    .contact-info-adres,
    .contact-info-hours,
    .contact-info-helpdesk
)::before {
    position: absolute;
    top: 0;
    right: auto;
    left: 0;
    z-index: 2;
    width: 64px;
    height: 3px;
    border-radius: var(--mf-polish-radius) var(--mf-polish-radius) 0 0;
    background: var(--mf-polish-edge);
    content: "";
    opacity: .35;
    pointer-events: none;
    transition: opacity .22s ease;
}

.ui-polish :is(
    .offer__list-item,
    .services__list-item,
    .blog-listing,
    .promocje-entry,
    .offer-extras__block,
    .faq__list-item,
    .faq-links .faq-login,
    .faq-links .faq-contact,
    .contact-info-adres,
    .contact-info-hours,
    .contact-info-helpdesk
):is(:hover, :focus-within)::before {
    opacity: .9;
}

.ui-polish :is(
    .offer__list-item,
    .services__list-item,
    .blog-listing,
    .promocje-entry,
    .offer-extras__block,
    .faq-links .faq-login,
    .faq-links .faq-contact,
    .contact-info-adres,
    .contact-info-hours,
    .contact-info-helpdesk
) {
    border-radius: var(--mf-polish-radius);
}

.ui-polish .pricing-table:not(.pricing-table-featured)::before {
    background: var(--mf-polish-edge);
}

.ui-polish .contact-info-adres,
.ui-polish .contact-info-hours,
.ui-polish .contact-info-helpdesk {
    overflow: hidden;
    background:
        radial-gradient(circle at 100% 0, rgba(0, 204, 190, .055), transparent 42%),
        var(--mf-surface);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.ui-polish :is(
    .contact-info-adres,
    .contact-info-hours,
    .contact-info-helpdesk
):hover {
    border-color: rgba(0, 0, 97, .14);
    box-shadow: var(--mf-shadow-sm);
    transform: translateY(-2px);
}

.ui-polish :is(
    .contact-info-adres,
    .contact-info-hours,
    .contact-info-helpdesk
) h3 {
    display: flex;
    min-width: 0;
    margin-bottom: 18px;
    align-items: center;
    gap: 13px;
}

.ui-polish :is(
    .contact-info-adres,
    .contact-info-hours,
    .contact-info-helpdesk
) h3::before {
    display: grid;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(0, 204, 190, .2);
    border-radius: 50%;
    background: rgba(0, 204, 190, .1);
    color: var(--mf-navy);
    content: "";
    flex: 0 0 42px;
    font-family: "bootstrap-icons";
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    place-items: center;
    speak: none;
}

.ui-polish .contact-info-adres h3::before {
    content: "\f3e8";
}

.ui-polish .contact-info-hours h3::before {
    content: "\f293";
}

.ui-polish .contact-info-helpdesk h3::before {
    content: "\f414";
}

.ui-polish .page-sidebar-container {
    display: block;
}

.ui-polish .sidebar {
    padding: 34px 0 0;
}

.ui-polish .sidebar .block__blog {
    display: flex;
    padding: 9px;
    overflow: visible;
    border-radius: 18px;
    align-items: center;
    gap: 10px;
}

.ui-polish .sidebar .block__blog h3,
.ui-polish .sidebar .block__blog .h3 {
    margin: 0;
    padding: 10px 13px;
    border-radius: 12px;
    background: var(--mf-surface);
    color: var(--mf-navy);
    flex: 0 0 auto;
    font-family: "Poppins", system-ui, sans-serif;
    font-size: 14px;
    letter-spacing: 0;
}

.ui-polish .blog-categories {
    display: flex;
    min-width: 0;
    margin: 0;
    padding: 0;
    align-items: center;
    flex: 1 1 auto;
    flex-wrap: wrap;
    gap: 8px;
}

.ui-polish .blog-categories li,
.ui-polish .blog-categories li + li,
.ui-polish .blog-categories li:not(:last-child) {
    margin: 0;
    border: 0;
}

.ui-polish .blog-categories a {
    display: inline-flex;
    min-height: 44px;
    padding: 9px 16px;
    border: 1px solid var(--mf-line);
    border-radius: 999px;
    background: var(--mf-white);
    color: var(--mf-navy);
    align-items: center;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.ui-polish .blog-categories a:hover {
    border-color: rgba(234, 7, 117, .35);
    background: rgba(234, 7, 117, .06);
    color: var(--mf-pink);
}

.ui-polish .blog-categories :is(.current-cat, .current-cat-parent) a,
.ui-polish .blog-categories a[aria-current="page"] {
    border-color: var(--mf-pink);
    background: var(--mf-pink);
    color: var(--mf-white);
    box-shadow: 0 7px 18px rgba(234, 7, 117, .16);
}

.ui-polish .blog-content {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin-top: 26px;
    margin-bottom: 64px;
}

@media (max-width: 1199.98px) {
    .ui-polish #header.is-compact .nav-wrapper {
        min-height: 66px;
    }

    .ui-polish #header.is-compact .navbar-brand img {
        width: 140px;
    }

    .ui-polish.menu-open #header .nav-wrapper {
        min-height: 75px;
    }

    .ui-polish.menu-open #header .navbar-brand img {
        width: 150px;
    }

    .ui-polish.menu-open #header #navbar {
        max-height: calc(100vh - 76px);
        max-height: calc(100dvh - 76px - env(safe-area-inset-bottom, 0px));
    }

    .ui-polish #header.is-compact #navbar {
        max-height: calc(100vh - 67px);
        max-height: calc(100dvh - 67px - env(safe-area-inset-bottom, 0px));
    }

    .ui-polish .blog-content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .ui-polish .hero .swiper-pagination {
        width: 100%;
        margin-left: 0;
    }

    .ui-polish .hero__information {
        margin-top: 8px;
    }
}

@media (max-width: 767.98px) {
    .ui-polish .heading-title {
        margin-top: 42px;
        margin-bottom: 24px;
    }

    .ui-polish .hero {
        margin-top: 18px;
        padding-bottom: 32px;
    }

    .ui-polish .hero__slide {
        gap: 18px;
    }

    .ui-polish .hero__slide-image {
        width: 92%;
        max-width: 92%;
        margin-right: auto;
        margin-left: auto;
        flex: 0 0 92%;
    }

    .ui-polish .hero__slide-text {
        width: 100%;
    }

    .ui-polish .hero__slide-text-head {
        margin-bottom: 13px;
        font-size: clamp(1.95rem, 8.5vw, 2.55rem);
    }

    .ui-polish .hero__slide-text p {
        margin-bottom: 17px;
    }

    .ui-polish .hero__information {
        margin-top: 10px;
    }

    .ui-polish .offer__list {
        margin-bottom: 58px;
    }

    .ui-polish .services {
        margin-top: 72px;
        margin-bottom: 78px;
    }

    .ui-polish .page-description {
        margin-top: 34px;
        margin-bottom: 52px;
    }

    .ui-polish .faq-links {
        padding-top: 34px;
    }

    .ui-polish .contact-wrapper {
        padding-top: 34px;
        padding-bottom: 58px;
    }

    .ui-polish .sidebar {
        padding-top: 28px;
    }

    .ui-polish .sidebar .block__blog {
        display: block;
        padding: 12px;
    }

    .ui-polish .sidebar .block__blog h3,
    .ui-polish .sidebar .block__blog .h3 {
        display: inline-flex;
        margin-bottom: 9px;
        padding: 5px 7px;
        background: transparent;
    }

    .ui-polish .blog-categories {
        gap: 7px;
    }

    .ui-polish .blog-categories a {
        min-height: 44px;
        padding-right: 14px;
        padding-left: 14px;
        font-size: 13px;
    }

    .ui-polish .blog-content {
        grid-template-columns: minmax(0, 1fr);
        margin-top: 22px;
        margin-bottom: 56px;
    }
}

@media (max-width: 575.98px) {
    .ui-polish #header.is-compact .navbar-brand img {
        width: 130px;
    }

    .ui-polish.menu-open #header .navbar-brand img {
        width: 138px;
    }

    .ui-polish .page__header h1::after,
    .ui-polish .page__header .h1::after {
        width: 44px;
        height: 3px;
        margin-top: 14px;
    }

    .ui-polish .contact-info-adres,
    .ui-polish .contact-info-hours,
    .ui-polish .contact-info-helpdesk {
        padding: 21px 18px;
    }

    .ui-polish :is(
        .contact-info-adres,
        .contact-info-hours,
        .contact-info-helpdesk
    ) h3::before {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
    }
}

@media (hover: none), (pointer: coarse) {
    .ui-polish :is(
        .offer__list-item,
        .services__list-item,
        .blog-listing,
        .promocje-entry,
        .offer-extras__block,
        .faq__list-item,
        .faq-links .faq-login,
        .faq-links .faq-contact,
        .contact-info-adres,
        .contact-info-hours,
        .contact-info-helpdesk
    )::before {
        opacity: .62;
    }

    .ui-polish :is(
        .contact-info-adres,
        .contact-info-hours,
        .contact-info-helpdesk
    ):hover {
        box-shadow: none;
        transform: none;
    }
}

.ui-polish .faq .faq__list-item::before {
    opacity: 0;
}

.ui-polish .faq .faq__list-item:is(:focus-within, :has(.faq__list-item-button[aria-expanded="true"]))::before {
    opacity: .9;
}

@media (prefers-reduced-motion: reduce) {
    .ui-polish #header,
    .ui-polish #header::after,
    .ui-polish #header .header-before,
    .ui-polish #header .nav-wrapper,
    .ui-polish #header .navbar-brand img,
    .ui-polish :is(
        .offer__list-item,
        .services__list-item,
        .blog-listing,
        .promocje-entry,
        .offer-extras__block,
        .faq__list-item,
        .faq-links .faq-login,
        .faq-links .faq-contact,
        .contact-info-adres,
        .contact-info-hours,
        .contact-info-helpdesk
    )::before {
        transition: none;
    }

    .ui-polish :is(
        .contact-info-adres,
        .contact-info-hours,
        .contact-info-helpdesk
    ):hover {
        transform: none;
    }
}
