/* Formularz — style */

.contact .form-wrapper{
  margin-top: 20px;
  display: grid;
  place-items: center;
}

.contact-form{
  width: min(92vw, 560px);
  display: flex;
  flex-direction: column;
  gap: 22px;
  font-family: 'Poppins', system-ui, sans-serif;
}

.contact-form label{
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #fff;
}

.contact-form input,
.contact-form textarea{
  padding: 10px 14px;
  background: #000;
  border: 2px solid #fff;
  color: #fff;
  font-size: 15px;
  outline: none;
  transform: none;
  box-shadow: -3px 3px 0 var(--blue);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease, color .2s ease;
}

.contact-form input:not(:placeholder-shown),
.contact-form textarea:not(:placeholder-shown){
  background: #fff;
  color: #000;
}

.contact-form label.message textarea{ min-height: 160px; }

.contact-form input:focus,
.contact-form textarea:focus{
  transform: none scale(1.02);
  border-color: var(--blue);
  box-shadow: -5px 5px 0 var(--blue);
}

.btn-send{
  align-self: flex-start;
  padding: 10px 20px;
  border: 2px solid var(--blue);
  background: transparent;
  color: var(--blue);
  font-weight: 800;
  letter-spacing: .06em;
  cursor: pointer;
  transform: none;
  transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}
.btn-send:hover{
  background: var(--blue);
  color: #000;
  transform: none scale(1.05);
  box-shadow: -6px 6px 0 rgba(79,163,255,.5);
}

.form-note{
  margin-top: 14px;
  font-size: 13px;
  opacity: .85;
}
.form-note a{ color:#4FA3FF; text-decoration: underline; text-decoration-color: var(--blue); }

@media (max-width: 520px){
  .contact-form{ gap: 18px; }
  .btn-send{ padding: 9px 16px; }
}


/* ==== PATCH: dynamiczne wypełnienie + feedback ==== */
/* --- KONTAKT: Kolorowanie pól zależne od wpisania treści --- */
.contact-form input,
.contact-form textarea{
  padding: 10px 14px;
  background: #000;
  color: #fff;
  border: 2px solid #fff;
  font-size: 15px;
  outline: none;
  transform: none;
  box-shadow: -3px 3px 0 var(--blue);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background-color .15s ease, color .15s ease;
  border-radius: 0 !important;
  -webkit-appearance: none;
  appearance: none;
}
/* biało gdy coś wpisano */
.contact-form input.has-value,
.contact-form textarea.has-value,
.contact-form input:not(:placeholder-shown),
.contact-form textarea:not(:placeholder-shown){
  background: #fff;
  color: #000;
  border-color: #fff;
  box-shadow: -3px 3px 0 var(--blue);
}
/* focus (zachowujemy biel, jeżeli wpisane) */
.contact-form input:focus,
.contact-form textarea:focus{
  transform: none scale(1.02);
  box-shadow: -5px 5px 0 var(--blue);
  border-color: var(--blue);
}

/* Przycisk zawsze 'Wyślij' i w pełni klikalny */
.btn-send{
  align-self: flex-start;
  padding: 10px 20px;
  border: 2px solid var(--blue);
  background: transparent;
  color: var(--blue);
  font-weight: 800;
  letter-spacing: .06em;
  cursor: pointer;
  transform: none;
  transition: transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
  border-radius: 0 !important;
  -webkit-appearance: none;
  appearance: none;
}
.btn-send:hover{
  background: var(--blue);
  color: #000;
  transform: none scale(1.05);
  box-shadow: -6px 6px 0 rgba(79,163,255,.5);
}

/* Subtelny komunikat */
.form-feedback{
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.4;
  opacity: .92;
}
.form-feedback[data-state="success"]{ color: #4FA3FF; }
.form-feedback[data-state="error"]{ color: #ffb3b3; }

/* iOS / Android obl e rogi: OFF */
.contact-form input,
.contact-form textarea,
.contact-form button{ border-radius:0 !important; -webkit-border-radius:0 !important; }



/* Wizytówki kontaktowe */
.contact-layout{
  margin-top:40px;
  display:flex;
  gap:48px;
  align-items:flex-start;
  justify-content:center;
}

.contact-cards{
  margin-top:80px;
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}

.contact-card{
  border:2px solid #fff;
  box-shadow:-3px 3px 0 var(--blue);
  padding:18px 20px;
  background:#000;
}

.contact-card h2{
  margin:0 0 4px;
  font-size:16px;
}

.contact-role{
  margin:0 0 10px;
  font-size:13px;
  opacity:.85;
}

.contact-card p{
  margin:2px 0;
  font-size:13px;
}

.contact-card a{
  color:#4FA3FF;
  text-decoration:none;
}

.contact-card a:hover{
  text-decoration:underline;
  text-decoration-color:#4FA3FF;
}

/* Responsywność */
@media (max-width:800px){
  .contact-layout{
    flex-direction:column-reverse;
    align-items:stretch;
  }
  .contact-layout .form-wrapper{
    width:100%;
  }
  .contact-cards{
  margin-top:80px;
    grid-template-columns:1fr;
  }
}


/* Social links under contact */
.contact-social{
  margin-top:40px;
  display:flex;
  justify-content:center;
  gap:24px;
}

.soc{
  width:38px;
  height:38px;
  border:2px solid #fff;
  box-shadow:-3px 3px 0 var(--blue);
  background:#000;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}

/* Facebook - simple F mark */
.soc-fb::before{
  content:"f";
  font-family:'Poppins', system-ui, sans-serif;
  font-weight:800;
  font-size:20px;
  line-height:1;
  color:#fff;
}

/* Vimeo - stylised v */


/* Instagram - camera outline */



/* Hover effect */
.soc:hover{
  box-shadow:-6px 6px 0 rgba(79,163,255,.6);
}

.soc img{
  width:22px;
  height:22px;
  display:block;
}
