/*
 * Farsi LatePoint — Persian / RTL overrides
 *
 * Scope: all rules are prefixed with .lp-farsi-latepoint so they never
 * affect non-LatePoint pages and always win over LatePoint's default LTR styles.
 */

/* ─── 1. Global direction ─────────────────────────────────────────── */

.lp-farsi-latepoint .latepoint-w,
.lp-farsi-latepoint .latepoint-modal-w,
.lp-farsi-latepoint .latepoint-print-summary-w,
.lp-farsi-latepoint .os-form-w,
.lp-farsi-latepoint .white-box,
.lp-farsi-latepoint .lpvv-admin-page,
.lp-farsi-latepoint .lpvv-public-gateway,
.lp-farsi-latepoint .lpvv-customer-video-grid {
	direction: rtl;
	text-align: right;
}

/* ─── 2. Booking widget (front-end form) ─────────────────────────── */

.lp-farsi-latepoint .latepoint-w .os-step-w,
.lp-farsi-latepoint .latepoint-w .os-booking-form-w,
.lp-farsi-latepoint .latepoint-w .os-summary-w {
	direction: rtl;
	text-align: right;
}

.lp-farsi-latepoint .latepoint-w .os-booking-form-w input,
.lp-farsi-latepoint .latepoint-w .os-booking-form-w select,
.lp-farsi-latepoint .latepoint-w .os-booking-form-w textarea {
	direction: rtl;
	text-align: right;
}

/* Step progress breadcrumb */
.lp-farsi-latepoint .latepoint-w .os-steps-breadcrumb {
	direction: rtl;
}

/* ─── 3. Manage booking / print summary ──────────────────────────── */

.lp-farsi-latepoint .latepoint-w .manage-order-wrapper,
.lp-farsi-latepoint .latepoint-w .manage-booking-wrapper {
	direction: rtl;
}

.lp-farsi-latepoint .latepoint-print-summary-w {
	direction: rtl;
	text-align: right;
}

/* ─── 4. Admin pages ─────────────────────────────────────────────── */

.lp-farsi-latepoint .os-form-w .white-box-header,
.lp-farsi-latepoint .os-form-w .white-box-content,
.lp-farsi-latepoint .os-form-w .os-form-sub-header {
	direction: rtl;
	text-align: right;
}

.lp-farsi-latepoint .os-form-w input[type="text"],
.lp-farsi-latepoint .os-form-w input[type="email"],
.lp-farsi-latepoint .os-form-w input[type="tel"],
.lp-farsi-latepoint .os-form-w input[type="number"],
.lp-farsi-latepoint .os-form-w input[type="password"],
.lp-farsi-latepoint .os-form-w input[type="search"],
.lp-farsi-latepoint .os-form-w textarea,
.lp-farsi-latepoint .os-form-w select {
	direction: rtl;
	text-align: right;
}

/* ─── 5. Notification badges / pills ────────────────────────────── */

.lp-farsi-latepoint .latepoint-notification-w,
.lp-farsi-latepoint .latepoint-message {
	direction: rtl;
	text-align: right;
}

/* ─── 6. Customer cabinet (dashboard) ───────────────────────────── */

.lp-farsi-latepoint .latepoint-customer-cabinet-w,
.lp-farsi-latepoint .latepoint-customer-cabinet-w .os-tabs-nav,
.lp-farsi-latepoint .latepoint-customer-cabinet-w .tab-content {
	direction: rtl;
	text-align: right;
}

/* ─── 7. Booking card / tile on customer dashboard ──────────────── */

.lp-farsi-latepoint .os-booking-info-w,
.lp-farsi-latepoint .os-booking-info-item-w {
	direction: rtl;
	text-align: right;
}

/* ─── 8. Admin table (reception / queue) ────────────────────────── */

.lp-farsi-latepoint .lpvv-table,
.lp-farsi-latepoint .lpvv-table th,
.lp-farsi-latepoint .lpvv-table td {
	direction: rtl;
	text-align: right;
}

.lp-farsi-latepoint .lpvv-table th:first-child,
.lp-farsi-latepoint .lpvv-table td:first-child {
	text-align: right;
}

/* ─── 9. Public video-visit gateway form ────────────────────────── */

.lp-farsi-latepoint .lpvv-public-gateway-card {
	direction: rtl;
	text-align: right;
}

.lp-farsi-latepoint .lpvv-public-gateway-head h2,
.lp-farsi-latepoint .lpvv-public-gateway-head p {
	text-align: right;
}

.lp-farsi-latepoint .lpvv-public-join-form input[type="text"],
.lp-farsi-latepoint .lpvv-public-join-form input[type="tel"] {
	direction: rtl;
	text-align: right;
}

.lp-farsi-latepoint .lpvv-public-status,
.lp-farsi-latepoint .lpvv-public-help {
	direction: rtl;
	text-align: right;
}

