/* Age Calculator – UI Styles (responsive + accessible) */

.ac-wrap { display: flex; justify-content: center; margin: 24px 0; }
.ac-card {
  width: 100%;
  max-width: 720px;
  background: linear-gradient(135deg, #ffffff 0%, #f7fafc 100%);
  border-radius: 20px;
  box-shadow: 0 10px 25px rgba(0,0,0,.08);
  padding: 20px;
}

.ac-header {
  display: flex; align-items: center; gap: 10px; margin-bottom: 12px;
}
.ac-header i { font-size: 22px; color: #ff6a3d; }
.ac-header h3 { margin: 0; font-weight: 700; font-size: 20px; }
.ac-version { margin-left: auto; font-size: 12px; color: #718096; }

.ac-row { margin-top: 14px; }
.ac-label { display: flex; align-items: center; gap: 8px; font-weight: 600; margin-bottom: 8px; color: #2d3748; }
.ac-label i { color: #4a5568; }

.ac-input-group {
  display: grid; grid-template-columns: 1fr 180px; gap: 10px;
}
@media (max-width: 600px) {
  .ac-input-group { grid-template-columns: 1fr; }
}

.ac-input, .ac-decade, .ac-btn {
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  padding: 12px 14px;
  font-size: 15px;
  outline: none;
}
.ac-input:focus, .ac-decade:focus { border-color: #667eea; box-shadow: 0 0 0 4px rgba(102,126,234,.15); }

.ac-decade { background: #fff; }

.ac-actions {
  display: flex; align-items: center; gap: 12px; margin: 16px 0 8px;
}
.ac-btn {
  display: inline-flex; align-items: center; gap: 8px;
  background: #4f46e5; color: #fff; cursor: pointer; font-weight: 600;
  transition: transform .05s ease, box-shadow .2s ease;
  border: none;
}
.ac-btn:hover { box-shadow: 0 8px 18px rgba(79,70,229,.35); }
.ac-btn:active { transform: translateY(1px); }
.ac-btn.is-loading { opacity: .75; cursor: not-allowed; }

.ac-spinner {
  width: 22px; height: 22px; border: 3px solid #e2e8f0; border-top-color: #4f46e5;
  border-radius: 50%; animation: acspin 1s linear infinite; display: none;
}
.ac-spinner.show { display: inline-block; }
@keyframes acspin { to { transform: rotate(360deg); } }

.ac-result {
  margin-top: 8px;
  background: #ffffff;
  border: 1px dashed #e2e8f0;
  border-radius: 14px;
  padding: 14px;
  color: #1a202c;
}
.ac-result .ac-muted { color: #718096; display: flex; gap: 8px; align-items: center; }

.ac-line { font-size: 16px; display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.ac-line i { color: #0ea5e9; }
.ac-line span { font-weight: 600; margin-right: 4px; }
.ac-line strong { font-weight: 800; }

.ac-error {
  color: #b91c1c;
  background: #fff5f5;
  border: 1px solid #fecaca;
  padding: 10px 12px;
  border-radius: 12px;
  display: flex; gap: 8px; align-items: center;
}

.ac-footer { margin-top: 8px; color: #718096; }
