.hevkad-jcal,
.hevkad-jcal * {
	box-sizing: border-box;
}

.hevkad-jcal.hevkad-jcal--toldot-like {
	--j-border: #d7dce5;
	--j-text: #1f2a44;
	--j-muted: #627089;
	--j-bg: #f7f8fb;
	--j-white: #fff;
	--j-blue: #2357bf;
	--j-blue-soft: #edf3ff;
	--j-red-soft: #fff1f1;
	--j-sat-soft: #f5f5ff;
	background: var(--j-bg);
	border: 1px solid var(--j-border);
	border-radius: 8px;
	padding: 16px;
	margin: 20px 0;
	color: var(--j-text);
	overflow-x: hidden;
	max-width: 100%;
	width: 100%;
}

.hevkad-jcal,
.hevkad-jcal * {
	min-width: 0;
}

.hevkad-jcal-section-title {
	margin: 0 0 10px;
	font-size: 18px;
	line-height: 1.2;
}

.hevkad-jcal-converter,
.hevkad-jcal-month-head,
.hevkad-jcal-calendar-table,
.hevkad-jcal-detail-panel,
.hevkad-jcal-zmanim,
.hevkad-jcal-note,
.hevkad-jcal-next,
.hevkad-jcal-year-list {
	background: var(--j-white);
	border: 1px solid var(--j-border);
	border-radius: 6px;
	padding: 12px;
	margin-bottom: 12px;
}

.hevkad-jcal-converter__switch {
	font-size: 13px;
	color: var(--j-muted);
	margin-bottom: 10px;
}

.hevkad-jcal-converter__row {
	margin-bottom: 8px;
}

.hevkad-jcal-converter__label {
	display: block;
	font-size: 13px;
	margin-bottom: 4px;
	color: var(--j-muted);
}

.hevkad-jcal-converter__fields {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}

.hevkad-jcal-converter__fields select,
.hevkad-jcal-zmanim__grid input {
	width: 100%;
	min-height: 36px;
	border: 1px solid var(--j-border);
	border-radius: 4px;
	background: #fff;
	color: var(--j-text);
	padding: 6px 8px;
	font-size: 14px;
}

.hevkad-jcal-converter__fields.is-disabled {
	opacity: 0.6;
}

.hevkad-jcal-btn {
	display: inline-block;
	margin-top: 6px;
	padding: 8px 12px;
	border: 1px solid var(--j-blue);
	border-radius: 4px;
	background: var(--j-blue);
	color: #fff;
	cursor: pointer;
	font-size: 14px;
}

.hevkad-jcal-btn[disabled] {
	cursor: not-allowed;
	opacity: 0.6;
}

.hevkad-jcal-converter__result,
.hevkad-jcal-converter__today {
	margin-top: 8px;
	font-size: 14px;
}

.hevkad-jcal-converter__today {
	color: var(--j-muted);
}

.hevkad-jcal-month-head {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	gap: 12px;
	align-items: center;
}

.hevkad-jcal-month-head__meta {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px 12px;
}

.hevkad-jcal-month-head__meta span {
	color: var(--j-muted);
	font-size: 13px;
}

.hevkad-jcal-month-head__meta strong {
	font-size: 14px;
}

.hevkad-jcal-month-head__controls {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 8px;
	align-items: center;
}

.hevkad-jcal__nav-btn {
	min-width: 36px;
	min-height: 36px;
	border: 1px solid var(--j-border);
	background: #fff;
	border-radius: 4px;
	cursor: pointer;
}

.hevkad-jcal__variant-wrap {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: flex-start;
}

.hevkad-jcal__variant-label {
	font-size: 13px;
	color: var(--j-muted);
}

.hevkad-jcal__variant-select {
	min-height: 34px;
	border: 1px solid var(--j-border);
	border-radius: 4px;
	font-size: 13px;
	padding: 4px 8px;
}

.hevkad-jcal-grid__head,
.hevkad-jcal-grid__body {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	min-width: 0;
	max-width: 100%;
}

.hevkad-jcal-grid__weekday {
	padding: 6px 4px;
	text-align: center;
	font-weight: 600;
	font-size: 13px;
	color: var(--j-muted);
	border-bottom: 1px solid var(--j-border);
}

.hevkad-jcal-grid__cell {
	min-height: 124px;
	border-right: 1px solid var(--j-border);
	border-bottom: 1px solid var(--j-border);
	padding: 6px;
	background: #fff;
	overflow: hidden;
}

.hevkad-jcal-grid__body .hevkad-jcal-grid__cell:nth-child(7n+1) {
	border-left: 1px solid var(--j-border);
}

