/* Amita Appointments - Frontend */
.aa-wrap { max-width: 660px; margin: 0 auto; font-family: Arial, sans-serif; }
.aa-header { text-align: center; margin-bottom: 24px; }
.aa-header h2 { font-size: 26px; color: #2c3e50; margin-bottom: 6px; }
.aa-header p  { color: #6b7280; font-size: 15px; }
.aa-body { background: #fff; border-radius: 12px; padding: 32px; box-shadow: 0 4px 20px rgba(0,0,0,.08); border: 1px solid #e5e7eb; }

.aa-row  { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 580px) { .aa-row { grid-template-columns: 1fr; } .aa-body { padding: 18px; } }

.aa-group       { margin-bottom: 18px; }
.aa-group label { display: block; font-weight: 700; font-size: 13px; color: #374151; margin-bottom: 5px; }
.aa-req         { color: #ef4444; }

.aa-group input,
.aa-group select,
.aa-group textarea {
  width: 100%; padding: 10px 13px; border: 2px solid #e0e6ed;
  border-radius: 7px; font-size: 14px; color: #111827;
  box-sizing: border-box; transition: border-color .2s;
}
.aa-group input:focus,
.aa-group select:focus,
.aa-group textarea:focus { border-color: #7c3aed; outline: none; box-shadow: 0 0 0 3px rgba(124,58,237,.1); }

/* Time slots */
#aa-slots-wrap { margin-bottom: 18px; }
#aa-slots-wrap label { display: block; font-weight: 700; font-size: 13px; color: #374151; margin-bottom: 8px; }
#aa-slots { display: flex; flex-wrap: wrap; gap: 9px; }

.aa-slot { padding: 7px 15px; border: 2px solid #e0e6ed; border-radius: 7px; cursor: pointer; font-size: 13px; font-weight: 600; color: #374151; background: #fff; transition: all .15s; user-select: none; }
.aa-slot:hover { border-color: #7c3aed; color: #7c3aed; }
.aa-slot.chosen { background: #7c3aed; border-color: #7c3aed; color: #fff; }
.aa-slot.taken  { opacity: .4; cursor: not-allowed; text-decoration: line-through; }

.aa-loading { color: #888; font-style: italic; font-size: 14px; }
.aa-empty   { color: #ef4444; font-size: 13px; background: #fef2f2; padding: 10px 14px; border-radius: 7px; }

/* Submit */
#aa-btn { width: 100%; padding: 13px; background: #7c3aed; color: #fff; border: none; border-radius: 8px; font-size: 16px; font-weight: 700; cursor: pointer; margin-top: 4px; transition: background .2s; }
#aa-btn:hover    { background: #6d28d9; }
#aa-btn:disabled { background: #a78bfa; cursor: not-allowed; }

/* Messages */
#aa-msg { margin-top: 16px; }
.aa-ok  { background: #ecfdf5; color: #065f46; border: 1px solid #6ee7b7; padding: 14px 16px; border-radius: 8px; font-size: 14px; line-height: 1.5; }
.aa-err { background: #fef2f2; color: #991b1b; border: 1px solid #fca5a5; padding: 14px 16px; border-radius: 8px; font-size: 14px; }
