.ptm-wrap {
	font-family: inherit;
	color: var(--ptm-text, #111111);
}

.ptm-widget {
	font-size: 14px;
	line-height: 1.25;
}

.ptm-widget-date {
	text-align: right;
	color: var(--ptm-text, #111111);
	opacity: .65;
	margin-bottom: 6px;
}

.ptm-widget-grid {
	display: grid;
	grid-template-columns: minmax(115px, 1.45fr) repeat(5, minmax(55px, 1fr));
	align-items: end;
	gap: 10px;
	border-bottom: 1px solid var(--ptm-border, #dddddd);
	padding-bottom: 9px;
}

.ptm-widget-label {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
	text-align: right;
}

.ptm-widget-label a {
	color: var(--ptm-accent, #a80d2d);
	text-align: left;
}

.ptm-widget-label span,
.ptm-widget-prayer span,
.ptm-widget-terms .ptm-label-term {
	display: block;
}

.ptm-widget .ptm-label-term {
	color: var(--ptm-label, #999999);
	font-family: var(--ptm-label-family, inherit);
	font-size: var(--ptm-label-size, 14px);
	font-weight: var(--ptm-label-weight, 400);
}

.ptm-widget-prayer {
	text-align: center;
}

.ptm-widget-prayer strong {
	font-weight: 500;
	display: block;
}

.ptm-title {
	font-size: 2rem;
	margin: 0 0 1.25rem;
	color: var(--ptm-text, #111111);
}

.ptm-month-select {
	width: 100%;
	max-width: none;
	margin: 0 0 2rem;
	padding: .65rem;
	color: var(--ptm-text, #111111);
	border: 1px solid var(--ptm-border, #dddddd);
	background: var(--ptm-row, #ffffff);
}

.ptm-scroll {
	overflow-x: auto;
	max-width: 100%;
	-webkit-overflow-scrolling: touch;
}

.ptm-table {
	border-collapse: collapse;
	width: 100%;
	min-width: 820px;
	font-size: 14px;
	line-height: 1.25;
	color: var(--ptm-text, #111111);
	border: 1px solid var(--ptm-border, #dddddd);
}

.ptm-table th,
.ptm-table td {
	padding: 9px 7px;
	text-align: center;
	border: 1px solid var(--ptm-border, #dddddd);
}

.ptm-table thead th {
	background: var(--ptm-accent, #a80d2d);
	color: var(--ptm-header-text, #ffffff);
	font-weight: 700;
	padding: 7px 5px;
}

.ptm-table tbody tr:nth-child(odd) {
	background: var(--ptm-shaded, #f2f2f2);
}

.ptm-table tbody tr:nth-child(even) {
	background: var(--ptm-row, #ffffff);
}

.ptm-table tbody th {
	font-weight: 400;
}

.ptm-table tr.ptm-today th,
.ptm-table tr.ptm-today td {
	background: var(--ptm-accent, #a80d2d);
	background: color-mix(in srgb, var(--ptm-accent, #a80d2d) 75%, white);
	color: var(--ptm-header-text, #ffffff);
	font-weight: 700;
}

.ptm-empty {
	padding: 12px;
	color: var(--ptm-text, #111111);
	border: 1px solid var(--ptm-border, #dddddd);
	border-left: 4px solid var(--ptm-accent, #a80d2d);
	background: var(--ptm-shaded, #f2f2f2);
}

@media (max-width: 720px) {
	.ptm-widget-grid {
		grid-template-columns: repeat(5, 1fr);
		gap: 4px;
	}

	.ptm-widget-label {
		grid-column: 1 / -1;
		align-items: center;
	}

	.ptm-widget-date {
		text-align: left;
	}

	.ptm-widget-prayer {
		font-size: 12px;
	}

	.ptm-table {
		font-size: 12px;
	}

	.ptm-table th,
	.ptm-table td {
		padding: 8px 5px;
	}
}
