/*
Theme Name: TopSlužby (Bricks Child)
Description: Child theme Bricks pre TopSlužby.sk – jednoduchý magazín, hodnotenia, robots.txt a llms.txt.
Author: Webklient.cz
Template: bricks
Version: 1.0.1
Text Domain: bricks-child
*/

:root {
	--ts-text: #1d1d1f;
	--ts-muted: #6b6b70;
	--ts-line: #e3e3e6;
	--ts-bg-soft: #f6f6f4;
	--ts-accent: #0b4a8b;
	--ts-star: #e2a400;
	--ts-width: 1180px;
	--ts-read: 720px;
}

body {
	color: var(--ts-text);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 18px;
	line-height: 1.6;
	background: #fff;
}

h1, h2, h3, h4,
.ts-nav, .ts-meta, .ts-kicker, .ts-footer, .ts-rating, .ts-badge, .ts-pagination, .brxe-breadcrumbs, .comment-respond, .bricks-pagination {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

a { color: var(--ts-accent); }
a:hover { text-decoration: underline; }

.ts-wrap { width: 100%; max-width: var(--ts-width); margin: 0 auto; padding-left: 20px; padding-right: 20px; }
.ts-read { max-width: var(--ts-read); margin-left: auto; margin-right: auto; }

/* Header */
.ts-header { border-bottom: 3px solid var(--ts-text); background: #fff; }
.ts-header-inner { display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 24px; padding-top: 18px; padding-bottom: 14px; }
.ts-logo img { height: 44px; width: auto; }
.ts-header .brxe-search { max-width: 260px; }
.ts-nav-row { border-top: 1px solid var(--ts-line); }
.ts-nav .bricks-nav-menu { gap: 22px; flex-wrap: wrap; }
.ts-nav .bricks-nav-menu > li > a { font-size: 15px; font-weight: 600; color: var(--ts-text); padding: 10px 0; }
.ts-nav .bricks-nav-menu > li > a:hover { color: var(--ts-accent); }

/* Typography */
.ts-page-title { font-size: 40px; line-height: 1.15; margin: 36px 0 8px; font-weight: 800; letter-spacing: -0.01em; }
.ts-lead { color: var(--ts-muted); font-size: 19px; margin-bottom: 28px; }
.ts-kicker { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--ts-accent); }
.ts-meta { font-size: 14px; color: var(--ts-muted); }
.ts-meta a { color: var(--ts-muted); }

/* Listing */
.ts-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 36px; row-gap: 0; }
.ts-card { border-top: 1px solid var(--ts-line); padding: 22px 0 26px; display: flex; flex-direction: column; gap: 8px; }
.ts-card h2, .ts-card h3 { font-size: 21px; line-height: 1.25; margin: 0; font-weight: 700; }
.ts-card h2 a, .ts-card h3 a { color: var(--ts-text); text-decoration: none; }
.ts-card h2 a:hover, .ts-card h3 a:hover { color: var(--ts-accent); }
.ts-card .ts-excerpt { font-size: 16px; color: #3a3a3d; margin: 0; }

/* Single */
.ts-article { padding-bottom: 40px; }
.ts-article .brxe-breadcrumbs { font-size: 14px; color: var(--ts-muted); margin-top: 28px; }
.ts-article .ts-page-title { margin-top: 12px; }
.ts-article .brxe-post-content { font-size: 19px; }
.ts-article .brxe-post-content > * + * { margin-top: 1em; }
.ts-article .brxe-post-content h2 { font-size: 28px; margin-top: 1.6em; }
.ts-article .brxe-post-content h3 { font-size: 22px; margin-top: 1.4em; }
.ts-article .brxe-post-content img { height: auto; }
.ts-featured img { width: 100%; height: auto; margin: 18px 0 8px; }
.ts-comments { border-top: 3px solid var(--ts-text); margin-top: 40px; padding-top: 10px; }
.ts-more { background: var(--ts-bg-soft); padding: 36px 0 20px; margin-top: 30px; }
.ts-more .ts-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ts-section-title { font-size: 22px; font-weight: 800; margin: 0 0 6px; }

/* Rating */
.ts-rating { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; border: 1px solid var(--ts-line); padding: 14px 16px; margin: 18px 0; }
.ts-stars { display: inline-flex; gap: 2px; }
.ts-stars button { all: unset; cursor: pointer; font-size: 28px; line-height: 1; color: #cfcfd4; }
.ts-stars button.is-on, .ts-stars button.is-hover { color: var(--ts-star); }
.ts-stars button:focus-visible { outline: 2px solid var(--ts-accent); outline-offset: 2px; }
.ts-rating[data-voted="1"] .ts-stars button { cursor: default; }
.ts-rating-text { font-size: 15px; color: var(--ts-muted); }
.ts-rating-text strong { color: var(--ts-text); font-size: 17px; }
.ts-badge { font-size: 14px; color: var(--ts-muted); }
.ts-badge .ts-badge-stars { color: var(--ts-star); letter-spacing: 1px; }

/* Pagination */
.ts-pagination { margin: 30px 0 50px; }

/* Footer */
.ts-footer { border-top: 3px solid var(--ts-text); margin-top: 20px; padding: 26px 0 40px; font-size: 14px; color: var(--ts-muted); }
.ts-footer-inner { display: flex; flex-direction: row; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.ts-footer a { color: var(--ts-muted); margin-right: 16px; }

@media (max-width: 991px) {
	.ts-list, .ts-more .ts-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	body { font-size: 17px; }
	.ts-list, .ts-more .ts-list { grid-template-columns: 1fr; }
	.ts-page-title { font-size: 30px; }
	.ts-header-inner { flex-wrap: wrap; }
	.ts-header .brxe-search { max-width: none; width: 100%; }
}
