/* One on One scheduling calendar */
.jg-cal { max-width: 1040px; margin: 0 auto; padding: 26px 16px 50px; }
.jg-cal-lead { text-align: center; font-weight: 700; color: #4a3a5c; margin: 6px 0 18px; }
.jg-cal-note { text-align: center; color: #6b5580; }
.jg-cal-note a { color: #A946B4 !important; font-weight: 700; }
.jg-cal-done { text-align: center; background: #fff; border: 1px solid #f3d9f7; border-radius: 14px; padding: 30px; max-width: 520px; margin: 0 auto; }
.jg-cal-done p:first-child { font-size: 18px; font-weight: 800; color: #27103A; margin: 0 0 6px; }

.jg-cal-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; }
.jg-cal-day { background: #fff; border: 1px solid #f3d9f7; border-radius: 14px; padding: 14px 16px; box-shadow: 0 4px 14px rgba(169,70,180,.06); }
.jg-cal-day h4 { margin: 0 0 10px; color: #27103A; font-size: 15px; }
.jg-cal-slots { display: flex; flex-direction: column; gap: 8px; }
.jg-cal-slot {
	display: block;
	text-align: center;
	text-decoration: none !important;
	border: 1px solid #e2c7ea;
	background: #faf3fc;
	color: #27103A !important;
	font-weight: 700;
	font-size: 13.5px;
	padding: 9px 12px;
	border-radius: 999px;
	cursor: pointer;
	transition: background .12s, color .12s, transform .1s;
}
.jg-cal-slot:hover { background: #F674FF; color: #fff !important; }
.jg-cal-slot.is-selected { background: linear-gradient(135deg,#A946B4,#F674FF); color: #fff !important; border-color: transparent; }
.jg-cal-slot[disabled] { opacity: .5; cursor: default; }
.jg-cal-status { text-align: center; font-weight: 700; margin-top: 16px; min-height: 22px; }
.jg-cal-status.is-err { color: #c0392b; }
.jg-cal-status.is-ok { color: #1d8348; }

/* account-page calendar button lock */
.jg-cal-locked { opacity: .6; }
.jg-cal-lock-note { font-size: 12px; color: #6b5580; margin: 6px 0 0; }

/* timezone note + reschedule hint */
.jg-cal-tz { display: block; font-size: 13px; color: #A946B4; font-weight: 700; margin-top: 4px; }
.jg-ooo-resched { font-size: 12.5px; }
