/* Dryomal Consultations — front-end styles.
   Scoped to .dry- classes so it won't fight with the active theme. */

.dry-wrap { --dry-teal: #0f5257; --dry-teal-deep: #0b3c40; --dry-line: #d8ddd6; --dry-muted: #5c6b67; --dry-danger: #b3412c; --dry-ok: #2f7a4f; max-width: 1080px; margin: 0 auto; }

.dry-wrap * { box-sizing: border-box; }

.dry-btn { display: inline-block; padding: 10px 18px; border-radius: 4px; text-decoration: none; font-weight: 600; font-size: 0.92rem; border: 1px solid transparent; cursor: pointer; }
.dry-btn-primary { background: var(--dry-teal); color: #fff !important; }
.dry-btn-primary:hover { background: var(--dry-teal-deep); color: #fff; }
.dry-btn-ghost { background: transparent; border-color: var(--dry-line); color: inherit; }
.dry-btn-sm { padding: 6px 12px; font-size: 0.82rem; }
.dry-btn-block { display: block; width: 100%; text-align: center; }

.dry-search-row { display: flex; gap: 8px; max-width: 460px; margin-bottom: 26px; }
.dry-search-row input[type=text] { flex: 1; padding: 10px 12px; border: 1px solid var(--dry-line); border-radius: 4px; }

.dry-doctor-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1px; background: var(--dry-line); border: 1px solid var(--dry-line); }
.dry-doctor-card { background: #fff; padding: 20px; display: flex; flex-direction: column; gap: 6px; }
.dry-doctor-photo img { width: 100%; height: 160px; object-fit: cover; border-radius: 4px; margin-bottom: 6px; }
.dry-doctor-name { margin: 0; font-size: 1.1rem; }
.dry-specialty { color: var(--dry-teal); font-size: 0.82rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; }
.dry-doctor-bio { color: var(--dry-muted); font-size: 0.92rem; flex: 1; }
.dry-fee { font-weight: 700; }
.dry-empty { color: var(--dry-muted); padding: 20px 0; }

.dry-doctor-detail { display: grid; grid-template-columns: 1.1fr 1fr; gap: 36px; align-items: start; }
.dry-form-card { background: #fff; border: 1px solid var(--dry-line); border-radius: 4px; padding: 24px; }
.dry-field { margin-bottom: 16px; }
.dry-field label { display: block; font-weight: 600; font-size: 0.85rem; margin-bottom: 6px; }
.dry-field input, .dry-field textarea, .dry-field select { width: 100%; padding: 9px 11px; border: 1px solid var(--dry-line); border-radius: 4px; font-size: 1rem; }
.dry-field textarea { min-height: 90px; }
.dry-hint { font-size: 0.85rem; color: var(--dry-muted); }

.dry-slot-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(78px, 1fr)); gap: 8px; }
.dry-slot-grid input { position: absolute; opacity: 0; pointer-events: none; }
.dry-slot-grid label { text-align: center; padding: 9px 4px; border: 1px solid var(--dry-line); border-radius: 4px; cursor: pointer; font-size: 0.88rem; margin: 0; }
.dry-slot-grid input:checked + label { background: var(--dry-teal); border-color: var(--dry-teal); color: #fff; }

.dry-type-row { display: flex; gap: 10px; flex-wrap: wrap; }
.dry-type-option { display: flex; align-items: center; gap: 8px; border: 1px solid var(--dry-line); border-radius: 4px; padding: 10px 14px; cursor: pointer; font-weight: 500; font-size: 0.92rem; flex: 1; min-width: 160px; }
.dry-type-option:has(input:checked) { border-color: var(--dry-teal); background: #eef6f6; }
.dry-type-option input { width: auto; }

.dry-table-wrap { border: 1px solid var(--dry-line); border-radius: 4px; overflow-x: auto; }
.dry-table { width: 100%; border-collapse: collapse; background: #fff; }
.dry-table th, .dry-table td { text-align: left; padding: 11px 12px; border-bottom: 1px solid var(--dry-line); font-size: 0.9rem; }
.dry-table th { font-size: 0.75rem; color: var(--dry-muted); text-transform: uppercase; letter-spacing: 0.03em; }

.dry-badge { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 0.7rem; font-weight: 700; }
.dry-badge-pending_payment { background: #fbe9d0; color: #8a5a13; }
.dry-badge-confirmed { background: #d8ecec; color: var(--dry-teal-deep); }
.dry-badge-completed { background: #d9ecdf; color: var(--dry-ok); }
.dry-badge-cancelled { background: #f3d9d3; color: var(--dry-danger); }

.dry-stat-row { display: flex; gap: 1px; background: var(--dry-line); border: 1px solid var(--dry-line); margin-bottom: 26px; }
.dry-stat { flex: 1; background: #fff; padding: 16px 18px; }
.dry-stat-num { display: block; font-size: 1.6rem; font-weight: 700; }
.dry-stat-label { color: var(--dry-muted); font-size: 0.82rem; }

.dry-flash { padding: 12px 16px; border-radius: 4px; margin-bottom: 18px; font-size: 0.92rem; }
.dry-flash-success { background: #d9ecdf; color: var(--dry-ok); }
.dry-flash-error { background: #f3d9d3; color: var(--dry-danger); }

@media (max-width: 640px) {
  .dry-doctor-detail { grid-template-columns: 1fr; }
}
