/*
 * Improvements on top of TheGem (October 2026).
 * Keeps the site's own look: blue #1D4988, red rules #EC2D2F, Merriweather titles, Roboto text.
 */

:root {
	--kks-blue: #1D4988;
	--kks-blue-dark: #143F79;
	--kks-red: #EC2D2F;
	--kks-ink: #1C2124;
	--kks-muted: #5F6B75;   /* dates and meta: 5:1 on white (TheGem's #99A9B5 was 2.4:1) */
	--kks-rule: #EDF2F4;
}

/* ---------------------------------------------------------------- text */

p { text-wrap: pretty; }
h1, h2, h3, h4, h5, h6,
.title-h1, .title-h2, .title-h3, .title-h4, .title-h5, .title-h6 { text-wrap: balance; }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 2px solid var(--kks-blue);
	outline-offset: 2px;
}
#site-header a:focus-visible,
.custom-footer a:focus-visible,
#cookie-notice button:focus-visible { outline-color: #fff; }

.post-meta-date,
.date-color,
.vc_gitem-post-data-source-post_date { color: var(--kks-muted); }

/* ---------------------------------------------------------------- page title band */

.page-title-block.page-title-style-1 { border-bottom: 1px solid var(--kks-rule); }
.page-title-block .page-title-title h1 { color: var(--kks-ink) !important; }
.page-title-block .page-title-title h1::after {
	content: "";
	display: block;
	width: 56px;
	height: 3px;
	margin-top: 12px;
	background: var(--kks-red);
}

@media (max-width: 767px) {
	.page-title-block.page-title-style-1 { padding-top: 24px !important; padding-bottom: 24px !important; }
	.page-title-block .page-title-title h1 { font-size: 26px; line-height: 1.25; }
}

/* ---------------------------------------------------------------- home hero (Slider Revolution) */

/* The two title lines ran past the right edge on phones. */
@media (max-width: 479px) {
	#slider-76-slide-188-layer-4,
	#slider-76-slide-188-layer-7 {
		font-size: 33px !important;
		letter-spacing: 1px !important;
	}
}

/* ---------------------------------------------------------------- home: "Të fundit" list */

/* One row per post: photo, then date, title and a two-line summary. The masonry script
   positioned the rows absolutely and lost their width on phones (only the photo showed). */
.full-custom-title .vc_masonry_grid { margin-left: 0 !important; margin-right: 0 !important; }
.vc_masonry_grid .vc_grid.vc_grid-gutter { margin-left: 0; margin-right: 0; }
.vc_masonry_grid .vc_grid-item.gem-basic-grid-2 {
	position: static !important;
	left: auto !important;
	top: auto !important;
	transform: none !important;
	width: 100% !important;
	float: none;
	padding: 0 0 22px !important;
	margin: 0 0 22px;
	border-bottom: 1px solid var(--kks-rule);
}
.vc_masonry_grid .vc_pageable-slide-wrapper,
.vc_masonry_grid .vc_grid-container,
.vc_masonry_grid .vc_grid { height: auto !important; }
.vc_masonry_grid .vc_pageable-slide-wrapper { margin-right: 0; }

.gem-basic-grid-2 .vc_gitem-zone-a {
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
}
.gem-basic-grid-2 .vc_gitem-zone-a .vc_gitem-row-position-top {
	position: static;
	display: flex;
	align-items: flex-start;
	gap: 24px;
	margin: 0;
}
.gem-basic-grid-2 .vc_gitem-zone-a .vc_gitem-row-position-top::before,
.gem-basic-grid-2 .vc_gitem-zone-a .vc_gitem-row-position-top::after,
.gem-basic-grid-2 .vc_gitem-zone-a .vc_gitem-row-position-middle,
.gem-basic-grid-2 .vc_gitem-zone-a .vc_gitem-row-position-bottom { display: none; }

.gem-basic-grid-2 .vc_gitem-row-position-top > .vc_gitem-col {
	float: none;
	padding: 0;
	min-height: 0;
}
.gem-basic-grid-2 .vc_gitem-row-position-top > .vc_col-sm-3 { flex: 0 0 160px; width: 160px; }
.gem-basic-grid-2 .vc_gitem-row-position-top > .vc_col-sm-9 { flex: 1 1 auto; width: auto; min-width: 0; }

.gem-basic-grid-2 .wpb_single_image { margin: 0; }
.gem-basic-grid-2 .vc_figure,
.gem-basic-grid-2 .vc_single_image-wrapper { display: block; margin: 0; }
.gem-basic-grid-2 .vc_single_image-img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
}

.gem-basic-grid-2 .vc_gitem-post-data-source-post_date {
	margin: 0;
	font-size: 15px;
	line-height: 1.4;
}
.gem-basic-grid-2 .vc_gitem-post-data-source-post_title { margin: 4px 0 8px !important; }
.gem-basic-grid-2 .vc_gitem-post-data-source-post_title h4 {
	margin: 0;
	font-size: 22px;
	line-height: 1.32;
}
.gem-basic-grid-2 .vc_gitem-post-data-source-post_title a { color: var(--kks-ink); transition: color .2s; }
.gem-basic-grid-2:hover .vc_gitem-post-data-source-post_title a { color: var(--kks-blue); }