/* ─── 10. Video-visit customer tile ─────────────────────────────── */

.lp-farsi-latepoint .lpvv-tile-block,
.lp-farsi-latepoint .lpvv-customer-video-card {
	direction: rtl;
	text-align: right;
}

.lp-farsi-latepoint .lpvv-status-row,
.lp-farsi-latepoint .lpvv-queue-row,
.lp-farsi-latepoint .lpvv-window-row {
	direction: rtl;
	text-align: right;
}

/* ─── 11. Daterangepicker (admin calendar filter) ───────────────── */

@media (min-width: 564px) {
	.lp-farsi-latepoint .daterangepicker.single.rtl .drp-calendar,
	.lp-farsi-latepoint .daterangepicker.single.rtl .ranges {
		float: right;
	}

	.lp-farsi-latepoint .daterangepicker.rtl {
		direction: rtl;
		text-align: right;
	}

	.lp-farsi-latepoint .daterangepicker.rtl .drp-calendar.left {
		clear: right;
		margin-left: 0;
	}

	.lp-farsi-latepoint .daterangepicker.rtl .drp-calendar.left .calendar-table {
		border-left: none;
		border-top-left-radius: 0;
		border-bottom-left-radius: 0;
		padding-left: 12px;
	}

	.lp-farsi-latepoint .daterangepicker.rtl .drp-calendar.right {
		margin-right: 0;
	}

	.lp-farsi-latepoint .daterangepicker.rtl .drp-calendar.right .calendar-table {
		border-right: none;
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
	}

	.lp-farsi-latepoint .daterangepicker.rtl .drp-calendar,
	.lp-farsi-latepoint .daterangepicker.rtl .ranges {
		text-align: right;
		float: right;
	}
}

@media (min-width: 730px) {
	.lp-farsi-latepoint .daterangepicker.rtl .ranges {
		float: right;
	}
}

/* ─── 12. Side navigation (admin) ───────────────────────────────── */

.lp-farsi-latepoint .os-side-nav,
.lp-farsi-latepoint .os-side-nav ul,
.lp-farsi-latepoint .os-side-nav li,
.lp-farsi-latepoint .os-side-nav a {
	direction: rtl;
	text-align: right;
}

/* ─── 13. Form labels and field wrappers ────────────────────────── */

.lp-farsi-latepoint .os-field-w label,
.lp-farsi-latepoint .os-form-group label,
.lp-farsi-latepoint .os-input-w label {
	direction: rtl;
	text-align: right;
	display: block;
}

/* ─── 14. Queue controls (doctor queue page) ────────────────────── */

.lp-farsi-latepoint .lpvv-queue-controls,
.lp-farsi-latepoint .lpvv-queue-active,
.lp-farsi-latepoint .lpvv-queue-waiting {
	direction: rtl;
	text-align: right;
}

.lp-farsi-latepoint .lpvv-queue-active-row {
	direction: rtl;
}

/* ─── 15. Doctor directory (shortcode) ──────────────────────────── */

.lp-farsi-latepoint .salamat-doctor-directory,
.lp-farsi-latepoint .sdd-filter-panel,
.lp-farsi-latepoint .sdd-card-body {
	direction: rtl;
	text-align: right;
}

.lp-farsi-latepoint .sdd-filter-title,
.lp-farsi-latepoint .sdd-toggle-option {
	direction: rtl;
	text-align: right;
}

/* ─── 16. Buttons — preserve inline-flex direction ──────────────── */

.lp-farsi-latepoint .latepoint-btn,
.lp-farsi-latepoint .latepoint-btn span {
	direction: rtl;
}

/* ─── 17. Reception review form ─────────────────────────────────── */

.lp-farsi-latepoint .lpvv-review-form textarea {
	direction: rtl;
	text-align: right;
}

.lp-farsi-latepoint .lpvv-review-buttons {
	direction: rtl;
}

/* ─── 18. Admin breadcrumbs and page headers ────────────────────── */

.lp-farsi-latepoint .os-breadcrumbs,
.lp-farsi-latepoint .os-page-header-w {
	direction: rtl;
	text-align: right;
}

/* ─── 19. Jalali calendar popup (.lpvv-jalali-picker) ───────────── */
/*
 * This replaces the native daterangepicker popup for all
 * .os-date-range-picker elements. Renders a true Jalali month
 * grid using jalali-moment (lpMoment) as the calendar engine.
 */

#lpvv-jalali-picker {
	background    : #ffffff;
	border        : 1px solid rgba(15, 23, 42, 0.12);
	border-radius : 14px;
	box-shadow    : 0 12px 40px rgba(15, 23, 42, 0.14);
	direction     : rtl;
	display       : none;   /* shown/hidden via JS */
	font-family   : inherit;
	min-width     : 280px;
	overflow      : hidden;
	position      : absolute;
	user-select   : none;
	-webkit-user-select: none;
	width         : 300px;
	z-index       : 99999;
}

