/* Content pages in the Struktura theme (#sk). Builds on struktura.css:
   page-group navigation, tables, figures, documents, link lists, contacts, forms. */

/* Single-column pages (no side navigation) */
#sk .sk-layout--single {
	grid-template-columns: minmax(0, 920px);
	justify-content: center;
}
#sk .sk-head h2 span {
	color: var(--sk-accent);
}
#sk .sk-head h5 {
	margin: 0;
	color: var(--sk-muted);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;
	text-transform: none;
}

/* Side navigation: group title + sibling pages */
#sk .sk-side-title {
	margin: 0 0 12px;
	padding-left: 14px;
	color: var(--sk-muted);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
#sk .sk-side a.is-active:hover {
	color: var(--sk-accent);
}
@media (max-width: 991.98px) {
	/* Sibling pages stay reachable on small screens as a row of chips */
	#sk .sk-side--pages {
		display: block;
		position: static;
		margin: 0 -16px;
	}
	#sk .sk-side--pages .sk-side-title {
		padding-left: 16px;
	}
	#sk .sk-side--pages ul {
		display: flex;
		gap: 8px;
		padding: 0 16px 6px;
		border-left: 0;
		overflow-x: auto;
		scrollbar-width: thin;
	}
	#sk .sk-side--pages a {
		flex-shrink: 0;
		max-width: 260px;
		margin: 0;
		padding: 8px 14px;
		border: 1px solid var(--sk-line);
		border-radius: 999px;
		background: #fff;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	#sk .sk-side--pages a i {
		display: none;
	}
	#sk .sk-side--pages a.is-active {
		border-color: var(--sk-accent);
	}
}

/* Unit without an icon/heading row (content that had no heading) */
#sk .sk-unit--plain .sk-unit-body {
	padding-top: 18px;
}
#sk .sk-unit-body > :first-child {
	margin-top: 18px;
}
#sk .sk-unit-body a:not(.sk-button) {
	color: var(--sk-accent);
	text-decoration: underline;
	text-underline-offset: 2px;
}
#sk .sk-unit-body h5 {
	margin: 22px 0 10px;
	font-size: 15px;
	font-weight: 700;
	text-transform: none;
}

/* Numbered lines keep their own numbering text */
#sk .sk-list--plain li {
	padding-left: 0;
}
#sk .sk-list--plain li::before {
	display: none;
}
#sk ol.sk-list {
	counter-reset: sk-ol;
}
#sk ol.sk-list li {
	padding-left: 38px;
	counter-increment: sk-ol;
}
#sk ol.sk-list li::before {
	content: counter(sk-ol);
	top: 8px;
	left: 0;
	width: 26px;
	height: 22px;
	border-radius: 6px;
	box-shadow: none;
	background: var(--sk-accent-soft);
	color: var(--sk-accent);
	font-size: 12px;
	font-weight: 700;
	line-height: 22px;
	text-align: center;
}

/* Tables */
#sk .sk-table-wrap {
	margin: 16px 0;
	border: 1px solid var(--sk-line);
	border-radius: 10px;
	overflow-x: auto;
}
#sk .sk-table {
	width: 100%;
	margin: 0 !important;
	border: 0;
	border-collapse: collapse;
	font-size: 14px;
}
#sk .sk-table th,
#sk .sk-table td {
	padding: 10px 14px;
	border: 0;
	border-bottom: 1px solid var(--sk-line);
	font-size: inherit;
	text-align: left;
	vertical-align: top;
}
#sk .sk-table tr:first-child th,
#sk .sk-table thead th {
	background: var(--sk-accent);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	white-space: nowrap;
}
#sk .sk-table tr:last-child td {
	border-bottom: 0;
}
#sk .sk-table tbody tr:nth-child(even) td {
	background: var(--sk-bg);
}
#sk .sk-table tr:hover td {
	background: var(--sk-accent-soft);
}

/* Figures */
#sk .sk-figure {
	margin: 18px 0;
	text-align: center;
}
#sk .sk-figure img {
	max-width: 100%;
	height: auto;
	border-radius: 10px;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
}
#sk .sk-unit-media {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 300px);
	gap: 24px;
	align-items: start;
}
#sk .sk-unit-media .sk-figure {
	margin-top: 18px;
}
@media (max-width: 767.98px) {
	#sk .sk-unit-media { grid-template-columns: 1fr; }
}