.gem-basic-grid-2 .vc_gitem-post-data-source-post_excerpt { margin: 0 !important; }
.gem-basic-grid-2 .vc_gitem-post-data-source-post_excerpt p:empty { display: none; }
.gem-basic-grid-2 .vc_gitem-post-data-source-post_excerpt p {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	margin: 0;
	font-size: 16px;
	line-height: 1.55;
	color: #4A555E;
}

@media (max-width: 767px) {
	.gem-basic-grid-2 .vc_gitem-zone-a .vc_gitem-row-position-top { gap: 16px; }
	.gem-basic-grid-2 .vc_gitem-row-position-top > .vc_col-sm-3 { flex-basis: 96px; width: 96px; }
	.gem-basic-grid-2 .vc_gitem-post-data-source-post_date { font-size: 14px; }
	.gem-basic-grid-2 .vc_gitem-post-data-source-post_title h4 { font-size: 18px; }
	.gem-basic-grid-2 .vc_gitem-post-data-source-post_excerpt { display: none; }
}

/* "Shfaq më shumë": the site's blue instead of WPBakery's default violet. */
.vc_grid-btn-load_more .vc_btn3.vc_btn3-style-modern {
	max-width: 280px;
	margin: 4px auto 0;
	background: var(--kks-blue) !important;
	border-color: var(--kks-blue) !important;
	color: #fff !important;
	border-radius: 3px;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: .02em;
	transition: background-color .2s;
}
.vc_grid-btn-load_more .vc_btn3.vc_btn3-style-modern:hover,
.vc_grid-btn-load_more .vc_btn3.vc_btn3-style-modern:focus-visible {
	background: var(--kks-blue-dark) !important;
	border-color: var(--kks-blue-dark) !important;
}

/* ---------------------------------------------------------------- post lists (Arqipeshkvi, Kuria, …) */

/* Photo beside text. The photo now fills its frame (centred crop, not cut at the top),
   the summary stops after five lines, and on phones photo and text stack. */
.vc_grid-item-zone-c-right .vc_gitem-zone-a { height: auto !important; }
.vc_grid-item-zone-c-right .vc_gitem-zone-a .vc_gitem-row-position-middle {
	position: static;
	transform: none;
}
.vc_grid-item-zone-c-right .vc_gitem-zone-a .vc_gitem-col { padding: 0; }
.vc_grid-item-zone-c-right .vc_gitem-zone-a .wpb_single_image { margin: 0; }
.vc_grid-item-zone-c-right .vc_gitem-zone-a .vc_figure,
.vc_grid-item-zone-c-right .vc_gitem-zone-a .vc_single_image-wrapper { display: block; margin: 0; }
.vc_grid-item-zone-c-right .vc_gitem-zone-a .vc_single_image-img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	object-position: 50% 30%;
}

.vc_grid-item-zone-c-right .vc_gitem-post-data-source-post_excerpt p {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
	overflow: hidden;
}
.vc_grid-item-zone-c-right .vc_gitem-post-data-source-post_excerpt p:empty { display: none; }
.vc_grid-item-zone-c-right .vc_gitem-post-data-source-post_title a { transition: color .2s; }
.vc_grid-item-zone-c-right:hover .vc_gitem-post-data-source-post_title a { color: var(--kks-blue); }

@media (max-width: 767px) {
	.vc_grid-item.vc_grid-item-zone-c-right { padding-right: 0; }
	.vc_grid-item.vc_grid-item-zone-c-right .vc_gitem-animated-block,
	.vc_grid-item.vc_grid-item-zone-c-right .vc_gitem-zone-c {
		float: none;
		width: 100%;
	}
	.vc_grid-item.vc_grid-item-zone-c-right .vc_gitem-zone-c .vc_gitem-col { padding-left: 0; padding-right: 0; }
	.vc_grid-item-zone-c-right .vc_gitem-post-data-source-post_title h4,
	.vc_grid-item-zone-c-right .vc_gitem-post-data-source-post_title .vc_custom_heading { font-size: 22px; line-height: 1.3; }
	.vc_grid-item-zone-c-right .vc_gitem-post-data-source-post_excerpt p { -webkit-line-clamp: 4; }
}

/* ---------------------------------------------------------------- cookie bar */

#cookie-notice .cookie-notice-container {
	padding: 14px 24px;
	font-size: 15px;
	line-height: 1.5;
}
#cookie-notice .cn-button {
	margin-left: 16px;
	padding: 8px 20px;
	border-radius: 3px;
	color: var(--kks-blue) !important;
	font-size: 15px;
	font-weight: 500;
}
@media (max-width: 767px) {
	#cookie-notice .cookie-notice-container { padding: 14px 16px 16px; }
	#cookie-notice .cn-button { margin: 10px 0 0; }
}

/* ---------------------------------------------------------------- motion */

@media (prefers-reduced-motion: reduce) {
	.vc_grid-item.animated,
	.wpb_animate_when_almost_visible {
		animation: none !important;
		opacity: 1 !important;
	}
	.gem-basic-grid-2 .vc_gitem-post-data-source-post_title a,
	.vc_grid-item-zone-c-right .vc_gitem-post-data-source-post_title a,
	.vc_grid-btn-load_more .vc_btn3 { transition: none; }
}
