/**
 * cf7-forms.css
 * Style dla formularzy CF7 — formularz dodawania zlotu.
 */

/* ── Grid ── */
.gnz-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.1rem;
}
@media (max-width: 600px) {
  .gnz-form-grid { grid-template-columns: 1fr; }
  .gnz-col-half  { grid-column: span 1; }
}

.gnz-field      { display: flex; flex-direction: column; gap: 0.35rem; }
.gnz-col-full   { grid-column: span 2; }
.gnz-col-half   { grid-column: span 1; }

/* ── Labels ── */
.gnz-field label {
  font-size: 0.75rem;
  font-weight: 500;
  color: rgba(255,255,255,0.45);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.gnz-req         { color: #e84118; }
.gnz-hint        { font-size: 0.72rem; color: rgba(255,255,255,0.28); font-weight: 300;
                   text-transform: none; letter-spacing: 0; line-height: 1.5; }
.gnz-hint-inline { font-size: 0.72rem; color: rgba(255,255,255,0.28); font-weight: 300;
                   text-transform: none; letter-spacing: 0; }

/* ── Inputs / textarea / select / date ── */
.gnz-form-grid input[type="text"],
.gnz-form-grid input[type="email"],
.gnz-form-grid input[type="url"],
.gnz-form-grid input[type="date"],
.gnz-form-grid select,
.gnz-form-grid textarea {
  width: 100%;
  box-sizing: border-box;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.11);
  border-radius: 6px;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 300;
  padding: 0.65rem 0.875rem;
  outline: none;
  transition: border-color 0.18s, background 0.18s;
  font-family: inherit;
  -webkit-appearance: none;
  appearance: none;
}
.gnz-form-grid input[type="date"] { color-scheme: dark; }

.gnz-form-grid input[type="text"]:focus,
.gnz-form-grid input[type="email"]:focus,
.gnz-form-grid input[type="url"]:focus,
.gnz-form-grid input[type="date"]:focus,
.gnz-form-grid select:focus,
.gnz-form-grid textarea:focus {
  border-color: rgba(255,255,255,0.28);
  background: rgba(255,255,255,0.07);
}

/* ── Select arrow ── */
.gnz-form-grid select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='rgba(255,255,255,0.35)' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14L2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.875rem center;
  padding-right: 2.5rem;
  cursor: pointer;
}
.gnz-form-grid select option { background: #1a1a1a; color: #fff; }

.gnz-form-grid textarea { resize: vertical; min-height: 95px; }
.gnz-form-grid ::placeholder { color: rgba(255,255,255,0.2); }

/* ── Span wrapper CF7 generuje wokół pól ── */
.gnz-form-grid .wpcf7-form-control-wrap { display: block; width: 100%; }

/* ── File upload ── */
.gnz-form-grid input[type="file"] {
  width: 100%;
  box-sizing: border-box;
  background: rgba(255,255,255,0.03);
  border: 1px dashed rgba(255,255,255,0.14);
  border-radius: 6px;
  color: rgba(255,255,255,0.45);
  font-size: 0.8rem;
  padding: 0.75rem 0.875rem;
  cursor: pointer;
  font-family: inherit;
  transition: border-color 0.18s;
}
.gnz-form-grid input[type="file"]:hover { border-color: rgba(255,255,255,0.28); }

/* ── Checkbox zgoda ── */
.gnz-checkbox-field { margin-top: 0.25rem; }
.gnz-checkbox-field .wpcf7-acceptance { display: flex; align-items: flex-start; gap: 0.65rem; }
.gnz-checkbox-field .wpcf7-acceptance input[type="checkbox"] {
  width: 16px; height: 16px; flex-shrink: 0; margin-top: 3px;
  accent-color: #e84118; cursor: pointer;
}
.gnz-checkbox-field .wpcf7-list-item { margin: 0; }
.gnz-checkbox-field .wpcf7-list-item-label {
  font-size: 0.78rem;
  color: rgba(255,255,255,0.38);
  font-weight: 300;
  line-height: 1.6;
}
.gnz-checkbox-field .wpcf7-list-item-label a {
  color: rgba(255,255,255,0.6);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.gnz-checkbox-field .wpcf7-list-item-label a:hover { color: #fff; }

/* ── Submit ── */
.gnz-form-grid + [type="submit"],
.wpcf7-form [type="submit"] {
  margin-top: 0.5rem;
  background: #e84118;
  color: #fff;
  border: none;
  border-radius: 7px;
  padding: 0.75rem 2rem;
  font-size: 0.9rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.18s;
  font-family: inherit;
  letter-spacing: 0.01em;
}
.wpcf7-form [type="submit"]:hover { background: #c73610; }

/* ── Walidacja ── */
.gnz-form-grid .wpcf7-not-valid {
  border-color: rgba(232,65,24,0.5) !important;
}
.gnz-form-grid .wpcf7-not-valid-tip {
  color: #fca5a5;
  font-size: 0.72rem;
  margin-top: 0.25rem;
  display: block;
}
.wpcf7-acceptance-error {
  color: #fca5a5;
  font-size: 0.72rem;
  margin-top: 0.2rem;
  display: block;
}

/* ── Status messages ── */
.wpcf7-response-output {
  margin-top: 1rem !important;
  border-radius: 6px !important;
  font-size: 0.82rem !important;
  padding: 0.65rem 0.875rem !important;
  border: 1px solid !important;
}
.wpcf7-mail-sent-ok {
  background: rgba(34,197,94,0.08) !important;
  border-color: rgba(34,197,94,0.3) !important;
  color: #86efac !important;
}
.wpcf7-validation-errors,
.wpcf7-mail-sent-ng,
.wpcf7-spam-blocked {
  background: rgba(232,65,24,0.08) !important;
  border-color: rgba(232,65,24,0.3) !important;
  color: #fca5a5 !important;
}

/* ── Label zawiera tag CF7 — input/textarea jako blok pod labelem ── */
.gnz-field label { flex-direction: column; gap: 0.35rem; cursor: default; }
.gnz-field label br { display: none; }
.gnz-field label .wpcf7-form-control-wrap,
.gnz-field label input,
.gnz-field label select,
.gnz-field label textarea { margin-top: 0; }

/* ── Ukryj domyślną gwiazdkę CF7 (pojawia się jako osobny element przed inputem) ── */
.gnz-form-grid .wpcf7-form-control-wrap::before { display: none !important; }
.gnz-form-grid abbr[title="required"] { display: none !important; }

/* ── Label: tekst + gwiazdka w jednej linii ── */
.gnz-field label {
  gap: 0.3rem;
  flex-wrap: wrap;
}
.gnz-field label .gnz-req {
  color: #e84118;
  font-size: 0.75rem;
  line-height: 1;
}

/* ── Gwiazdka CF7 generowana automatycznie — ukryj ── */
.gnz-form-grid .wpcf7-form-control-wrap > .wpcf7-not-valid-tip { margin-top: 0.25rem; }
.gnz-form-grid span.wpcf7-form-control-wrap[data-name]::before,
.gnz-form-grid .wpcf7-validates-as-required ~ .wpcf7-form-control-wrap::before { display: none; }

/* CF7 wstawia gwiazdkę jako bezpośrednie dziecko .wpcf7-form — ukryj każdy surowy tekst-węzeł "*" przez pseudo */
.gnz-form-grid .wpcf7-form-control-wrap { display: block; }