/* ---- Header ---- */
.lpvvjp-header {
	align-items     : center;
	background      : linear-gradient(135deg, #262d60 0%, #39438d 100%);
	color           : #ffffff;
	display         : flex;
	justify-content : space-between;
	padding         : 0.75rem 1rem;
}

.lpvvjp-month-label {
	font-size   : 0.95rem;
	font-weight : 700;
	letter-spacing: 0.01em;
}

.lpvvjp-nav {
	background    : rgba(255, 255, 255, 0.15);
	border        : none;
	border-radius : 50%;
	color         : #ffffff;
	cursor        : pointer;
	font-size     : 0.9rem;
	height        : 28px;
	line-height   : 28px;
	padding       : 0;
	text-align    : center;
	transition    : background 0.15s ease;
	width         : 28px;
}

.lpvvjp-nav:hover {
	background: rgba(255, 255, 255, 0.3);
}

/* ---- Hint bar ---- */
.lpvvjp-hint {
	background  : #f0f4ff;
	color       : #374151;
	font-size   : 0.78rem;
	padding     : 0.4rem 1rem;
	text-align  : center;
}

/* ---- Weekday row ---- */
.lpvvjp-weekdays {
	background    : #f8fafc;
	border-bottom : 1px solid rgba(15, 23, 42, 0.07);
	display       : grid;
	grid-template-columns: repeat(7, 1fr);
	padding       : 0.5rem 0.75rem 0.35rem;
}

.lpvvjp-weekdays span {
	color       : #94a3b8;
	font-size   : 0.78rem;
	font-weight : 600;
	text-align  : center;
}

/* ---- Day grid ---- */
.lpvvjp-grid {
	display               : grid;
	grid-template-columns : repeat(7, 1fr);
	gap                   : 2px;
	padding               : 0.5rem 0.75rem 0.65rem;
}

.lpvvjp-cell {
	align-items     : center;
	border-radius   : 8px;
	cursor          : default;
	display         : flex;
	font-size       : 0.88rem;
	height          : 36px;
	justify-content : center;
	transition      : background 0.1s ease, color 0.1s ease;
	width           : 100%;
}

.lpvvjp-day {
	color  : #1e293b;
	cursor : pointer;
}

.lpvvjp-day:hover {
	background : rgba(38, 45, 96, 0.08);
	color      : #262d60;
}

.lpvvjp-today {
	border      : 2px solid #262d60;
	color       : #262d60;
	font-weight : 700;
}

/* Selected start / end */
.lpvvjp-sel-start,
.lpvvjp-sel-end {
	background  : #262d60 !important;
	color       : #ffffff !important;
	font-weight : 700;
}

/* Days between start and end */
.lpvvjp-in-range {
	background    : rgba(38, 45, 96, 0.10);
	border-radius : 0;
	color         : #1e2a5e;
}

/* Hover range while selecting end */
.lpvvjp-hover-start,
.lpvvjp-hover-end {
	background    : rgba(38, 45, 96, 0.55) !important;
	border-radius : 8px;
	color         : #ffffff !important;
}

.lpvvjp-hover-range {
	background    : rgba(38, 45, 96, 0.06);
	border-radius : 0;
}

.lpvvjp-empty {
	pointer-events: none;
}

/* ---- Footer (range pickers only) ---- */
.lpvvjp-footer {
	background    : #f8fafc;
	border-top    : 1px solid rgba(15, 23, 42, 0.07);
	display       : flex;
	align-items   : center;
	flex-wrap     : wrap;
	gap           : 0.5rem;
	justify-content: space-between;
	padding       : 0.6rem 1rem;
}

.lpvvjp-range-display {
	color       : #475569;
	font-size   : 0.8rem;
	white-space : nowrap;
}

.lpvvjp-actions {
	display : flex;
	gap     : 0.4rem;
}

.lpvvjp-cancel,
.lpvvjp-apply {
	border        : none;
	border-radius : 6px;
	cursor        : pointer;
	font-family   : inherit;
	font-size     : 0.82rem;
	font-weight   : 600;
	padding       : 0.35rem 0.8rem;
	transition    : background 0.15s ease;
}

.lpvvjp-clear {
	background : transparent;
	color      : #94a3b8;
}

.lpvvjp-clear:hover {
	color: #ef4444;
}

.lpvvjp-cancel {
	background : rgba(15, 23, 42, 0.07);
	color      : #475569;
}

.lpvvjp-cancel:hover {
	background: rgba(15, 23, 42, 0.13);
}

.lpvvjp-apply {
	background : #262d60;
	color      : #ffffff;
}

.lpvvjp-apply:hover {
	background: #1a2050;
}

/* ---- Visible label on the trigger element ---- */
.lp-farsi-latepoint .os-date-range-picker .range-picker-value {
	direction   : rtl;
	text-align  : right;
	unicode-bidi: embed;
}
