/* Clinic Appointments – styles */
:root{ --cah-primary:#004D61; --cah-accent:#006B3C; }
.cah-booking-wrap, .cah-form, .wrap { font-family: Vazirmatn, vazirmatn, IRANSans, tahoma, sans-serif; }
.cah-booking-wrap h1, .cah-booking-wrap h2, .cah-booking-wrap h3, .wrap h1, .wrap h2, .wrap h3, .cah-form label { font-family: Lalezar, lalezar, Vazirmatn, sans-serif; }
.cah-form{ max-width:720px; margin:16px auto; padding:16px; border:1px solid #e5e7eb; border-radius:16px; background:#fff; box-shadow:0 6px 24px rgba(0,0,0,0.05); }
.cah-row{ display:flex; flex-direction:column; margin-bottom:12px; }
.cah-row label{ margin-bottom:6px; color:var(--cah-primary); font-size:18px; }
.cah-row input[type="text"], .cah-row select{
  padding:10px 12px; border:1px solid #cbd5e1; border-radius:12px; font-size:16px; outline:none;
}
.cah-row input:focus, .cah-row select:focus{ border-color: var(--cah-accent); box-shadow:0 0 0 3px #006b3c22; }
.cah-required{ color:#e11d48; margin-right:6px; }
.cah-actions{ display:flex; align-items:center; gap:12px; margin-top:8px; }
.cah-btn{ background:linear-gradient(135deg,var(--cah-primary),var(--cah-accent)); color:#fff; border:none; padding:12px 18px; border-radius:14px; cursor:pointer; font-size:16px; }
.cah-btn:hover{ opacity:.95; transform:translateY(-1px); }
.cah-msg{ font-size:14px; color:var(--cah-accent); }

/* FIX: cropping in selects/inputs */
.cah-form select, .cah-form input[type="text"]{
  width:100%; height:auto; min-height:48px; line-height:1.6; font-size:16px; padding:12px 14px; box-sizing:border-box; -webkit-appearance:none; appearance:none; background-clip:padding-box; white-space:nowrap; text-overflow:ellipsis;
}

/* Day picker */
.cah-daypicker{display:flex;gap:10px;overflow-x:auto;padding:6px 2px 10px 2px}
.cah-day{ min-width:110px; max-width:110px; border:1px solid #e5e7eb; border-radius:12px; background:#fff; text-align:center; padding:10px 8px; cursor:pointer; transition:all .15s ease-in-out; box-shadow:0 1px 0 rgba(0,0,0,.04); }
.cah-day:hover{ transform:translateY(-1px); }
.cah-day .cah-day-name{ font-family:Lalezar; font-size:17px; color:var(--cah-primary); }
.cah-day .cah-day-date{ font-size:14px; margin-top:4px; color:#375a5f; }
.cah-day .cah-day-rel{ font-size:12px; margin-top:6px; color:var(--cah-accent); }
.cah-day.is-selected{ border-color:var(--cah-accent); box-shadow:0 0 0 3px #006b3c22; background:#f0fff6; }
/* Available green */
.cah-day.is-available{ border-color:#cfe6b4; background:#f6fbf1; }
/* Unavailable red */
.cah-day.is-unavailable{ border-color:#ef4444; background:#fff1f1; position:relative; color:#991b1b; }
.cah-day.is-unavailable .cah-day-name{ color:#b91c1c; }
.cah-day.is-unavailable .cah-day-rel{ color:#b91c1c; }
.cah-day.is-unavailable::after{ content:'ناموجود'; position:absolute; bottom:6px; left:50%; transform:translateX(-50%); font-size:11px; padding:2px 6px; border-radius:999px; background:#ef4444; color:#fff; }
.cah-day.is-unavailable{ cursor:not-allowed; opacity:.92; }

/* Receipt */
.cah-receipt{ margin-top:16px; border:1px dashed var(--cah-primary); border-radius:16px; background:#fff; padding:16px; box-shadow:0 6px 24px rgba(0,0,0,0.05); }
.cah-receipt-header{ font-family:Lalezar; font-size:22px; color:var(--cah-primary); margin-bottom:12px; text-align:center; }
.cah-receipt-body .row{ display:flex; justify-content:space-between; padding:6px 0; border-bottom:1px dashed #e5e7eb; }
.cah-receipt-body .row:last-child{ border-bottom:none; }
.cah-receipt-body span{ color:#475569; }
.cah-receipt-body strong{ color:#0f172a; }
.cah-receipt-actions{ display:flex; justify-content:flex-end; margin-top:12px; }

@media print{ body *{ visibility:hidden; } .cah-receipt, .cah-receipt *{ visibility:visible; } .cah-receipt{ position:absolute; inset:0; margin:0; box-shadow:none; border:0; } }


/* ---------- Responsive tweaks ---------- */
@media (max-width: 1024px){
  .cah-form{ margin:12px; padding:14px; }
}
@media (max-width: 640px){
  .cah-row label{ font-size:16px; }
  .cah-row input[type="text"], .cah-row select{ min-height:46px; font-size:15px; padding:10px 12px; }
  .cah-day{ min-width:96px; max-width:96px; padding:8px 6px; }
  .cah-day .cah-day-name{ font-size:16px; }
  .cah-day .cah-day-date{ font-size:13px; }
  .cah-day .cah-day-rel{ font-size:11px; }
  .cah-btn{ padding:10px 14px; font-size:15px; }
  .cah-receipt{ margin:12px; padding:14px; }
}
@media (max-width: 400px){
  .cah-day{ min-width:88px; max-width:88px; }
}


/* Receipt header with side logo */
.cah-receipt{ position: relative; }
.cah-receipt-header{ display:flex; align-items:center; gap:12px; justify-content:flex-start; }
.cah-receipt-header .cah-logo{ height:64px; width:auto; border-radius:10px; object-fit:contain; }
@media (max-width:640px){
  .cah-receipt-header .cah-logo{ height:52px; }
}
