/* file: assets/css/form-theme.css */
.alt-form{
  font-family: var(--alt-font-family);
  max-width: var(--alt-form-max-width);
  margin-left: auto; margin-right: auto;
}
.alt-form[data-align="left"]{ margin-left: 0; }
.alt-form[data-align="right"]{ margin-right: 0; }

.alt-form .alt-card, .alt-form.alt-card{
  background: var(--alt-color-card);
  border: 1px solid var(--alt-color-border);
  border-radius: var(--alt-card-radius);
  box-shadow: var(--alt-card-shadow);
  padding: 24px;
}

.alt-form .alt-title{
  font-size: var(--alt-fs-title);
  font-weight: var(--alt-fw-headings);
  color: var(--alt-color-text);
  margin: 0 0 12px;
}

.alt-form .alt-section-title{
  font-size: var(--alt-fs-section);
  font-weight: var(--alt-fw-headings);
  margin: var(--alt-section-spacing) 0 8px;
}

.alt-form .alt-field{ margin-top: 14px; }

.alt-form label{
  font-size: var(--alt-fs-label);
  color: var(--alt-color-text);
  display:block; margin-bottom: 6px;
}
.alt-form .alt-help{
  font-size: var(--alt-fs-help);
  color: var(--alt-color-text-muted);
}

.alt-form input[type="text"],
.alt-form input[type="email"],
.alt-form select,
.alt-form textarea{
  width: 100%;
  height: var(--alt-in-height);
  padding: 0 var(--alt-in-pad-h);
  background: var(--alt-color-input);
  color: var(--alt-color-text);
  border: var(--alt-in-border-w) var(--alt-in-border-style) var(--alt-color-border);
  border-radius: var(--alt-in-radius);
  transition: box-shadow var(--alt-anim-duration) var(--alt-anim-ease), border-color var(--alt-anim-duration) var(--alt-anim-ease), transform var(--alt-anim-duration) var(--alt-anim-ease);
}

.alt-form input:focus,
.alt-form select:focus,
.alt-form textarea:focus{
  outline: none;
  border-color: var(--alt-color-focus);
  box-shadow: 0 0 0 3px rgba(62,214,211,0.25);
  transform: translateZ(0);
}

.alt-form .alt-button{
  display:inline-flex; align-items:center; justify-content:center;
  padding: var(--alt-btn-pad-v) var(--alt-btn-pad-h);
  border-radius: var(--alt-btn-radius);
  border: 1px solid var(--alt-btn-border);
  background: var(--alt-btn-bg);
  color: var(--alt-btn-text);
  font-weight: var(--alt-fw-button);
  font-size: var(--alt-fs-button);
  box-shadow: var(--alt-btn-shadow);
  transition: all var(--alt-btn-transition) var(--alt-anim-ease);
  cursor: pointer;
}
.alt-form .alt-button:hover{
  background: var(--alt-btn-bg-hover);
  color: var(--alt-btn-text-hover);
  border-color: var(--alt-btn-border-hover);
}

/* Two-column layout */
@media (min-width: 768px) {
  .alt-form[data-layout="two-col"] .alt-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
  }
}

/* Multi-step progress bar */
.alt-form .alt-progress-bar{
  height: var(--alt-progress-thickness);
  background: var(--alt-color-border);
  border-radius: 999px; overflow: hidden; margin-bottom: 16px;
}
.alt-form .alt-progress-bar > span{
  display:block; height: 100%; background: var(--alt-color-primary); width: var(--alt-progress-pct, 0%);
  transition: width var(--alt-anim-duration) var(--alt-anim-ease);
}

/* Dividers */
.alt-form[data-divider="line"] .alt-section{ border-top:1px solid var(--alt-color-border); padding-top:16px; margin-top:16px; }
.alt-form[data-divider="soft"] .alt-section{ box-shadow: inset 0 1px 0 var(--alt-color-border); padding-top:16px; margin-top:16px; }

/* High contrast */
.alt-form[data-high-contrast="1"]{
  --alt-color-border:#000;
  --alt-color-text:#000;
  --alt-color_text_muted:#111;
}


/* Text styling options */
.alt-form{
  --alt-text-align: left;
  --alt-label-transform: none;
  --alt-placeholder-opacity: 0.6;
}

.alt-form .algt-label{ text-transform: var(--alt-label-transform); text-align: var(--alt-text-align); }
.alt-form input::placeholder, .alt-form textarea::placeholder{ opacity: var(--alt-placeholder-opacity); }
.alt-form .algt-options label{ margin-right: 16px; }
.alt-form .alt-button.alt-button--ghost{ background: transparent; border-style: dashed; }


/* TYPOGRAPHY EXTENSIONS */
.alt-form .alt-title,
.alt-form h1, .alt-form h2, .alt-form h3, .alt-form h4, .alt-form h5 {
  font-family: var(--alt-font-heading);
}

.alt-form .alt-button {
  font-family: var(--alt-font-button);
}

/* LAYOUTS */
.alt-form[data-layout="two"] .alt-section.alt-field{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
@media (max-width: 640px){
  .alt-form[data-layout="two"] .alt-section.alt-field{
    grid-template-columns: 1fr;
  }
}
.alt-form[data-layout="multi"] .alt-section.alt-field{ display:none; }
.alt-form[data-layout="multi"] .alt-section.alt-field[data-step="1"]{ display:block; }

/* Typography hooks */
.alt-form { font-family: var(--alt-font-family), system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
.alt-form .alt-title, .alt-form h1, .alt-form h2, .alt-form h3 { font-family: var(--alt-font-heading), inherit; }
.alt-form .alt-button { font-family: var(--alt-font-button), inherit; }

/* Email capture */
.alt-form .alt-email-wrap{ margin:16px 0; }
.alt-form .alt-email-label{ display:block; font-weight:600; margin:0 0 6px; }
.alt-form .alt-email{ width:100%; padding:10px 12px; border:1px solid var(--alt-color-border); border-radius:8px; font:inherit; }

/* Status backgrounds */
.alt-form .alt-status{ padding:12px 14px; border-radius:10px; margin:12px 0; font-weight:600; }
.alt-form .alt-status--red{ background:#fee2e2; color:#991b1b; }
.alt-form .alt-status--green{ background:#dcfce7; color:#065f46; }
.alt-form .alt-status--orange{ background:#ffedd5; color:#9a3412; }

/* ALGT_STATUS_BG */
.alt-form .alt-status{ padding:12px 14px; border-radius:10px; margin:12px 0; font-weight:600; }
.alt-form .alt-status--green{ background:#dcfce7; color:#065f46; }
.alt-form .alt-status--amber{ background:#ffedd5; color:#9a3412; }
.alt-form .alt-status--red{ background:#fee2e2; color:#991b1b; }
/* Two columns & multi-step */
.alt-form[data-layout="two"] .alt-section.alt-field{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:640px){ .alt-form[data-layout="two"] .alt-section.alt-field{ grid-template-columns:1fr; } }
