.elementor-3081 .elementor-element.elementor-element-3270f9ac{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3081 .elementor-element.elementor-element-3270f9ac:not(.elementor-motion-effects-element-type-background), .elementor-3081 .elementor-element.elementor-element-3270f9ac > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-84eb33e );}.elementor-3081 .elementor-element.elementor-element-79168c32{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -14px) 0px;text-align:center;}.elementor-3081 .elementor-element.elementor-element-79168c32 .elementor-heading-title{font-family:var( --e-global-typography-339ee91-font-family ), Open Sans;font-size:var( --e-global-typography-339ee91-font-size );font-weight:var( --e-global-typography-339ee91-font-weight );}.elementor-3081 .elementor-element.elementor-element-ad50ae6.elementor-element{--align-self:center;}.elementor-3081 .elementor-element.elementor-element-ad50ae6{text-align:center;}.elementor-3081 .elementor-element.elementor-element-42783ef{margin:-20px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}@media(max-width:991px){.elementor-3081 .elementor-element.elementor-element-79168c32 .elementor-heading-title{font-size:var( --e-global-typography-339ee91-font-size );}}@media(max-width:767px){.elementor-3081 .elementor-element.elementor-element-79168c32 .elementor-heading-title{font-size:var( --e-global-typography-339ee91-font-size );}}/* Start custom CSS for heading, class: .elementor-element-ad50ae6 *//* Stylowanie dla finalnego formularza z radio buttons */

/* Struktura formularza - zmniejszone odstępy */
.formflex {
  display: flex;
  margin-bottom: 15px; /* Zmniejszony odstęp między sekcjami */
  gap: 15px; /* Zmniejszony gap */
}

.formcolumn-1,
.formcolumn-2 {
  flex: 1;
  position: relative;
}

.formcolumn-full {
  width: 100%;
  position: relative;
}

/* Specjalne sekcje z mniejszymi odstępami */
.formflex.location-section {
  margin-bottom: 12px; /* Jeszcze mniejszy odstęp po sekcji lokalizacji */
}

.formflex.button-section {
  margin-top: 10px; /* Zwiększony odstęp przed przyciskami */
}

/* Stylizacja pól formularza */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="tel"] {
  width: 100%;
  padding: 12px 15px;
  font-size: 16px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background-color: #fff;
  transition: all 0.3s ease;
  outline: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  color: #444;
}

/* Efekt focus dla pól */
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="tel"]:focus {
  border-color: var(--e-global-color-accent, #FFD700);
  box-shadow: 0 0 0 3px rgba(255, 215, 0, 0.2);
}

/* Stylizacja grupy radio z wycentrowanym nagłówkiem */
.location-radio-group {
  margin-bottom: 6px; /* Zmniejszony margines */
}

.location-label {
  display: block;
  font-size: 16px;
  color: #444;
  margin-bottom: 10px;
  font-weight: 500;
}

.location-label.centered {
  text-align: center; /* Wycentrowanie etykiety */
  font-size: 18px; /* Nieco większa czcionka dla wyróżnienia */
  margin-bottom: 15px; /* Większy odstęp pod nagłówkiem */
  font-weight: 600; /* Bardziej pogrubiona czcionka */
  color: #333; /* Ciemniejszy kolor */
}

/* Wycentrowane radio buttons */
.wpcf7-form .wpcf7-radio {
  display: flex;
  justify-content: center; /* Wycentrowanie opcji */
  gap: 20px; /* Zwiększony odstęp między opcjami */
}

.wpcf7-form .wpcf7-radio .wpcf7-list-item {
  margin: 0;
  position: relative;
}

.wpcf7-form .wpcf7-radio label {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  padding: 10px 25px; /* Większy padding dla lepszego wyglądu */
  background-color: #f8f9fa;
  border: 1px solid #ddd;
  border-radius: 6px;
  transition: all 0.3s ease;
  min-width: 140px; /* Minimalna szerokość dla lepszego wyglądu */
  justify-content: center; /* Wycentrowanie tekstu */
}

.wpcf7-form .wpcf7-radio input[type="radio"] {
  position: absolute;
  opacity: 0;
}

.wpcf7-form .wpcf7-radio input[type="radio"] + span {
  position: relative;
  display: inline-flex;
  padding-left: 28px;
  font-size: 15px;
  color: #444;
}

.wpcf7-form .wpcf7-radio input[type="radio"] + span::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  border: 2px solid #ddd;
  border-radius: 50%;
  background-color: #fff;
  transition: all 0.2s ease;
}

