/**
 * Persian Daily Calendar - Frontend styles
 *
 * @package PersianDailyCalendar
 * @author  Mehdi Edalat <https://mehdiedalat.ir>
 * @version 1.0.0
 * @since   1.0.0
 *
 * Changelog:
 * 1.0.0 - Initial release.
 */

.pdc-wrap {
	--pdc-accent: #2b7a8c;
	--pdc-accent-dark: #1f5d6b;
	--pdc-ink: #243b45;
	--pdc-muted: #9bb0b8;
	--pdc-card-bg: #ffffff;
	--pdc-soft: #eef4f6;
	--pdc-radius: 18px;

	direction: rtl;
	display: grid;
	grid-template-columns: 1.6fr 1fr;
	gap: 24px;
	align-items: start;
	font-family: Vazirmatn, IRANSans, Tahoma, sans-serif;
	color: var(--pdc-ink);
	max-width: 1100px;
	margin: 0 auto;
}

@media (max-width: 820px) {
	.pdc-wrap {
		grid-template-columns: 1fr;
	}
}

.pdc-card {
	background: var(--pdc-card-bg);
	border-radius: var(--pdc-radius);
	box-shadow: 0 12px 30px rgba(40, 70, 85, 0.08);
	padding: 28px 30px;
	position: relative;
}

/* ---------- Content card ---------- */

.pdc-content-card {
	min-height: 220px;
}

.pdc-badge {
	position: absolute;
	top: -16px;
	inset-inline-start: 30px;
	background: var(--pdc-accent);
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	padding: 8px 18px;
	border-radius: 12px;
	box-shadow: 0 6px 14px rgba(43, 122, 140, 0.35);
}

.pdc-title {
	text-align: center;
	font-size: 26px;
	font-weight: 800;
	margin: 8px 0 14px;
	color: var(--pdc-ink);
}

.pdc-divider {
	border-top: 2px dashed #d7e3e7;
	margin: 0 0 18px;
}

.pdc-text {
	line-height: 2.1;
	font-size: 16px;
	text-align: justify;
	color: #3a525c;
}

.pdc-text p {
	margin: 0 0 12px;
}

.pdc-empty {
	text-align: center;
	color: var(--pdc-muted);
	padding: 24px 0;
}

.pdc-actions {
	text-align: center;
	margin-top: 16px;
}

.pdc-toggle {
	background: #f3f8fa;
	border: 1px solid #d9e6ea;
	color: var(--pdc-accent-dark);
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	border-radius: 999px;
	padding: 10px 26px;
	cursor: pointer;
	transition: background 0.15s ease, transform 0.1s ease;
}

.pdc-toggle:hover {
	background: #e7f1f4;
}

.pdc-toggle:active {
	transform: translateY(1px);
}

.pdc-toggle-icon {
	margin-inline-start: 6px;
}

/* ---------- Calendar card ---------- */

.pdc-calendar-card {
	padding: 22px 20px;
}

.pdc-cal-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 14px;
}

.pdc-cal-title {
	flex: 1;
	text-align: center;
	background: var(--pdc-soft);
	border-radius: 10px;
	padding: 8px 10px;
	font-weight: 700;
	color: var(--pdc-accent-dark);
}

.pdc-nav {
	background: transparent;
	border: none;
	font-size: 20px;
	color: var(--pdc-accent-dark);
	cursor: pointer;
	width: 34px;
	height: 34px;
	border-radius: 8px;
	line-height: 1;
}

.pdc-nav:hover {
	background: var(--pdc-soft);
}

.pdc-cal-table {
	width: 100%;
	border-collapse: collapse;
	text-align: center;
}

.pdc-cal-table th {
	color: var(--pdc-ink);
	font-weight: 700;
	font-size: 14px;
	padding: 8px 0;
}

.pdc-cal-table td {
	font-size: 15px;
	padding: 0;
	height: 38px;
	width: 14.28%;
}

.pdc-cal-table .pdc-out {
	color: #cdd9dd;
}

.pdc-day {
	cursor: pointer;
	border-radius: 50%;
	transition: background 0.12s ease, color 0.12s ease;
}

.pdc-day:hover {
	background: var(--pdc-soft);
}

.pdc-day.pdc-selected {
	background: var(--pdc-accent);
	color: #fff;
	font-weight: 700;
}

.pdc-day.pdc-today:not(.pdc-selected) {
	box-shadow: inset 0 0 0 2px var(--pdc-accent);
	color: var(--pdc-accent-dark);
}

.pdc-cal-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 14px;
	font-size: 14px;
}

.pdc-today-btn {
	background: transparent;
	border: none;
	color: var(--pdc-accent-dark);
	font-family: inherit;
	font-weight: 700;
	cursor: pointer;
	padding: 4px 6px;
}

.pdc-today-btn:hover {
	text-decoration: underline;
}

.pdc-greg {
	color: var(--pdc-ink);
	font-weight: 700;
}

/* ---------- States ---------- */

.pdc-wrap.is-loading .pdc-content-card {
	opacity: 0.5;
	pointer-events: none;
}

.pdc-notice {
	direction: rtl;
	background: #fff7e6;
	border: 1px solid #ffe1a8;
	color: #7a5b1e;
	padding: 14px 18px;
	border-radius: 10px;
	font-family: Vazirmatn, Tahoma, sans-serif;
}
