body {
    scroll-behavior: smooth;
    overflow-x: hidden;
}

.hentry .entry-content a {
    text-decoration: none;
}

main,
.elementor-location-archive,
.single-product .type-product,
.single-post .type-post {
    overflow-x: hidden;
}

a:focus,
button:focus,
.button.alt:focus {
    outline: none;
}

.-translate-x-50.elementor-widget-image,
.-translate-x-50.elementor-element {
    transform: translateX(-50%);
}

.text-accent {
    color: #C81F49;
}

.aspect-ratio-1 {
    aspect-ratio: 1 / 1;
}

.elementor-element.relative .e-con-inner {
    position: relative;
}

.elementor-element .translate-x-50 {
    transform: translateX(-50%);
}

.elementor-widget-button.only-icon .elementor-button {
    background: transparent;
    padding: 10px;
    border: none;
}

.elementor-widget-button.only-icon .elementor-button-content-wrapper {
    max-height: 21px;
}

.elementor-widget-button.only-icon .elementor-button-text {
    opacity: 0;
    visibility: hidden;
    width: 0;
    line-height: 1;
}

.elementor-widget-button.btn--underline .elementor-button .elementor-button-text,
.e-n-accordion-item-title[aria-expanded="true"] .e-n-accordion-item-title-icon::after,
.e-n-accordion-item-title[aria-expanded="false"] .e-n-accordion-item-title-icon::after {
    padding: 0 0 8px 0;
    text-decoration: underline;
    text-underline-offset: 6px;
}

.elementor-widget-button.icon-arrow .elementor-button .elementor-button-content-wrapper {
    display: flex;
    align-items: center;
}

.elementor-widget-button.icon-arrow .elementor-button .elementor-button-icon {
    width: 8px;
    height: 5px;
}

.elementor-widget-text-editor ol {
    margin: 0;
    padding-left: 20px;
}

.elementor-widget-text-editor ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.elementor-widget-text-editor ul li {
    position: relative;
}

.elementor-widget-text-editor ul li::before {
    content: "";
    position: absolute;
    left: -19px;
    top: 50%;
    transform: translateY(-50%);
    width: 5px;
    height: 5px;
    background: #C81F49;
    border-radius: 50%;
}

.elementor-element.e-flex:has(.elementor-widget-text-editor ul) {
    overflow: visible;
}

/* Menu top */
.e-n-menu-content {
    display: block !important;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity 0.35s ease, transform 0.35s ease, visibility 0.35s ease;
    pointer-events: none;
}

.e-n-menu-item.e-open .e-n-menu-content {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    pointer-events: all;
}

.elementor-widget-n-menu .e-n-menu-title {
    flex-direction: row-reverse;
    gap: 10px;
}

.e-n-menu-content.e-active:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background: #F0F0F0E5;
    width: 100vw;
    height: 100vh;
    z-index: 10;
}