.wpcf7-form .wpcf7-radio input[type="radio"]:checked + span::before {
  border-color: var(--e-global-color-accent, #FFD700);
  background-color: #fff;
}

.wpcf7-form .wpcf7-radio input[type="radio"]:checked + span::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--e-global-color-accent, #FFD700);
  transition: all 0.2s ease;
}

/* Efekt hover dla radio */
.wpcf7-form .wpcf7-radio label:hover {
  background-color: #f1f2f3;
  border-color: #ccc;
}

.wpcf7-form .wpcf7-radio input[type="radio"]:checked + span {
  font-weight: 600;
}

/* Stylizacja przycisków */
.button-container {
  display: flex;
  gap: 10px;
  justify-content: flex-end; /* Wyrównanie przycisków do prawej */
}

/* Wspólne style dla obu przycisków */
.wpcf7-form .dental-submit,
.wpcf7-form .dental-reset {
  padding: 12px 20px;
  border-radius: 6px;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-align: center;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  border: none;
  display: inline-block;
}

/* Przycisk wysyłania */
.wpcf7-form .dental-submit {
  background-color: var(--e-global-color-accent, #FFD700);
  color: #333333;
  min-width: 180px; /* Mniejsza minimalna szerokość */
}

/* Efekt hover dla przycisku wysyłania */
.wpcf7-form .dental-submit:hover {
  background-color: #ffde4d;
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

/* Przycisk resetowania */
.wpcf7-form .dental-reset {
  background-color: #f1f2f3;
  color: #555;
}

/* Efekt hover dla przycisku resetowania */
.wpcf7-form .dental-reset:hover {
  background-color: #e5e5e5;
  color: #333;
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* Stylizacja informacji pod formularzem */
.form-info-text {
  font-size: 12px;
  color: #666;
  line-height: 1.4;
  margin-top: 0;
}

.form-info-text a {
  color: var(--e-global-color-primary, #6ec1e4);
  text-decoration: none;
  transition: color 0.2s;
}

.form-info-text a:hover {
  color: var(--e-global-color-accent, #FFD700);
  text-decoration: underline;
}

/* Responsywność */
@media (max-width: 767px) {
  .formflex {
    flex-direction: column;
    gap: 12px;
  }
  
  .button-container {
    flex-direction: column;
    gap: 8px;
  }
  
  .wpcf7-form .dental-submit,
  .wpcf7-form .dental-reset {
    width: 100%;
  }
  
  .wpcf7-form .wpcf7-radio {
    flex-direction: column;
    gap: 10px;
  }
  
  .wpcf7-form .wpcf7-radio label {
    width: 100%;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-42783ef *//* Style dla formularza - wersja Metro z ulepszonymi elementami UX */

.formflex {

 display: flex;

 margin-bottom: 20px;

 gap: 20px;

}



.formcolumn-1,

.formcolumn-2 {

 flex: 1;

 position: relative;

}



/* Stylizacja pól formularza - subtelniejszy styl Metro */

.wpcf7-form input[type="text"],

.wpcf7-form input[type="tel"] {

 width: 100%;

 padding: 10px 0;

 font-size: 16px;

 border: none;

 border-bottom: 1px solid #ddd; /* Cieńsza linia */

 background-color: transparent;

 transition: all 0.3s ease;

 outline: none;

 position: relative;

 z-index: 1;

 color: #444;

}



/* Subtelniejszy efekt focus z podświetleniem */

.wpcf7-form input[type="text"]:focus,

.wpcf7-form input[type="tel"]:focus {

 border-bottom-color: var(--e-global-color-accent, #61ce70);

 box-shadow: 0 1px 3px -2px var(--e-global-color-accent, #61ce70); /* Delikatniejszy cień */

}



/* Poprawiona obsługa placeholderów dla efektu Metro */

.wpcf7-form .wpcf7-form-control-wrap {

 position: relative;

 display: block;

 margin-bottom: 25px;

}



.wpcf7-form .input-container {

 position: relative;

}



/* Etykiety zamiast placeholderów - bardziej wyrafinowane */

.wpcf7-form .input-label {

 position: absolute;

 left: 0;

 top: 10px;

 font-size: 16px;

 color: #777;

 pointer-events: none;

 transition: 0.3s ease all;

 background: transparent;

 z-index: 1;

}



.wpcf7-form input:focus + .input-label,

.wpcf7-form input:not(:placeholder-shown) + .input-label {

 top: -15px;

 left: 0 !important; /* Resetuj left do 0 gdy etykieta jest nad polem */

 font-size: 12px;

 color: var(--e-global-color-accent, #61ce70);

 font-weight: 500; /* Lekko pogrubiona etykieta w stanie aktywnym */

}



/* Całkowicie ukrywamy oryginalny placeholder */

.wpcf7-form input::placeholder {

 color: transparent !important;

 opacity: 0 !important;

}





/* ===== ULEPSZONY PRZYCISK WYSYŁANIA FORMULARZA ===== */

.wpcf7-form .submit,

.wpcf7-form input[type="submit"],

input.wpcf7-submit,

button.wpcf7-submit,

.wpcf7-form .wpcf7-submit,

.wpcf7 input[type="submit"],

/* Dodajemy selektory dopasowane do przycisku ze zrzutu ekranu */

.wpcf7 .wpcf7-form-control.wpcf7-submit,

input[type="submit"].wpcf7-form-control,

button[type="submit"].wpcf7-form-control {

 background-color: var(--e-global-color-accent, #FFD700);

 color: #333333;

 border: none;

 padding: 16px 32px; /* Powiększony przycisk */

 border-radius: 6px;

 font-weight: 600;

 font-size: 16px;

 cursor: pointer;

 transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);

 position: relative;

 overflow: hidden;

 display: inline-flex;

 align-items: center;

 justify-content: center;

 box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.08);

 text-align: center;

 min-width: 200px; /* Zapewnia minimalną szerokość */

 margin: 10px 0;

 -webkit-tap-highlight-color: transparent;

 /* Usuwamy float: right, aby przycisk był wyśrodkowany */

 width: auto;

 text-decoration: none;

 line-height: 1.4;

 outline: none;

}



/* Ikona papierowego samolotu - nowocześniejszy symbol wysyłki */

.wpcf7-form .submit::after,

.wpcf7-form input[type="submit"]::after,

input.wpcf7-submit::after,

button.wpcf7-submit::after,

.wpcf7-form .wpcf7-submit::after,

.wpcf7 input[type="submit"]::after,

.wpcf7 .wpcf7-form-control.wpcf7-submit::after,

input[type="submit"].wpcf7-form-control::after,

button[type="submit"].wpcf7-form-control::after {

 content: "";

 display: inline-block;

 width: 20px;

 height: 20px;

 margin-left: 10px;

 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='20' height='20' fill='none' stroke='%23333333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 2L11 13'%3E%3C/path%3E%3Cpath d='M22 2L15 22L11 13L2 9L22 2Z'%3E%3C/path%3E%3C/svg%3E");

 background-repeat: no-repeat;

 background-position: center;

 transition: transform 0.3s ease;

 transform-origin: center;

 position: relative;

}



/* Dla przycisków które nie obsługują ::after, dodajemy span z ikoną */

.wpcf7-form input[type="submit"] + .submit-icon,

input.wpcf7-submit + .submit-icon,

.wpcf7 input[type="submit"] + .submit-icon,

.wpcf7 .wpcf7-form-control.wpcf7-submit + .submit-icon,

input[type="submit"].wpcf7-form-control + .submit-icon {

 display: inline-block;

 width: 20px;

 height: 20px;

 margin-left: 10px;

 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='20' height='20' fill='none' stroke='%23333333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 2L11 13'%3E%3C/path%3E%3Cpath d='M22 2L15 22L11 13L2 9L22 2Z'%3E%3C/path%3E%3C/svg%3E");

 background-repeat: no-repeat;

 background-position: center;

 transition: transform 0.3s ease;

 position: absolute;

 right: 15px;

 top: 50%;

 transform: translateY(-50%);

}



/* Dodajemy również samą ikonę jako zawartość */

.wpcf7-form input[type="submit"],

input.wpcf7-submit,

.wpcf7 input[type="submit"],

.wpcf7 .wpcf7-form-control.wpcf7-submit,

input[type="submit"].wpcf7-form-control {

 padding-right: 45px; /* Dodajemy miejsce na ikonę */

 position: relative;

}



/* Efekty hover */

.wpcf7-form .submit:hover,

.wpcf7-form input[type="submit"]:hover,

input.wpcf7-submit:hover,

button.wpcf7-submit:hover,

.wpcf7-form .wpcf7-submit:hover,

.wpcf7 input[type="submit"]:hover,

.wpcf7 .wpcf7-form-control.wpcf7-submit:hover,

input[type="submit"].wpcf7-form-control:hover,

button[type="submit"].wpcf7-form-control:hover {

 background-color: #ffde4d; /* Jaśniejszy żółty na hover */

 transform: translateY(-4px);

 box-shadow: 0 6px 15px rgba(0, 0, 0, 0.15), 0 2px 4px rgba(0, 0, 0, 0.1);

}



.wpcf7-form .submit:hover::after,

.wpcf7-form input[type="submit"]:hover::after,

input.wpcf7-submit:hover::after,

button.wpcf7-submit:hover::after,

.wpcf7-form .wpcf7-submit:hover::after,

.wpcf7 input[type="submit"]:hover::after,

.wpcf7 .wpcf7-form-control.wpcf7-submit:hover::after,

input[type="submit"].wpcf7-form-control:hover::after,

button[type="submit"].wpcf7-form-control:hover::after,

.wpcf7-form input[type="submit"]:hover + .submit-icon,

input.wpcf7-submit:hover + .submit-icon,

.wpcf7 input[type="submit"]:hover + .submit-icon,

.wpcf7 .wpcf7-form-control.wpcf7-submit:hover + .submit-icon,

input[type="submit"].wpcf7-form-control:hover + .submit-icon {

 transform: translateX(5px) rotate(-10deg); /* Animacja ikony podczas hover */

}



.wpcf7-form input[type="submit"]:hover + .submit-icon,

input.wpcf7-submit:hover + .submit-icon,

.wpcf7 input[type="submit"]:hover + .submit-icon,

.wpcf7 .wpcf7-form-control.wpcf7-submit:hover + .submit-icon,

input[type="submit"].wpcf7-form-control:hover + .submit-icon {

 transform: translate(5px, -50%) rotate(-10deg);

}



/* Efekt active/kliknięcia */

.wpcf7-form .submit:active,

.wpcf7-form input[type="submit"]:active,

input.wpcf7-submit:active,

button.wpcf7-submit:active,

.wpcf7-form .wpcf7-submit:active,

.wpcf7 input[type="submit"]:active,

.wpcf7 .wpcf7-form-control.wpcf7-submit:active,

input[type="submit"].wpcf7-form-control:active,

button[type="submit"].wpcf7-form-control:active {

 transform: translateY(1px);

 box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);

 transition: all 0.1s ease;

 background-color: #eec300; /* Ciemniejszy żółty przy kliknięciu */

}



/* Ulepszony efekt fali z szybszą animacją */

.wpcf7-form .submit::before,

.wpcf7-form input[type="submit"]::before,

input.wpcf7-submit::before,

button.wpcf7-submit::before,

.wpcf7-form .wpcf7-submit::before,

.wpcf7 input[type="submit"]::before,

.wpcf7 .wpcf7-form-control.wpcf7-submit::before,

input[type="submit"].wpcf7-form-control::before,

button[type="submit"].wpcf7-form-control::before {

 content: "";

 position: absolute;

 top: 50%;

 left: 50%;

 width: 0;

 height: 0;

 background: rgba(255, 255, 255, 0.3); /* Jaśniejsza fala */

 border-radius: 50%;

 transform: translate(-50%, -50%);

 transition: width 0.4s ease-out, height 0.4s ease-out; /* Szybsza animacja */

 z-index: 1;

}



.wpcf7-form .submit:hover::before,

.wpcf7-form input[type="submit"]:hover::before,

input.wpcf7-submit:hover::before,

button.wpcf7-submit:hover::before,

.wpcf7-form .wpcf7-submit:hover::before,

.wpcf7 input[type="submit"]:hover::before,

.wpcf7 .wpcf7-form-control.wpcf7-submit:hover::before,

input[type="submit"].wpcf7-form-control:hover::before,

button[type="submit"].wpcf7-form-control:hover::before {

 width: 300px;

 height: 300px;

}



/* Zapewnienie, że zawartość przycisku jest nad falą */

.wpcf7-form .submit span,

.wpcf7-form input[type="submit"] span,

input.wpcf7-submit span,

button.wpcf7-submit span,

.wpcf7-form .wpcf7-submit span,

.wpcf7 input[type="submit"] span,

.wpcf7 .wpcf7-form-control.wpcf7-submit span,

input[type="submit"].wpcf7-form-control span,

button[type="submit"].wpcf7-form-control span,

.wpcf7-form .submit::after,

.wpcf7-form input[type="submit"]::after,

input.wpcf7-submit::after,

button.wpcf7-submit::after,

.wpcf7-form .wpcf7-submit::after,

.wpcf7 input[type="submit"]::after,

.wpcf7 .wpcf7-form-control.wpcf7-submit::after,

input[type="submit"].wpcf7-form-control::after,

button[type="submit"].wpcf7-form-control::after {

 position: relative;

 z-index: 2; /* Nad falą */

}



/* Focus state dla accessibility */

.wpcf7-form .submit:focus,

.wpcf7-form input[type="submit"]:focus,

input.wpcf7-submit:focus,

button.wpcf7-submit:focus,

.wpcf7-form .wpcf7-submit:focus,

.wpcf7 input[type="submit"]:focus,

.wpcf7 .wpcf7-form-control.wpcf7-submit:focus,

input[type="submit"].wpcf7-form-control:focus,

button[type="submit"].wpcf7-form-control:focus {

 outline: none;

 box-shadow: 0 0 0 3px rgba(255, 215, 0, 0.4), 0 4px 10px rgba(0, 0, 0, 0.1);

}



/* Stylowanie loaderów i spinnerów CF7 */

.wpcf7-form .ajax-loader,

.wpcf7-spinner {

 margin-left: 10px;

}



/* Dodajemy tę samą ikonę za pomocą JavaScript */

var submitButtons = document.querySelectorAll('.wpcf7-form input[type="submit"], input.wpcf7-submit, .wpcf7 input[type="submit"], .wpcf7 .wpcf7-form-control.wpcf7-submit, input[type="submit"].wpcf7-form-control');

submitButtons.forEach(function(button) {

 // Sprawdzamy, czy już nie dodaliśmy ikony

 if (!button.nextElementSibling || !button.nextElementSibling.classList.contains('submit-icon')) {

  var iconSpan = document.createElement('span');

  iconSpan.className = 'submit-icon';

  button.parentNode.insertBefore(iconSpan, button.nextSibling);

 }

});



/* Responsywność */

@media (max-width: 767px) {

 .wpcf7-form .submit,

 .wpcf7-form input[type="submit"],

 input.wpcf7-submit,

 button.wpcf7-submit,

 .wpcf7-form .wpcf7-submit,

 .wpcf7 input[type="submit"],

 .wpcf7 .wpcf7-form-control.wpcf7-submit,

 input[type="submit"].wpcf7-form-control,

 button[type="submit"].wpcf7-form-control {

  padding: 14px 28px;

  font-size: 15px;

  min-width: 160px;

  width: 100%; /* Pełna szerokość na mobile */

 }

  

 .wpcf7-form .submit:hover,

 .wpcf7-form input[type="submit"]:hover,

 input.wpcf7-submit:hover,

 button.wpcf7-submit:hover,

 .wpcf7-form .wpcf7-submit:hover,

 .wpcf7 input[type="submit"]:hover,

 .wpcf7 .wpcf7-form-control.wpcf7-submit:hover,

 input[type="submit"].wpcf7-form-control:hover,

 button[type="submit"].wpcf7-form-control:hover {

  transform: translateY(-2px); /* Mniejsza animacja na mobile */

 }

}



/* Dodatkowy styl dla przycisku ze zrzutu ekranu */

.wpcf7 input[type="submit"][value="Wyślij prośbę o kontakt"] {

 background-color: var(--e-global-color-accent, #FFD700);

 color: #333333;

 border-radius: 6px;

 padding: 16px 32px;

 font-weight: 600;

 box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);

}









/* Komunikaty walidacji numeru telefonu */

.phone-validation-message {

 position: absolute;

 bottom: -20px;

 left: 0;

 right: 0;

 background-color: white;

 border-radius: 4px;

 padding: 6px 10px;

 font-size: 12px;

 opacity: 0;

 transform: translateY(-5px);

 transition: all 0.3s ease;

 pointer-events: none;

 z-index: 5;

 box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05); /* Delikatny cień dla lepszej widoczności */

}



.phone-validation-message.warning {

 background-color: #fffbeb;

 border-left: 2px solid #ffd966;

 color: #856404;

}



.phone-validation-message.success {

 background-color: #f0fff7;

 border-left: 2px solid #66ffa3;

 color: #155724;

}



.phone-validation-message.error {

 background-color: #fff5f5;

 border-left: 2px solid #e74c3c;

 color: #721c24;

}



.phone-validation-message.show {

 opacity: 1;

 transform: translateY(0);

}



/* Dodanie prefixu dla numeru telefonu */

.phone-prefix {

 position: absolute;

 left: 0;

 top: 10px;

 font-size: 16px;

 color: #555;

 z-index: 2;

 font-weight: 500;

 background: transparent;

 pointer-events: none;

}



/* Komunikat informacyjny */

.form-info-text {

 font-family: Lato, sans-serif;

 font-size: 12px;

 color: #666;

 line-height: 1.4;

 margin-top: 0;

}



.form-info-text a {

 color: var(--e-global-color-primary, #6ec1e4);

 text-decoration: none;

 transition: color 0.2s;

}



.form-info-text a:hover {

 color: var(--e-global-color-accent, #61ce70);

 text-decoration: underline;

}



/* Subtelniejsze stany błędów */

.wpcf7-not-valid {

 border-bottom-color: #e74c3c !important;

 box-shadow: 0 1px 3px -2px rgba(231, 76, 60, 0.7) !important; /* Delikatny czerwony cień */

}



.wpcf7-not-valid-tip {

 color: #e74c3c;

 font-size: 11px;

 margin-top: 5px;

 font-weight: 500;

 opacity: 0;

 animation: fadeInUp 0.3s forwards;

 animation-delay: 0.1s;

}



@keyframes fadeInUp {

 from {

  opacity: 0;

  transform: translateY(5px);

 }

 to {

  opacity: 1;

  transform: translateY(0);

 }

}



/* Poprawka dla komunikatów o błędach CF7 - zapobieganie duplikacji */

.wpcf7-form .wpcf7-form-control-wrap .wpcf7-not-valid-tip:nth-of-type(n+2) {

 display: none !important;

}



/* Komunikat pod formularzem */

.wpcf7-response-output {

 clear: both;

 margin: 20px 0 0 !important;

 padding: 12px 15px !important;

 border-radius: 6px !important;

 font-size: 14px;

 background-color: #f8f9fa;

 border-width: 0 !important;

 border-left-width: 3px !important;

 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);

 transform: translateY(10px);

 animation: fadeIn 0.3s forwards;

}



@keyframes fadeIn {

 to {

  transform: translateY(0);

  opacity: 1;

 }

}



/* Overlay modal */

#custom-modal-overlay {

 position: fixed;

 top: 0;

 left: 0;

 right: 0;

 bottom: 0;

 background: rgba(0, 0, 0, 0.7);

 z-index: 10000;

 display: flex;

 justify-content: center;

 align-items: center;

 padding: 20px; /* Margines na urządzenia mobilne */

 backdrop-filter: blur(2px); /* Efekt rozmazania tła */

 animation: fadeInModal 0.3s ease;

}



@keyframes fadeInModal {

 from {

  opacity: 0;

 }

 to {

  opacity: 1;

 }

}



/* Kontener modalny */

#custom-modal-content {

 position: relative;

 background: #fff;

 padding: 35px;

 max-width: 800px;

 width: 100%;

 max-height: 90vh;

 overflow-y: auto;

 border-radius: 10px;

 box-shadow: 0 15px 35px rgba(0,0,0,0.25);

 animation: scaleIn 0.3s ease;

 transform-origin: center;

}



@keyframes scaleIn {

 from {

  opacity: 0;

  transform: scale(0.95);

 }

 to {

  opacity: 1;

  transform: scale(1);

 }

}



/* Kontener dla treści modalu */

#modal-elementor-container {

 width: 100%;

}



/* Przycisk zamykania modal - bardziej intuicyjny */

#custom-modal-close {

 position: absolute;

 top: 15px;

 right: 15px;

 border: none;

 background: #f1f1f1;

 font-size: 22px;

 cursor: pointer;

 box-shadow: none;

 z-index: 10;

 line-height: 1;

 width: 30px;

 height: 30px;

 display: flex;

 align-items: center;

 justify-content: center;

 padding: 0;

 color: #555;

 transition: all 0.2s;

 border-radius: 50%;

}



#custom-modal-close:hover {

 background: #e1e1e1;

 color: #000;

 transform: rotate(90deg);

}



/* Loader formularza */

.custom-form-loader {

 position: fixed;

 top: 0;

 left: 0;

 width: 100%;

 height: 100%;

 background-color: rgba(255, 255, 255, 0.9);

 display: flex;

 justify-content: center;

 align-items: center;

 z-index: 10000;

 backdrop-filter: blur(2px);

 animation: fadeIn 0.3s;

}



.loader-spinner {

 text-align: center;

}



.spinner-animation {

 width: 40px;

 height: 40px;

 margin: 0 auto;

 border: 3px solid rgba(0, 0, 0, 0.05);

 border-radius: 50%;

 border-top: 3px solid var(--e-global-color-accent, #61ce70);

 animation: spin 1s linear infinite;

}



@keyframes spin {

 0% { transform: rotate(0deg); }

 100% { transform: rotate(360deg); }

}



.loader-spinner p {

 margin-top: 15px;

 font-weight: 500;

 color: #333;

}



/* Komunikaty formularza - bardziej eleganckie */

.custom-form-message {

 position: fixed;

 top: 0;

 left: 0;

 width: 100%;

 height: 100%;

 background-color: rgba(255, 255, 255, 0.95);

 display: flex;

 justify-content: center;

 align-items: center;

 z-index: 10000;

 backdrop-filter: blur(3px);

 animation: fadeIn 0.3s;

}



.message-box {

 background-color: #fff;

 padding: 35px 30px;

 border-radius: 12px;

 box-shadow: 0 10px 25px rgba(0,0,0,0.15);

 text-align: center;

 max-width: 90%;

 width: 380px;

 animation: messageAppear 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);

}



@keyframes messageAppear {

 from { 

  opacity: 0; 

  transform: translateY(-20px) scale(0.95);

 }

 to { 

  opacity: 1; 

  transform: translateY(0) scale(1);

 }

}



.custom-form-message.error .message-box svg {

 color: #e74c3c;

}



.custom-form-message.success .message-box svg {

 color: var(--e-global-color-accent, #61ce70);

}



.message-box svg {

 margin-bottom: 20px;

 width: 60px;

 height: 60px;

 animation: iconPulse 0.6s ease-out;

}



@keyframes iconPulse {

 0% { transform: scale(0.5); opacity: 0; }

 50% { transform: scale(1.1); }

 100% { transform: scale(1); opacity: 1; }

}



.message-box p {

 margin: 10px 0 25px;

 font-size: 17px;

 font-weight: 500;

 line-height: 1.5;

 color: #333;

}



.message-close {

 background-color: var(--e-global-color-accent, #61ce70);

 color: white;

 border: none;

 padding: 12px 35px;

 border-radius: 6px;

 cursor: pointer;

 font-weight: 500;

 transition: all 0.2s;

 font-size: 15px;

 box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);

 position: relative;

 overflow: hidden;

}



.message-close:hover {

 filter: brightness(1.05);

 transform: translateY(-2px);

 box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);

}



.message-close:active {

 transform: translateY(0);

 box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);

}



/* Efekt fali na przycisku w komunikacie */

.message-close::after {

 content: "";

 position: absolute;

 top: 50%;

 left: 50%;

 width: 0;

 height: 0;

 background: rgba(255, 255, 255, 0.2);

 border-radius: 50%;

 transform: translate(-50%, -50%);

 transition: width 0.4s ease-out, height 0.4s ease-out;

}



.message-close:hover::after {

 width: 300px;

 height: 300px;

}



/* Ukrycie domyślnego loadera CF7 */

.wpcf7 .ajax-loader,

.wpcf7-spinner {

 display: none !important;

 visibility: hidden !important;

 opacity: 0 !important;

 position: absolute !important;

 z-index: -1 !important;

 width: 0 !important;

 height: 0 !important;

 margin: 0 !important;

 padding: 0 !important;

}



/* Pozycyjny placeholder dla oryginałnego elementora */

.elementor-placeholder {

 height: 0;

 overflow: hidden;

 visibility: hidden;

}



/* Ogniskowanie pola formularza - dodatkowy efekt świecenia */

.wpcf7-form input:focus {

 transition: all 0.3s ease;

}



/* Delikatny efekt dotknięcia dla wszystkich elementów interaktywnych */

.wpcf7-form input[type="text"], 

.wpcf7-form input[type="tel"], 

.wpcf7-form .submit, 

.message-close, 

#custom-modal-close {

 -webkit-tap-highlight-color: transparent;

}



/* Responsywność */

@media (max-width: 768px) {

 .formflex {

  flex-direction: column;

  gap: 10px;

  margin-bottom: 15px;

 }

  

 .formcolumn-1,

 .formcolumn-2 {

  width: 100%;

 }

  

 #custom-modal-content {

  max-width: 100%;

  padding: 25px 20px;

 }

  

 .message-box {

  width: 85%;

  padding: 30px 20px;

 }

  

 .message-close {

  width: 100%;

  padding: 12px 15px;

 }

  

 .message-box p {

  font-size: 15px;

 }

  

 .wpcf7-form .submit {

  width: 100%;

  float: none;

  margin-top: 15px;

 }

  

 /* Mniejsze odległości na mobile */

 .wpcf7-form .wpcf7-form-control-wrap {

  margin-bottom: 20px;

 }

  

 /* Mniejsza animacja przycisku na mobile dla lepszej responsywności */

 .wpcf7-form .submit:hover {

  transform: translateY(-2px);

 }

}





