/*
 Theme Name:   Hello Elementor Child
 Description:  Mój motyw potomny do edycji w VS Code
 Author:       Lukasz Jazwiec
 Template:     hello-biz
 Version:      1.0.0
*/
/* Tutaj możesz zacząć wklejać swój CSS z Site Settings */

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600;700&family=Montserrat:wght@300;400;500;600;700&family=Outfit:wght@300;400;500;600;700&family=Prompt:wght@300;400;500;600;700&family=Roboto:wght@300;400;500;700&display=swap');

.cart-white .elementor-menu-cart__toggle_button {
    color: #ffffff !important;
    background-color: transparent !important;
    transition: all 0.3s ease;
}

.cart-white .elementor-menu-cart__toggle_button svg {
    fill: #ffffff !important;
    transition: all 0.3s ease;
}

.cart-black .elementor-menu-cart__toggle_button {
    color: #000000 !important;
    background-color: transparent !important;
    transition: all 0.3s ease;
}

.cart-black .elementor-menu-cart__toggle_button svg {
    fill: #000000 !important;
}

/* Działa na oba motywy (czarny i biały) */
.cart-white .elementor-menu-cart__toggle_button:hover,
.cart-black .elementor-menu-cart__toggle_button:hover,
.cart-white .elementor-menu-cart__toggle_button[aria-expanded="true"],
.cart-black .elementor-menu-cart__toggle_button[aria-expanded="true"] {
    background-color: #BD1414 !important;
    color: #ffffff !important;
}

/* Wymuszamy białą ikonę na czerwonym tle */
.cart-white .elementor-menu-cart__toggle_button:hover svg,
.cart-black .elementor-menu-cart__toggle_button:hover svg,
.cart-white .elementor-menu-cart__toggle_button[aria-expanded="true"] svg,
.cart-black .elementor-menu-cart__toggle_button[aria-expanded="true"] svg {
    fill: #ffffff !important;
}

/* Standard dla dużych ekranów */
html {
    font-size: 100%;
}

html,
body {
    overflow-x: hidden;
    /* Zabrania przewijania całej strony w bok */
    position: relative;
}

/* Zmniejszenie bazy dla ekranów od 1080p w dół */
@media (max-width: 1400px) {
    html {
        font-size: 90% !important;
    }
}

/* Jeszcze mniejsza baza dla laptopów 1366px */
@media (max-width: 1366px) {
    html {
        font-size: 75% !important;
    }

    .site-logo img {
        width: 160px !important;
        height: auto !important;
    }
}

@media (max-width: 1024px) {
    html {
        font-size: 55% !important;
    }
}

/* Przesunięcie panelu koszyka, aby nie wychodził poza ekran */
.elementor-menu-cart__container {
    right: 0 !important;
    left: auto !important;
}

/* Jeśli używasz wersji wysuwanej (side cart) */
.elementor-menu-cart--side-right .elementor-menu-cart__main {
    max-width: 90vw;
}

.none-link a {
    text-decoration: none !important;
    text-underline-position: from-font;
    border-bottom: none !important;
    box-shadow: none !important;
}

.none-link a:hover {
    text-decoration: none !important;
    box-shadow: none !important;
}

/* wrapper */
.contact-form [id^="fluentform_"] {
    background: transparent;
    color: #fff !important;
    font-family: 'Montserrat';

}

.fluent_form_4 {
    max-width: 440px;
}

.contact-form [id^="fluentform_"],
.contact-form-white [id^="fluentform_"] {
    margin: 170px 0px 0px 100px;
    padding: 0px;
}

/* labels */
.contact-form [id^="fluentform_"] label,
.contact-form-white [id^="fluentform_"] label {
    font-size: 18px;
    margin-bottom: 8px;
    display: block;
}

/* input + textarea */
.contact-form [id^="fluentform_"] input[type="text"],
.contact-form [id^="fluentform_"] input[type="email"],
.contact-form [id^="fluentform_"] input[type="number"],
.contact-form [id^="fluentform_"] textarea {
    background: transparent;
    border: none;
    border-bottom: 1px solid #fff;
    border-radius: 0;
    color: #fff;
    padding: 12px 0;
}

/* focus */
.contact-form [id^="fluentform_"] input:focus,
.contact-form [id^="fluentform_"] textarea:focus {
    outline: none;
    border-bottom-color: #fff;
    background: transparent;
}

/* textarea */
.contact-form [id^="fluentform_"] textarea {
    min-height: 160px;
    resize: none;
}

/* checkbox */
.contact-form [id^="fluentform_"] input[type="checkbox"] {
    appearance: none;
    width: 18px;
    height: 18px;
    border: 1px solid #fff;
    background: transparent;
    margin-right: 10px;
    vertical-align: middle;
}

.contact-form [id^="fluentform_"] input[type="checkbox"]:checked {
    background: #fff;
}

/* wrapper */
.contact-form-white [id^="fluentform_"] {
    background: transparent;
    color: #000;
    font-family: Montserrat;
}

/* input + textarea */
.contact-form-white [id^="fluentform_"] input[type="text"],
.contact-form-white [id^="fluentform_"] input[type="email"],
.contact-form-white [id^="fluentform_"] input[type="number"],
.contact-form-white [id^="fluentform_"] textarea {
    background: transparent;
    border: none;
    border-bottom: 1px solid #000;
    border-radius: 0;
    color: #000;
    padding: 12px 0;
}

/* focus */
.contact-form-white [id^="fluentform_"] input:focus,
.contact-form-white [id^="fluentform_"] textarea:focus {
    outline: none;
    border-bottom-color: #000;
    background: transparent;
}

/* textarea */
.contact-form-white [id^="fluentform_"] textarea {
    min-height: 160px;
    resize: none;
}

/* checkbox */
.contact-form-white [id^="fluentform_"] input[type="checkbox"] {
    appearance: none;
    width: 18px;
    height: 18px;
    border: 1px solid #000;
    background: transparent;
    margin-right: 10px;
    vertical-align: middle;
}

.contact-form-white [id^="fluentform_"] input[type="checkbox"]:checked {
    background: #000;
}

/* submit */
.contact-form [id^="fluentform_"] button,
.contact-form-white [id^="fluentform_"] button {
    background: #F51919 !important;
    font-family: 'IBM plex Mono';
    font-weight: 400;
    color: #fff;
    border: none;
    padding: 1rem 3rem;
    font-size: 20px !important;
    border-radius: 20px;
    cursor: pointer;
    line-height: 100% !important;
    letter-spacing: 0px !important;
}

.contact-form [id^="fluentform_"] button:hover {
    opacity: 0.9;
}

.hero-progress-wrap {
    position: absolute;
    bottom: 40px;
    left: 10%;
    width: 80%;
    height: 8px;
    background: #D9D9D9;
    z-index: 10;
    overflow: hidden;
}

.hero-progress-bar {
    display: block;
    height: 100%;
    width: 33.4%;
    background: rgba(0, 0, 0, 0.45);
    position: absolute;
    left: 0;
    animation: heroProgressJump 10.5s infinite;
}

@keyframes heroProgressJump {

    0%,
    33.32% {
        left: 0%;
    }

    33.33%,
    66.65% {
        left: 33.33%;
    }

    66.66%,
    100% {
        left: 66.66%;
    }
}

#tekst-zwijany {
    max-height: 10.5em;
    overflow: hidden;
    transition: max-height 0.5s ease-in-out;
    position: relative;
    border-left: 0.8rem solid #DB1515;
    padding-left: 2rem;
}

/* Efekt zanikania tekstu na dole (opcjonalne, bardzo eleganckie) */
#tekst-zwijany::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 40px;
    background: transparent;
    transition: opacity 0.3s;

}

/* Stan po rozwinięciu */
#tekst-zwijany.expanded {
    max-height: 800px;
}

/* Ukrycie cienia po rozwinięciu */
#tekst-zwijany.expanded::after {
    opacity: 0;
}

/* Kontener nadrzędny */
.galeria-zespol {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch;
}

/* Każdy kafel */
.moj-kafel-zespol {
    flex: 1 1 0% !important;
    min-width: 0;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    transition: flex 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    background-size: cover;
    background-position: center;
}

/* Stan AKTYWNY (domyślny) */
.moj-kafel-zespol.active {
    flex: 4 1 0% !important;
}

/* Stan HOVER (najechanie) */
.moj-kafel-zespol:hover {
    flex: 4 1 0% !important;
}

/* Logika: gdy najeżdżasz na galerię, kafel .active traci priorytet na rzecz :hover */
.galeria-zespol:hover .moj-kafel-zespol.active:not(:hover) {
    flex: 1 1 0% !important;
}

@media (max-width: 767px) {

    .moj-kafel-zespol:hover,
    .moj-kafel-zespol.active {
        flex: 10 1 0% !important;
    }

    .galeria-zespol:hover .moj-kafel-zespol.active:not(:hover) {
        flex: 1 1 0% !important;
    }

    .moj-kafel-zespol:hover .twoja-klasa-z-tekstem {
        width: 100% !important;
        opacity: 1 !important;
    }
}

/* AUTHOR BOX - Ukrywanie */
.moj-kafel-zespol .elementor-widget-author-box {
    position: absolute;
    bottom: 30px;
    left: 30px;
    right: 30px;
    width: auto;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.4s ease, transform 0.4s ease;
    z-index: 10;
    pointer-events: none;
}

/* AUTHOR BOX - Pokazywanie (hover lub active) */
.moj-kafel-zespol.active .elementor-widget-author-box,
.moj-kafel-zespol:hover .elementor-widget-author-box {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.4s;
    pointer-events: auto;
}

/* Ukrycie Author Box w kafelku .active, gdy najeżdżasz na inny */
.galeria-zespol:hover .moj-kafel-zespol.active:not(:hover) .elementor-widget-author-box {
    opacity: 0;
    transform: translateY(20px);
    transition-delay: 0s;
}

