/* Contact Form 7 — integracja z istniejącym layoutem K&M Invest. */
.km-contact-section .wpcf7{width:100%;font-family:inherit}
.km-contact-section .wpcf7 form.km-form{box-sizing:border-box}
.km-contact-section .km-form .wpcf7-form-control-wrap{display:block;width:100%;min-width:0}
.km-contact-section .km-form .km-form__left label>span.wpcf7-form-control-wrap{min-height:0}
.km-contact-section .km-form input.wpcf7-form-control:not([type=checkbox]){
  display:block;box-sizing:border-box;max-width:100%;font-family:inherit;border-radius:0;
}
.km-contact-section .km-form textarea.wpcf7-form-control {
  box-sizing:border-box;resize:vertical;min-height:180px;font-family:inherit;max-width:100%;
}
.km-contact-section .km-form__message>.wpcf7-form-control-wrap{
  position:static!important;inset:auto!important;
  width:100%;height:100%;max-width:none;padding:0;z-index:auto;
}
.km-contact-section .km-form__message>.wpcf7-form-control-wrap textarea{height:100%;width:100%}
.km-contact-section .km-form__message>span:not(.wpcf7-form-control-wrap){position:absolute}
.km-contact-section .km-form__bottom .km-form__consent{
  position:relative;flex:1;min-width:0;max-width:calc(100% - 220px);
  margin:0;padding:0;font-size:11px;line-height:1.4;color:#111;
}
.km-contact-section .km-form__consent .wpcf7-form-control-wrap,
.km-contact-section .km-form__consent .wpcf7-acceptance,
.km-contact-section .km-form__consent .wpcf7-list-item{display:block;margin:0}
.km-contact-section .km-form__consent .wpcf7-list-item>label{
  display:grid;grid-template-columns:32px minmax(0,1fr);gap:16px;align-items:start;
  margin:0!important;min-height:40px;height:auto!important;
  cursor:pointer;color:#111;font-size:11px;line-height:1.4;
}
.km-contact-section .km-form__consent input[type=checkbox]{
  display:block!important;appearance:none!important;-webkit-appearance:none!important;
  width:32px!important;height:32px!important;box-sizing:border-box!important;
  margin:0!important;border:1.5px solid #a38b4b!important;
  border-radius:8px!important;background:transparent!important;
  cursor:pointer;position:relative!important;inset:auto!important;opacity:1!important;
  flex:none!important;pointer-events:auto!important;
}
.km-contact-section .km-form__consent input[type=checkbox]:checked{background:#a38b4b!important}
.km-contact-section .km-form__consent input[type=checkbox]:checked::after{
  content:"";display:block;position:absolute;left:10px;top:4px;width:8px;height:15px;
  border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg)
}
.km-contact-section .km-form__consent input[type=checkbox]:focus-visible{
  outline:3px solid #6a4533;outline-offset:3px
}
.km-contact-section .km-form__consent .wpcf7-list-item-label{font:inherit;line-height:inherit}
.km-contact-section .km-form__consent a{color:#6a4533;text-decoration:underline;text-underline-offset:2px;font-weight:700}
.km-contact-section .km-form__consent a:hover{color:#a38b4b}
.km-contact-section .km-form__bottom button.km-pill--form{cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}
.km-contact-section .km-form__bottom button.km-pill--form .km-pill__circle{transition:background-color .2s,transform .2s}
.km-contact-section .km-form__bottom button.km-pill--form .km-pill__arrow-text{font-size:26px;line-height:1;color:#fff;font-weight:400;display:block;transform:translateY(-2px)}
body.km-site-page .km-contact-section .km-form__bottom button.km-pill--form:hover,
body.km-site-page .km-contact-section .km-form__bottom button.km-pill--form:focus-visible{
  background:#6a4533!important;border-color:#6a4533!important;color:#fff!important
}
body.km-site-page .km-contact-section .km-form__bottom button.km-pill--form:hover >span:first-child,
body.km-site-page .km-contact-section .km-form__bottom button.km-pill--form:focus-visible >span:first-child{color:#fff!important}
.km-contact-section .km-form__bottom button.km-pill--form:hover .km-pill__circle{
  background:#a38b4b;transform:translateX(2px)
}
.km-contact-section .km-form__bottom button.km-pill--form:focus-visible{outline:3px solid #a38b4b;outline-offset:3px}
.km-contact-section .wpcf7-not-valid-tip{color:#a13228;font-size:12px;margin-top:3px;line-height:1.4}
.km-contact-section .km-form .wpcf7-not-valid{border-color:#a13228!important}
.km-contact-section .wpcf7-response-output{
  position:absolute;left:50%;transform:translateX(-50%);
  top:calc(100% + 12px);width:min(100%,650px);margin:0!important;padding:12px 16px!important;
  background:#fff;border-radius:7px;line-height:1.4;font-size:14px;text-align:center;z-index:3
}
.km-contact-section .wpcf7-form.submitting button{opacity:.7;pointer-events:none}
@media(min-width:1101px){
  .km-contact-section .km-form__bottom .km-form__consent{
    position:absolute;left:0;top:0;max-width:none;width:calc(100% - 235px)
  }
  .km-contact-section .km-form__consent .wpcf7-list-item>label{grid-template-columns:32px minmax(0,1fr)}
}
@media(min-width:1601px){
  .km-contact-section .km-form__bottom .km-form__consent{width:calc(100% - 245px)}
}
@media(max-width:1100px){
  .km-contact-section .km-form__bottom .km-form__consent{max-width:calc(100% - 185px)}
  .km-contact-section .km-form__consent .wpcf7-list-item>label{grid-template-columns:28px minmax(0,1fr);gap:12px}
  .km-contact-section .km-form__consent input[type=checkbox]{width:28px!important;height:28px!important}
}
@media(max-width:700px){
  .km-contact-section .km-form__bottom .km-form__consent{max-width:100%;width:100%}
  .km-contact-section .km-form__bottom{min-height:155px;height:auto}
  .km-contact-section .km-form__bottom button.km-pill--form{top:90px;left:0;right:auto}
  .km-contact-section .wpcf7-response-output{position:relative;inset:auto;transform:none;margin-top:18px!important}
}
/* Formularz K&M Invest – pozycja tekstu wiadomości */
body.km-site-page .km-contact-section .km-form textarea.wpcf7-textarea {
    padding-top: 16px !important;
}


/* K&M INVEST - nowy efekt hover przycisku formularza */

/* Plynna animacja */
body.km-site-page .km-contact-section
.km-form__bottom button.km-pill--form {
    transition: background-color .25s ease,
                border-color .25s ease,
                color .25s ease;
}

/* Hover - zlote tlo zamiast brazowego */
body.km-site-page .km-contact-section
.km-form__bottom button.km-pill--form:hover,
body.km-site-page .km-contact-section
.km-form__bottom button.km-pill--form:focus-visible {
    background: #A38B4B !important;
    border-color: #A38B4B !important;
    color: #FFFFFF !important;
}

/* Bialy tekst */
body.km-site-page .km-contact-section
.km-form__bottom button.km-pill--form:hover > span:first-child,
body.km-site-page .km-contact-section
.km-form__bottom button.km-pill--form:focus-visible > span:first-child {
    color: #FFFFFF !important;
}

/* Kolko zlewa sie z tlem - zostaje biala strzalka */
body.km-site-page .km-contact-section
.km-form__bottom button.km-pill--form:hover .km-pill__circle,
body.km-site-page .km-contact-section
.km-form__bottom button.km-pill--form:focus-visible .km-pill__circle {
    background: #A38B4B !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Strzalka zawsze biala */
body.km-site-page .km-contact-section
.km-form__bottom button.km-pill--form .km-pill__arrow-text {
    color: #FFFFFF !important;
}


/* K&M INVEST — subtelna walidacja formularza */

/* Fokus pól: złota linia zamiast niebieskiej ramki */
body.km-site-page .km-contact-section
.km-form__left input.wpcf7-form-control:focus {
    outline: none !important;
    box-shadow: none !important;
    border-bottom: 2px solid #A38B4B !important;
    background: transparent !important;
}

/* Subtelne oznaczenie błędnego pola */
body.km-site-page .km-contact-section
.km-form__left input.wpcf7-not-valid {
    border-bottom-color: #B89072 !important;
}

/* Komunikaty błędów pod polami */
body.km-site-page .km-contact-section
.km-form__left .wpcf7-not-valid-tip {
    display: block;
    color: #8C6454 !important;
    font-size: 11px !important;
    font-weight: 400;
    line-height: 1.4;
    margin-top: 4px;
}

/* Usunięcie niebieskiego tła autouzupełniania Chrome */
body.km-site-page .km-contact-section
.km-form__left input:-webkit-autofill,
body.km-site-page .km-contact-section
.km-form__left input:-webkit-autofill:hover,
body.km-site-page .km-contact-section
.km-form__left input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px #F8F5F1 inset !important;
    -webkit-text-fill-color: #111111 !important;
    caret-color: #111111;
}
/* K&M — wspólne zachowanie CF7 */

body.km-site-page .km-contact-section
.km-form__consent input[type="checkbox"] {
    box-shadow: none !important;
}

body.km-site-page .km-contact-section
.km-form__bottom button.km-pill--form {
    border-radius: 999px;
    font-weight: 700;
}

body.km-site-page .km-contact-section
.km-form__bottom button.km-pill--form
.km-pill__arrow-text {
    transition: transform .25s ease;
}

body.km-site-page .km-contact-section
.km-form__bottom button.km-pill--form:hover
.km-pill__arrow-text,
body.km-site-page .km-contact-section
.km-form__bottom button.km-pill--form:focus-visible
.km-pill__arrow-text {
    transform: translate(3px, -5px);
}

@media (prefers-reduced-motion: reduce) {
    body.km-site-page .km-contact-section
    .km-form__bottom button.km-pill--form
    .km-pill__arrow-text {
        transition: none;
    }
}

/* K&M — wspólna mobilna strzałka SVG w przycisku Wyślij, na każdej podstronie. */
@media (max-width: 767px) {
  body.km-site-page .km-contact-section .km-form__bottom button.km-pill--form .km-pill__arrow-text {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    overflow: hidden !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M3 15L15 3M6 3h9v9' stroke='%23FFFFFF' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    transform: none;
  }
  body.km-site-page .km-contact-section .km-form__bottom button.km-pill--form:hover .km-pill__arrow-text,
  body.km-site-page .km-contact-section .km-form__bottom button.km-pill--form:focus-visible .km-pill__arrow-text {
    transform: translate(2px, -2px);
  }
}

/* 20.10.2026 — iPhone Safari: nie powiększaj widoku po fokusie pola.
   iOS automatycznie zoomuje pola input/textarea z font-size poniżej 16 px.
   Nie blokujemy systemowego zoomu użytkownika ani gestu pinch-to-zoom. */
@media (max-width: 767px), (max-width: 932px) and (hover: none) and (pointer: coarse) {
  body.km-site-page .km-contact-section .km-form input[type="text"],
  body.km-site-page .km-contact-section .km-form input[type="email"],
  body.km-site-page .km-contact-section .km-form input[type="tel"],
  body.km-site-page .km-contact-section .km-form input[type="number"],
  body.km-site-page .km-contact-section .km-form input[type="url"],
  body.km-site-page .km-contact-section .km-form select,
  body.km-site-page .km-contact-section .km-form textarea {
    box-sizing: border-box !important;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    font-size: 16px !important;
  }
}