.hevkad-jcal-grid__cell.is-empty {
	background: #fafbfd;
}

.hevkad-jcal-grid__cell.is-shabbat {
	background: var(--j-sat-soft);
}

.hevkad-jcal-grid__cell.is-yom-tov {
	background: var(--j-red-soft);
}

.hevkad-jcal-grid__cell.is-today {
	outline: 2px solid var(--j-blue);
	outline-offset: -2px;
}

.hevkad-jcal-grid__gday {
	font-weight: 700;
	font-size: 20px;
	line-height: 1.1;
}

.hevkad-jcal-grid__hday {
	color: var(--j-muted);
	font-size: 12px;
	margin-bottom: 4px;
}

.hevkad-jcal-grid__line {
	font-size: 12px;
	line-height: 1.25;
	color: var(--j-text);
	margin-bottom: 2px;
	word-break: normal;
	overflow-wrap: anywhere;
}

.hevkad-jcal-grid__line--event {
	color: var(--j-blue);
	background: transparent;
	border: 0;
	padding: 0;
	text-align: left;
	cursor: pointer;
	font-family: inherit;
	display: block;
	width: 100%;
	white-space: normal;
	overflow-wrap: anywhere;
}

.hevkad-jcal-grid__event-row {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	margin-bottom: 2px;
}

.hevkad-jcal-grid__event-link {
	text-decoration: none;
}

.hevkad-jcal-grid__event-preview {
	border: 1px solid var(--j-border);
	background: #fff;
	color: var(--j-muted);
	border-radius: 3px;
	font-size: 11px;
	line-height: 1.2;
	padding: 1px 5px;
	cursor: pointer;
	flex: 0 0 auto;
}

.hevkad-jcal-grid__line--note {
	color: var(--j-muted);
	font-style: italic;
}

.hevkad-jcal-detail__title {
	margin: 0 0 8px;
	font-size: 18px;
}

.hevkad-jcal-detail__short,
.hevkad-jcal-detail__full,
.hevkad-jcal-detail__empty {
	margin: 0 0 8px;
	font-size: 14px;
	line-height: 1.4;
	overflow-wrap: anywhere;
}

.hevkad-jcal-detail__dates-title {
	font-size: 13px;
	color: var(--j-muted);
	margin-bottom: 4px;
}

.hevkad-jcal-detail__dates {
	margin: 0;
	padding-left: 18px;
}

.hevkad-jcal-detail__open-link {
	display: inline-block;
	margin: 0 0 8px;
	font-size: 14px;
	color: var(--j-blue);
	text-decoration: none;
}

.hevkad-jcal-zmanim__warn,
.hevkad-jcal-zmanim__note,
.hevkad-jcal-note p {
	margin: 0 0 10px;
	font-size: 14px;
	line-height: 1.4;
	color: var(--j-text);
}

.hevkad-jcal-zmanim__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 8px;
	margin-bottom: 8px;
}

.hevkad-jcal-next [data-role="upcomingSingle"] {
	font-size: 15px;
}

.hevkad-jcal-year-list ul,
.hevkad-jcal-year-list [data-role="yearHolidayList"] {
	margin: 0;
	padding: 0 0 0 18px;
}

.hevkad-jcal-year-list__item {
	font-size: 14px;
	line-height: 1.35;
	margin: 0 0 4px;
	overflow-wrap: anywhere;
}

.hevkad-jcal-year-list__item.is-empty {
	color: var(--j-muted);
	list-style: none;
	margin-left: -18px;
}

.hevkad-jcal__coverage,
.hevkad-jcal__state,
.hevkad-jcal__noscript {
	font-size: 13px;
	color: var(--j-muted);
	margin: 8px 0 0;
}

.hevkad-jcal__state.is-error {
	color: #a32a2a;
}

@media (max-width: 900px) {
	.hevkad-jcal-month-head {
		grid-template-columns: 1fr;
	}
	.hevkad-jcal-zmanim__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.hevkad-jcal-converter__fields {
		grid-template-columns: 1fr;
	}
	.hevkad-jcal-grid__head {
		display: none;
	}
	.hevkad-jcal-grid__body {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}
	.hevkad-jcal-grid__cell {
		min-height: 0;
		border: 1px solid var(--j-border);
		border-radius: 4px;
	}
	.hevkad-jcal-grid__cell.is-empty {
		display: none;
	}
	.hevkad-jcal-month-head__meta {
		grid-template-columns: 1fr;
	}
	.hevkad-jcal-month-head__controls {
		justify-content: flex-start;
	}
}