.e-n-menu-wrapper .e-n-menu-content .menu-submenu .menu-submenu__list a,
.elementor-nav-menu--main .menu-item a {
    display: inline-block;
    text-decoration: none;
    padding-top: 10px;
    background-image:
        linear-gradient(to right, transparent, transparent),
        linear-gradient(to right, #000, #000);

    background-size: 100% 1px, 0 1px;
    background-position: 100% 100%, 0 100%;
    background-repeat: no-repeat;
    transition: background-size .35s ease;
}

.e-n-menu-wrapper .e-n-menu-content .menu-submenu a:hover,
.elementor-nav-menu--main .menu-item a:hover {
    background-size: 0 1px, 100% 1px;
}

.mega-menu__hero {
    max-width: 450px;
}

.e-n-menu-content.e-active>.e-active {
    margin-left: auto;
}

.e-n-menu-content.e-active>.e-active .e-con-inner {
    position: relative;
}

.elementor-swiper-button-prev,
.elementor-swiper-button-next {
    background-size: contain;
    background-repeat: no-repeat;
    background-color: transparent;
    width: 42px;
    height: 42px;
    transition: all .3s ease;
}

.elementor-swiper-button-prev {
    background-image: url('/wp-content/uploads/2026/05/arrow-prev.svg');
}

.elementor-swiper-button-prev:hover {
    background-image: url('/wp-content/uploads/2026/06/arrow-prev-dark.svg');
}

.elementor-swiper-button-next {
    background-image: url('/wp-content/uploads/2026/05/arrow-next.svg');
}

.elementor-swiper-button-next:hover {
    background-image: url('/wp-content/uploads/2026/06/arrow-next-dark.svg');
}

.single .page-header {
    display: none;
}

.elementor-widget-n-accordion .e-n-accordion-item-title-icon svg {
    opacity: 0;
}

.elementor-widget-n-accordion .e-n-accordion-item-title-icon {
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.225rem;
}

.e-n-accordion-item-title[aria-expanded="false"] .e-n-accordion-item-title-icon::after,
.e-n-accordion-item-title[aria-expanded="true"] .e-n-accordion-item-title-icon::after {
    width: 44px;
    text-align: left;
}   

.e-n-accordion-item-title[aria-expanded="false"] .e-n-accordion-item-title-icon::after  {
    content: "Rozwiń";
}
.e-n-accordion-item-title[aria-expanded="true"] .e-n-accordion-item-title-icon::after  {
    content: "Zwiń";
}

/* Contact form */
.contact__submit {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 30px;
    margin-top: 37px;
}

.form-wrap__apperance .wpcf7-acceptance .wpcf7-list-item {
    margin-left: 0;
}

.form-wrap__apperance .wpcf7-acceptance .wpcf7-list-item label,
.form-row.create-account label,
.woocommerce-shipping-fields .woocommerce-form__label-for-checkbox,
.formal-consents label,
.woocommerce-account .woocommerce-form-row .woocommerce-form__label-for-checkbox {
    display: flex;
    align-items: center;
    gap: 18px;
    color: #000;
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: -0.02rem;
    max-width: 729px;
}

.form--newsletter .form-wrap__apperance .wpcf7-acceptance .wpcf7-list-item label {
    gap: 15px;
    color: #666;
}

.form-wrap__apperance p {
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.elementor-field-type-acceptance .elementor-field-option input[type="checkbox"],
.wpcf7-form-control-wrap .wpcf7-list-item input[type="checkbox"],
.woocommerce-form__label-for-checkbox input[type="checkbox"],
input[type="checkbox"] {
    appearance: none !important;
    cursor: pointer;
    display: inline-block;
    position: relative;
    border: 1px solid #7F7F7F !important;
    width: 28px;
    height: 28px;
    padding: 13px;
}

.wpcf7-form-control-wrap .wpcf7-list-item input[type="checkbox"]:before,
.woocommerce-form__label-for-checkbox input[type="checkbox"]:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #000;
    background-image: url('/wp-content/uploads/2026/05/icon-check.svg');
    background-size: 18px;
    background-repeat: no-repeat;
    background-position: center;
    overflow: hidden;
    opacity: 0;
    transition: all .25s ease;
}

.wpcf7-form-control-wrap .wpcf7-list-item input[type="checkbox"]:checked:before,
.woocommerce-form__label-for-checkbox input[type="checkbox"]:checked:before {
    opacity: 1;
}

.wpcf7-form-control-wrap .wpcf7-list-item input[type="checkbox"]:focus {
    outline: none;
}

.elementor-kit-6 input[type="radio"] {
    appearance: none;
    width: 28px;
    height: 28px;
    border: 1px solid #7F7F7F !important;
    margin: 0;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 100% !important;
}

.elementor-kit-6 input[type="radio"]:checked {
    border: 8px solid #000 !important;
}

.contact__submit--button p {
    display: flex;
    justify-content: flex-end;
    flex-direction: column-reverse;
    align-items: end;
}

.form--contact .contact__submit {
    width: max-content;
    margin-left: auto;
    margin-top: 0;
}

.form--contact .contact__submit--button p {
    margin-top: 4px;
    flex-direction: row-reverse;
    align-items: center;
}

input.form-wrap__input {
    width: 100%;
    box-shadow: none;
}

input.form-wrap__input:focus {
    outline: none;
}

.form--newsletter input.form-wrap__input {
    border: 1px solid #C81F49;
    padding: 11px 0px 11px 0px;
    font-size: 1.375rem;
    font-weight: 500;
    line-height: 1em;
    letter-spacing: -0.0275rem;
}

.form--newsletter input.form-wrap__input::placeholder {
    color: #C81F49;
    font-size: 1.375rem;
    font-weight: 500;
    line-height: 1.375rem;
    letter-spacing: -0.0275rem;
}

.form--newsletter .form-wrap .form-wrap__label {
    position: absolute;
    transform: translateY(-20px);
    z-index: 30;
    opacity: 0;
    visibility: hidden;
    transition: all .5s ease;
}

.form--newsletter .form-wrap.-filled .form-wrap__label,
.form--newsletter .form-wrap.-focus .form-wrap__label {
    transform: translateY(-12px);
    opacity: 1;
    visibility: visible;
}

.form--contact .form-wrap input.form-wrap__input {
    padding-block: 18px;
}

.form--contact .form-wrap p {
    margin-bottom: 24px;
}

.form--contact .form-wrap__apperance p {
    margin-top: 6px;
    row-gap: 35px;
}

.form--contact .form-wrap__apperance .wpcf7-acceptance .wpcf7-list-item label {
    align-items: start;
    gap: 16px;
    max-width: 508px;
    color: #3B3B3B;
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.225rem;
}

.form--contact .wpcf7-form-control-wrap .wpcf7-list-item input[type="checkbox"] {
    background: transparent;
}


@media screen and (max-width: 767.98px) {
    .form--newsletter input.form-wrap__input::placeholder {
        text-align: center;
    }
    .elementor-widget-text-editor ul li {
        padding-left: 20px;
    }
    .elementor-widget-text-editor ul li::before {
        left: 0;
    }
    .elementor-widget-n-accordion .e-n-accordion-item-title-header {
        max-width: 40vw;
    }
}

@media screen and (max-width: 1024.98px) {
    .popup-is-open .elementor-widget-button.icon-hamburger .elementor-button .elementor-button-icon svg path:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
    }

    .popup-is-open .elementor-widget-button.icon-hamburger .elementor-button .elementor-button-icon svg path:nth-child(2) {
        opacity: 0;
    }

    .popup-is-open .elementor-widget-button.icon-hamburger .elementor-button .elementor-button-icon svg path:nth-child(3) {
        transform: translateY(-11px) rotate(-45deg);
    }

    .dialog-type-lightbox.menu-mobilne__popup {
        height: calc(100% + 100px) !important;
    }

    .menu-mobile .e-n-menu-heading {
        flex-direction: column;
    }

    .menu-mobile .e-n-menu-heading .e-n-menu-title {
        display: flex;
        justify-content: space-between;
        flex-direction: row;
        width: 100%;
    }

    .menu-mobile .e-n-menu-heading .e-n-menu-item:not(:last-child) {
        border-bottom: 1px solid #000;
    }

    .menu-mobile .e-n-menu-heading .e-n-menu-item .e-n-menu-dropdown-icon,
    .menu-mobile .e-n-menu-heading .e-n-menu-item .e-n-menu-dropdown-icon {
        background-image: url('/wp-content/uploads/2026/05/arrow-next.svg');
        background-repeat: no-repeat;
        background-size: contain;
        width: 42px;
        height: 42px;
    }

    .menu-mobile .e-n-menu-heading .e-n-menu-item .e-n-menu-dropdown-icon-opened svg,
    .menu-mobile .e-n-menu-heading .e-n-menu-item .e-n-menu-dropdown-icon-closed svg {
        opacity: 0;
        visibility: hidden;
    }

    .e-n-menu .e-n-menu-content {
        transform: translateX(40px);
        opacity: 0;
        visibility: hidden;
        z-index: -1;
        transition: transform .3s linear, opacity .3s linear, visibility .3s linear;
    }

    .e-n-menu .e-n-menu-content.e-active {
        transform: translateX(0);
        opacity: 1;
        visibility: visible;
        overflow-x: hidden;
        z-index: 200;
        transition: transform .3s linear, opacity .3s linear, visibility .3s linear;
    }

    .e-n-menu .e-n-menu-content.e-active:before {
        background-color: transparent;
        width: 100%;
        height: 100%;
        pointer-events: none;
    }

    .elementor-widget-n-menu .e-n-menu:not([data-layout=dropdown]):not(.content-above) .e-active.e-n-menu-content {
        top: 0;
        left: -20px;
        width: calc(100% + 40px);
    }

    .elementor-widget-n-menu .e-n-menu-content {
        pointer-events: all;
    }

    .back-btn-wrapper {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .back-btn-wrapper span {
        color: #000;
        font-size: 1.375rem;
        font-weight: 500;
        line-height: 1.65rem;
        letter-spacing: -0.0275rem;
    }

    .contact__submit {
        flex-direction: column;
        gap: 0;
        align-items: start;
    }

    .contact__submit--button p {
        flex-direction: column;
    }

    .contact__submit .contact__submit--button {
        margin-left: auto;
    }
}


@media screen and (min-width: 768px) {
    /* .elementor-widget-video .elementor-open-inline .elementor-custom-embed-image-overlay {
        aspect-ratio: 2.34 / 1;
    }
    .elementor-widget-video .elementor-wrapper {
        aspect-ratio: 2.34 / 1 !important;
    }
    .elementor-element.section-video .e-con-inner {
        max-height: 43vw;
    } */
}

@media screen and (min-width: 768px) and (max-width: 1024.98px) {
    .elementor-element.offset--left {
        padding-left: 40px;
    }

    .elementor-widget-n-menu .e-n-menu:not([data-layout=dropdown]) .e-n-menu-content {
        width: calc(100% + 60px);
        left: -40px;
    }
}

@media screen and (min-width: 1025px) {
    .elementor-element.offset--left {
        padding-left: calc(clamp(3.125rem, -46.8629rem + 49.6774vw, 12.75rem) - 8px);
    }

    .e-n-menu-wrapper .e-n-menu-content .menu-submenu {
        box-shadow: 0 44px 34px 0 rgba(0, 0, 0, 0.25);
    }
    /* .certificates__list .elementor-widget-image  {
        max-height: 20vw;
    } */
}

@media screen and (min-width: 1200px) and (max-width: 1919.98px) {
    .e-n-menu-content.e-active>.e-active .e-con-inner {
        left: calc(clamp(2.5rem, -3.6338rem + 8.1784vw, 3.875rem) + 30px);
        max-width: 82vw;
    }
}

@media screen and (min-width: 1920px) {
    .e-n-menu-content.e-active>.e-active .e-con-inner {
        max-width: 84rem;
        left: 110px;
    }

    .elementor-element.content-offset--left {
        padding-left: clamp(17.44rem, -43.4556rem + 50.7199vw, 200rem);
    }

    .elementor-element.contnet-hero {
        aspect-ratio: 1.29/1;
        max-height: 80vh;
    }
    /* .elementor-element.section-video .e-con-inner {
        max-height: 43rem;
    } */
}