/* form-conditional-1 — 条件分岐フォーム */

.demo-container {
  flex-direction: column;
  align-items: stretch;
  padding: 24px;
}

.cond-pattern {
  max-width: 520px;
  margin: 0 auto 32px;
  width: 100%;
}

.cond-pattern:last-child {
  margin-bottom: 0;
}

.cond-pattern-label {
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 700;
  color: #2B7FE8;
  letter-spacing: 0.02em;
}

.cond-form {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 20px;
}

.cond-question {
  font-weight: 600;
  margin: 0 0 12px;
}

.cond-radio-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
}

.cond-radio-label,
.cond-checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

/* hidden属性はブラウザ標準で display: none になるが、
   フォームコントロールの一部ブラウザ実装差を避けるため明示しておく */
.cond-textarea[hidden],
.cond-billing-block[hidden] {
  display: none;
}

.cond-textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1.5px solid #d0d7e0;
  border-radius: 6px;
  font-family: sans-serif;
  font-size: 14px;
  resize: vertical;
  margin-bottom: 12px;
}

.cond-textarea:disabled,
.cond-input:disabled {
  background: #f4f6f9;
  color: #9aa5b4;
}

.cond-billing-block {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
}

.cond-input {
  padding: 10px 12px;
  border: 1.5px solid #d0d7e0;
  border-radius: 6px;
  font-family: sans-serif;
  font-size: 14px;
  width: 100%;
}

.cond-checkbox-label {
  margin-bottom: 12px;
}

.cond-controls {
  display: flex;
  gap: 8px;
}

.cond-submit-btn {
  padding: 8px 24px;
  background: #2B7FE8;
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  font-family: sans-serif;
  transition: background 0.15s;
}

.cond-submit-btn:hover {
  background: #1A6ED4;
}

.cond-result {
  margin-top: 12px;
  font-size: 14px;
  min-height: 1em;
}

.cond-result.has-value {
  border: 1px solid #d0d7e0;
  border-radius: 6px;
  padding: 12px;
  background: #fafbfc;
}

/* リセットボタン（.demo-controls / .reset-btn は global.css / example.css に定義がないため必ずここに書く） */
.demo-controls {
  margin-top: 12px;
}

.reset-btn {
  padding: 6px 16px;
  font-size: 13px;
  color: #5A6A7A;
  background: #fff;
  border: 1.5px solid #D0D7E0;
  border-radius: 6px;
  cursor: pointer;
  font-family: sans-serif;
  transition: background 0.15s, border-color 0.15s;
}

.reset-btn:hover {
  background: #F4F6F9;
  border-color: #9AA5B4;
}

@media (max-width: 480px) {
  .cond-form {
    padding: 16px;
  }
}
