/* =========================================================
   ZTM Kielce — Widget "Rozkład jazdy"
   ========================================================= */

.ztm-widget--rozklad-jazdy {
	--ztm-rj-yellow: #f4d06f;
	padding: 28px 26px 32px;
}

.ztm-widget-title {
	font-size: calc(19px * var(--ztm-font-scale, 1));
	font-weight: 700;
	color: var(--ztm-navy);
	text-transform: uppercase;
	letter-spacing: 0.3px;
	margin: 0 0 10px;
	padding-left: 14px;
	border-left: 3px solid var(--ztm-rj-yellow);
	line-height: 1.3;
}

.ztm-rj-actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin: 18px 0 28px;
}

.ztm-rj-action {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	border: 1px solid var(--ztm-border-grey);
	border-radius: 10px;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ztm-rj-action:hover {
	border-color: var(--ztm-navy);
	box-shadow: var(--ztm-elevation-1);
}

.ztm-rj-action svg {
	width: 32px;
	height: 32px;
	flex-shrink: 0;
	color: var(--ztm-navy);
}

.ztm-rj-action span {
	font-size: calc(14.5px * var(--ztm-font-scale, 1));
	font-weight: 600;
	color: var(--ztm-tabs-text);
	line-height: 1.35;
}

.ztm-rj-category-label {
	font-size: calc(15px * var(--ztm-font-scale, 1));
	font-weight: 700;
	color: var(--ztm-tabs-text);
	margin: 0 0 14px;
}

.ztm-rj-lines {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 12px;
	margin: 0 0 28px;
}

.ztm-rj-line {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 46px;
	border: 1px solid var(--ztm-border-grey);
	border-radius: 8px;
	font-size: calc(15px * var(--ztm-font-scale, 1));
	font-weight: 700;
	color: var(--ztm-navy);
	cursor: pointer;
	position: relative;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ztm-rj-line::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 7px;
	width: 55%;
	height: 3px;
	border-radius: 2px;
	background: var(--ztm-rj-yellow);
	transform: translateX(-50%);
}

.ztm-rj-line:hover,
.ztm-rj-line:focus-visible {
	border-color: var(--ztm-navy);
	box-shadow: var(--ztm-elevation-1);
}

.ztm-rj-line:focus-visible {
	outline: 3px solid var(--ztm-blue-light);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	.ztm-widget--rozklad-jazdy * {
		transition-duration: 0.01ms !important;
	}
}

@media (max-width: 1075px) {
	.ztm-rj-lines { grid-template-columns: repeat(6, 1fr); }
}

@media (max-width: 640px) {
	.ztm-rj-actions { grid-template-columns: 1fr; }
	.ztm-rj-lines { grid-template-columns: repeat(4, 1fr); gap: 10px; }
	.ztm-rj-line { height: 42px; font-size: calc(14.5px * var(--ztm-font-scale, 1)); }
}

@media (max-width: 420px) {
	.ztm-rj-lines { grid-template-columns: repeat(3, 1fr); }
}