/**
 * Triedy (Classes) — archive + single page styles
 *
 * Archive (dual layout):
 *  - Desktop (769px+): Card grid per stupeň group
 *  - Mobile  (≤768px): Compact table rows
 *
 * Single (detail page):
 *  - Color-coded hero, rozvrh, žiaci grid, udalosti cards, prev/next nav
 *
 * Namespaces: .zsmh-triedy-* (archive), .zsmh-st-* (single)
 * Colors: st2 = blue (#3b82f6), st1 = orange (#f19e00), ms = green (#10b981)
 */

/* ═══════════════════════════════════════════
   DIVI OVERRIDES
   ═══════════════════════════════════════════ */
.zsmh-triedy-page .container {
	width: 80% !important;
	max-width: 1080px !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

.zsmh-triedy-page #content-area {
	padding: 0 !important;
	margin: 0 !important;
}

.zsmh-triedy-page #left-area {
	width: 100% !important;
	float: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Hide Divi sidebar */
.zsmh-triedy-page #sidebar,
.zsmh-triedy-page .et_right_sidebar #sidebar {
	display: none !important;
}

/* Prevent horizontal scroll from 100vw breakout (scrollbar width) */
.zsmh-triedy-page {
	overflow-x: clip !important;
}

/* Body flex fix (same as single-udalosti) */
body.post-type-archive-triedy,
body.single-triedy,
body.tax-ziaci {
	flex-direction: column !important;
}

/* ═══════════════════════════════════════════
   FULL-WIDTH BREAKOUT
   Hero and Main are inside Divi .container (width:80%)
   but their backgrounds must reach viewport edges.
   ═══════════════════════════════════════════ */
.zsmh-triedy-hero,
.zsmh-triedy-main {
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
}

/* ═══════════════════════════════════════════
   HERO SECTION
   ═══════════════════════════════════════════ */
.zsmh-triedy-hero {
	background: linear-gradient(160deg, #fefcf8 0%, #fef9ef 40%, #fdf4e2 100%);
	border-bottom: 3px solid #f19e00;
	padding: 28px 0 20px;
}

.zsmh-triedy-container {
	width: 80%;
	max-width: 1080px;
	margin: 0 auto;
}

.zsmh-triedy-title {
	font-family: var(--font-heading) !important;
	font-size: 2rem !important;
	font-weight: 700 !important;
	color: #333 !important;
	margin: 0 0 4px 0 !important;
	padding: 0 !important;
	line-height: 1.2 !important;
}

.zsmh-triedy-subtitle {
	font-family: var(--font-body) !important;
	font-size: 0.88rem !important;
	color: #999 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.zsmh-triedy-subtitle strong {
	color: #f19e00;
}

/* ── Nav pills ── */
.zsmh-triedy-nav {
	display: flex;
	gap: 6px;
	margin-top: 16px;
	flex-wrap: wrap;
}

.zsmh-triedy-pill {
	padding: 5px 16px;
	border-radius: 50px;
	font-family: var(--font-heading);
	font-size: 0.78rem;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.2s;
	white-space: nowrap;
	border: 1px solid rgba(190, 145, 50, 0.22);
	background: rgba(255, 255, 255, 0.75);
	color: #777;
}

.zsmh-triedy-pill:hover {
	background: #fff;
	color: #f19e00;
	border-color: #f19e00;
}

.zsmh-triedy-pill.active {
	background: #f19e00;
	border-color: #f19e00;
	color: #fff;
}

/* ── Archive link ── */
.zsmh-triedy-archiv-link {
	margin-top: 12px;
}

.zsmh-triedy-archiv-link a {
	font-size: 0.78rem;
	color: #999;
	text-decoration: none;
	border-bottom: 1px dashed #ccc;
	padding-bottom: 1px;
	transition: color 0.15s, border-color 0.15s;
}

.zsmh-triedy-archiv-link a:hover {
	color: #f19e00;
	border-color: #f19e00;
}

/* ═══════════════════════════════════════════
   MAIN CONTENT
   ═══════════════════════════════════════════ */
.zsmh-triedy-main {
	padding: 32px 0 60px;
	background: #fafafa;
}

/* ═══════════════════════════════════════════
   SECTION HEADER (shared desktop + mobile)
   ═══════════════════════════════════════════ */
.zsmh-triedy-section {
	margin-bottom: 36px;
}

.zsmh-triedy-section-header {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 18px;
}

.zsmh-triedy-section-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	flex-shrink: 0;
}

