/* FORMULARZE – wspólne dla zapisy.html i kontakt.html */
.page-hero { padding: 56px 0 48px; border-bottom: 1px solid var(--gray-200); }
.page-hero h1 { font-size: clamp(28px, 4vw, 40px); color: var(--gray-900); margin-bottom: 10px; }
.page-hero p  { font-size: 17px; color: var(--gray-600); }
.navbar-links a.active { color: var(--teal); font-weight: 600; }

/* LAYOUT ZAPISY */
.form-layout {
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 48px;
  align-items: start;
}

.form-card {
  background: #fff;
  border: 1px solid var(--gray-200);
  border-radius: 16px;
  padding: 36px;
}

.form-card h2 { font-size: 22px; color: var(--gray-900); margin-bottom: 12px; }

.form-intro {
  font-size: 14px;
  color: var(--gray-600);
  line-height: 1.7;
  margin-bottom: 16px;
}

.form-remind {
  list-style: disc;
  padding-left: 18px;
  margin-bottom: 28px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.form-remind li { font-size: 13px; color: var(--gray-600); line-height: 1.5; }

/* FORMULARZ */
.signup-form { display: flex; flex-direction: column; gap: 18px; }

.form-group { display: flex; flex-direction: column; gap: 6px; }
.form-group label { font-size: 13px; font-weight: 600; color: var(--gray-900); }

.form-group input,
.form-group select,
.form-group textarea {
  padding: 10px 14px;
  border: 1px solid var(--gray-200);
  border-radius: 8px;
  font-size: 14px;
  font-family: inherit;
  color: var(--gray-900);
  background: #fff;
  transition: border-color 0.15s;
  outline: none;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: var(--teal);
  box-shadow: 0 0 0 3px rgba(13,148,136,0.1);
}

.form-group textarea { resize: vertical; min-height: 100px; }

.form-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.form-check input { margin-top: 3px; width: 16px; height: 16px; accent-color: var(--teal); flex-shrink: 0; }
.form-check label { font-size: 13px; color: var(--gray-600); line-height: 1.5; }

.form-submit { align-self: flex-start; padding: 12px 32px; }

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

/* ASIDE */
.aside-card {
  background: var(--gray-50);
  border: 1px solid var(--gray-200);
  border-radius: 12px;
  padding: 22px;
  margin-bottom: 16px;
}

.aside-icon { font-size: 24px; margin-bottom: 10px; }
.aside-card h3 { font-size: 15px; color: var(--gray-900); margin-bottom: 6px; }
.aside-card p  { font-size: 13px; color: var(--gray-600); line-height: 1.6; }

.aside-phone {
  display: inline-block;
  font-size: 20px;
  font-weight: 700;
  color: var(--teal);
  margin-top: 8px;
}

.aside-hours { font-size: 13px; color: var(--gray-400); margin-top: 6px; }

.aside-steps {
  list-style: decimal;
  padding-left: 18px;
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.aside-steps li { font-size: 13px; color: var(--gray-600); line-height: 1.5; }

@media (max-width: 900px) {
  .form-layout { grid-template-columns: 1fr; gap: 24px; }
  .form-layout > * { min-width: 0; }
  .form-row { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .form-card { padding: 20px; }
  .form-group input,
  .form-group select,
  .form-group textarea { font-size: 16px; } /* zapobiega zoom na iOS */
}
