.elementor-256 .elementor-element.elementor-element-284e2b5{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:stretch;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:050px;--padding-bottom:050px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-256 .elementor-element.elementor-element-1583805c{text-align:center;}.elementor-256 .elementor-element.elementor-element-1583805c .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:50px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#017C6C;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-256 .elementor-element.elementor-element-2911d623{text-align:center;font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:400;text-transform:none;font-style:normal;line-height:24px;color:#B2CDCD;}.elementor-256 .elementor-element.elementor-element-fa77937 > .elementor-widget-container{margin:0px 0px -30px 0px;padding:0px 0px 0px 0px;}#elementor-popup-modal-256 .dialog-widget-content{animation-duration:1.2s;background-color:#242529;border-style:solid;border-width:0px 0px 0px 0px;border-radius:30px 30px 30px 30px;}#elementor-popup-modal-256{background-color:#00000000;justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-256 .dialog-message{width:635px;height:auto;}#elementor-popup-modal-256 .dialog-close-button{display:flex;}#elementor-popup-modal-256 .dialog-close-button i{color:#FFFFFF;}#elementor-popup-modal-256 .dialog-close-button svg{fill:#FFFFFF;}@media(max-width:1024px){.elementor-256 .elementor-element.elementor-element-1583805c .elementor-heading-title{font-size:32px;line-height:30px;}.elementor-256 .elementor-element.elementor-element-2911d623{font-size:18px;line-height:23px;}#elementor-popup-modal-256 .dialog-message{width:75vw;}}@media(min-width:768px){.elementor-256 .elementor-element.elementor-element-284e2b5{--content-width:500px;}}@media(max-width:767px){.elementor-256 .elementor-element.elementor-element-284e2b5{--gap:20px 0px;--row-gap:20px;--column-gap:0px;--padding-top:10%;--padding-bottom:10%;--padding-left:5%;--padding-right:5%;}.elementor-256 .elementor-element.elementor-element-1583805c > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0% 0% 0% 0%;}.elementor-256 .elementor-element.elementor-element-2911d623 > .elementor-widget-container{margin:0px 0px -15px 0px;padding:0% 0% 0% 0%;}.elementor-256 .elementor-element.elementor-element-2911d623{font-size:15px;line-height:22px;}#elementor-popup-modal-256 .dialog-message{width:100vw;}#elementor-popup-modal-256{align-items:center;}}/* Start custom CSS for shortcode, class: .elementor-element-fa77937 *//* === Import czcionki Montserrat === */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700&display=swap');

/* === Główny wrapper formularza === */
.contact-form-wrapper {
    margin: 0 auto;
    background: transparent;
    color: white;
    font-family: 'Montserrat', sans-serif;
    font-weight: 100; /* Thin */
}

/* === Stylowanie tytułu === */
.form-title {
    color: #4ECDC4;
    font-size: 32px;
    font-weight: 300; /* Light dla tytułu */
    text-align: center;
    margin: 0 0 20px 0;
    line-height: 1.1;
    font-family: 'Montserrat', sans-serif;
}

/* === Stylowanie podtytułu === */
.form-subtitle {
    color: rgba(255, 255, 255, 0.8);
    font-size: 14px;
    text-align: center;
    margin: 0 0 30px 0;
    line-height: 1.4;
    font-family: 'Montserrat', sans-serif;
    font-weight: 100; /* Thin */
}

/* === Wrapper dla każdego pola === */
.form-field-wrapper {
    position: relative;
    margin-bottom: -25px; /* Zmienione z -20px na 10px */
    overflow: visible;
}

/* === Stylowanie inputów i textarea === */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: white;
    border-radius: 25px;
    padding: 16px 20px;
    font-size: 16px;
    width: 100%;
    height: 56px;
    box-sizing: border-box;
    transition: all 0.3s ease;
    z-index: 2;
    position: relative;
    display: flex;
    align-items: center;
    line-height: 1;
    font-family: 'Montserrat', sans-serif;
    font-weight: 100; /* Thin */
}