/* Gradient tła dla czytelności */
.moj-kafel-zespol::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, transparent 50%);
    opacity: 0;
    transition: opacity 0.5s ease;
    z-index: 1;
}

.moj-kafel-zespol.active::before,
.moj-kafel-zespol:hover::before {
    opacity: 1;
}

/* Kontener główny kafla */
.my_tile {
    background-color: #000;
    height: 264px;
    width: 244px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    position: relative;
    overflow: hidden;
    transform-origin: top left;
    transition: background-color 0.6s ease, transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.6s ease-in-out;
    z-index: 1;
}

.my_tile_courses {
    height: 314px !important;
    width: 340px !important;
}

.my_tile_button {
    min-height: 46px;
}

.my_tile .flow_text {
    height: 150px;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.6s ease-in-out, opacity 0.6s ease-in-out;
    margin-bottom: 0;
    justify-content: center;
    align-items: flex-start;
    padding-left: 12px;
}

.my_tile .flow_text p {
    color: #FFFFFF;
    font-family: 'Montserrat';
    font-weight: 400;
    font-size: 12px;
    line-height: 109%;
    letter-spacing: 0px;
    text-align: justify;
}

.my_tile:hover {
    background-color: #000 !important;
    transform: scale(1.05);
    z-index: 10;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    transition: all 0.6s ease-in-out;
}

.my_tile:hover .flow_text {
    max-height: 15rem;
    opacity: 1;
    margin-top: 10px;
    transition: all 0.6s ease-in-out;
}

.my_tile:hover .tile_heading {
    background-color: #000 !important;
}

.tile_heading {
    padding: 0px 0px 0px 13px;
    gap: 0px;
}


.tile_heading .elementor-heading-title {
    font-family: 'Montserrat';
    font-weight: 700;
    font-style: Bold;
    font-size: 14.00px;
    line-height: 103%;
    letter-spacing: 0px;
    color: #FFFFFF;
    max-width: 200px;
}

.tile_heading .elementor-icon-list-text {
    font-family: 'IBM Plex Mono';
    font-weight: 300;
    font-size: 9.53px;
    line-height: 100%;
    letter-spacing: 0%;
    color: #FFFFFF;
}

.my_tile .button_speaking,
.my_tile:hover .button_speaking .elementor-widget-button {
    background-color: #9746FF;
    transition: all 0.6s ease-in-out;
}

.my_tile .speaking {
    background-color: #9146F1;
}