.calendar-icon {

 flex-shrink: 0; /* Zapobiega kurczeniu się ikony */

 display: block; /* Lepsze wyrównanie */

 vertical-align: middle; /* Dodatkowe wyrównanie */

 transition: transform 0.3s ease;

 position: relative;

 top: -1px; /* Delikatne dostosowanie pozycji */

}

/* Stylizacja grupy radio */
.location-radio-group {
  margin-bottom: 10px;
}

.location-label {
  display: block;
  font-size: 16px;
  color: #444;
  margin-bottom: 10px;
  font-weight: 500;
}

/* Nowoczesny wygląd radio buttons */
.wpcf7-form .wpcf7-radio {
  display: flex;
  gap: 15px;
}

.wpcf7-form .wpcf7-radio .wpcf7-list-item {
  margin: 0;
  position: relative;
}

.wpcf7-form .wpcf7-radio label {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  padding: 10px 20px;
  background-color: #f8f9fa;
  border: 1px solid #ddd;
  border-radius: 6px;
  transition: all 0.3s ease;
}

.wpcf7-form .wpcf7-radio input[type="radio"] {
  position: absolute;
  opacity: 0;
}

.wpcf7-form .wpcf7-radio input[type="radio"] + span {
  position: relative;
  display: inline-flex;
  padding-left: 28px;
  font-size: 15px;
  color: #444;
}

.wpcf7-form .wpcf7-radio input[type="radio"] + span::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  border: 2px solid #ddd;
  border-radius: 50%;
  background-color: #fff;
  transition: all 0.2s ease;
}

.wpcf7-form .wpcf7-radio input[type="radio"]:checked + span::before {
  border-color: var(--e-global-color-accent, #FFD700);
  background-color: #fff;
}

.wpcf7-form .wpcf7-radio input[type="radio"]:checked + span::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--e-global-color-accent, #FFD700);
  transition: all 0.2s ease;
}

/* Efekt hover dla radio */
.wpcf7-form .wpcf7-radio label:hover {
  background-color: #f1f2f3;
  border-color: #ccc;
}

.wpcf7-form .wpcf7-radio input[type="radio"]:checked + span {
  font-weight: 600;
}/* End custom CSS */