/* === Textarea specyficzne ustawienia === */
.wpcf7 textarea {
    min-height: 140px;
    height: auto;
    resize: vertical;
    padding: 20px;
    display: block;
    align-items: flex-start;
    font-family: 'Montserrat', sans-serif;
    font-weight: 100; /* Thin */
}

/* === Placeholder niewidoczny (używamy floating label) === */
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
    color: transparent;
}

/* === Floating label – domyślne pozycjonowanie === */
.floating-label {
    position: absolute;
    left: 20px;
    top: 37%;
    transform: translateY(-50%);
    color: rgba(255, 255, 255, 0.7);
    font-size: 16px;
    pointer-events: none;
    transition: all 0.2s ease;
    z-index: 3;
    background: transparent;
    font-family: 'Montserrat', sans-serif;
    font-weight: 100; /* Thin */
}

/* === Floating label dla textarea === */
.form-field-wrapper:has(textarea) .floating-label {
    top: 28px;
    transform: translateY(0);
}

/* === Floating label – aktywacja dla inputów === */
.form-field-wrapper:has(input:focus) .floating-label,
.form-field-wrapper:has(input:not([value=""])) .floating-label,
.form-field-wrapper:has(input:valid:not(:placeholder-shown)) .floating-label {
    top: -10px;
    left: 15px;
    background: rgba(0, 0, 0, 0.6);
    padding: 0 8px;
    font-size: 13px;
    color: #fff;
    transform: translateY(0);
    font-weight: 100; /* Thin */
}

/* === Floating label – aktywacja dla textarea === */
.form-field-wrapper:has(textarea:focus) .floating-label,
.form-field-wrapper:has(textarea:not([value=""])) .floating-label,
.form-field-wrapper:has(textarea:valid:not(:placeholder-shown)) .floating-label {
    top: -10px;
    left: 15px;
    background: rgba(0, 0, 0, 0.6);
    padding: 0 8px;
    font-size: 13px;
    color: #fff;
    transform: translateY(0);
    font-weight: 100; /* Thin */
}

/* === Alternatywny sposób dla starszych przeglądarek === */
.wpcf7 input:focus ~ .floating-label,
.wpcf7 textarea:focus ~ .floating-label {
    top: -10px;
    left: 15px;
    background: rgba(0, 0, 0, 0.6);
    padding: 0 8px;
    font-size: 13px;
    color: #fff;
    transform: translateY(0);
    font-weight: 100;
}

/* === JavaScript trigger class === */
.form-field-wrapper.has-value .floating-label {
    top: -10px;
    left: 15px;
    background: rgba(0, 0, 0, 0.6);
    padding: 0 8px;
    font-size: 13px;
    color: #fff;
    transform: translateY(0);
    font-weight: 100;
}

/* === Fokus na inputach === */
.wpcf7 input:focus,
.wpcf7 textarea:focus {
    outline: none;
    border-color: rgba(255, 255, 255, 0.5);
}

/* === Stylowanie przycisku wysyłania === */
.wpcf7 .submit-button {
    background: #B3CDCE;
    color: #000;
    border-radius: 25px;
    font-size: 18px;
    padding: 12px 0;
    width: 100%;
    border: none;
    text-transform: none;
    transition: background 0.3s ease;
    cursor: pointer;
    font-weight: 300; /* Light dla przycisku */
    margin-top: 10px;
    font-family: 'Montserrat', sans-serif;
}

.wpcf7 .submit-button:hover {
    background: rgba(255, 255, 255, 0.8);
}

/* === Kontener z efektem połysku === */
.form-field-wrapper::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        120deg,
        transparent 0%,
        rgba(255, 255, 255, 0.15) 30%,
        rgba(255, 255, 255, 0.05) 50%,
        transparent 70%
    );
    pointer-events: none;
    z-index: 1;
    border-radius: 25px;
    opacity: 0;
}

/* === Responsywność === */
@media (max-width: 480px) {
    .form-title {
        font-size: 28px;
    }
    
    .wpcf7 input[type="text"],
    .wpcf7 input[type="email"],
    .wpcf7 input[type="tel"] {
        height: 50px;
    }
}/* End custom CSS */