.my_tile:hover .button_speaking .elementor-widget-button {
    background: linear-gradient(90deg, #9746FF 0%, #9746FF 100%) !important;
}

.my_tile .button_courses,
.my_tile .button_courses .elementor-widget-button {
    background-color: #13AE5C;
    transition: all 0.6s ease-in-out;
}

.my_tile .courses {
    background-color: #11AE51;
}

.my_tile:hover .button_courses .elementor-widget-button {
    background: linear-gradient(90deg, #13AE5C 0%, #13AE5C 100%) !important;
}

.my_tile .button_consulting,
.my_tile .button_consulting .elementor-widget-button {
    background-color: #0B99FF;
    transition: all 0.6s ease-in-out;
}

.my_tile .consulting {
    background-color: #0199F1;
}

.my_tile:hover .button_consulting .elementor-widget-button {
    background: linear-gradient(90deg, #0B99FF 0%, #0B99FF 100%) !important;
}

.my_tile .button_speaking2,
.my_tile:hover .button_speaking2 .elementor-widget-button {
    background: linear-gradient(90deg, #4B3267 0%, #E266CA 100%);
    transition: all 0.6s ease-in-out;
}

.my_tile .speaking2 {
    background: linear-gradient(90deg, #4B3267 0%, #E266CA 100%);
}

.my_tile:hover .button_speaking2 .elementor-widget-button {
    background: linear-gradient(90deg, #4B3267 0%, #E266CA 100%) !important;
}

.my_tile .button_courses2,
.my_tile .button_courses2 .elementor-widget-button {
    background: linear-gradient(90deg, #0D3838 0%, #0BE06B 100%);
    transition: all 0.6s ease-in-out;
}

.my_tile .courses2 {
    background: linear-gradient(90deg, #0D3838 0%, #0BE06B 100%);
}

.my_tile:hover .button_courses2 .elementor-widget-button {
    background: linear-gradient(90deg, #0D3838 0%, #0BE06B 100%) !important;
}

.my_tile .button_consulting2,
.my_tile .button_consulting2 .elementor-widget-button {
    background: linear-gradient(90deg, #111383 0%, #6265FA 100%);
    transition: all 0.6s ease-in-out;
}

.my_tile .consulting2 {
    background: linear-gradient(90deg, #111383 0%, #6265FA 100%);
}

.my_tile:hover .button_consulting2 .elementor-widget-button {
    background: linear-gradient(90deg, #111383 0%, #6265FA 100%) !important;
}

.courses-consulting {
    background-color: #1E21E9;
}

.coures-consulting-text {
    color: #1E21E9 !important;
}

.courses-speaking {
    background-color: #7950FF;
}

.courses-speaking-text {
    color: #7950FF;
}

.courses-courses {
    background-color: #098709;
}

.courses-courses-text {
    color: #098709;
}

.my_tile .button_book,
.my_tile .button_book .elementor-widget-button {
    background-color: #FFA629;
    transition: all 0.6s ease-in-out;
}

.my_tile .book {
    background-color: #FFA629;
}

.my_tile:hover .button_book .elementor-widget-button {
    background: linear-gradient(90deg, #FFA629 0%, #FFA629 100%) !important;
}

.my_tile .button_crisis,
.my_tile .button_crisis .elementor-widget-button {
    background: linear-gradient(90deg, #FF0004 0%, #8E0406 100%);
    transition: all 0.6s ease-in-out;
}

.my_tile .crisis {
    background-color: #FF0004;
}

.my_tile:hover .button_crisis .elementor-widget-button {
    background: linear-gradient(90deg, #FF0004 0%, #8E0406 100%) !important;
}

.schedule_meeting {
    padding: 5rem;
    gap: 10px;
}

.schedule_meeting .elementor-heading-title {
    font-family: 'Montserrat' !important;
    font-weight: 500 !important;
    font-size: 55px !important;
    line-height: 100% !important;
    letter-spacing: 0px !important;
    color: #fff !important;
}

.schedule_meeting p {
    font-family: 'IBM Plex Mono' !important;
    font-weight: 400 !important;
    font-size: 20px !important;
    line-height: 120% !important;
    letter-spacing: 0px !important;
    color: #FFF !important;
}

.schedule_meeting_content {
    gap: 40px;
}

.schedule_meeting_subtitle {
    min-height: 52px;
}

.schedule_meeting_text {
    min-height: 156px;
}

.contact_meeting {
    padding: 5rem 0px 0px 0px;
}

@media (max-width: 1000px) {

    .wp-block-woocommerce-cart-totals-block,
    .wc-block-cart {
        padding: 1rem !important;
        margin-left: 6rem !important;
    }
}

.wc-block-cart, .wc-block-checkout{
    margin-top: 200px !important;
}
.woocommerce-thankyou-order-received{
    padding-top: 200px !important;
}

/* 1. GŁÓWNY KAFEL */
.course-tile {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 306px;
    width: 320px;
    background-color: #1a1a1a;
    transition: background-color 0.4s ease-in-out;
    padding: 30px;
    overflow: hidden;
    cursor: pointer;
}

/* Zmiana tła na czerwone po najechaniu */
.course-tile:hover {
    background-color: #c00000;
}

/* 2. KONTENER 1 - TAG course (Pozycjonowanie Absolutne) */
.course-tile .tag-course {
    position: absolute;
    top: 0px;
    left: 2.25rem;
    transition: opacity 0.3s ease;
}

.course-tile:hover .tag-course {
    opacity: 0;
}

/* 3. KONTENER 2 - TYTUŁ I OPIS */
.course-tile .c-middle {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    margin-bottom: 4rem;
    padding: 0;
}

.course-tile .c-middle .course-desc {
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: all 0.6s ease-in-out;
    color: #ffffff;
    margin-top: 0;
}

/* --- STAN DOMYŚLNY --- */
.course-heading .elementor-heading {
    font-family: 'Montserrat' !important;
    font-size: 1.875rem !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    transition: all 0.6s ease-in-out !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* --- STAN PO NAJECHANIU NA KAFEL --- */
/* Ważne: :hover musi być przy .course-tile, aby efekt wyzwalał się po wjechaniu myszką na kafel */
.course-tile:hover .c-middle .course-heading .elementor-heading-title {
    font-size: 1rem !important;
}

.course-tile:hover .c-middle .course-desc {
    opacity: 1;
    max-height: 80px;
}

/* 1. KONTENER STOPKI - MUSI BYĆ RELATIVE */
.course-tile .footer-tile {
    width: 80%;
    height: 2rem;
    margin-top: auto;
    display: block;
    align-items: center;
}

/* 2. TEKST "SPRAWDŹ" - USTAWIONY PRZY PRAWEJ KRAWĘDZI */
.course-tile .check-text {
    position: absolute;
    right: 50px;
    bottom: 0.7rem;
    opacity: 0;
    white-space: nowrap;
    transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
    transform: translateX(10px);
    color: #ffffff;
    font-weight: bold;
}

/* 3. STRZAŁKA - STARTUJE Z LEWEJ */
.course-tile .arrow-icon {
    position: absolute;
    left: 0;
    bottom: 0;
    transition: all 0.5s cubic-bezier(0.65, 0, 0.35, 1);
    color: #ffffff;
}

/* --- HOVER NA CAŁY KAFEL --- */

/* Strzałka strzela na prawą stronę */
.course-tile:hover .arrow-icon {
    left: 100%;
    transform: translateX(-100%);
}

/* Tekst się pojawia */
.course-tile:hover .check-text {
    opacity: 1;
    transform: translateX(0);
}

.courses-tiles {
    position: relative;
}

.courses-tiles::after {
    content: '';
    position: absolute;
    width: 1080px;
    height: 305px;
    left: 50%;
    transform: translateX(-50%);
    bottom: -150px;
    background: #D02626;
    mix-blend-mode: normal;
    filter: blur(232px);
    opacity: 1.0;
    transition: opacity 0.5s ease;
    pointer-events: none;
    z-index: 0;
}

.course-button,
.course-button-cont {
    width: 100%;
}

.course-phone,
.course-name {
    width: 100%;
}

/* 1. Set the background of the entire widget area */
.course-form {
    padding: 0 !important;
    border-radius: 5px;
    max-width: 850px;
}

/* 2. Style all input fields inside the course-form */
.course-form input.ff-el-form-control {
    background-color: #ffffff !important;
    border: none !important;
    border-radius: 2px !important;
    height: 4rem !important;
    padding: 0.5rem 1rem !important;
    box-shadow: none !important;
}

/* 3. Style the "Zapisz się" button */
.course-form button.ff-btn-submit {
    background-color: #d65454 !important;
    color: #ffffff !important;
    width: 100% !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 1.5rem !important;
    font-size: 1.25rem !important;
    font-weight: bold !important;
    text-transform: none !important;
    cursor: pointer;
    margin-top: 1rem !important;
}

/* 4. Remove any default spacing/borders from the Fluent Form fieldset */
.course-form fieldset {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* 5. Adjust the grid spacing to match your image */
.course-form .ff-t-container {
    margin-bottom: 1rem !important;
}

.checkout-color,
.cart-color,
.wc-block-components-button__text {
    color: #ffffff;
}

.wc-block-components-product-name {
    font-size: 1.5rem !important;
    text-decoration: none !important;
}

.wc-block-components-button {
    background-color: #F51919;
    text-decoration: none !important;
}

/* --- Hide the 'View Cart' link after adding to cart --- */
a.added_to_cart.wc-forward {
    display: none !important;
}

/* --- Dark Mode for Checkout Inputs --- */

.checkout-color input[type="text"],
.checkout-color input[type="email"],
.checkout-color input[type="tel"],
.checkout-color textarea,
.checkout-color select,

.checkout-color .wc-block-components-combobox .wc-block-components-combobox__control {
    background-color: #ffffff !important;
    color: #000000 !important;
    border: 1px solid #333333 !important;
}

.checkout-color input::placeholder,
.checkout-color textarea::placeholder {
    color: #bbbbbb !important;
    opacity: 1 !important;
}

.checkout-color input:-webkit-autofill,
.checkout-color input:-webkit-autofill:hover,
.checkout-color input:-webkit-autofill:focus {
    -webkit-text-fill-color: #000000 !important;
    box-shadow: 0 0 0px 1000px #ffffff inset !important;
    transition: background-color 5000s ease-in-out 0s !important;
}

.checkout-color input:focus,
.checkout-color select:focus,
.checkout-color textarea:focus,
.checkout-color .wc-block-components-combobox .wc-block-components-combobox__control:focus-within {
    border-color: #F51919 !important;
    outline: none !important;
}

.checkout-color .wc-block-components-text-input label {
    background-color: #ffffff !important;
}

/* =========================================
   KARUZELA OPINII - EFEKT ZANIKANIA
   ========================================= */

/* Domyślny wygląd (Desktop i Tablet) - szerokie i delikatne zanikanie */
.custom-fade-carousel .swiper {
    -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 1) 15%, rgba(0, 0, 0, 1) 85%, rgba(0, 0, 0, 0.5) 100%);
    mask-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 1) 15%, rgba(0, 0, 0, 1) 85%, rgba(0, 0, 0, 0.5) 100%);
}

/* Wygląd na telefony - węższy obszar zanikania, aby tekst był czytelny */
@media (max-width: 767px) {
    .custom-fade-carousel .swiper {
        -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 1) 10%, rgba(0, 0, 0, 1) 90%, rgba(0, 0, 0, 0.5) 100%);
        mask-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 1) 10%, rgba(0, 0, 0, 1) 90%, rgba(0, 0, 0, 0.5) 100%);
    }
}

/* GŁÓWNY KONTENER ARTYKUŁU */
.article-inner-content {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* TYTUŁ (61.3% z 1440px) */
.article-title {
    width: 70%;
}

.article-image-wrapper {
    align-items: center;
}

/* ZDJĘCIE WYRÓŻNIAJĄCE (85.6% z 1440px) */
.article-featured-image img {
    width: 85%;
    aspect-ratio: 1233 / 608;
    object-fit: cover;
    border-radius: 22px;
}

/* TEKST (71.1% z 1440px) */
.article-body-text {
    width: 70%;
    align-items: center;
}

/* CYTATY WEWNĄTRZ TEKSTU (63.8% z 1440px) */
.article-body-text blockquote {
    width: 50%;
    align-items: center;
    border-left: 5px solid #E21E1E;
    font-style: italic;
}

/* RESPONSYWNOŚĆ (Tablet i Mobile) */
@media (max-width: 1024px) {

    .article-title,
    .article-featured-image img,
    .article-body-text {
        width: 92% !important;
        max-width: none;
    }

    .article-featured-image img {
        aspect-ratio: 16 / 9;
    }
}

/* Sprawia, że nagłówek UAE unosi się nad stroną */
.hfb-header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 999;
    background: transparent !important;
    justify-content: center;
}

.hfb_container {
    max-width: 1317px !important;
    padding: 0px !important;
}

.cc_header_container{
    max-width: 1100px !important;
    padding: 0px !important;
}

.hfb_container .e-n-menu-item, .hfb_shop,
.cc_header_container .e-n-menu-item, .hfb_shop{
    min-height: 49px;
    max-width: 125px;
}
.cc_hfb_main{
    max-width: 420px;
}

.cc_hfb_side{
    max-width: 200px;
}


.hfb_main{
    max-width: 460px;
}

.hfb_side{
    max-width: 240px;
}

.hfb_container .e-n-menu-title-text {
    font-family: 'Montserrat' !important;
    font-weight: 500 !important;
    font-size: 15px !important;
    line-height: 20.8px !important;
    letter-spacing: 0px !important;
}

.cc_header_container .e-n-menu-title-text {
    font-family: 'Montserrat' !important;
    font-weight: 500 !important;
    font-size: 12.71px !important;
    line-height: 17.62px !important;
    letter-spacing: 0px !important;
}

.hfb_white .e-n-menu-title-text{
    color: #FFF !important;
}

.hfb_black .e-n-menu-title-text{
    color: #000 !important;
}

.elementor-section-safe-area {
    padding-top: 120px !important;
}

/* White background and shadow around the icon */
.consulting-icon-shadow .elementor-icon,
.consulting-icon-shadow .elementor-image {
    background-color: #ffffff;
    padding: 0.5rem;
    border-radius: 50%;
    box-shadow: 0rem 1rem 2rem rgba(0, 0, 0, 0.06);
    display: inline-block;
}

/* Size control for the PNG image inside the circle */
.consulting-icon-shadow .elementor-image img {
    max-width: 62px;
}

/* 1. Ustawienie czcionki Roboto dla całego kontenera */
.consulting-icon-shadow {
    font-family: 'Roboto';
}

/* 2. Odstęp 2rem między ikoną a nagłówkiem */
.consulting-icon-shadow .elementor-icon-box-icon,
.consulting-icon-shadow .elementor-image-box-img {
    margin-bottom: 2rem;
}

/* 3. Nagłówek: wielkość 1.5rem i odstęp 2rem od tekstu pod nim */
.consulting-icon-shadow .elementor-icon-box-title,
.consulting-icon-shadow .elementor-image-box-title {
    font-size: 1.5rem;
    font-weight: 500;
    margin-bottom: 2rem;
    margin-top: 0;
}

/* 4. Tekst (opis): wielkość 1rem */
.consulting-icon-shadow .elementor-icon-box-description,
.consulting-icon-shadow .elementor-image-box-description {
    font-size: 1.1rem;
    font-weight: 400;
}

/* 1. Ustawienia głównego kontenera (bez tła i kwadratowych cieni) */
.consulting-featured-box {
    position: relative;
    background-color: transparent !important;
    border: none;
    box-shadow: none !important;
    padding: 60px 30px;
    z-index: 1;
}

/* 2. Nowa wirtualna warstwa tylko dla trapezu SVG i "miękkiego" cienia */
.consulting-featured-box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    background-image: url('/wp-content/uploads/2026/03/consulting_background.svg');
    background-size: 100% 100% !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    min-height: 450px;
    filter: drop-shadow(10px 51px 94px rgba(0, 0, 0, 0.11)) drop-shadow(10px 21px 34px rgba(0, 0, 0, 0.07)) drop-shadow(0px 12px 16px rgba(0, 0, 0, 0.05)) drop-shadow(0px 7px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0px 3px 3px rgba(0, 0, 0, 0.02));
}

.consulting-offer-box {
    background-color: #FFF;
    padding: 2.5rem;
    border: 1px solid #E7EBFF;
    border-radius: 26px;
    filter: drop-shadow(0px 26px 40px rgba(188, 202, 255, 0.13));
}

/* Celujemy we wszystkie teksty wewnątrz tego kontenera */
.consulting-offer-box .elementor-heading-title,
.consulting-offer-box .elementor-text-editor,
.consulting-offer-box .elementor-icon-box-title,
.consulting-offer-box .elementor-icon-box-description,
.consulting-offer-box p {
    color: #1B223C !important;
}

/* 1. Kolor tekstu dla Przycisku oraz Listy Ikon (tekst i ikony z biblioteki FontAwesome) */
.consulting-offer-box .elementor-button,
.consulting-offer-box .elementor-icon-list-text,
.consulting-offer-box .elementor-icon-list-icon i {
    color: #1B223C !important;
}

/* 2. Kolor dla Ikon na liście, jeśli wgrałeś je jako pliki SVG */
.consulting-offer-box .elementor-icon-list-icon svg {
    fill: #1B223C !important;
}

/* 3. Kolor dla Dividera (Separatora) */
.consulting-offer-box .elementor-divider-separator {
    border-color: #1B223C !important;
}

.consulting_tile_heading .elementor-heading-title {
    font-family: 'Montserrat';
    font-weight: 600;
    font-size: 2.625rem;
    
    line-height: 100%;
}

.consulting-price .elementor-heading-title {
    font-family: 'Outfit';
    font-weight: 500;
    font-size: 3.75rem;
    

}

.consulting-price-span .elementor-heading-title {
    font-family: 'Montserrat';
    font-weight: 300;
    font-size: 1.5rem;
    letter-spacing: 0;
    margin-bottom: 10px;
}

.basic-color .elementor-heading-title,
.basic-color p {
    color: #797878 !important;
    font-weight: 400 !important;

}

.pro-color .elementor-heading-title,
.pro-color p {
    color: #3C3C3C !important;
    font-weight: 300 !important;
}

.consulting-description p {
    font-family: 'Inter' !important;
    font-size: 1.375rem !important;
    line-height: 2rem !important;
    letter-spacing: 0 !important;

}

.consulting-marketing-text {
    font-family: 'Montserrat';
    font-weight: 400;
    font-size: 20px;
    line-height: 31px;
    letter-spacing: 0;
    text-align: center;
    color: #000000;
}

.consulting-wrapper-plus {
    border: 1px solid #1B223C;
    border-radius: 12px;
}

.consulting-button-plus .elementor-button .elementor-button-text {
    font-size: 1.5rem;
}

.consulting-wrapper-pro {
    border-radius: 0.75rem;
    background-color: #2C2B29;
    border: 1px solid;
    background: linear-gradient(#2C2B29, #2C2B29) padding-box, linear-gradient(99.18deg, #152C80 28.84%, rgba(21, 44, 128, 0) 85.64%) border-box !important;
    box-shadow: 0px 8px 36px 0px #1B223C29;
}

.consulting-button-pro .elementor-button,
.consulting-button-pro .elementor-button .elementor-button-text {
    font-size: 1.5rem;
    background-color: #2C2B29;
    color: #ffffff !important;
}

/* 1. Podział na dwie kolumny i reset licznika */
.consulting-faq .e-n-accordion {
    display: block !important;
    column-count: 2;
    column-gap: 60px;
    counter-reset: faq-number;
}

/* 2. Stylizacja pojedynczego elementu (linie i unikanie łamania) */
.consulting-faq .e-n-accordion-item {
    break-inside: avoid;
    margin-bottom: 30px;
    border-bottom: 1px solid #0B2131 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-radius: 0 !important;
    counter-increment: faq-number;
    background: transparent !important;
}

/* 3. Wymuszenie odpowiedniego układu dla nagłówka (tag summary) */
.consulting-faq .e-n-accordion-item-title {
    position: relative;
    padding: 10px 0 20px 0 !important;
    background: transparent !important;
    border: none !important;
    align-items: flex-start !important;
}

/* Ukrycie domyślnej strzałki w przeglądarkach na tagu summary */
.consulting-faq .e-n-accordion-item-title::-webkit-details-marker {
    display: none;
}

/* 4. Generowanie numerów i zmiana układu na pionowy (Numer -> Tytuł) */
.consulting-faq .e-n-accordion-item-title-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-right: 40px;
}

.consulting-faq .e-n-accordion-item-title-header::before {
    content: counter(faq-number, decimal-leading-zero);
    color: #FB998A;
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 8px;
}

.consulting-faq .e-n-accordion-item>.e-con {
    border: none !important;
}

/* Stylizacja samego tekstu pytania */
.consulting-faq .e-n-accordion-item-title-text {
    color: #0B2131;
    font-weight: 600;
    font-size: 20px;
}

.faq-text p {
    color: #0B2131;
    font-weight: 400;
    font-size: 1rem;
    font-family: 'Montserrat' !important;
}

/* 5. Przesunięcie ikony (+ / -) na prawą stronę */
.consulting-faq .e-n-accordion-item-title-icon {
    position: absolute !important;
    right: 0;
    bottom: 20px;
    margin: 0 !important;
    padding: 10px !important;
    order: 3;
    color: #0B2131 !important;
    border: 1.5px solid #0B2131 !important;
    border-radius: 100%;

}

/* Kolorowanie samej ikonki (plusa i minusa) */
.consulting-faq .e-n-accordion-item-title-icon svg {
    fill: #0B2131 !important;
    width: 12px;
    height: 12px;
    transition: all 0.5s ease-in-out !important;
}

/* Opcjonalnie: zmiana koloru po najechaniu (hover) */
.consulting-faq .e-n-accordion-item-title-icon:hover svg {
    fill: #0B2131 !important;
    transition: all 0.5s ease-in-out !important;
}

.faq-title .elementor-heading-title {
    font-family: 'Prompt';
    font-weight: 500;
    font-size: 50px;
    line-height: 100%;
    letter-spacing: 0;
    color: #0B2131;
}

.faq-subtitle p {
    font-family: 'Prompt';
    font-weight: 400;

    font-size: 1.25rem;
    line-height: 100%;
    letter-spacing: 0;
    text-align: center;
    color: #394B58;
}

/* Opcjonalnie: Responsywność - 1 kolumna na telefonach */
@media (max-width: 767px) {
    .consulting-faq .e-n-accordion {
        column-count: 1;
    }
}

.consulting_price_buttons {
    background-color: #FBFBFB;
    border: 1px solid #E7EBFF;
    box-shadow: 0px 1px 5px 0px #566EE81A inset;
    width: 303px;
    height: 71px;
    align-items: center;
    padding: 0.5rem;
    border-radius: 0.875rem;

}

.consulting_price_b .elementor-button {
    font-size: 1.5rem;
    line-height: 2.5rem;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    letter-spacing: 0;
    color: #797878;
    background-color: transparent;
    border: 0px;
    width: 135px;
    height: 49px;
    border-radius: 0.75rem;
}

/* Efekt najechania myszką (hover) ORAZ stan aktywnego przycisku (active-btn) */
.consulting_price_b .elementor-button:hover,
.active-btn.consulting_price_b .elementor-button {
    background-color: #fff !important;
    border: 1px solid #E7EBFF !important;
    box-shadow: 0px 6px 36px 0px rgba(181, 194, 251, 0.1) !important;
    color: #1B223C !important;
}

.consulting-icons,
.consulting-icons .elementor-icon-list-text {
    gap: 0.75rem !important;
    font-family: 'Montserrat' !important;
    font-weight: 400 !important;
    font-size: 20px !important;
    line-height: 30px !important;
    letter-spacing: 0 !important;
}

.certificate-text p {
    font-family: 'Montserrat' !important;
    font-weight: 600 !important;
    font-size: 1.5rem !important;
    line-height: 1.75rem !important;
    letter-spacing: 0 !important;
    vertical-align: middle !important;

}

.certificate-bottom {
    margin-top: 2.5rem;
}

.certificate-list ul {
    font-family: 'IBM Plex Mono';
    font-weight: 400;
    font-size: 21.65px;
    line-height: 1.5rem;
    letter-spacing: 0;
    vertical-align: middle;
}

.certificate-reference p {
    font-family: 'Montserrat';
    font-weight: 300;
    font-style: Italic;
    font-size: 22px;
    line-height: 24.22px;
    letter-spacing: 0;
}

.cc_heading .elementor-heading-title {
    font-family: 'Inter';
    font-weight: 600;
    font-size: 52px;
    line-height: 58px;
    letter-spacing: 0;
    text-align: center;
    vertical-align: middle;
    color: #0A090F;
}

.cc_text p {
    margin-top: 2rem;
    font-family: 'Inter';
    font-weight: 400;

    font-size: 19px;
    line-height: 28px;
    letter-spacing: 0;
    text-align: center;
    vertical-align: middle;
    color: #000000;
}

.cc_heading_wrapper {
    margin-top: 3rem;
}

.cc_description p {
    margin-top: 6rem;
    font-family: 'Inter';
    font-weight: 500;

    font-size: 21px;
    line-height: 100%;
    
    text-align: justify;
    color: #939394;
}

/* 1. Główny kontener siatki (Sprawdzony Flexbox z wymuszeniem równej wysokości) */
.cc_grid_container {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 30px !important;
    width: 1135px !important;
}

/* Wiersz 1: 65% i 35% */
.cc_grid_container>*:nth-child(1) {
    width: calc(65% - 15px) !important;
}

.cc_grid_container>*:nth-child(2) {
    width: calc(35% - 15px) !important;
}

/* Wiersz 2: 35% i 65% */
.cc_grid_container>*:nth-child(3) {
    width: calc(35% - 15px) !important;
}

.cc_grid_container>*:nth-child(4) {
    width: calc(65% - 15px) !important;
}


/* 2. Baza kafelka */
.cc_tile {
    position: relative;
    padding: 50px 40px;
    display: flex;
    flex-direction: column;
    color: #ffffff;
    height: auto !important;
}

/* 3. Czarna karta z wcięciem (Przywracamy Twoje wymiary z SVG!) */
.cc_tile.cc_black_cutout {
    background-color: transparent;
    background-image: url('/wp-content/uploads/2026/03/Rectangle-18.svg');
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center;
    aspect-ratio: 710 / 485 !important;
    justify-content: end !important;
}

/* 4. Reszta kart (Czerwona i Czarna) */
.cc_tile.cc_red_rounded {
    background-color: #e33030;
    border-radius: 24px;
    justify-content: stretch;
}

.cc_tile.cc_black_rounded {
    background-color: #000000;
    border-radius: 24px;
    justify-content: stretch;
}

/* Telefony (Skalowanie) */
@media (max-width: 992px) {
    .cc_grid_container>* {
        width: 100% !important;
    }

    .cc_tile.cc_black_cutout {
        aspect-ratio: auto !important;
        min-height: 350px;
        background-image: none !important;
        background-color: #000000;
        border-radius: 20px;
        clip-path: polygon(0 0, 80% 0, 100% 15%, 100% 100%, 0 100%);
    }
}

.cc_tile_text p {
    font-family: 'Montserrat';
    font-weight: 300;
    font-size: 18px;
    line-height: 100%;
    
}

.cc_tile_heading .elementor-heading-title {
    font-family: 'Montserrat';
    font-weight: 600;
    font-size: 24px;
    line-height: 100%;
    
}

.cc_heading32 .elementor-heading-title {
    font-size: 32px !important;
}

.cc_heading38 .elementor-heading-title {
    font-size: 38px !important;
    line-height: 116% !important;
    
}

/* Kontener główny (rodzic), w którym są 3 elementy */
.cc_tile_content {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Środkowy element z tytułem i podtytułem */
.cc_tile_cc {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.cc_tile_subt .elementor-heading-title {
    font-family: 'Montserrat';
    font-weight: 600;
    font-size: 14px;
    line-height: 100%;
    letter-spacing: 0;
    color: #FFFFFF;

}

.cc_fire_text .elementor-heading-title {
    font-family: 'Montserrat' !important;
    font-weight: 600 !important;
    font-size: 1.5rem !important;
    line-height: 100% !important;
    text-align: center;
    color: #312F2F !important;
}

.cc_ben_title .elementor-heading-title {
    font-family: 'Montserrat';
    font-weight: 700;

    font-size: 3.125rem;
    line-height: 3.75rem;
    
    text-align: center;
    vertical-align: middle;
    color: #050038;
}

.cc_ben_text span {
    font-family: 'Montserrat';
    font-weight: 300;
    font-size: 1.125rem;
    line-height: 1.5rem;
    
    text-align: center;
    vertical-align: middle;
    color: #000000;
}

.cc_ben_tile {
    padding: 1.5rem 1.5rem 3rem 1.5rem;
    gap: 2rem;
}

.cc_ben_tile_h .elementor-heading-title {
    font-family: 'Inter';
    font-weight: 700;

    font-size: 1.5rem;
    line-height: 29.18px;
    vertical-align: middle;
    color: #050038;

}

.cc_ben_tile_t p {
    font-family: 'Inter';
    font-weight: 400;
    font-size: 1.125rem;
    letter-spacing: 0;
    vertical-align: middle;
    color: #05003899;
}

.cc_tabs_wraper {
    background-color: #EEEEEE;
    color: #000 !important;
}

/* ==========================================================
   1. ODWRÓCENIE UKŁADU (MENU NA DOLE)
   ========================================================== */
.custom-slide-tabs {
    display: flex;
    flex-direction: column-reverse;
    width: 100%;
}

/* ==========================================================
   2. WYGLĄD DOLNEGO PASKA NAWIGACJI
   ========================================================== */
.custom-slide-tabs .elementor-tabs-wrapper {
    background: rgba(30, 30, 30, 0.85);
    backdrop-filter: blur(10px);
    border-radius: 12px;
    padding: 15px 20px;
    margin-top: 30px;
    display: flex;
    justify-content: space-around;
    align-items: center;
    border: none;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    z-index: 10;
}

/* Ukrycie domyślnych obramowań Elementora */
.custom-slide-tabs .elementor-tab-title,
.custom-slide-tabs .elementor-tab-title::before,
.custom-slide-tabs .elementor-tab-title::after {
    border: none !important;
    box-shadow: none !important;
}

/* Wygląd pojedynczego przycisku */
.custom-slide-tabs .elementor-tab-title {
    background: transparent !important;
    color: #888 !important;
    font-size: 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
}

/* Wygląd aktywnego przycisku */
.custom-slide-tabs .elementor-tab-title.elementor-active {
    color: #ffffff !important;
    transform: translateY(-2px);
}

/* ==========================================================
   3. ANIMACJA "SLIDE" DLA TREŚCI
   ========================================================== */
.custom-slide-tabs .elementor-tab-content {
    display: none;
    padding: 0 !important;
    border: none !important;
}

/* Kiedy treść jest aktywna - wyzwól animację */
.custom-slide-tabs .elementor-tab-content.elementor-active {
    display: block;
    animation: slideInRight 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

/* Definicja animacji przesuwania z delikatnym "fade" */
@keyframes slideInRight {
    0% {
        opacity: 0;
        transform: translateX(40px);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

.cc_tabs_wraper {
    background-color: #EEEEEE;
}

.cc_team_tab {
    font-family: 'Montserrat' !important;
}

.cc_tabs_team_heading .elementor-heading-title {
    font-weight: 600;
    font-size: 3.5rem;
    line-height: 102%;
    letter-spacing: 0;
    color: #000000;
}

.cc_team_row {
    gap: 0;
    justify-content: center;
    align-items: center;
}

.cc_team_tile {
    padding: 0;
    width: 10.625rem;
}

.cc_tabs_team_heading p {
    font-weight: 500;

    font-size: 1.2rem;
    line-height: 100%;
    
    color: #939394;
}

.cc_team_box .elementor-image-box-title {
    font-family: 'Montserrat' !important;
    font-weight: 600;
    font-size: 1rem;
    line-height: 100%;
    
    color: #312F2F;
}

/* 2. Zdejmujemy sztywne ograniczenia z kontenera obrazka Elementora */
.cc_team_box .elementor-image-box-img {
    width: 80% !important;
    margin-bottom: 1rem;
}

.cc_team_box .elementor-image-box-img img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain;
}

.cc_team_box .elementor-image-box-title:hover {
    font-family: 'Montserrat' !important;
    font-weight: 600;
    font-size: 1rem;
    line-height: 100%;
    
    color: #312F2F;
}

.cc_team_box .elementor-image-box-description {
    font-family: 'Montserrat' !important;
    font-weight: 500;

    font-size: 0.625rem;
    line-height: 100%;
    
    color: #939394;
}

.cc_sessions_heading .elementor-heading-title {
    font-family: 'Roboto';
    font-weight: 600;
    font-size: 3rem;
    line-height: 3.5rem;
    letter-spacing: 0;
    vertical-align: middle;
    color: #000000;
    padding: 2rem;
}

.cc_sessions_text span {
    font-family: 'Roboto';
    font-weight: 500;

    font-size: 1.6rem;
    line-height: 2rem;
    letter-spacing: 0;
    text-align: center;
    vertical-align: middle;
    color: #000000;
    padding: 2rem;
}

.cc_sessions_wrapper {
    padding-top: 7.75rem;
    padding-bottom: 7.75rem;
    gap: 2rem;
}

.mec-booking-button {
    background-color: #D00202 !important;
    color: #fff !important;
}


.cc_sessions_wrapper .mec-booking-button {
    background-color: #1B99D4 !important;
    color: #fff !important;
}

.cc_sessions_wrapper .mec-color {
    color: #000 !important;
}

.cc_team_rows_wrapper {
    padding: 3rem;
    justify-content: center;
    align-items: center;
}

.cc_academy_tabs .e-n-tabs-heading {
    border: none !important;
    background: transparent !important;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 1rem;
    padding: 0 !important;
}

.cc_academy_tabs .e-n-tab-title {
    background-color: #ffffff !important;
    border: none !important;
    border-radius: 6rem 0 0 6rem !important;
    width: 25rem !important;
    height: 7.5rem !important;
    max-width: 100% !important;
    padding: 0 2rem 0 2.5rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    transition: width 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease !important;
    box-shadow: 0 0.25rem 0.6rem rgba(0, 0, 0, 0.05) !important;
    margin: 0 !important;
}

/* 3. Ikona w nieaktywnym przycisku (Czysta wersja z dużym SVG) */
.cc_academy_tabs .e-n-tab-icon {
    margin-right: 1.5rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.cc_academy_tabs .e-n-tab-icon svg {
    transition: all 0.3s ease !important;
}

.cc_academy_tabs .e-n-tab-title-text {
    font-family: 'Montserrat' !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
    color: #222222 !important;
    text-transform: uppercase !important;
    text-align: left !important;
    line-height: 1.2 !important;
}

.cc_academy_tabs .tab-subtitle {
    display: block !important;
    font-weight: 500 !important;
    font-size: 0.85rem !important;
    color: #777777 !important;
    text-transform: none !important;
    margin-top: 0.25rem !important;
}

.cc_academy_tabs .e-n-tab-title[aria-selected="true"] {
    background-color: #DB1515 !important;
    width: 28.75rem !important;
    box-shadow: 0 0.4rem 1rem rgba(209, 18, 18, 0.3) !important;
}

/* Zmiana koloru tekstów na biały w aktywnej zakładce */
.cc_academy_tabs .e-n-tab-title[aria-selected="true"] .e-n-tab-title-text,
.cc_academy_tabs .e-n-tab-title[aria-selected="true"] .tab-subtitle {
    color: #ffffff !important;
}

/* Zmiana koloru wektora SVG na biały w aktywnej zakładce */
.cc_academy_tabs .e-n-tab-title[aria-selected="true"] .e-n-tab-icon svg {
    fill: #ffffff !important;
}

.cc_tabs_heading .elementor-heading-title {
    font-family: 'Montserrat';
    font-weight: 600;
    font-size: 4rem;
    line-height: 102%;
    letter-spacing: 0;
    color: #000 !important;
    align-items: start !important;
}

.tabs_sheading .elementor-heading-title {
    font-size: 2.5rem !important;
    font-family: 'Montserrat';
    font-weight: 600;
    line-height: 102%;
    letter-spacing: 0;
    color: #000 !important;
    align-items: start !important;
}

.cc_tabs_par p {
    font-family: 'Inter';
    font-weight: 400;
    font-size: 1rem;
    line-height: 145%;
    letter-spacing: 0;
    text-align: justify;
    color: #2C2B29;
}

.cc_tabs_comm p {
    font-family: 'Inter';
    font-weight: 400;
    font-style: Italic;
    font-size: 1rem;
    line-height: 145%;
    letter-spacing: 0;
    text-align: justify;
    color: #2C2B29;
}

.cc_tabs_wrapper {
    gap: 2rem;
    padding: 4rem 2rem 4rem 2rem;
}

.cc_tabs_second {
    max-width: 900px;
    gap: 2rem;
    align-items: start !important;
}

/* ==========================================================
   STABILIZACJA WYSOKOŚCI ZAKŁADEK (Brak skakania kontenera)
   ========================================================== */

/* 1. Zamieniamy prawą stronę (treść) w siatkę Grid */
.cc_tabs_container {
    background-color: #EEEEEE !important;
    height: 830px !important;
    display: flex !important;
    align-items: center !important;
}

.cc_tabs_container .e-n-tabs-content {
    display: grid !important;
    align-items: center;
}

.cc_tabs_container .e-n-tabs-content .e-con-inner {
    align-items: center;
}


/* 2. Układamy WSZYSTKIE zakładki (panele z treścią) na sobie w jednej komórce */
.cc_tabs_container .e-n-tabs-content>div {
    grid-area: 1 / 1 / 2 / 2 !important;
    display: flex !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
    z-index: 1;
}

/* 3. Pokazujemy tylko tę zakładkę, która ma klasę .e-active */
.cc_tabs_container .e-n-tabs-content>div.e-active {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 2;
}

.cc_tabs_container .e-n-tabs-content {
    align-items: center !important;
    width: 100% !important;
}

.cc_red_big_box .elementor-icon-box-title {
    font-family: 'Inter';
    font-weight: 700;

    font-size: 2.2rem;
    line-height: 2.82rem;
    letter-spacing: 0;
    text-transform: uppercase;
    color: #FFFFFF;
    text-align: start !important;
}

.cc_red_big_box .elementor-icon-box-description {
    font-family: 'Inter';
    font-weight: 500;

    font-size: 1rem;
    line-height: 1.5rem;
    letter-spacing: 0;
    color: #FFFFFFAD;
    width: 29rem;
    text-align: start !important;
}

.cc_red_small_box .elementor-icon-box-content,
.cc_red_big_box .elementor-icon-box-content {
    gap: 1.8rem !important;
}

.cc_red_small_box .elementor-icon-box-title {
    font-family: 'Inter';
    font-weight: 700;

    font-size: 1.5rem;
    line-height: 1.75rem;
    vertical-align: middle;
    text-align: start !important;
}

.cc_red_small_box .elementor-icon-box-description {
    font-family: 'Inter';
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 1.5rem;
    letter-spacing: 0;
    vertical-align: middle;
    text-align: start !important;
}

.cc_green_small_box .elementor-icon-box-content {
    gap: 1.8rem !important;
}

.cc_green_small_box .elementor-icon-box-title {
    font-family: 'Inter';
    font-weight: 700;

    font-size: 17px;
    line-height: 18.7px;
    letter-spacing: 0;
    vertical-align: middle;
    text-transform: uppercase;
    text-align: start !important;
}

.cc_enroll_small_green_wrapper {
    gap: 10.5rem
}

.cc_green_small_box .elementor-icon-box-description {
    font-family: 'Inter';
    font-weight: 400;
    font-size: 17px;
    line-height: 32px;
    letter-spacing: 0;
    vertical-align: middle;
    color: #FFFFFFE0;
    text-align: start !important;
}


.cc_red_spot_box .elementor-icon-box-title {
    font-family: 'Inter';
    font-weight: 700;
    font-size: 2.1875rem;
    line-height: 100%;
    letter-spacing: 0;
    color: #fff;
    text-align: start;
}

.cc_red_spot_box .elementor-icon-box-description {
    font-family: 'Inter';
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 1.5rem;
    letter-spacing: 0;
    color: #FFFFFF80;
    text-align: start;
}

.cc_red_spot_box .elementor-icon-box-content {
    gap: 0px !important;
}

.cc_enroll_button_wrapper {
    justify-content: center;
    align-items: center;
}

/* 1. Ustawiamy przycisk jako Flexbox i zabijamy domyślne paddingi */
.cc_enroll_button .elementor-button {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 18.5rem;
    height: 4rem;
    padding: 0 !important;
    opacity: 1;
    border-radius: 6px;
    background-color: #F9F9F9;
}

/* 2. Tekst przycisku */
.cc_enroll_button .elementor-button-text {
    font-family: 'IBM Plex Mono', monospace !important;
    font-weight: 400;
    font-size: 18px;

    line-height: 1 !important;
    letter-spacing: 0;
    color: #000000;

    margin: 0 !important;
    padding: 0 !important;
}

.cc_red_container {
    row-gap: 4rem;
    margin-top: 6rem;
    max-width: 1240px;
}

.cc_green_container {
    row-gap: 0rem;
    margin-top: 6rem;
    max-width: 1240px;
}

.cc_enroll_button_r .elementor-button {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 30rem;
    height: 4rem;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1;
    border-radius: 6px;
    background-color: #C41717;

}

.cc_enroll_button_r .elementor-button-text {
    font-family: 'IBM Plex Mono', monospace !important;
    font-weight: 400;
    font-size: 18px;
    line-height: 1 !important;
    letter-spacing: 0;
    color: #FFFFFF;
    margin: 0 !important;
    padding: 0 !important;
}

/* ==========================================================
   PŁYWAJĄCY PASEK ZAKŁADEK (WERSJA ZOPTYMALIZOWANA)
   ========================================================== */

/* 1. Główny widget Tabs */
.cc_bottom_tabs {
    position: relative !important;
}

/* 2. Szklany pasek */
.cc_bottom_tabs .e-n-tabs-heading {
    position: absolute !important;
    bottom: 7rem !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8rem !important;
    width: 95% !important;
    max-width: 1240px !important;
    height: 100px !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 99 !important;
}

/* 3. Wnętrze pojedynczego przycisku */
.cc_bottom_tabs .e-n-tab-title {
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;

    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    cursor: pointer;
    transform: translateY(0) !important;
}

/* Blokada pseudo-elementów Elementora (kreski pod/nad) */
.cc_bottom_tabs .e-n-tab-title::before,
.cc_bottom_tabs .e-n-tab-title::after {
    display: none !important;
}

/* ==========================================================
   IKONY I TEKSTY (ROZWIĄZANIE DLA PODWÓJNEGO SVG)
   ========================================================== */

/* 4. Kontener ikony (zamrożony wymiar) */
.cc_bottom_tabs .e-n-tab-icon {
    width: 50px !important;
    height: 50px !important;
    position: relative !important;
    margin: 0 0 6px 0 !important;
    display: block !important;
}

/* 5. Same Ikony - STAN NIEAKTYWNY (KOLOR #FFFFFF4F) */
.cc_bottom_tabs .e-n-tab-icon svg {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 50px !important;
    height: 50px !important;

    fill: #FFFFFF4F !important;
    transition: all 0.3s ease !important;
}

/* 6. Tekst - STAN NIEAKTYWNY (Kolor #FFF, krycie 10%) */
.cc_bottom_tabs .e-n-tab-title-text {
    font-family: 'Inter' !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #ffffff !important;
    opacity: 0.1 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
    transition: all 0.3s ease !important;
}

/* ==========================================================
   STANY AKTYWNE (KLIKNIĘTE) I HOVER
   ========================================================== */

.cc_bottom_tabs .e-n-tab-title[aria-selected="true"] .e-n-tab-icon svg {
    fill: #FFFFFFE3 !important;
}

.cc_bottom_tabs .e-n-tab-title[aria-selected="true"] .e-n-tab-title-text {
    opacity: 1 !important;
}

.cc_bottom_tabs .e-n-tab-title:hover:not([aria-selected="true"]) .e-n-tab-title-text {
    opacity: 0.5 !important;
}

.cc_bottom_tabs .e-n-tab-title:hover:not([aria-selected="true"]) .e-n-tab-icon svg {
    fill: #FFFFFF80 !important;
}

.cc_tab_wrapper {
    height: 1024px !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: 100% auto !important;
    align-items: center !important;
}

.cc_tab_wrapper .e-con-inner {
    align-items: center !important;
}


.cc_tab_wrapper {
    height: 1024px !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: 100% auto !important;
    align-items: center !important;
}

.cc_tab_wrapper .e-con-inner {
    align-items: center !important;
}

.crisis_number {
    gap: 0px
}

.crisis_row {
    height: 200px;
    justify-content: space-between;
}

.kurs_page {
    padding: 0px;
    justify-items: center;
}

.kurs_hero {
    padding: 0px;
    align-items: center;
    box-shadow: 0px 4px 14px 0px #00000040;
    margin-top: -34px;
    height: 804px !important;
    min-height: 804px;
    z-index: 7;
}

@media (max-width: 1400px) {
    .kurs_hero {
        height: 750px !important;
        min-height: 750px;
    }
}

.kurs_tytul_wrapper {
    max-width: 1070px;
    padding: 0px;
}

.kurs_tytul_kont {
    gap: 35px;
    padding: 0px;
    max-width: 1070px;
    margin-top: 314px;
}

.kurs_tytul .elementor-heading-title {
    font-family: 'Montserrat' !important;
    font-weight: 500 !important;
    font-size: 78.98px !important;
    line-height: 80.21px !important;
    letter-spacing: 0px !important;
    vertical-align: middle !important;
    color: #FFFFFF !important;
}

.kurs_podtytul {
    font-family: 'IBM Plex Mono';
    font-weight: 400;
    font-size: 28.38px;
    line-height: 44.42px;
    
    vertical-align: middle;
    color: #FFFFFF;
}

.kurs_options_wrapper {
    min-height: 147px;
    background-color: #fff;
    margin-top: -34px;
    z-index: 5;
    padding: 0px;
}

.kurs_options {
    max-width: 1180px !important;
    margin-top: 86px !important;
}

.kurs_option_heading .elementor-heading-title {
    font-family: 'IBM Plex Mono' !important;
    font-weight: 400;
    font-size: 22.1px;
    line-height: 34.59px;
    
    vertical-align: middle;
    color: #818181F7 !important;
}

.kurs_option_value p {
    font-family: 'IBM Plex Mono' !important;
    font-weight: 500;
    font-size: 22.1px;
    line-height: 34.59px;
    
    vertical-align: middle;
    color: #2C2B29 !important;
}

.kurs_program {
    gap: 0px;
    padding: 0px;
    height: 233px;
}

.program_wrapper {
    max-width: 1158px !important;
}

.program_kursu {
    justify-content: center;
    min-height: 121px;
}

.program_kursu .elementor-heading-title {
    font-family: 'Montserrat';
    font-weight: 600;
    font-size: 48.95px;
    line-height: 46.91px;
    letter-spacing: 0px;
    vertical-align: middle;
    color: #fff !important;
}

.program_background {
    position: absolute;
    left: calc(-50vw + 50%);
    width: calc(50vw + 100px);

    padding: 0;
    min-height: 121px;
    background-color: #212121;
    border-radius: 0 8px 8px 0;
}

.kurs_spis_wrapper {
    width: 1202px;
    border-radius: 36px;
    background-color: #fff;
    box-shadow: 0px 4px 22.8px 6px #0000000F;
    padding: 62px;
}

.kurs_spis_head .elementor-heading-title {
    font-family: 'Montserrat';
    font-weight: 600;
    font-size: 32px;
    line-height: 56px;
    letter-spacing: 0;
    text-align: left;
    vertical-align: middle;
    color: #231F40 !important;
}

.kurs_spis_content {
    width: 860px !important;
}

.kurs_spis_opis .elementor-heading-title {
    font-family: 'Montserrat';
    font-weight: 700;

    font-size: 24px;
    line-height: 36px;
    letter-spacing: 0;
    vertical-align: middle;
    text-transform: capitalize;
    color: #333333 !important;
}

.kurs_spis_wprowadzenie p {
    font-family: 'Roboto';
    font-weight: 400;
    font-size: 18px;
    line-height: 135%;
    letter-spacing: 0;
    vertical-align: middle;
    color: #6F6B80 !important;
}

/* GŁÓWNY WYGLĄD PRZYCISKU (celujemy w fizyczny link .elementor-button) */
.kurs_spis_button .elementor-button {
    background-color: transparent !important;
    border: 1px solid #1B223C;
    border-radius: 5px;

    /* Sztywne wymiary z Figmy */
    width: 192px;
    height: 49px;

    /* Resetujemy domyślne dopełnienie Elementora, żeby wymiary działały idealnie */
    padding: 0 !important;

    /* Flexbox do idealnego wyśrodkowania ikony i tekstu w pionie i poziomie */
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

/* STYLOWANIE TEKSTU */
.kurs_spis_button .elementor-button-text {
    font-family: 'Roboto';
    font-weight: 400;
    font-size: 16px;
    line-height: 17px;
    color: #1B223C;
}

/* STYLOWANIE IKONY (obsługuje zarówno ikony SVG, jak i fontowe) */
.kurs_spis_button .elementor-button-icon svg {
    fill: #1B223C;
    width: 18px;
    height: auto;
}

.kurs_spis_button .elementor-button-icon i {
    color: #1B223C;
    font-size: 18px;
}

/* DELIKATNY EFEKT HOVER (Opcjonalnie - żeby użytkownik wiedział, że to można kliknąć) */
.kurs_spis_button .elementor-button:hover {
    background-color: #1B223C !important;
}

.kurs_spis_button .elementor-button:hover .elementor-button-text,
.kurs_spis_button .elementor-button:hover .elementor-button-icon svg,
.kurs_spis_button .elementor-button:hover .elementor-button-icon i {
    color: #ffffff;
    fill: #ffffff;
}

/* GŁÓWNY KONTENER AKORDEONU */
.kurs_spis_akordeon .akordeon-program-kursu {
    display: flex;
    flex-direction: column;
    gap: 30px;
    width: 100%;
    padding: 0;
}

/* POJEDYNCZY KAFELEK LEKCJI (details) */
.kurs_spis_akordeon .lekcja-item {
    background-color: transparent;
    border: 1px solid #D6D6D6;
    border-radius: 6px;
    overflow: hidden;
    transition: all 0.3s ease;
    width: 100%;
}

.kurs_spis_akordeon .lekcja-item:hover {
    border-color: #A0A0A0;
}

/* TYTUŁ LEKCJI (Klikalna belka - tutaj dajemy Twoje wymiary!) */
.kurs_spis_akordeon .lekcja-tytul {
    min-height: 58px;
    padding: 0 20px;

    /* Typografia z Figmy */
    font-family: 'Inter';
    font-weight: 500;
    font-size: 21px;
    line-height: 24px;
    color: #595665;

    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    user-select: none;
}

/* UKRYCIE DOMYŚLNEJ STRZAŁKI W SAFARI/CHROME */
.kurs_spis_akordeon .lekcja-tytul::-webkit-details-marker {
    display: none;
}

/* STRZAŁKA W DÓŁ (Dopasowana wielkością do fontu 21px) */
.kurs_spis_akordeon .lekcja-tytul::after {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    border-right: 2px solid #595665;
    border-bottom: 2px solid #595665;
    transform: rotate(45deg);
    transition: transform 0.3s ease;
    margin-right: 5px;
}

/* STRZAŁKA PO OTWARCIU KAFELKA (Obrót w górę) */
.kurs_spis_akordeon details[open] .lekcja-tytul::after {
    transform: rotate(225deg);
    margin-top: 5px;
}

/* TREŚĆ LEKCJI (To, co się rozwija) */
.kurs_spis_akordeon .lekcja-opis {
    padding: 20px;
    font-family: 'Inter';
    font-size: 16px;
    line-height: 1.6;
    color: #595665;
    border-top: 1px solid #EAEAEA;
    animation: fadeIn 0.3s ease-in-out;
}

/* ANIMACJA POJAWIANIA SIĘ TEKSTU */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* OSTYLOWANIE LISTY Z KROPKAMI W ŚRODKU OPISU */
.kurs_spis_akordeon .lekcja-opis ul {
    list-style-type: disc;
    padding-left: 20px;
    margin-top: 10px;
}

.kurs_spis_akordeon .lekcja-opis li {
    margin-bottom: 5px;
}

.kurs_karty_wrapper {
    max-width: 1202px !important;
    margin-top: 50px;
    align-items: center !important;
    padding: 0px;
}

.kurs_karty .e-n-tabs {
    gap: 65px;
}

/* 1. Ustawienia kontenera zakładek */
.kurs_karty .e-n-tabs-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 665.6px;
    width: 100%;
    margin-left: 98px;
    border: none;
    background: transparent;
}

/* 2. Reset stylów dla przycisków i utworzenie miejsca na podkreślenie */
.kurs_karty .e-n-tabs-heading .e-n-tab-title {
    background: transparent !important;
    border: none !important;
    padding: 0;
    margin: 0;
    padding-bottom: 18px;
    cursor: pointer;
    position: relative;
    display: flex;
    justify-content: flex-start;
}

/* 3. Typografia dla tekstu zakładek (stan nieaktywny) */
.kurs_karty .e-n-tabs-heading .e-n-tab-title .e-n-tab-title-text {
    font-family: 'Montserrat';
    font-weight: 600;
    font-size: 26.36px;
    line-height: 1;
    color: #393939;
    transition: color 0.3s ease;
}

/* 4. Stan aktywny (kliknięty) - zmiana koloru tekstu */
.kurs_karty .e-n-tabs-heading .e-n-tab-title[aria-selected="true"] .e-n-tab-title-text {
    color: #DB1515;
}

/* 5. Stan aktywny - czerwone podkreślenie */
.kurs_karty .e-n-tabs-heading .e-n-tab-title[aria-selected="true"]::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: -7%;
    width: 113%;
    height: 0;
    border-bottom: 5px solid #D00202;
    /* Grubość i kolor z Figmy */
}

/* 6. Hover dla nieaktywnych zakładek (opcjonalny efekt najechania) */
.kurs_karty .e-n-tabs-heading .e-n-tab-title[aria-selected="false"]:hover .e-n-tab-title-text {
    color: #DB1515;
    opacity: 0.8;
}



/* --- Główna Karta --- */
.kursy_karta {
    min-height: 604px;
    width: 100%;
    max-width: 1202px;
    border-radius: 36px;
    background: #FFFFFF;
    box-shadow: 0px 4px 22.8px 6px rgba(0, 0, 0, 0.06);
    margin: 0 auto;
    padding: 0;
}

/* Wymuszamy układ obok siebie (Flexbox) wewnątrz karty */
.kursy_karta .e-con-inner {
    display: flex;
    flex-direction: row;
    align-items: start !important;
    gap: 70px;
    padding: 94px 0 56px 0;
    width: 100%;
}

/* --- Lewa Kolumna (Obrazek) --- */
.kursy_karta_obrazek {
    width: 60%;
    max-width: 517px;
    min-height: 409px;
    height: auto;
}

.kursy_karta_obrazek img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* --- Prawa Kolumna (Teksty) --- */
/* Złapanie bezpośredniego kontenera z tekstami */
.kurs_karty_content {
    width: 40%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 26px;
    /* Równy odstęp między nagłówkiem, zwykłym tekstem a listą z ikonami */
}

/* 1. Nagłówek */
.kursy_karta_naglowek .elementor-heading-title {
    font-family: 'Inter' !important;
    font-weight: 600;
    font-size: 32px;
    line-height: 1.2;
    color: #1D2026 !important;
    margin: 0;
    text-align: left;
}

/* 2. Tekst (W HTML wkleiłeś tam <ul>, więc styluję ogół) */
.kursy_karta_tekst li,
.kursy_karta_tekst p,
.kursy_karta_tekst .elementor-widget-MEC,
.kursy_karta_tekst .elementor-widget-text-editor,
.kursy_karta_tekst {
    font-family: 'Inter' !important;
    font-weight: 400 !important;
    font-size: 14.43px !important;
    line-height: 1.4 !important;
    color: #4E5566 !important;
    text-align: left !important;
}

/* 3. Kontener z widżetami Icon Box */
.kurs_karta_ikonwrap {
    padding: 0px;
    gap: 19px;
}

.kursy_karta_ikony {
    display: flex;
    flex-direction: column;
    gap: 19px;
    /* Odstęp w pionie między całymi boksami */
}

/* Usuwamy domyślne marginesy Elementora z samego widżetu */
.kursy_karta_ikony .elementor-widget-icon-box {
    margin-bottom: 0 !important;
}

/* Wrapper układający ikonę i tekst obok siebie */
.kursy_karta_ikony .elementor-icon-box-wrapper {
    display: flex;
    align-items: flex-start;
    /* Wyrównuje ikonę do góry (do poziomu nagłówka) */
}

/* Margines między ikoną a tekstem */
.kursy_karta_ikony .elementor-icon-box-icon {
    margin-right: 10px !important;
}

/* Zielone kółko z checkmarkiem */
.kursy_karta_ikony .elementor-icon-box-icon svg {
    background: #23BD33;
    padding: 8px;
    border-radius: 50%;
    fill: #fff;
    width: 32px !important;
    height: 32px !important;
    box-sizing: border-box;
    display: block;
}

/* Nagłówek w Icon Box (Zastępuje dawny tekst listy) */
.kursy_karta_ikony .elementor-icon-box-title {
    font-family: 'Inter' !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    color: #1D2026 !important;
    line-height: 1.2 !important;
    margin: 0 0 6px 0 !important;
    text-align: left !important;
}

.kursy_karta_ikony .elementor-icon-box-description {
    font-family: 'Inter' !important;
    font-weight: 400 !important;
    font-size: 11.23px !important;
    line-height: 17.64px !important;
    text-align: left !important;
    color: #6E7485;
}


.kursy_kalendarz_wrapper {
    max-width: 1202px;
    padding: 0px 0px 208px 0px;
}

.kursy_kalendarz {
    margin-top: 58px;
    width: 813px;
    min-height: 731px;
    opacity: 1;
    background-color: #fff;
    border-radius: 29px;
    box-shadow: 0px -0.28px 3.54px 0px #0000000D,
        0px -0.7px 8.94px 0px #00000013,
        0px -1.43px 18.24px 0px #00000018;
    padding: 37px;
}

.kursy_kalendarz .elementor-heading-title {
    color: #393939 !important;
    font-family: 'Inter';
    font-weight: 600;
    font-size: 23.13px;
    line-height: 170%;
    letter-spacing: 0;
}

.kurs_formularz_kont {

    background-color: #D9D9D9 !important;
    padding: 80px 0px 0px 0px !important;
}

.kurs_fomularz_wrapper {
    width: 1262px;
    min-height: 760px;
    gap: 43px;
}


.kurs_formularz_zdjecie {
    width: 395px;
    height: 328px;
    opacity: 1;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center -50px;
}

.kurs_formularz_tekst p {
    font-family: 'Montserrat';
    font-weight: 500;

    font-size: 19.59px;
    line-height: 31.83px;
    letter-spacing: 0px;
    text-align: justify;
    vertical-align: middle;
    color: #32312D94;
}

.kurs_formularz_tekst {
    padding: 0px;
}

.kurs_form_content {
    padding: 0px;
}

.kurs_form_content .elementor-heading-title {
    font-family: 'Montserrat' !important;
    font-weight: 600 !important;
    font-size: 40px !important;
    letter-spacing: 0px !important;
    vertical-align: middle !important;
    color: #000000 !important;
}

.kurs_form_content .elementor-widget-text-editor,
.kurs_form_content p {
    font-family: 'Montserrat' !important;
    font-weight: 500 !important;
    font-size: 30px !important;
    letter-spacing: 0px !important;
    vertical-align: middle !important;
    color: #32312D94 !important;
}

@media (max-width: 1280px) {
    .kurs_form_content {
        width: 80%;
    }
}

.formularz_heading_wrapper {
    gap: 0px;
}

/* Domyślne style dla zawartości slidera */
.home_slider .swiper-slide-contents {
    margin-top: 487px;
    max-width: 1287px;
    width: 100%;
    /* Wymagane, aby max-width zadziałało prawidłowo w flexboxie */
    text-align: left;

    /* Wyśrodkowanie samego kontenera w poziomie (jeśli slider jest szerszy) */
    margin-left: auto;
    margin-right: auto;
}

/* Wymuszamy wyrównanie tekstu wewnątrz Elementora do lewej */
.home_slider .swiper-slide-contents .elementor-slide-heading,
.home_slider .swiper-slide-contents .elementor-slide-description {
    text-align: left;
}

@media (max-width: 1280px) {
    .home_slider .swiper-slide-contents {
        max-width: 1200px;
        margin-top: 400px;
    }
}

.home_about_wrapper {
    max-width: 1322px;
    gap: 0px;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 1280px) {

    .home_about_wrapper,
    .home_team_wrapper,
    .home_competentions {
        max-width: 1200px !important;
    }
}

.home_about_text p {
    font-family: 'Montserrat';
    font-weight: 400;
    font-size: 15.39px;
    line-height: 100%;
    letter-spacing: 0%;
    color: #000;
    max-width: 601px;
}

.home_about_meeting .elementor-heading-title {
    color: #2C2B29D9;
    font-family: 'Montserrat';
    font-weight: 500;
    font-size: 43.62px;
    line-height: 41.36px;
    letter-spacing: 0px;

}

.home_competentions,
.home_faq_wrapper,
.home_contact {
    padding: 0px;
    max-width: 1286px;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
}

.home_faq_wrapper {
    margin-top: 235px;
    margin-bottom: 181px;
}

.home_team_wrapper {
    max-width: 1278px;
    gap: 0px;
    justify-content: center;
    margin-top: 284px;
    margin-left: auto;
    margin-right: auto;
    padding: 0px;
}

.home_team_heading {
    gap: 5px;
    padding: 0px;
}

.home_team_heading h2 {
    font-family: 'Montserrat' !important;
    font-weight: 500 !important;
    font-size: 58px !important;
    line-height: 100% !important;
    letter-spacing: 0px !important;
    color: #2C2B29 !important;
}

.home_team_heading span {
    font-family: 'IBM Plex Mono' !important;
    font-weight: 400 !important;
    font-size: 18.73px !important;
    line-height: 100% !important;
    letter-spacing: 0px !important;
    color: #D00202 !important;
}

.home_team_heading p {
    font-family: 'IBM Plex Mono' !important;
    font-weight: 400 !important;
    font-size: 1rem !important;
    line-height: 110% !important;
    letter-spacing: 0px !important;
    color: #2C2B29 !important;
    margin-top: 28px !important;
}

.home_faq_accordition {
    width: 100% !important;
    min-height: 568px !important;
    border-radius: 8px !important;
    padding-top: 37.23px !important;
    padding-right: 33.09px !important;
    padding-bottom: 45.5px !important;
    padding-left: 33.09px !important;
    gap: 41.36px !important;
}

.home_faq_accordition .e-n-accordion-item-title-text {
    font-family: 'Montserrat' !important;
    font-weight: 600 !important;
    font-size: 20.68px !important;
    line-height: 100% !important;
    letter-spacing: 0% !important;

}

.home_faq_accordition p {
    font-family: 'Inter' !important;
    font-weight: 300 !important;
    font-size: 1rem !important;
    line-height: 94% !important;
    letter-spacing: 0px !important;
}

.home_faq_accordition .e-child {
    padding: 0px;
}

.home_contact_wrapper .home_contact_title h2 {
    font-family: 'Montserrat' !important;
    font-weight: 600 !important;
    font-size: 55px !important;
    line-height: 100% !important;
    letter-spacing: 0% !important;
    color: #000000 !important;
}

.home_contact_wrapper .elementor-heading-title span {
    font-family: 'IBM Plex Mono' !important;
    font-weight: 400 !important;
    font-size: 18.73px !important;
    line-height: 100% !important;
    letter-spacing: 0px !important;
    color: #D00202 !important;
}

.home_contact {
    gap: 0px !important;
    min-height: 1024px;
}

.shop_boxes .elementor-icon-box-title{
    font-family: 'Inter' !important;
    font-weight: 400 !important;
    font-size: 29px !important;
    line-height: 160% !important;
    letter-spacing: 2% !important;
    color: #F51919 !important;
    text-align: start;
}

.shop_boxes .elementor-icon-box-description{
    font-family: 'Inter' !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 190% !important;
    letter-spacing: 2% !important;
    color:#2C2B29 !important;
    text-align: start;
}
.shop_hero_bg{
    min-height: 700px;
    box-shadow: 0px 4.04px 14.13px 0px #00000040;
}

.consulting_hero{
    min-height: 962px;
}

@media (max-width: 1400px) {
   .consulting_hero{
    min-height: 850px !important;
}
}