/* PDF documents: preview card, open/download, inline viewer on demand */
#sk .sk-pdf {
	display: grid;
	grid-template-columns: 170px minmax(0, 1fr);
	gap: 8px 22px;
	align-items: center;
	margin: 18px 0;
	padding: 16px;
	border: 1px solid var(--sk-line);
	border-radius: 10px;
	background: var(--sk-bg);
}
#sk .sk-pdf + br {
	display: none;
}
#sk .sk-pdf-thumb {
	display: block;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.14);
	overflow: hidden;
	transition: transform 0.2s, box-shadow 0.2s;
}
#sk .sk-pdf-thumb:hover,
#sk .sk-pdf-thumb:focus-visible {
	transform: translateY(-3px);
	box-shadow: 0 12px 26px rgba(0, 0, 0, 0.18);
}
#sk .sk-pdf-thumb img {
	display: block;
	width: 100%;
	height: auto;
}
#sk .sk-pdf-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
#sk .sk-unit-body .sk-pdf-actions a {
	text-decoration: none;
}
#sk .sk-button i {
	margin-right: 2px;
}
#sk .sk-unit-body .sk-button--ghost,
#sk .sk-pdf-toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border: 1px solid var(--sk-accent);
	border-radius: 6px;
	background: #fff;
	color: var(--sk-accent);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
	cursor: pointer;
	transition: background-color 0.15s, color 0.15s;
}
#sk .sk-unit-body .sk-button--ghost:hover,
#sk .sk-pdf-toggle:hover,
#sk .sk-pdf-toggle[aria-expanded="true"] {
	background: var(--sk-accent-soft);
	color: var(--sk-accent);
	filter: none;
}
#sk .sk-pdf-toggle:focus-visible,
#sk .sk-pdf-actions a:focus-visible {
	outline: 3px solid var(--sk-accent);
	outline-offset: 2px;
}
#sk .sk-pdf-viewer {
	grid-column: 1 / -1;
	margin-top: 12px;
	border: 1px solid var(--sk-line);
	border-radius: 8px;
	background: #fff;
	overflow: hidden;
}
#sk .sk-pdf-viewer[hidden] {
	display: none;
}
#sk .sk-pdf-viewer iframe {
	display: block;
	width: 100%;
	height: 82vh;
	min-height: 520px;
	border: 0;
}
/* Phones and tablets can't show PDFs inside a page: open them full screen instead */
@media (max-width: 991.98px) {
	#sk .sk-pdf-toggle { display: none; }
}
@media (max-width: 575.98px) {
	#sk .sk-pdf { grid-template-columns: 96px minmax(0, 1fr); gap: 14px; padding: 12px; }
	#sk .sk-pdf-actions { flex-direction: column; align-items: stretch; gap: 8px; }
	#sk .sk-pdf-actions .sk-button,
	#sk .sk-unit-body .sk-pdf-actions .sk-button--ghost { justify-content: center; padding: 9px 12px; font-size: 14px; }
}

/* Link list (e.g. Botime) */
#sk .sk-links {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
#sk .sk-links a {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	border: 1px solid var(--sk-line);
	border-left: 4px solid var(--sk-accent);
	border-radius: 10px;
	background: #fff;
	color: var(--sk-text);
	font-weight: 700;
	text-decoration: none;
	transition: transform 0.2s, box-shadow 0.2s;
}
#sk .sk-links a::after {
	content: "\f061";
	margin-left: auto;
	color: var(--sk-accent);
	font-family: FontAwesome;
	font-weight: 400;
	transition: transform 0.2s;
}
#sk .sk-links a:hover,
#sk .sk-links a:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
	color: var(--sk-text);
}
#sk .sk-links a:hover::after {
	transform: translateX(4px);
}
#sk .sk-links-icon {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: var(--sk-accent-soft);
	color: var(--sk-accent);
	font-size: 18px;
}
#sk .sk-links span:not(.sk-links-icon) {
	min-width: 0;
	overflow-wrap: anywhere;
}

/* Contacts */
#sk .sk-contacts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}
#sk .sk-contact {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 16px 18px;
	border: 1px solid var(--sk-line);
	border-top: 4px solid var(--sk-accent);
	border-radius: 10px;
	background: #fff;
}
#sk .sk-contact-unit {
	color: var(--sk-accent);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.4;
	text-transform: uppercase;
}
#sk .sk-contact-line {
	color: var(--sk-text);
	font-size: 14px;
	overflow-wrap: anywhere;
}
#sk .sk-contact-line i {
	margin-right: 6px;
	color: var(--sk-muted);
}
@media (max-width: 767.98px) {
	#sk .sk-contacts { grid-template-columns: 1fr; }
}

