/*
Theme Name: Cestovačka Swinkovcov
Description: Child téma pre Extendable – vizuál „Rodinný cestovný denník“ pre cestovacka.sk.
Template: extendable
Version: 1.0.1
Requires at least: 6.5
Text Domain: cestovacka
License: GNU General Public License v2 or later
*/

:root {
	--cs-fg: var(--wp--preset--color--foreground, #1B2422);
	--cs-primary: var(--wp--preset--color--primary, #0F5B57);
	--cs-primary-dark: #0A403D;
	--cs-sand: var(--wp--preset--color--tertiary, #F2EDE4);
	--cs-accent: var(--wp--preset--color--accent, #A8461F);
	--cs-muted: var(--wp--preset--color--muted, #5A6460);
	--cs-body: #26302E;
	--cs-soft: #4A5551;
	--cs-border: var(--wp--preset--color--border, #E6E1D8);
	--cs-chip-border: #DCD5C8;
	--cs-serif: var(--wp--preset--font-family--heading, Georgia, serif);
	--cs-radius: 6px;
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* ---------- Header ---------- */
.cs-header {
	border-bottom: 1px solid var(--cs-border);
	padding-top: 0.9rem;
	padding-bottom: 0.9rem;
	background: #fff;
}
.cs-header__inner { gap: 1.25rem; }
.cs-brand { gap: 0.85rem; align-items: center; }
.cs-brand .wp-block-site-logo img { display: block; height: auto; }
.cs-site-title {
	margin: 0;
	font-family: var(--cs-serif);
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -0.01em;
	white-space: nowrap;
}
.cs-site-title a { color: var(--cs-fg); text-decoration: none; }
.cs-site-title em { font-style: italic; font-weight: 400; color: var(--cs-primary); }
.cs-site-title--small { font-size: 1.25rem; }

.cs-nav { gap: 1.75rem; }
.cs-nav .wp-block-navigation-item__content { color: var(--cs-fg); text-decoration: none; padding: 0.4rem 0; }
.cs-nav .wp-block-navigation-item__content:hover,
.cs-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--cs-primary); }
.cs-nav .current-menu-item > .wp-block-navigation-item__content { font-weight: 600; }
@media (max-width: 599px) {
	.cs-nav .wp-block-navigation__responsive-container-open {
		width: 44px; height: 44px; border-radius: 22px; background: var(--cs-sand);
		display: inline-flex; align-items: center; justify-content: center;
	}
}
.cs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--cs-serif); font-size: 1.75rem; font-weight: 600;
}

@media (max-width: 600px) {
	.cs-site-title { font-size: 1.2rem; }
	.cs-brand .wp-block-site-logo img { width: 44px !important; }
}

/* ---------- Main ---------- */
.cs-main { padding-top: 3.5rem; padding-bottom: 5rem; }
.cs-main.cs-page { padding-top: 0; padding-bottom: 0; }
.cs-main.cs-page .cs-page-title { margin-top: 3.5rem; margin-bottom: 2rem; }
.cs-main > .cs-band:last-child,
.cs-main > .cs-about:last-child { margin-bottom: -5rem; }

.cs-section { margin-top: 4.5rem !important; }
.cs-section__head { align-items: baseline; margin-bottom: 2.25rem; gap: 0.75rem; }
.cs-section__head > * { margin: 0 !important; }
.cs-section-title { margin: 0; font-size: clamp(1.75rem, 3vw, 2.375rem); }
.cs-more { font-weight: 600; }
.cs-more a { text-decoration: none; }
.cs-lead { font-size: 1.1875rem; color: var(--cs-soft); max-width: 40rem; }
.cs-eyebrow {
	font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase;
	color: #F3C9A8; margin: 0;
}

/* ---------- Kicker (kategória) ---------- */
.cs-kicker,
.wp-block-post-terms.cs-kicker {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--cs-accent);
	margin: 0;
}
.cs-kicker a { color: var(--cs-accent); text-decoration: none; }
.cs-kicker a:hover { color: var(--cs-primary); }

/* ---------- Karty článkov ---------- */
.cs-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 3rem 2rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.cs-grid > li { margin: 0 !important; min-width: 0; }
.cs-card { display: flex; flex-direction: column; gap: 0.9rem; height: 100%; }
.cs-card > *, .cs-card__body > * { margin: 0 !important; }
.cs-card__img {
	display: block;
	margin: 0;
	border-radius: var(--cs-radius);
	overflow: hidden;
	background: var(--cs-sand);
}
.cs-card__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}
.cs-card:hover .cs-card__img img { transform: scale(1.03); }
.cs-card__body { display: flex; flex-direction: column; gap: 0.55rem; }
.cs-card__title,
.wp-block-post-title.cs-card__title {
	font-family: var(--cs-serif);
	font-size: 1.4375rem;
	font-weight: 600;
	line-height: 1.22;
	letter-spacing: -0.01em;
	text-transform: none;
}
.cs-card__title a { color: var(--cs-fg); text-decoration: none; }
.cs-card__title a:hover { color: var(--cs-primary); }
.cs-card__excerpt { display: none; }
.cs-card__date, .cs-card .wp-block-post-date { font-size: 0.875rem; color: var(--cs-muted); }

/* Zvýraznená prvá karta (hero na titulke, prvý článok na blogu a v kategórii) */
.cs-hero > li,
body:not(.paged) .cs-feature-first > li:first-child { grid-column: 1 / -1; }
.cs-hero .cs-card,
body:not(.paged) .cs-feature-first > li:first-child .cs-card {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: clamp(1.75rem, 4vw, 3.5rem);
	align-items: center;
}
body:not(.paged) .cs-feature-first > li:first-child {
	padding-bottom: 3rem;
	border-bottom: 1px solid var(--cs-border);
}
.cs-hero .cs-card__img img,
body:not(.paged) .cs-feature-first > li:first-child .cs-card__img img { aspect-ratio: 4 / 3 !important; }
.cs-hero .cs-card__body,
body:not(.paged) .cs-feature-first > li:first-child .cs-card__body { gap: 1rem; }
.cs-hero .cs-card__title,
body:not(.paged) .cs-feature-first > li:first-child .cs-card__title {
	font-size: clamp(2rem, 3.6vw, 3.25rem);
	line-height: 1.06;
	letter-spacing: -0.02em;
}
.cs-hero .cs-card__excerpt,
body:not(.paged) .cs-feature-first > li:first-child .cs-card__excerpt {
	display: block;
	font-size: 1.125rem;
	line-height: 1.65;
	color: var(--cs-soft);
}
.cs-card__excerpt .wp-block-post-excerpt__excerpt { margin: 0; }
.cs-hero .wp-block-read-more,
.cs-btn.wp-block-read-more {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	min-height: 48px;
	padding: 0 1.6rem;
	border-radius: 999px;
	background: var(--cs-primary);
	color: #fff;
	font-weight: 600;
	text-decoration: none;
	margin-top: 0.5rem !important;
}
.cs-btn.wp-block-read-more:hover { background: var(--cs-primary-dark); color: #fff; }

.cs-hero-query { margin-bottom: 0; }

@media (max-width: 960px) {
	.cs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 781px) {
	.cs-hero .cs-card,
	body:not(.paged) .cs-feature-first > li:first-child .cs-card { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
	.cs-grid { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
	.cs-main { padding-top: 2rem; }
}

/* ---------- Pás s destináciami ---------- */
.cs-band {
	background: var(--cs-sand);
	padding-top: 3rem;
	padding-bottom: 3.25rem;
	margin-top: 4.5rem !important;
}
.cs-band__inner > * + * { margin-top: 1.4rem; }
.cs-chips { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.cs-page-head .cs-chips { margin-top: 1.75rem; }
.cs-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	min-height: 44px;
	padding: 0 1.1rem;
	border-radius: 22px;
	background: #fff;
	border: 1px solid var(--cs-chip-border);
	color: var(--cs-fg);
	font-size: 0.9375rem;
	font-weight: 500;
	text-decoration: none;
	transition: border-color 0.2s, color 0.2s;
}
.cs-chip span { color: var(--cs-muted); font-weight: 400; }
.cs-chip:hover { border-color: var(--cs-primary); color: var(--cs-primary); }
.cs-chip.is-active { background: var(--cs-fg); border-color: var(--cs-fg); color: #fff; font-weight: 600; }
.cs-chip.is-active span { color: #C9D2CF; }

/* ---------- O nás (titulka) ---------- */
.cs-about {
	background: var(--cs-primary);
	color: #fff;
	padding-top: 4.5rem;
	padding-bottom: 4.5rem;
	margin-top: 5rem !important;
}
.cs-about__cols { gap: clamp(2rem, 5vw, 3.5rem); }
.cs-about h2 { color: #fff; font-size: clamp(2rem, 3.6vw, 2.75rem); margin-top: 0.75rem; }
.cs-about p { color: #E3EEEC; font-size: 1.125rem; }
.cs-about .cs-eyebrow { color: #F3C9A8; font-size: 0.8125rem; }
.cs-about__img { margin: 0; }
.cs-about__img img { border-radius: var(--cs-radius); width: 100%; }
.cs-about .wp-block-buttons { margin-top: 1.75rem; gap: 0.75rem; }
.cs-btn-light .wp-block-button__link { background: #fff; color: var(--cs-primary); }
.cs-btn-light .wp-block-button__link:hover { background: var(--cs-sand); color: var(--cs-primary-dark); }
.cs-btn-ghost .wp-block-button__link,
.cs-btn-ghost.is-style-outline .wp-block-button__link {
	background: transparent;
	color: #fff;
	border: 1.5px solid #fff;
}
.cs-btn-ghost .wp-block-button__link:hover { background: rgba(255, 255, 255, 0.12); color: #fff; }

/* ---------- Hlavička stránok Blog / vyhľadávanie ---------- */
.cs-page-head { margin-bottom: 3rem; }
.cs-page-head > * { margin-top: 0; margin-bottom: 0; }
.cs-page-head h1 { font-size: clamp(2.75rem, 6vw, 4rem); line-height: 1; margin-bottom: 0.75rem; }

/* ---------- Kategória ---------- */
.cs-term-hero {
	position: relative;
	overflow: hidden;
	background: var(--cs-fg);
	min-height: 440px;
	display: flex;
	align-items: flex-end;
	margin-top: -3.5rem !important;
	margin-bottom: 4rem !important;
	max-width: none !important;
	margin-left: calc(-1 * var(--wp--style--root--padding-left, 1.25rem)) !important;
	margin-right: calc(-1 * var(--wp--style--root--padding-right, 1.25rem)) !important;
	width: auto !important;
}
.cs-term-hero__bg {
	position: absolute; inset: 0; width: 100%; height: 100%;
	object-fit: cover; object-position: 50% 55%;
}
.cs-term-hero::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(to top, rgba(15, 24, 22, 0.78) 0%, rgba(15, 24, 22, 0.25) 55%, rgba(15, 24, 22, 0.1) 100%);
}
.cs-term-hero__inner {
	position: relative; z-index: 1;
	width: 100%;
	max-width: var(--wp--style--global--wide-size, 77.5rem);
	margin: 0 auto;
	box-sizing: border-box;
	padding: 3rem var(--wp--style--root--padding-left, 1.25rem) 3.25rem;
	color: #fff;
}
.cs-term-hero__inner > * { margin: 0; }
.cs-crumbs { font-size: 0.9375rem; color: #F1ECE3; margin-bottom: 0.75rem !important; }
.cs-crumbs a { color: #fff; text-decoration: none; }
.cs-crumbs a:hover { text-decoration: underline; color: #fff; }
.cs-term-hero__title {
	color: #fff;
	font-size: clamp(3rem, 8vw, 5rem);
	line-height: 1;
	letter-spacing: -0.025em;
}
.cs-term-hero__count { font-size: 1.1875rem; color: #F1ECE3; margin-top: 0.75rem !important; }
.cs-term-hero__desc { max-width: 40rem; color: #F1ECE3; margin-top: 0.75rem !important; }
.cs-term-hero--plain { min-height: 0; background: var(--cs-sand); }
.cs-term-hero--plain::after { display: none; }
.cs-term-hero--plain .cs-term-hero__inner,
.cs-term-hero--plain .cs-term-hero__title,
.cs-term-hero--plain .cs-crumbs,
.cs-term-hero--plain .cs-crumbs a,
.cs-term-hero--plain .cs-term-hero__count,
.cs-term-hero--plain .cs-term-hero__desc { color: var(--cs-fg); }
@media (max-width: 600px) {
	.cs-term-hero { min-height: 340px; margin-top: -2rem !important; }
}

/* ---------- Stránkovanie ---------- */
.cs-pagination { margin-top: 3.5rem !important; gap: 0.6rem; flex-wrap: wrap; }
.cs-pagination a,
.cs-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 48px; height: 48px; padding: 0 1rem; box-sizing: border-box;
	border-radius: 24px; border: 1px solid var(--cs-chip-border);
	color: var(--cs-fg); font-weight: 600; text-decoration: none;
}
.cs-pagination .page-numbers.current { background: var(--cs-primary); border-color: var(--cs-primary); color: #fff; }
.cs-pagination .page-numbers.dots { border: 0; min-width: 0; }
.cs-pagination a:hover { border-color: var(--cs-primary); color: var(--cs-primary); }

/* ---------- Článok ---------- */
.cs-single-head { margin-bottom: 2.5rem; }
.cs-single-head > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.cs-single-head .wp-block-post-title {
	font-size: clamp(2.25rem, 5vw, 3.5rem);
	line-height: 1.06;
	letter-spacing: -0.02em;
	margin: 1rem auto 1rem !important;
}
.cs-single-img { margin-bottom: 3.5rem !important; }
.cs-single-img img { border-radius: var(--cs-radius); }

.cs-content {
	font-size: 1.1875rem;
	line-height: 1.75;
	color: var(--cs-body);
}
.cs-content > * + * { margin-top: 1.5rem; }
.cs-content > p:first-child {
	font-family: var(--cs-serif);
	font-size: 1.4375rem;
	line-height: 1.55;
	color: var(--cs-fg);
}
.cs-content h2 { font-size: clamp(1.75rem, 3vw, 2.125rem); margin-top: 3.25rem; margin-bottom: 0.25rem; }
.cs-content h3 { font-size: 1.5rem; margin-top: 2.5rem; margin-bottom: 0.25rem; }
.cs-content h4 { margin-top: 2rem; }
.cs-content a { text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
.cs-content ul, .cs-content ol { padding-left: 1.3em; }
.cs-content li + li { margin-top: 0.4rem; }
.cs-content li::marker { color: var(--cs-accent); }
.cs-content .wp-block-image img { border-radius: var(--cs-radius); }
.cs-content > .wp-block-image:not(.alignwide):not(.alignfull) img {
	max-height: 82vh;
	width: auto;
	margin-left: auto;
	margin-right: auto;
	display: block;
}
.cs-content .wp-block-image figcaption,
.cs-content .wp-block-gallery figcaption.blocks-gallery-caption {
	font-size: 0.875rem; color: var(--cs-muted); text-align: center; margin-top: 0.6rem;
}
.cs-content .wp-block-gallery.has-nested-images { gap: 0.75rem; }
.cs-content .wp-block-gallery.has-nested-images figure.wp-block-image img { border-radius: 4px; }
.cs-content .wp-block-separator {
	border: 0;
	border-top: 1px solid var(--cs-border);
	opacity: 1;
	margin-top: 3rem;
	margin-bottom: 3rem;
	width: 100%;
	max-width: var(--wp--style--global--content-size, 44rem);
}
.cs-content .wp-block-separator.is-style-dots { border: 0; }
.cs-content blockquote {
	border-left: 3px solid var(--cs-accent);
	padding-left: 1.25rem;
	margin-left: 0;
}
.cs-content strong { color: var(--cs-fg); }

.cs-post-nav {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
	margin-top: 4rem !important;
}
.cs-post-nav > * { margin: 0 !important; }
.cs-post-nav .post-navigation-link-previous,
.cs-post-nav .post-navigation-link-next {
	border: 1px solid var(--cs-border);
	border-radius: 8px;
	padding: 1.1rem 1.35rem;
	font-size: 0.875rem;
	color: var(--cs-muted);
}
.cs-post-nav .post-navigation-link-previous:empty,
.cs-post-nav .post-navigation-link-next:empty { display: none; }
.cs-post-nav .post-navigation-link-next { grid-column: 2; text-align: right; }
.cs-post-nav a {
	display: block;
	margin-top: 0.3rem;
	font-family: var(--cs-serif);
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--cs-fg);
	text-decoration: none;
}
.cs-post-nav a:hover { color: var(--cs-primary); }
.cs-post-nav .post-navigation-link__label {
	display: block;
	font-family: var(--wp--preset--font-family--body, sans-serif);
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--cs-muted);
	margin-bottom: 0.25rem;
}
.cs-post-nav .wp-block-post-navigation-link__arrow-previous,
.cs-post-nav .wp-block-post-navigation-link__arrow-next { display: none; }
.cs-post-nav .wp-block-post-navigation-link__arrow-previous,
.cs-post-nav .wp-block-post-navigation-link__arrow-next { color: var(--cs-accent); }
@media (max-width: 600px) {
	.cs-post-nav { grid-template-columns: minmax(0, 1fr); }
	.cs-post-nav .post-navigation-link-next { grid-column: 1; }
	.cs-content { font-size: 1.125rem; }
	.cs-content > p:first-child { font-size: 1.3125rem; }
}

/* Súvisiace články */
.cs-related {
	background: var(--cs-sand);
	margin-top: 4.5rem !important;
	margin-bottom: -5rem !important;
	max-width: none !important;
	margin-left: calc(-1 * var(--wp--style--root--padding-left, 1.25rem)) !important;
	margin-right: calc(-1 * var(--wp--style--root--padding-right, 1.25rem)) !important;
	width: auto !important;
}
.cs-related__inner {
	max-width: var(--wp--style--global--wide-size, 77.5rem);
	margin: 0 auto;
	box-sizing: border-box;
	padding: 4rem var(--wp--style--root--padding-left, 1.25rem) 4.5rem;
}
.cs-related__title { margin: 0 0 2rem; font-size: clamp(1.75rem, 3vw, 2.125rem); }
.cs-related .cs-card__img img { aspect-ratio: 4 / 3; }
.cs-related .cs-card__title { font-size: 1.3125rem; }

/* ---------- Vyhľadávanie, 404 ---------- */
.cs-search { max-width: 34rem; margin-top: 1.5rem !important; }
.cs-search .wp-block-search__input {
	border: 1px solid var(--cs-chip-border); border-radius: 999px; padding: 0.75rem 1.25rem; font-size: 1rem;
}
.cs-search .wp-block-search__button { border-radius: 999px; margin-left: 0.5rem; }
.cs-404 { text-align: left; padding-top: 5rem; padding-bottom: 7rem; }

/* ---------- Päta ---------- */
.cs-footer {
	border-top: 1px solid var(--cs-border);
	padding-top: 2.5rem;
	padding-bottom: 2.75rem;
	margin-top: 0;
	font-size: 0.9375rem;
	color: var(--cs-muted);
}
.cs-footer__inner { gap: 1.25rem; align-items: center; }
.cs-footer-nav .wp-block-navigation-item__content { color: var(--cs-fg); text-decoration: none; }
.cs-footer-nav .wp-block-navigation-item__content:hover { color: var(--cs-primary); }
.cs-copy { margin-top: 1.5rem !important; margin-bottom: 0; color: var(--cs-muted); font-size: 0.875rem; }

/* Pevná hlavička pre šablónu „Bez nadpisu (pevná hlavička)“ */
body:has(.cs-sticky) .wp-site-blocks > header { position: sticky; top: 0; z-index: 50; }
body.admin-bar:has(.cs-sticky) .wp-site-blocks > header { top: 32px; }

/* Bez medzery nad pätou */
.wp-site-blocks > footer { margin-block-start: 0; }
.wp-site-blocks > main, .wp-site-blocks > .cs-main { margin-block-start: 0; }
