/* Blog karykatura.com.pl – loaded by mu-plugins/karykatura-blog.php on blog pages only.
   Colours follow Elementor Global Colors (Site Settings). */

:root {
	--kk-gold: var(--e-global-color-primary, #C9A227);
	--kk-gold-light: var(--e-global-color-gold_light, #E4C97A);
	--kk-bg: var(--e-global-color-secondary, #1C1C20);
	--kk-bg-alt: var(--e-global-color-accent, #26262B);
	--kk-bg-dark: var(--e-global-color-graphite_darkest, #151518);
	--kk-text: var(--e-global-color-text, #E7E3DA);
	--kk-cream: var(--e-global-color-cream, #F3EEE2);
	--kk-muted: var(--e-global-color-muted, #A9A398);
	--kk-border: rgba(231, 227, 218, .12);
	--kk-radius: 16px;
}

body { background-color: var(--kk-bg); }

/* ---------- Hero ---------- */

.kk-hero { text-align: center; }
.kk-hero .elementor-widget { width: 100%; text-align: center; }
.kk-breadcrumbs { font-size: 14px; color: var(--kk-muted); letter-spacing: .02em; }
.kk-breadcrumbs a { color: var(--kk-gold); text-decoration: none; }
.kk-breadcrumbs a:hover { color: var(--kk-gold-light); text-decoration: underline; }
.kk-breadcrumbs .kk-bc-sep { margin: 0 .55em; color: var(--kk-muted); }
.kk-breadcrumbs [aria-current] { color: var(--kk-text); }
.kk-line { display: block; width: 56px; height: 3px; border-radius: 2px; background: var(--kk-gold); margin: 0 auto; }
.kk-hero-title { margin: 0; color: var(--kk-cream); font-family: Poppins, sans-serif; font-weight: 700; font-size: clamp(40px, 6vw, 64px); line-height: 1.1; }
.kk-hero .elementor-widget-theme-post-title .elementor-heading-title { font-size: clamp(30px, 4.4vw, 50px); line-height: 1.15; color: var(--kk-cream); }
.kk-hero-sub, .kk-hero-sub p { max-width: 640px; margin: 0 auto; color: var(--kk-text); font-size: 18px; line-height: 1.65; }
.kk-post-meta { color: var(--kk-muted); font-size: 14px; text-transform: uppercase; letter-spacing: .08em; }
.kk-post-meta .kk-dot { margin: 0 .6em; color: var(--kk-gold); }

/* ---------- Shared card parts ---------- */

.kk-card, .kk-fcard {
	background: var(--kk-bg-alt);
	border: 1px solid var(--kk-border);
	border-radius: var(--kk-radius);
	overflow: hidden;
	height: 100%;
	transition: border-color .2s ease, transform .2s ease;
}
.kk-card:hover, .kk-fcard:hover { border-color: rgba(201, 162, 39, .55); }
.kk-card:hover { transform: translateY(-3px); }

.kk-card-img, .kk-card-img a { display: block; }
.kk-card-img img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0; }

.kk-card-date .elementor-icon-list-text,
.kk-card-date .elementor-post-info__item {
	color: var(--kk-muted) !important;
	font-size: 12px !important;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .1em;
}
.kk-card-title .elementor-heading-title,
.kk-card-title .elementor-heading-title a { color: var(--kk-cream) !important; text-decoration: none; }
.kk-card-title .elementor-heading-title a:hover { color: var(--kk-gold-light) !important; }
.kk-card-excerpt, .kk-card-excerpt p { color: var(--kk-text); opacity: .85; font-size: 15px; line-height: 1.65; margin: 0; }
.kk-card-excerpt .elementor-widget-container,
.kk-card-excerpt > p,
.kk-card-excerpt .elementor-widget-container > p { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }

.kk-card-more .elementor-button {
	background: transparent !important;
	padding: 0 !important;
	color: var(--kk-gold) !important;
	font-weight: 600;
	font-size: 15px;
	border-radius: 0;
}
.kk-card-more .elementor-button:hover { color: var(--kk-gold-light) !important; }

/* ---------- Featured card ---------- */

.kk-fcard { display: flex; flex-direction: row; }
.kk-fcard-media { flex: 0 0 60%; max-width: 60%; }
.kk-fcard-media .kk-card-img, .kk-fcard-media .kk-card-img a, .kk-fcard-media .kk-card-img .elementor-widget-container { height: 100%; }
.kk-fcard-media .kk-card-img img { height: 100%; min-height: 360px; aspect-ratio: auto; }
.kk-fcard-body { flex: 1 1 40%; justify-content: center; }
.kk-fcard .kk-card-title .elementor-heading-title { font-size: clamp(24px, 2.4vw, 32px); line-height: 1.25; }
.kk-fcard .kk-card-excerpt .elementor-widget-container,
.kk-fcard .kk-card-excerpt > p,
.kk-fcard .kk-card-excerpt .elementor-widget-container > p { -webkit-line-clamp: 4; }

.kk-btn-pill .elementor-button {
	background: var(--kk-gold) !important;
	color: var(--kk-bg) !important;
	border-radius: 999px !important;
	padding: 14px 34px !important;
	font-weight: 600;
	font-size: 15px;
}
.kk-btn-pill .elementor-button:hover { background: var(--kk-gold-light) !important; }

@media (max-width: 1024px) {
	.kk-fcard { flex-direction: column; }
	.kk-fcard-media { flex-basis: auto; max-width: 100%; }
	.kk-fcard-media .kk-card-img img { min-height: 0; aspect-ratio: 16 / 9; }
}

/* Featured post only on the first page of /blog/ */
body.paged .kk-featured,
body.category .kk-featured,
body.tag .kk-featured,
body.author .kk-featured,
body.date .kk-featured { display: none !important; }

/* ---------- Pagination ---------- */

.kk-grid .elementor-pagination { margin-top: 48px; display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; }
.kk-grid .elementor-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 44px; height: 44px; padding: 0 14px;
	border: 1px solid var(--kk-border); border-radius: 999px;
	color: var(--kk-text); text-decoration: none; margin: 0 !important;
}
.kk-grid .elementor-pagination .page-numbers.current { background: var(--kk-gold); border-color: var(--kk-gold); color: var(--kk-bg); font-weight: 600; }
.kk-grid .elementor-pagination a.page-numbers:hover { border-color: var(--kk-gold); color: var(--kk-gold); }

/* ---------- Single post ---------- */

.kk-single-thumb img { display: block; width: 100%; height: auto; max-height: 620px; object-fit: cover; border-radius: var(--kk-radius); }

.kk-content { color: var(--kk-text); font-size: 18px; line-height: 1.8; }
.kk-content > .elementor-widget-container, .kk-content { max-width: 760px; margin-left: auto; margin-right: auto; }
.kk-content p { margin: 0 0 1.4em; }
.kk-content h2 { color: var(--kk-cream); font-family: Poppins, sans-serif; font-weight: 700; font-size: clamp(26px, 3vw, 32px); line-height: 1.3; margin: 2.2em 0 .8em; }
.kk-content h3 { color: var(--kk-gold-light); font-family: Poppins, sans-serif; font-weight: 600; font-size: clamp(20px, 2.2vw, 23px); line-height: 1.4; margin: 1.8em 0 .6em; }
.kk-content h2:first-child, .kk-content h3:first-child { margin-top: 0; }
.kk-content ul, .kk-content ol { margin: 0 0 1.5em; padding-left: 1.4em; }
.kk-content li { margin: 0 0 .55em; padding-left: .3em; }
.kk-content ul li::marker { color: var(--kk-gold); }
.kk-content ol li::marker { color: var(--kk-gold); font-weight: 600; }
.kk-content a { color: var(--kk-gold); text-decoration: underline; text-underline-offset: 3px; }
.kk-content a:hover { color: var(--kk-gold-light); }
.kk-content strong { color: var(--kk-cream); font-weight: 600; }
.kk-content blockquote { margin: 1.8em 0; padding: 4px 0 4px 22px; border-left: 3px solid var(--kk-gold); color: var(--kk-cream); font-style: italic; }
.kk-content figure, .kk-content .wp-block-image { margin: 2.2em 0; }
.kk-content img { display: block; max-width: 100%; height: auto; border-radius: 12px; }
.kk-content figcaption { margin-top: .6em; color: var(--kk-muted); font-size: 14px; text-align: center; }
.kk-content table { width: 100%; border-collapse: collapse; margin: 0 0 1.6em; font-size: 16px; }
.kk-content th, .kk-content td { border: 1px solid var(--kk-border); padding: 10px 12px; text-align: left; }
.kk-content th { background: var(--kk-bg-alt); color: var(--kk-cream); }

/* ---------- Related ---------- */

.kk-related .kk-card-date, .kk-related .kk-card-excerpt { display: none; }
.kk-related-title .elementor-heading-title { color: var(--kk-gold) !important; }

@media (max-width: 767px) {
	.kk-content { font-size: 17px; line-height: 1.75; }
	.kk-hero-sub, .kk-hero-sub p { font-size: 16px; }
}