/* Forms */
#sk .sk-form {
	display: grid;
	gap: 14px;
}
#sk .sk-form input[type="text"],
#sk .sk-form input[type="email"],
#sk .sk-form input[type="password"],
#sk .sk-form input[type="tel"],
#sk .sk-form select,
#sk .sk-form textarea {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid var(--sk-line);
	border-radius: 8px;
	background: #fff;
	color: var(--sk-text);
	font-size: 15px;
	transition: border-color 0.15s, box-shadow 0.15s;
}
#sk .sk-form textarea {
	min-height: 140px;
	resize: vertical;
}
#sk .sk-form input:focus,
#sk .sk-form select:focus,
#sk .sk-form textarea:focus {
	border-color: var(--sk-accent);
	outline: 0;
	box-shadow: 0 0 0 3px var(--sk-accent-soft);
}
#sk .sk-form button,
#sk .sk-form input[type="submit"] {
	justify-self: start;
	padding: 11px 22px;
	border: 0;
	border-radius: 6px;
	background: var(--sk-accent);
	color: #fff;
	font-weight: 700;
	cursor: pointer;
	transition: filter 0.15s;
}
#sk .sk-form button:hover,
#sk .sk-form input[type="submit"]:hover {
	filter: brightness(0.92);
}

/* Books: cover beside title, authors and description */
#sk .sk-books {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}
#sk .sk-book {
	display: grid;
	grid-template-columns: 130px minmax(0, 1fr);
	gap: 18px;
	align-items: start;
	padding: 18px;
	border: 1px solid var(--sk-line);
	border-top: 4px solid var(--sk-accent);
	border-radius: 10px;
	background: #fff;
	transition: transform 0.2s, box-shadow 0.2s;
}
#sk .sk-book:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.08);
}
#sk .sk-book img {
	width: 100%;
	height: auto;
	border-radius: 6px;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.14);
}
#sk .sk-book h3 {
	margin: 0 0 8px;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.35;
}
#sk .sk-book-body {
	font-size: 14px;
	line-height: 1.6;
}
#sk .sk-book-body p {
	margin: 0 0 6px;
}
#sk .sk-book-body b,
#sk .sk-book-body .sk-block-title {
	display: block;
	margin: 0 0 6px;
	color: var(--sk-accent);
	font-size: 13px;
}
@media (max-width: 991.98px) {
	#sk .sk-books { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
	#sk .sk-book { grid-template-columns: 90px minmax(0, 1fr); gap: 14px; padding: 14px; }
	#sk .sk-book h3 { font-size: 15px; }
}

/* Accordion (FAQ): reuses .sk-sub */
#sk .sk-sub-body > p:last-child {
	margin-bottom: 6px;
}

/* Heading that groups the units below it */
#sk .sk-group-title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 18px 0 0;
	font-size: 22px;
	font-weight: 700;
}
#sk .sk-group-title::before {
	content: "";
	width: 6px;
	height: 26px;
	border-radius: 3px;
	background: var(--sk-accent);
}

/* Grid tracks must not grow to fit the scrolling chip row */
@media (max-width: 991.98px) {
	#sk .sk-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	#sk .sk-layout > * { min-width: 0; }
}

/* Contact form */
#sk .sk-form-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 18px;
	margin-top: 18px;
}
#sk .sk-form-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
#sk .sk-form-field--wide {
	grid-column: 1 / -1;
}
#sk .sk-form label {
	margin: 0;
	color: var(--sk-text);
	font-size: 13px;
	font-weight: 700;
}
#sk .sk-form input[type="number"] {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid var(--sk-line);
	border-radius: 8px;
	font-size: 15px;
}
#sk .sk-form-submit i {
	margin-left: 8px;
}
#sk .sk-contact-role {
	color: var(--sk-muted);
	font-size: 13px;
}
#sk .sk-unit-body .sk-contact-line a {
	color: var(--sk-text);
	text-decoration: none;
}
#sk .sk-unit-body .sk-contact-line a:hover {
	color: var(--sk-accent);
	text-decoration: underline;
}
@media (max-width: 575.98px) {
	#sk .sk-form-grid { grid-template-columns: 1fr; }
}

/* Cards with a short text (homepage) */
#sk .sk-card-text {
	color: var(--sk-muted);
	font-size: 14px;
	line-height: 1.6;
}
#sk p.sk-card-text {
	margin: 0;
}
#sk h3.sk-card-name {
	margin: 0;
}
#sk .sk-head--section {
	margin: 56px auto 24px;
}
@media (max-width: 575.98px) {
	#sk .sk-card--text {
		display: flex;
		align-items: flex-start;
		padding: 18px 16px;
		text-align: left;
		border-top-width: 4px;
		border-left-width: 1px;
	}
	#sk .sk-card--text .sk-card-icon { width: 44px; height: 44px; margin-bottom: 4px; font-size: 20px; }
	#sk .sk-card--text .sk-card-cta { margin-top: auto; padding-top: 10px; font-size: 13px; }
	#sk .sk-card--text .sk-card-cta i { font-size: inherit; }
}