.zsmh-triedy-dot-st2 { background: #3b82f6; }
.zsmh-triedy-dot-st1 { background: #f19e00; }
.zsmh-triedy-dot-ms  { background: #10b981; }

.zsmh-triedy-section-label {
	font-family: var(--font-heading);
	font-size: 1rem;
	font-weight: 700;
	color: #333;
}

.zsmh-triedy-section-count {
	font-family: var(--font-body);
	font-size: 0.72rem;
	color: #999;
}

.zsmh-triedy-section-line {
	flex-grow: 1;
	height: 1px;
	background: linear-gradient(to right, #e0e0e0, transparent);
}

/* ═══════════════════════════════════════════
   DESKTOP: CARD GRID (visible 769px+)
   ═══════════════════════════════════════════ */
.zsmh-triedy-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 16px;
}

/* Hide table on desktop */
.zsmh-triedy-table {
	display: none;
}

/* ── Card ── */
.zsmh-triedy-card {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
	overflow: hidden;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
	text-decoration: none !important;
	color: inherit !important;
	display: flex;
	flex-direction: column;
	position: relative;
	cursor: pointer;
	border: 1px solid rgba(0, 0, 0, 0.04);
}

.zsmh-triedy-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.10);
}

/* Accent pruh */
.zsmh-triedy-card-accent {
	height: 4px;
	width: 100%;
}

.zsmh-triedy-accent-st2 { background: #3b82f6; }
.zsmh-triedy-accent-st1 { background: #f19e00; }
.zsmh-triedy-accent-ms  { background: #10b981; }

/* Card body */
.zsmh-triedy-card-body {
	padding: 20px 20px 16px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

/* Top row: name + badge */
.zsmh-triedy-card-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.zsmh-triedy-card-name {
	font-family: var(--font-heading) !important;
	font-size: 1.6rem !important;
	font-weight: 700 !important;
	color: #333 !important;
	line-height: 1.1;
}

.zsmh-triedy-card-mascot {
	font-size: 1.8rem;
	line-height: 1;
	flex-shrink: 0;
}

/* Badge */
.zsmh-triedy-card-badge {
	padding: 3px 10px;
	border-radius: 50px;
	font-family: var(--font-heading);
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	white-space: nowrap;
	flex-shrink: 0;
}

.zsmh-triedy-badge-st2 { background: #eff6ff; color: #2563eb; }
.zsmh-triedy-badge-st1 { background: #fff7e6; color: #c07b00; }
.zsmh-triedy-badge-ms  { background: #ecfdf5; color: #059669; }

/* Teacher */
.zsmh-triedy-card-teacher {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.82rem;
	color: #666;
}

.zsmh-triedy-card-teacher-icon {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #f5f5f5;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.zsmh-triedy-card-teacher-icon svg {
	width: 14px;
	height: 14px;
	color: #bbb;
}

.zsmh-triedy-card-teacher-name {
	color: #f19e00;
	font-weight: 500;
}

/* Stats */
.zsmh-triedy-card-stats {
	display: flex;
	gap: 16px;
	padding-top: 10px;
	border-top: 1px solid #f0f0f0;
	font-size: 0.72rem;
	color: #999;
}

.zsmh-triedy-card-stat {
	display: flex;
	align-items: center;
	gap: 4px;
}

.zsmh-triedy-card-stat svg {
	width: 13px;
	height: 13px;
	color: #ccc;
}

/* MŠ card adjustments */
.zsmh-triedy-card-ms .zsmh-triedy-card-name {
	font-size: 1.35rem !important;
}

/* ═══════════════════════════════════════════
   MOBILE: TABLE ROWS (visible ≤768px)
   ═══════════════════════════════════════════ */
.zsmh-triedy-row {
	display: grid;
	grid-template-columns: 80px 1fr 80px 40px;
	align-items: center;
	padding: 0;
	text-decoration: none !important;
	color: inherit !important;
	transition: background 0.15s;
	border-bottom: 1px solid #f5f5f5;
	position: relative;
}

.zsmh-triedy-row:last-child {
	border-bottom: none;
}

.zsmh-triedy-row:hover {
	background: #fefcf6;
}

.zsmh-triedy-row:hover .zsmh-triedy-row-name span:last-child {
	color: #f19e00;
}

/* Accent border on hover */
.zsmh-triedy-row::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 3px;
	opacity: 0;
	transition: opacity 0.15s;
}

.zsmh-triedy-row:hover::before {
	opacity: 1;
}

.zsmh-triedy-row-st2::before { background: #3b82f6; }
.zsmh-triedy-row-st1::before { background: #f19e00; }
.zsmh-triedy-row-ms::before  { background: #10b981; }

/* Table cells */
.zsmh-triedy-row-name {
	padding: 14px 16px;
	display: flex;
	align-items: center;
	gap: 4px;
	font-family: var(--font-heading);
	font-size: 1.1rem;
	font-weight: 700;
	color: #333;
	transition: color 0.15s;
}

.zsmh-triedy-row-emoji {
	font-size: 1rem;
	margin-right: 2px;
}

.zsmh-triedy-row-teacher {
	padding: 14px 12px;
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.82rem;
	color: #666;
	min-width: 0;
}

.zsmh-triedy-row-teacher span:last-child {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.zsmh-triedy-row-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #ddd;
	flex-shrink: 0;
}

.zsmh-triedy-row-students {
	padding: 14px 8px;
	font-size: 0.72rem;
	font-family: var(--font-heading);
	font-weight: 700;
	color: #999;
	white-space: nowrap;
	text-align: right;
}

.zsmh-triedy-row-arrow {
	padding: 14px 12px 14px 4px;
	text-align: right;
	color: #ddd;
	font-size: 1rem;
	transition: color 0.15s, transform 0.15s;
}

.zsmh-triedy-row:hover .zsmh-triedy-row-arrow {
	color: #f19e00;
}

.zsmh-triedy-row:hover .zsmh-triedy-row-arrow span {
	display: inline-block;
	transform: translateX(3px);
}

/* ═══════════════════════════════════════════
   RESPONSIVE BREAKPOINTS
   ═══════════════════════════════════════════ */

/* ── Tablet: 769–1024px ── */
@media (max-width: 1024px) {
	.zsmh-triedy-container {
		width: 88%;
	}

	.zsmh-triedy-page .container {
		width: 88% !important;
	}

	.zsmh-triedy-cards {
		grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
		gap: 14px;
	}
}

/* ── Mobile: ≤768px — switch to table layout ── */
@media (max-width: 768px) {
	.zsmh-triedy-container {
		width: 92%;
	}

	.zsmh-triedy-page .container {
		width: 92% !important;
	}

	.zsmh-triedy-hero {
		padding: 22px 0 16px;
	}

	.zsmh-triedy-title {
		font-size: 1.5rem !important;
	}

	.zsmh-triedy-nav {
		overflow-x: auto;
		scrollbar-width: none;
		-ms-overflow-style: none;
		flex-wrap: nowrap;
	}
	.zsmh-triedy-nav::-webkit-scrollbar { display: none; }
	.zsmh-triedy-pill { flex-shrink: 0; }

	/* SWITCH: hide cards, show table */
	.zsmh-triedy-cards {
		display: none !important;
	}

	.zsmh-triedy-table {
		display: block !important;
		background: #fff;
		border-radius: 10px;
		box-shadow: 0 1px 6px rgba(0, 0, 0, 0.04);
		overflow: hidden;
		border: 1px solid #f0f0f0;
	}

	.zsmh-triedy-row {
		grid-template-columns: 70px 1fr 80px;
	}

	.zsmh-triedy-row-arrow {
		display: none;
	}

	.zsmh-triedy-main {
		padding: 24px 0 40px;
	}
}

/* ── Small mobile: ≤480px ── */
@media (max-width: 480px) {
	.zsmh-triedy-container {
		width: 94%;
	}

	.zsmh-triedy-page .container {
		width: 94% !important;
	}

	.zsmh-triedy-row {
		grid-template-columns: 60px 1fr 60px;
	}

	.zsmh-triedy-row-name {
		padding: 10px 12px;
		font-size: 0.95rem;
	}

	.zsmh-triedy-row-teacher {
		padding: 10px 8px;
		font-size: 0.75rem;
	}

	.zsmh-triedy-row-students {
		padding: 10px 12px 10px 4px;
		font-size: 0.68rem;
	}

	.zsmh-triedy-row-dot {
		display: none;
	}

	.zsmh-triedy-pill {
		font-size: 0.72rem;
		padding: 4px 12px;
	}
}

/* ═══════════════════════════════════════════
   PRINT
   ═══════════════════════════════════════════ */
@media print {
	.zsmh-triedy-hero {
		background: none !important;
		border: none !important;
		padding: 12px 0 !important;
	}

	.zsmh-triedy-nav {
		display: none !important;
	}

	.zsmh-triedy-card {
		box-shadow: none !important;
		border: 1px solid #ddd !important;
		break-inside: avoid;
	}

	.zsmh-triedy-card:hover {
		transform: none !important;
	}

	/* Print: always show cards, hide table */
	.zsmh-triedy-cards {
		display: grid !important;
		grid-template-columns: repeat(3, 1fr) !important;
		gap: 10px !important;
	}

	.zsmh-triedy-table {
		display: none !important;
	}
}


/* ╔═══════════════════════════════════════════════════════════╗
   ║                                                           ║
   ║   SINGLE TRIEDY (Detail page)                             ║
   ║   Namespace: .zsmh-st-*                                   ║
   ║                                                           ║
   ╚═══════════════════════════════════════════════════════════╝ */

/* ═══════════════════════════════════════════
   SINGLE: DIVI OVERRIDES
   ═══════════════════════════════════════════ */
.zsmh-st-page .container {
	width: 80% !important;
	max-width: 1080px !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

.zsmh-st-page #content-area {
	padding: 0 !important;
	margin: 0 !important;
}

.zsmh-st-page #left-area {
	width: 100% !important;
	float: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Hide Divi sidebar */
.zsmh-st-page #sidebar,
.zsmh-st-page .et_right_sidebar #sidebar {
	display: none !important;
}

/* Prevent horizontal scroll on single too */
.zsmh-st-page {
	overflow-x: clip !important;
}

/* Full-width breakout (same as archive) */
.zsmh-st-hero,
.zsmh-st-main {
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
}

/* ═══════════════════════════════════════════
   SINGLE: HERO SECTION
   ═══════════════════════════════════════════ */
.zsmh-st-hero {
	padding: 20px 0 24px;
	border-bottom: 3px solid transparent;
}

/* Color variants */
.zsmh-st-hero-st2 {
	background: linear-gradient(160deg, #f8faff 0%, #eef4ff 40%, #dbeafe 100%);
	border-bottom-color: #3b82f6;
}

.zsmh-st-hero-st1 {
	background: linear-gradient(160deg, #fefcf8 0%, #fef9ef 40%, #fdf4e2 100%);
	border-bottom-color: #f19e00;
}

.zsmh-st-hero-ms {
	background: linear-gradient(160deg, #f6fefb 0%, #ecfdf5 40%, #d1fae5 100%);
	border-bottom-color: #10b981;
}

/* Breadcrumb */
.zsmh-st-breadcrumb {
	font-family: var(--font-body);
	font-size: 0.8rem;
	color: #999;
	margin-bottom: 14px;
}

.zsmh-st-breadcrumb a {
	color: #999;
	text-decoration: none;
}

.zsmh-st-breadcrumb a:hover {
	color: #f19e00;
}

.zsmh-st-breadcrumb-sep {
	margin: 0 6px;
	color: #ccc;
}

.zsmh-st-breadcrumb-current {
	color: #bbb;
}

/* Hero content layout */
.zsmh-st-hero-content {
	display: flex;
	align-items: flex-start;
	gap: 24px;
}

/* Class badge */
.zsmh-st-badge {
	width: 80px;
	height: 80px;
	border-radius: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	background: #fff;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

.zsmh-st-badge-text {
	font-family: var(--font-heading);
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1;
}

.zsmh-st-badge-emoji {
	font-size: 2.4rem;
	line-height: 1;
}

.zsmh-st-badge-st2 { border: 2px solid #3b82f6; }
.zsmh-st-badge-st2 .zsmh-st-badge-text { color: #3b82f6; }

.zsmh-st-badge-st1 { border: 2px solid #f19e00; }
.zsmh-st-badge-st1 .zsmh-st-badge-text { color: #f19e00; }

.zsmh-st-badge-ms { border: 2px solid #10b981; }

/* Hero info */
.zsmh-st-hero-info {
	flex: 1;
	min-width: 0;
}

/* Title */
.zsmh-st-title {
	font-family: var(--font-heading) !important;
	font-size: 1.8rem !important;
	font-weight: 700 !important;
	color: #333 !important;
	margin: 0 0 8px 0 !important;
	padding: 0 !important;
	line-height: 1.2 !important;
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.zsmh-st-title-badge {
	padding: 3px 10px;
	border-radius: 50px;
	font-family: var(--font-heading);
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	white-space: nowrap;
	vertical-align: middle;
}

.zsmh-st-title-archived {
	font-size: 0.9rem;
	font-weight: 400;
	color: #999;
	font-style: italic;
}
.zsmh-st-title-years {
	font-size: 0.95rem;
	font-weight: 500;
	color: #8b7355;
	margin-top: 4px;
	letter-spacing: 0.5px;
}

/* Teacher */
.zsmh-st-teacher {
	display: flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-body);
	font-size: 0.88rem;
	color: #666;
	margin-bottom: 8px;
	flex-wrap: wrap;
}

.zsmh-st-teacher-icon {
	width: 16px;
	height: 16px;
	color: #bbb;
	flex-shrink: 0;
}

.zsmh-st-teacher-label {
	color: #999;
}

.zsmh-st-teacher-name {
	color: #f19e00;
	text-decoration: none;
	font-weight: 500;
}

.zsmh-st-teacher-name:hover {
	text-decoration: underline;
}

.zsmh-st-teacher-sep {
	color: #ccc;
}

.zsmh-st-teacher-email {
	color: #999;
	text-decoration: none;
	font-size: 0.82rem;
}

.zsmh-st-teacher-email:hover {
	color: #f19e00;
}

/* Meta counts */
.zsmh-st-meta {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}

.zsmh-st-meta-item {
	display: flex;
	align-items: center;
	gap: 5px;
	font-family: var(--font-body);
	font-size: 0.78rem;
	color: #999;
}

.zsmh-st-meta-item svg {
	width: 14px;
	height: 14px;
	color: #ccc;
	flex-shrink: 0;
}

/* ═══════════════════════════════════════════
   SINGLE: MAIN CONTENT
   ═══════════════════════════════════════════ */
.zsmh-st-main {
	padding: 28px 0 50px;
	background: #fafafa;
}

/* ── Section shared styles ── */
.zsmh-st-section {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 1px 8px rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(0, 0, 0, 0.04);
	padding: 24px 28px;
	margin-bottom: 20px;
}

.zsmh-st-section-header {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 18px;
}

.zsmh-st-section-icon {
	width: 20px;
	height: 20px;
	color: #f19e00;
	flex-shrink: 0;
}

.zsmh-st-section-title {
	font-family: var(--font-heading) !important;
	font-size: 1.1rem !important;
	font-weight: 700 !important;
	color: #333 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.zsmh-st-section-count {
	font-family: var(--font-body);
	font-size: 0.72rem;
	color: #999;
	background: #f5f5f5;
	padding: 2px 8px;
	border-radius: 50px;
}

/* ═══════════════════════════════════════════
   SINGLE: ROZVRH
   ═══════════════════════════════════════════ */
.zsmh-st-rozvrh-content {
	overflow: visible;
}

/* Tiva timetable plugin overrides */
.zsmh-st-rozvrh-content table {
	width: 100%;
	border-collapse: collapse;
}

/* ═══════════════════════════════════════════
   SINGLE: ŽIACI GRID
   ═══════════════════════════════════════════ */
.zsmh-st-ziaci-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 4px 12px;
}

.zsmh-st-ziak {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 6px 4px;
	font-family: var(--font-body);
	font-size: 0.88rem;
	border-radius: 4px;
	transition: background 0.15s;
}

.zsmh-st-ziak:hover {
	background: #fafafa;
}

.zsmh-st-ziak a {
	color: #f19e00;
	text-decoration: none;
}

.zsmh-st-ziak a:hover {
	text-decoration: underline;
}

.zsmh-st-ziak-dot {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	flex-shrink: 0;
}

.zsmh-st-ziak-dot-st2 { background: #3b82f6; }
.zsmh-st-ziak-dot-st1 { background: #f19e00; }
.zsmh-st-ziak-dot-ms  { background: #10b981; }

/* GDPR hidden students */
.zsmh-st-ziak-gdpr {
	opacity: 0.5;
	font-style: italic;
}

.zsmh-st-ziak-name {
	color: #999;
}

/* ═══════════════════════════════════════════
   SINGLE: UDALOSTI
   ═══════════════════════════════════════════ */
/* ═══════════════════════════════════════════
   SINGLE: FOTKY TRIEDY (preview)
   ═══════════════════════════════════════════ */
.zsmh-st-foto-event {
	margin-bottom: 20px;
}

.zsmh-st-foto-event:last-child {
	margin-bottom: 0;
}

.zsmh-st-foto-event-header {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin-bottom: 10px;
}

.zsmh-st-foto-event-title {
	font-size: 14px;
	font-weight: 600;
	color: #1d2327;
	text-decoration: none;
}

.zsmh-st-foto-event-title:hover {
	color: #2271b1;
}

.zsmh-st-foto-event-count {
	font-size: 12px;
	color: #999;
}

.zsmh-st-foto-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 6px;
	margin-bottom: 10px;
}

.zsmh-st-foto-thumb {
	position: relative;
	aspect-ratio: 1;
	border-radius: 6px;
	overflow: hidden;
}

.zsmh-st-foto-thumb a {
	display: block;
	width: 100%;
	height: 100%;
}

.zsmh-st-foto-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.zsmh-st-foto-thumb:hover img {
	transform: scale(1.05);
}

.zsmh-st-foto-thumb-more::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
	pointer-events: none;
	border-radius: 6px;
}

.zsmh-st-foto-more-badge {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	z-index: 1;
	pointer-events: none;
}

.zsmh-st-foto-link {
	font-size: 13px;
	color: #2271b1;
	text-decoration: none;
	font-weight: 500;
}

.zsmh-st-foto-link:hover {
	text-decoration: underline;
}

/* Udalosti inherits .zsmh-st-section white box (same as rozvrh/ziaci) */

.zsmh-st-udalosti .zsmh-st-section-header {
	margin-bottom: 12px;
}

/* Reuse archive card grid — override archive-wide width:80% */
.zsmh-st-udalosti .zsmh-archive-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	width: 100%;
	max-width: none;
	margin: 0 0 20px 0;
	padding: 0;
}

/* Pagination */
.zsmh-st-pagination {
	margin-top: 24px;
	display: flex;
	justify-content: center;
}

.zsmh-st-pagination ul {
	display: flex;
	list-style: none !important;
	gap: 4px;
	padding: 0 !important;
	margin: 0 !important;
}

.zsmh-st-pagination li {
	list-style: none !important;
}

.zsmh-st-pagination a,
.zsmh-st-pagination span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 10px;
	border-radius: 50px;
	font-family: var(--font-heading);
	font-size: 0.82rem;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.2s;
	color: #666;
	background: #fff;
	border: 1px solid #e0e0e0;
}

.zsmh-st-pagination a:hover {
	background: #f19e00;
	border-color: #f19e00;
	color: #fff;
}

.zsmh-st-pagination .current {
	background: #f19e00;
	border-color: #f19e00;
	color: #fff;
}

.zsmh-st-pagination .dots {
	border: none;
	background: transparent;
	color: #999;
}

/* ═══════════════════════════════════════════
   SINGLE: PREV/NEXT NAVIGATION
   ═══════════════════════════════════════════ */
.zsmh-st-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 32px;
	padding-top: 24px;
	border-top: 1px solid #e8e8e8;
}

.zsmh-st-nav-item {
	text-decoration: none !important;
	color: inherit !important;
	transition: color 0.15s;
}

.zsmh-st-nav-prev {
	text-align: left;
}

.zsmh-st-nav-next {
	text-align: right;
}

.zsmh-st-nav-label {
	display: block;
	font-family: var(--font-body);
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #999;
	margin-bottom: 2px;
}

.zsmh-st-nav-name {
	display: block;
	font-family: var(--font-heading);
	font-size: 1.3rem;
	font-weight: 700;
	color: #333;
	transition: color 0.15s;
}

.zsmh-st-nav-item:hover .zsmh-st-nav-name {
	color: #f19e00;
}

.zsmh-st-nav-all {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #fff;
	border: 1px solid #e0e0e0;
	color: #999;
	transition: all 0.2s;
	flex-shrink: 0;
}

.zsmh-st-nav-all:hover {
	background: #f19e00;
	border-color: #f19e00;
	color: #fff;
}

/* ═══════════════════════════════════════════
   SINGLE: RESPONSIVE BREAKPOINTS
   ═══════════════════════════════════════════ */

/* ── Tablet: ≤1024px ── */
@media (max-width: 1024px) {
	.zsmh-st-page .container {
		width: 88% !important;
	}

	.zsmh-st-ziaci-grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.zsmh-st-udalosti .zsmh-archive-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.zsmh-st-foto-grid {
		grid-template-columns: repeat(5, 1fr);
	}
}

/* ── Mobile: ≤768px ── */
@media (max-width: 768px) {
	.zsmh-st-page .container {
		width: 92% !important;
	}

	.zsmh-st-hero {
		padding: 16px 0 18px;
	}

	.zsmh-st-hero-content {
		gap: 16px;
	}

	.zsmh-st-badge {
		width: 60px;
		height: 60px;
		border-radius: 12px;
	}

	.zsmh-st-badge-text {
		font-size: 1.4rem;
	}

	.zsmh-st-badge-emoji {
		font-size: 1.8rem;
	}

	.zsmh-st-title {
		font-size: 1.4rem !important;
	}

	.zsmh-st-section {
		padding: 18px 20px;
	}

	.zsmh-st-ziaci-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.zsmh-st-udalosti .zsmh-archive-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.zsmh-st-foto-grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.zsmh-st-main {
		padding: 20px 0 36px;
	}

	.zsmh-st-nav-name {
		font-size: 1.1rem;
	}
}

/* ── Small mobile: ≤480px ── */
@media (max-width: 480px) {
	.zsmh-st-page .container {
		width: 94% !important;
	}

	.zsmh-st-hero-content {
		gap: 12px;
	}

	.zsmh-st-badge {
		width: 50px;
		height: 50px;
		border-radius: 10px;
	}

	.zsmh-st-badge-text {
		font-size: 1.2rem;
	}

	.zsmh-st-title {
		font-size: 1.2rem !important;
	}

	.zsmh-st-teacher {
		font-size: 0.8rem;
	}

	.zsmh-st-ziaci-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.zsmh-st-ziak {
		font-size: 0.8rem;
		padding: 4px 2px;
	}

	.zsmh-st-udalosti .zsmh-archive-grid {
		grid-template-columns: 1fr;
	}

	.zsmh-st-foto-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.zsmh-st-foto-more-badge {
		font-size: 14px;
	}

	.zsmh-st-nav {
		flex-direction: column;
		gap: 12px;
	}

	.zsmh-st-nav-prev,
	.zsmh-st-nav-next {
		text-align: center;
	}
}

/* ═══════════════════════════════════════════
   SINGLE: PRINT
   ═══════════════════════════════════════════ */
@media print {
	.zsmh-st-hero {
		background: none !important;
		border: none !important;
		padding: 8px 0 !important;
	}

	.zsmh-st-section {
		box-shadow: none !important;
		border: 1px solid #ddd !important;
		break-inside: avoid;
	}

	.zsmh-st-nav {
		display: none !important;
	}

	.zsmh-st-udalosti {
		display: none !important;
	}

	.zsmh-st-ziaci-grid {
		grid-template-columns: repeat(4, 1fr) !important;
	}

	.zsmh-st-badge {
		box-shadow: none !important;
	}
}


/* ═══════════════════════════════════════════════════════
   ROZVRH HODÍN — CSS Grid timetable
   Server-side rendered, zero JavaScript.
   Namespace: .rozvrh-*
   ═══════════════════════════════════════════════════════ */

/* ── Subject color palette ── */
:root {
	--roz-sjl: #ef4444;
	--roz-mat: #3b82f6;
	--roz-anj: #8b5cf6;
	--roz-nej: #a78bfa;
	--roz-dej: #f59e0b;
	--roz-geo: #f97316;
	--roz-bio: #10b981;
	--roz-fyz: #06b6d4;
	--roz-chem: #0ea5e9;
	--roz-inf: #6366f1;
	--roz-tsv: #22c55e;
	--roz-vyv: #ec4899;
	--roz-huv: #f472b6;
	--roz-tech: #78716c;
	--roz-obn: #64748b;
	--roz-etv: #a855f7;
	--roz-nav: #a855f7;
	--roz-prv: #eab308;
	--roz-rak: #fb923c;
	--roz-default: #94a3b8;
}

/* ── Wrapper ── */
.rozvrh {
	overflow-x: clip;
	overflow-y: visible;
}

/* ── Desktop grid table ── */
.rozvrh-table {
	display: grid;
	grid-template-columns: 56px repeat(5, 1fr);
	min-width: 700px;
	gap: 0;
	background: #fff;
}

/* Header row */
.rozvrh-header-empty {
	background: transparent;
	border-bottom: 2px solid #eee;
}

.rozvrh-header {
	padding: 10px 4px;
	text-align: center;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #666;
	border-bottom: 2px solid #eee;
}

.rozvrh-header.today {
	color: #f19e00;
	border-bottom-color: #f19e00;
}

/* Time slot column */
.rozvrh-time {
	padding: 0 8px 0 0;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	font-size: 0.68rem;
	font-weight: 600;
	color: #bbb;
	font-variant-numeric: tabular-nums;
	border-right: 2px solid #f0f0f0;
	min-height: 56px;
}

.rozvrh-time-number {
	font-size: 1rem;
	font-weight: 700;
	color: #ddd;
	margin-right: 6px;
}

/* Cell */
.rozvrh-cell {
	min-height: 56px;
	padding: 3px;
	border-bottom: 1px solid #f5f5f5;
	display: flex;
	gap: 2px;
}

.rozvrh-cell-empty {
	min-height: 56px;
	padding: 3px;
	border-bottom: 1px solid #f5f5f5;
}

/* Lesson block */
.rozvrh-lesson {
	flex: 1;
	border-radius: 8px;
	padding: 6px 8px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	min-width: 0;
	cursor: default;
	transition: transform 0.12s, box-shadow 0.12s;
	position: relative;
}

.rozvrh-lesson:hover {
	transform: scale(1.04);
	box-shadow: 0 3px 12px rgba(0,0,0,0.12);
	z-index: 2;
}

.rozvrh-lesson-name {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 0.82rem;
	color: #fff;
	line-height: 1.1;
	text-align: center;
}

.rozvrh-lesson-teacher {
	font-size: 0.58rem;
	color: rgba(255,255,255,0.8);
	margin-top: 1px;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
}

.rozvrh-lesson-room {
	font-size: 0.54rem;
	color: rgba(255,255,255,0.6);
	margin-top: 1px;
}

/* Split lessons (multiple groups in same time slot) */
.rozvrh-lesson.split {
	padding: 4px 3px;
}

.rozvrh-lesson.split .rozvrh-lesson-name {
	font-size: 0.72rem;
}

.rozvrh-lesson.split .rozvrh-lesson-teacher {
	display: none;
}

/* Lunch break separator */
.rozvrh-break {
	grid-column: 1 / -1;
	height: 4px;
	background: repeating-linear-gradient(90deg, #f0f0f0 0, #f0f0f0 8px, transparent 8px, transparent 16px);
	margin: 0;
}

/* ── RAK row ── */
.rozvrh-time-rak {
	min-height: 44px;
}

.rozvrh-time-rak .rozvrh-time-number {
	color: #fb923c;
	font-size: 0.75rem;
	letter-spacing: 0.05em;
}

.rozvrh-cell-rak {
	min-height: 44px;
	border-bottom: 2px dashed #fed7aa;
}

.rozvrh-cell-rak .rozvrh-lesson {
	opacity: 0.9;
}

/* ── Note under timetable ── */
.rozvrh-note {
	text-align: center;
	font-size: 0.8rem;
	color: #999;
	margin-top: 12px;
}

.rozvrh-note a {
	color: #F19E00;
	text-decoration: underline;
}

/* ── Tooltip (CSS only, on hover) ── */
.rozvrh-tooltip {
	display: none;
	position: absolute;
	bottom: calc(100% + 6px);
	left: 50%;
	transform: translateX(-50%);
	background: #333;
	color: #fff;
	padding: 8px 12px;
	border-radius: 8px;
	font-size: 0.72rem;
	white-space: nowrap;
	z-index: 100;
	box-shadow: 0 4px 16px rgba(0,0,0,0.2);
	pointer-events: none;
	max-width: 220px;
	white-space: normal;
	text-align: center;
}

.rozvrh-tooltip::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	border: 5px solid transparent;
	border-top-color: #333;
}

.rozvrh-lesson:hover .rozvrh-tooltip {
	display: block;
}

/* First row: tooltip below instead of above (prevents clipping) */
.rozvrh-lesson-first .rozvrh-tooltip {
	bottom: auto;
	top: calc(100% + 6px);
}

.rozvrh-lesson-first .rozvrh-tooltip::after {
	top: auto;
	bottom: 100%;
	border-top-color: transparent;
	border-bottom-color: #333;
}

.rozvrh-tooltip-subject {
	font-weight: 700;
	margin-bottom: 2px;
}

.rozvrh-tooltip-meta {
	color: rgba(255,255,255,0.7);
	font-size: 0.65rem;
}

/* ── Mobile responsive: stacked by day ── */
@media (min-width: 769px) {
	.rozvrh-mobile {
		display: none;
	}
}

@media (max-width: 768px) {
	.rozvrh-desktop {
		display: none;
	}

	.rozvrh-mobile {
		display: block;
	}
}

.rozvrh-mobile-day {
	margin-bottom: 16px;
}

.rozvrh-mobile-day-header {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 0.82rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #666;
	padding: 8px 0;
	border-bottom: 2px solid #eee;
	margin-bottom: 4px;
}

.rozvrh-mobile-day-header.today {
	color: #f19e00;
	border-bottom-color: #f19e00;
}

.rozvrh-mobile-slot {
	display: flex;
	align-items: stretch;
	gap: 8px;
	padding: 4px 0;
	border-bottom: 1px solid #f5f5f5;
}

.rozvrh-mobile-time {
	width: 48px;
	flex-shrink: 0;
	font-size: 0.68rem;
	font-weight: 600;
	color: #bbb;
	padding-top: 8px;
	text-align: right;
	font-variant-numeric: tabular-nums;
	line-height: 1.2;
}

.rozvrh-mobile-period {
	display: block;
	font-size: 0.82rem;
	font-weight: 700;
	color: #ddd;
}

.rozvrh-mobile-period-rak {
	color: #fb923c;
	font-size: 0.7rem;
	letter-spacing: 0.05em;
}

.rozvrh-mobile-lessons {
	flex: 1;
	display: flex;
	gap: 4px;
	min-width: 0;
}

.rozvrh-mobile-lesson {
	flex: 1;
	border-radius: 8px;
	padding: 8px 12px;
	display: flex;
	align-items: center;
	gap: 10px;
}

.rozvrh-mobile-lesson-name {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 0.82rem;
	color: #fff;
	white-space: nowrap;
}

.rozvrh-mobile-lesson-detail {
	font-size: 0.68rem;
	color: rgba(255,255,255,0.75);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.rozvrh-mobile-empty {
	padding: 8px 0;
	font-size: 0.78rem;
	color: #ccc;
	font-style: italic;
}

/* ── Print styles for rozvrh ── */
@media print {
	.rozvrh-mobile {
		display: none !important;
	}

	.rozvrh-desktop {
		display: grid !important;
	}

	.rozvrh-lesson:hover {
		transform: none;
		box-shadow: none;
	}

	.rozvrh-tooltip {
		display: none !important;
	}

	.rozvrh-lesson {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}

	/* legend removed */
}

/* ── Divi overrides for rozvrh inside .zsmh-st-rozvrh-content ── */
.zsmh-st-rozvrh-content .rozvrh-lesson-name,
.zsmh-st-rozvrh-content .rozvrh-lesson-teacher,
.zsmh-st-rozvrh-content .rozvrh-lesson-room,
.zsmh-st-rozvrh-content .rozvrh-mobile-lesson-name,
.zsmh-st-rozvrh-content .rozvrh-mobile-lesson-detail,
.zsmh-st-rozvrh-content .rozvrh-header,
.zsmh-st-rozvrh-content .rozvrh-time,
.zsmh-st-rozvrh-content .rozvrh-mobile-day-header,
.zsmh-st-rozvrh-content .rozvrh-mobile-time,
.zsmh-st-rozvrh-content .rozvrh-tooltip-subject,
.zsmh-st-rozvrh-content .rozvrh-tooltip-meta {
	margin: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	list-style: none !important;
	text-indent: 0 !important;
}


/* ═══════════════════════════════════════════════════════════════
   PROFIL ŽIAKA (taxonomy-ziaci.php)
   Namespace: .zsmh-ziak-page, prefix: zsmh-ziak-
   Colors: same as single-triedy (st2=blue, st1=orange, ms=green)
   ═══════════════════════════════════════════════════════════════ */

/* ── Divi overrides ── */
.zsmh-ziak-page .container {
	width: 80% !important;
	max-width: 1080px !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

.zsmh-ziak-page #content-area {
	padding: 0 !important;
	margin: 0 !important;
}

.zsmh-ziak-page #left-area {
	width: 100% !important;
	float: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.zsmh-ziak-page #sidebar,
.zsmh-ziak-page .et_right_sidebar #sidebar {
	display: none !important;
}

.zsmh-ziak-page {
	overflow-x: clip !important;
}

/* Hide Divi content-area separator line */
.zsmh-ziak-page #content-area::before {
	display: none !important;
	background: none !important;
}

/* ── HERO ── */
.zsmh-ziak-hero {
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	padding: 20px 0 24px;
	border-bottom: 3px solid transparent;
}

.zsmh-ziak-hero-inner {
	width: 80%;
	max-width: 1080px;
	margin: 0 auto;
}

/* Hero color variants */
.zsmh-ziak-hero-st2 {
	background: linear-gradient(160deg, #f8faff 0%, #eef4ff 40%, #dbeafe 100%);
	border-bottom-color: #3b82f6;
}

.zsmh-ziak-hero-st1 {
	background: linear-gradient(160deg, #fefcf8 0%, #fef9ef 40%, #fdf4e2 100%);
	border-bottom-color: #f19e00;
}

.zsmh-ziak-hero-ms {
	background: linear-gradient(160deg, #f6fefb 0%, #ecfdf5 40%, #d1fae5 100%);
	border-bottom-color: #10b981;
}

.zsmh-ziak-hero-former {
	background: linear-gradient(160deg, #fafafa 0%, #f5f5f5 40%, #eee 100%) !important;
	border-bottom-color: #ccc !important;
}

/* ── Breadcrumb ── */
.zsmh-ziak-breadcrumb {
	font-family: var(--font-body);
	font-size: 0.8rem;
	color: #999;
	margin-bottom: 14px;
}

.zsmh-ziak-breadcrumb a {
	color: #999;
	text-decoration: none;
}

.zsmh-ziak-breadcrumb a:hover {
	color: #f19e00;
}

.zsmh-ziak-breadcrumb-sep {
	margin: 0 6px;
	color: #ccc;
}

.zsmh-ziak-breadcrumb-current {
	color: #bbb;
}

/* ── Hero content (badge + info) ── */
.zsmh-ziak-hero-content {
	display: flex;
	align-items: flex-start;
	gap: 20px;
}

/* ── Badge (person icon) ── */
.zsmh-ziak-badge {
	width: 68px;
	height: 68px;
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	background: #fff;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

.zsmh-ziak-badge-icon {
	width: 32px;
	height: 32px;
}

.zsmh-ziak-badge-st2 {
	border: 2px solid #3b82f6;
	color: #3b82f6;
}

.zsmh-ziak-badge-st1 {
	border: 2px solid #f19e00;
	color: #f19e00;
}

.zsmh-ziak-badge-ms {
	border: 2px solid #10b981;
	color: #10b981;
}

.zsmh-ziak-hero-former .zsmh-ziak-badge {
	border-color: #ccc !important;
	color: #bbb !important;
}

/* ── Hero info ── */
.zsmh-ziak-hero-info {
	flex: 1;
	min-width: 0;
}

.zsmh-ziak-title {
	font-family: var(--font-heading) !important;
	font-size: 1.6rem !important;
	font-weight: 700 !important;
	color: #333 !important;
	margin: 0 0 6px 0 !important;
	padding: 0 !important;
	line-height: 1.2 !important;
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.zsmh-ziak-title-former {
	font-size: 0.8rem;
	font-weight: 400;
	color: #999;
	font-style: italic;
}

/* ── Detail (trieda info) ── */
.zsmh-ziak-detail {
	display: flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-body);
	font-size: 0.88rem;
	color: #666;
	margin-bottom: 8px;
	flex-wrap: wrap;
}

.zsmh-ziak-detail-icon {
	width: 16px;
	height: 16px;
	color: #bbb;
	flex-shrink: 0;
}

.zsmh-ziak-detail-label {
	color: #999;
}

.zsmh-ziak-detail-link {
	color: #f19e00;
	text-decoration: none;
	font-weight: 500;
}

.zsmh-ziak-detail-link:hover {
	text-decoration: underline;
}

/* ── Meta ── */
.zsmh-ziak-meta {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}

.zsmh-ziak-meta-item {
	display: flex;
	align-items: center;
	gap: 5px;
	font-family: var(--font-body);
	font-size: 0.78rem;
	color: #999;
}

.zsmh-ziak-meta-item svg {
	width: 14px;
	height: 14px;
	color: #ccc;
	flex-shrink: 0;
}

/* ── MAIN CONTENT ── */
.zsmh-ziak-main {
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	background: #f5f5f7;
	padding: 28px 0 48px;
}

.zsmh-ziak-main-inner {
	width: 80%;
	max-width: 1080px;
	margin: 0 auto;
}

/* ── Section card ── */
.zsmh-ziak-section {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 1px 8px rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(0, 0, 0, 0.04);
	padding: 24px 28px;
}

.zsmh-ziak-section-header {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 18px;
}

.zsmh-ziak-section-icon {
	width: 20px;
	height: 20px;
	color: #f19e00;
	flex-shrink: 0;
}

.zsmh-ziak-section-title {
	font-family: var(--font-heading) !important;
	font-size: 1.1rem !important;
	font-weight: 700 !important;
	color: #333 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.zsmh-ziak-section-count {
	font-family: var(--font-body);
	font-size: 0.72rem;
	color: #999;
	background: #f5f5f5;
	padding: 2px 8px;
	border-radius: 50px;
}

/* ── Grid override (full width inside section card) ── */
.zsmh-ziak-section .zsmh-archive-grid {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* ── Empty state ── */
.zsmh-ziak-empty-text {
	color: #999;
	font-family: var(--font-body);
	font-size: 0.95rem;
	margin: 0;
	padding: 20px 0;
}

/* ── Pagination ── */
.zsmh-ziak-pagination {
	margin-top: 24px;
	display: flex;
	justify-content: center;
}

.zsmh-ziak-pagination ul {
	display: flex;
	gap: 6px;
	list-style: none !important;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
	justify-content: center;
}

.zsmh-ziak-pagination li {
	list-style: none !important;
	margin: 0;
	padding: 0;
}

.zsmh-ziak-pagination a,
.zsmh-ziak-pagination span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border-radius: 50px;
	font-family: var(--font-heading);
	font-size: 0.88rem;
	font-weight: 700;
	text-decoration: none;
	transition: all 0.2s;
	border: 1px solid #e8e8e8;
	background: #f5f5f5;
	color: #555;
}

.zsmh-ziak-pagination a:hover {
	background: #fff;
	border-color: #f19e00;
	color: #f19e00;
}

.zsmh-ziak-pagination .current {
	background: #f19e00;
	border-color: #f19e00;
	color: #fff;
}

.zsmh-ziak-pagination .dots {
	border: none;
	background: none;
	color: #999;
	min-width: auto;
	padding: 0 4px;
}

.zsmh-ziak-pagination .prev,
.zsmh-ziak-pagination .next {
	font-size: 1rem;
}

/* ── Divi overrides for card typography ── */
.zsmh-ziak-page .zsmh-card-title,
.zsmh-ziak-page .zsmh-card-title a {
	font-family: var(--font-heading) !important;
	font-weight: 600 !important;
	font-size: 1rem !important;
	color: #333 !important;
	text-decoration: none !important;
	margin: 0 0 6px 0 !important;
	padding: 0 !important;
	line-height: 1.4 !important;
}

.zsmh-ziak-page .zsmh-card-title a:hover {
	color: #f19e00 !important;
}

.zsmh-ziak-page .zsmh-card-excerpt {
	font-family: var(--font-body) !important;
	font-size: 0.82rem !important;
	color: #777 !important;
	line-height: 1.5 !important;
	margin: 0 0 10px 0 !important;
	padding: 0 !important;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.zsmh-ziak-page .zsmh-card-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin-top: auto;
}

.zsmh-ziak-page .zsmh-card-tag {
	font-family: var(--font-body);
	font-size: 0.7rem;
	color: #999;
	background: #f5f5f5;
	padding: 2px 8px;
	border-radius: 50px;
	white-space: nowrap;
}

.zsmh-ziak-page .zsmh-card-body {
	padding: 14px 16px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.zsmh-ziak-page .zsmh-card {
	display: flex;
	flex-direction: column;
}

/* ═══════════════════════════════════════════
   PROFIL ŽIAKA — RESPONSIVE
   ═══════════════════════════════════════════ */

@media (max-width: 1024px) {
	.zsmh-ziak-section .zsmh-archive-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 768px) {
	.zsmh-ziak-hero-content {
		gap: 14px;
	}

	.zsmh-ziak-badge {
		width: 56px;
		height: 56px;
		border-radius: 12px;
	}

	.zsmh-ziak-badge-icon {
		width: 26px;
		height: 26px;
	}

	.zsmh-ziak-title {
		font-size: 1.3rem !important;
	}

	.zsmh-ziak-section {
		padding: 18px 20px;
	}

	.zsmh-ziak-section .zsmh-archive-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 16px !important;
	}
}

@media (max-width: 480px) {
	.zsmh-ziak-hero-content {
		gap: 12px;
	}

	.zsmh-ziak-badge {
		width: 48px;
		height: 48px;
		border-radius: 10px;
	}

	.zsmh-ziak-badge-icon {
		width: 22px;
		height: 22px;
	}

	.zsmh-ziak-title {
		font-size: 1.15rem !important;
	}

	.zsmh-ziak-section {
		padding: 14px 16px;
		border-radius: 10px;
	}

	.zsmh-ziak-section .zsmh-archive-grid {
		grid-template-columns: 1fr !important;
		gap: 14px !important;
	}

	.zsmh-ziak-main {
		padding: 20px 0 32px;
	}

	.zsmh-ziak-pagination a,
	.zsmh-ziak-pagination span {
		min-width: 36px;
		height: 36px;
		font-size: 0.82rem;
	}
}

/* ── Print ── */
@media print {
	.zsmh-ziak-hero {
		border-bottom: 1px solid #ccc;
		background: none !important;
		padding: 10px 0;
		width: auto;
		left: 0;
		margin-left: 0;
		margin-right: 0;
	}

	.zsmh-ziak-main {
		background: none;
		width: auto;
		left: 0;
		margin-left: 0;
		margin-right: 0;
		padding: 10px 0;
	}

	.zsmh-ziak-badge {
		border: 1px solid #999;
		box-shadow: none;
	}

	.zsmh-ziak-pagination {
		display: none;
	}

	.zsmh-ziak-section {
		box-shadow: none;
		border: 1px solid #ddd;
	}
}
