/* ==========================================================================
   Gazeta Diaspora — Main Stylesheet (clean rewrite)
   ========================================================================== */

/* 1. Variables
   ========================================================================== */
:root {
	--gd-red:      #c4161c;
	--gd-red-dark: #8d1116;
	--gd-ink:      #0b1220;
	--gd-text:     #111827;
	--gd-muted:    #6b7280;
	--gd-line:     #d8dee8;
	--gd-soft:     #f8fafc;
	--gd-paper:    #ffffff;
	--gd-blue:     #123b68;
	--gd-gold:     #d7a928;
	--gd-green:    #16805d;
	--gd-bg:       #e8edf4;
	--gd-max:      1320px;
	--gd-radius:   8px;
	--gd-shadow:   rgba(15, 23, 42, .07);
}

/* 2. Reset & Base
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }

body {
	margin: 0;
	background: var(--gd-bg);
	color: var(--gd-text);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
	line-height: 1.55;
}

a { color: inherit; text-decoration: none; }
img { display: block; height: auto; max-width: 100%; }
button { cursor: pointer; }

/* 3. Topbar — hidden everywhere; kept in markup for potential future use
   ========================================================================== */
.gd-topbar {
	display: none;
}

.gd-topbar__inner {
	align-items: center;
	display: flex;
	gap: 14px;
	justify-content: space-between;
	margin: 0 auto;
	max-width: var(--gd-max);
	min-height: 30px;
	padding: 0 18px;
}

.gd-topbar__links {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
}

.gd-topbar__links a {
	letter-spacing: .03em;
	text-transform: uppercase;
	font-size: 11px;
	font-weight: 700;
	transition: color .15s;
}

.gd-topbar__links a:hover { color: #fff; }

.gd-topbar__date {
	font-size: 11px;
	opacity: .65;
	white-space: nowrap;
}

/* 4. Header & Logo Row
   ========================================================================== */
.gd-header {
	background: var(--gd-paper);
	box-shadow: 0 2px 14px var(--gd-shadow);
	position: relative;
	z-index: 100;
}

.gd-nav {
	align-items: center;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	margin: 0 auto;
	max-width: var(--gd-max);
	min-height: 92px;
	padding: 12px 18px;
}

/* Logo / Brand */
.gd-brand {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	gap: 14px;
	min-width: 0;
	text-decoration: none;
}

/* Custom logo via WP Customizer */
.gd-brand .custom-logo {
	display: block;
	height: 68px;
	object-fit: contain;
	width: auto;
}

.gd-brand .custom-logo-link {
	align-items: center;
	display: flex;
}

/* Brand text */
.gd-brand__text {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.gd-brand__name {
	color: var(--gd-ink);
	display: block;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: .04em;
	line-height: 1;
	text-transform: uppercase;
}

.gd-brand__name span {
	color: var(--gd-red);
}

.gd-brand__bar {
	background: var(--gd-red);
	display: block;
	height: 3px;
	margin-top: 7px;
	width: 52px;
}

.gd-brand__tagline {
	color: var(--gd-muted);
	display: block;
	font-size: 11px;
	font-style: normal;
	letter-spacing: .06em;
	margin-top: 5px;
	text-transform: uppercase;
}

/* Search */
.gd-search { display: flex; flex-shrink: 0; }

.gd-search input {
	background: var(--gd-soft);
	border: 1px solid var(--gd-line);
	border-right: none;
	color: var(--gd-text);
	font-size: 14px;
	height: 40px;
	outline: none;
	padding: 0 14px;
	transition: border-color .15s;
	width: 210px;
}

.gd-search input:focus { border-color: var(--gd-red); }
.gd-search input::placeholder { color: var(--gd-muted); }

.gd-search button {
	align-items: center;
	background: var(--gd-ink);
	border: none;
	color: #fff;
	display: flex;
	font-size: 14px;
	font-weight: 700;
	gap: 6px;
	height: 40px;
	padding: 0 14px;
	transition: background .15s;
}

.gd-search button:hover { background: var(--gd-red); }

.gd-search button svg { flex-shrink: 0; }

/* 5. Navbar (Red Menu Bar)
   ========================================================================== */
.gd-navbar {
	background: var(--gd-red);
	border-bottom: 3px solid var(--gd-ink);
}

.gd-navbar__inner {
	margin: 0 auto;
	max-width: var(--gd-max);
	padding: 0 18px;
}

.gd-menu-toggle { display: none; }

.gd-menu-panel { display: block; }

.gd-navbar .menu {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

.gd-navbar .menu a {
	color: #fff;
	display: block;
	font-size: 13px;
	font-weight: 800;
	padding: 12px 13px;
	text-transform: uppercase;
	transition: background .15s;
}

.gd-navbar .menu a:hover { background: rgba(0, 0, 0, .2); }

.gd-navbar .menu .current-menu-item > a,
.gd-navbar .menu .current-cat > a { background: rgba(0, 0, 0, .24); }

/* Ad slot below menu */
.gd-ad-slot--below_menu { margin-bottom: 0; }

/* 6. Main Content
   ========================================================================== */
.gd-main {
	margin: 0 auto;
	max-width: var(--gd-max);
	padding: 24px 18px 52px;
}

/* 7. Slider / Hero
   ========================================================================== */
.gd-front {
	align-items: start;
	display: grid;
	gap: 20px;
	grid-template-columns: minmax(0, 1.7fr) 340px;
	margin-bottom: 22px;
}

.gd-slider {
	background: var(--gd-ink);
	border-radius: var(--gd-radius);
	box-shadow: 0 16px 48px rgba(15, 23, 42, .14);
	overflow: hidden;
	position: relative;
}

.gd-slide { display: none; position: relative; }
.gd-slide.is-active { display: block; }

.gd-slide__media {
	aspect-ratio: 16 / 9;
	background: linear-gradient(135deg, var(--gd-blue), var(--gd-red));
	display: block;
	overflow: hidden;
}

.gd-slide__media img {
	display: block;
	height: 100%;
	object-fit: cover;
	opacity: .88;
	transition: transform .45s ease;
	width: 100%;
}

.gd-slide:hover .gd-slide__media img { transform: scale(1.025); }

.gd-slide__content {
	background: linear-gradient(180deg, transparent 0%, rgba(10, 16, 28, .92) 100%);
	bottom: 0;
	color: #fff;
	left: 0;
	padding: 90px 28px 28px;
	position: absolute;
	right: 0;
}

.gd-slide h1 {
	color: #fff;
	font-size: clamp(20px, 2.6vw, 38px);
	line-height: 1.1;
	margin: 0 0 10px;
	max-width: 700px;
	text-shadow: 0 2px 8px rgba(0, 0, 0, .35);
}

.gd-slide h1 a { color: inherit; }
.gd-slide h1 a:hover { text-decoration: underline; }

.gd-slider__controls {
	align-items: center;
	bottom: 20px;
	display: flex;
	gap: 8px;
	position: absolute;
	right: 20px;
	z-index: 4;
}

.gd-slider__controls button {
	align-items: center;
	background: rgba(255, 255, 255, .88);
	border: none;
	border-radius: 4px;
	color: var(--gd-ink);
	display: flex;
	font-size: 20px;
	font-weight: 900;
	height: 32px;
	justify-content: center;
	transition: background .15s;
	width: 32px;
}

.gd-slider__controls button:hover { background: #fff; }

.gd-slider__controls div { display: flex; gap: 5px; }

.gd-slider__controls div button {
	border-radius: 4px;
	height: 8px;
	padding: 0;
	width: 22px;
}

.gd-slider__controls .is-active { background: var(--gd-red); }

/* Front Side Panel */
.gd-front__side {
	display: flex;
	flex-direction: column;
}

.gd-front__side .gd-panel {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
}

.gd-front__side .gd-news-list {
	flex: 1;
	overflow-y: auto;
}

/* 8. Panels & Blocks
   ========================================================================== */
.gd-panel,
.gd-block,
.gd-archive-head,
.gd-article {
	background: var(--gd-paper);
	border: 1px solid var(--gd-line);
	border-radius: var(--gd-radius);
	box-shadow: 0 2px 16px var(--gd-shadow);
}

.gd-panel { padding: 16px; }
.gd-panel + .gd-panel { margin-top: 18px; }
.gd-panel--red { border-top: 4px solid var(--gd-red); }

.gd-panel__head,
.gd-block__head {
	align-items: center;
	border-bottom: 2px solid var(--gd-ink);
	display: flex;
	justify-content: space-between;
	margin-bottom: 14px;
	padding-bottom: 10px;
}

.gd-panel__head h2,
.gd-block__head h1,
.gd-block__head h2 {
	color: var(--gd-ink);
	font-size: 20px;
	line-height: 1.1;
	margin: 0;
}

.gd-panel__head span,
.gd-block__head a {
	color: var(--gd-red);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.gd-block__head a:hover { text-decoration: underline; }

/* 9. News List
   ========================================================================== */
.gd-news-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.gd-news-list li {
	border-bottom: 1px solid var(--gd-line);
	padding: 10px 0;
}

.gd-news-list li:first-child { padding-top: 0; }
.gd-news-list li:last-child { border-bottom: none; }

.gd-news-list a {
	color: var(--gd-ink);
	display: block;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	transition: color .15s;
}

.gd-news-list a:hover { color: var(--gd-red); }

.gd-news-list span {
	color: var(--gd-red);
	display: block;
	font-size: 11px;
	font-weight: 800;
	margin-top: 4px;
	text-transform: uppercase;
}

/* 10. Cards
   ========================================================================== */
.gd-card {
	background: var(--gd-paper);
	border: 1px solid var(--gd-line);
	border-radius: var(--gd-radius);
	box-shadow: 0 2px 12px var(--gd-shadow);
	min-width: 0;
	overflow: hidden;
	transition: border-color .18s, box-shadow .18s, transform .18s;
}

.gd-card:hover {
	border-color: rgba(196, 22, 28, .22);
	box-shadow: 0 8px 28px rgba(15, 23, 42, .12);
	transform: translateY(-2px);
}

.gd-card__media {
	background: linear-gradient(135deg, var(--gd-blue), var(--gd-green));
	display: block;
	overflow: hidden;
}

.gd-card__media img {
	aspect-ratio: 16 / 10;
	display: block;
	height: 100%;
	object-fit: cover;
	transition: transform .22s ease;
	width: 100%;
}

.gd-card:hover .gd-card__media img { transform: scale(1.042); }

.gd-card__body { padding: 16px; }

.gd-card h3 {
	color: var(--gd-ink);
	font-size: 18px;
	font-weight: 900;
	line-height: 1.22;
	margin: 0 0 8px;
}

.gd-card h3 a { color: inherit; }
.gd-card h3 a:hover { color: var(--gd-red); }

.gd-card p {
	color: var(--gd-muted);
	font-size: 14px;
	line-height: 1.5;
	margin: 0;
}

.gd-card--large h3 { font-size: 24px; }
.gd-card--headline h3 { font-size: 17px; }

.gd-card--compact {
	align-items: stretch;
	border: none;
	border-radius: 0;
	border-top: 1px solid var(--gd-line);
	box-shadow: none;
	display: grid;
	grid-template-columns: 100px 1fr;
	padding-top: 10px;
}

.gd-card--compact:hover { border-color: var(--gd-line); box-shadow: none; transform: none; }
.gd-card--compact .gd-card__media img { aspect-ratio: 4 / 3; }
.gd-card--compact .gd-card__body { padding: 0 0 0 12px; }
.gd-card--compact h3 { font-size: 14px; }
.gd-card--compact p { display: none; }

/* 11. Meta
   ========================================================================== */
.gd-meta {
	align-items: center;
	color: var(--gd-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 11px;
	font-weight: 800;
	gap: 8px;
	letter-spacing: .02em;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.gd-meta a {
	background: rgba(196, 22, 28, .09);
	border-radius: 3px;
	color: var(--gd-red);
	padding: 3px 8px;
	transition: background .15s, color .15s;
}

.gd-meta a:hover { background: var(--gd-red); color: #fff; }

.gd-slide .gd-meta { color: rgba(255, 255, 255, .85); }
.gd-slide .gd-meta a { background: var(--gd-red); color: #fff; }

/* 12. Home Layout Grids
   ========================================================================== */
.gd-triple {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-bottom: 20px;
}

.gd-cats {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	margin-bottom: 20px;
}

.gd-cats a,
.gd-side-cats a {
	background: var(--gd-paper);
	border: 1px solid var(--gd-line);
	border-left: 4px solid var(--gd-red);
	border-radius: 0 var(--gd-radius) var(--gd-radius) 0;
	box-shadow: 0 2px 10px var(--gd-shadow);
	color: var(--gd-ink);
	display: block;
	font-size: 13px;
	font-weight: 900;
	padding: 12px;
	transition: border-color .15s, box-shadow .15s;
}

.gd-cats a:hover,
.gd-side-cats a:hover {
	border-left-color: var(--gd-ink);
	box-shadow: 0 6px 20px rgba(15, 23, 42, .12);
}

.gd-cats a:nth-child(3n) { border-left-color: #0284c7; }
.gd-cats a:nth-child(4n) { border-left-color: var(--gd-green); }
.gd-cats a:nth-child(5n) { border-left-color: #d97706; }

.gd-cats span,
.gd-side-cats span {
	color: var(--gd-muted);
	display: block;
	font-size: 11px;
	font-weight: 600;
	margin-top: 3px;
}

.gd-side-cats { display: grid; gap: 8px; }

/* 13. Home Layout
   ========================================================================== */
.gd-home-layout {
	align-items: start;
	display: grid;
	gap: 22px;
	grid-template-columns: minmax(0, 1fr) 340px;
}

.gd-home-layout__main { min-width: 0; }

.gd-block {
	border-top: 5px solid var(--gd-ink);
	margin-bottom: 20px;
	overflow: hidden;
	padding: 18px;
	position: relative;
}

.gd-block__grid {
	display: grid;
	gap: 16px;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
}

.gd-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Section accents */
.gd-block--moti      { background: linear-gradient(135deg, #f0f9ff, #fff); border-top-color: #0284c7; }
.gd-block--ekonomi   { background: linear-gradient(135deg, #f0fdf4, #fff); border-top-color: var(--gd-green); }
.gd-block--diaspora  { border-top-color: var(--gd-red); }
.gd-block--shendet   { border-top-color: #16a34a; }
.gd-block--kuzhine   { border-top-color: #d97706; }
.gd-block--kulture   { border-top-color: #7c3aed; }

/* 14. Diaspora Focus
   ========================================================================== */
.gd-diaspora-focus {
	background: linear-gradient(135deg, rgba(12, 17, 27, .97), rgba(28, 38, 56, .94));
	border-radius: 12px;
	box-shadow: 0 16px 48px rgba(15, 23, 42, .18);
	color: #fff;
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(240px, .65fr) 1fr;
	margin-bottom: 22px;
	overflow: hidden;
	padding: 28px;
	position: relative;
}

.gd-diaspora-focus::before {
	background: radial-gradient(circle, rgba(196, 22, 28, .26), transparent 70%);
	border-radius: 50%;
	content: '';
	height: 280px;
	position: absolute;
	right: -80px;
	top: -80px;
	width: 280px;
}

.gd-diaspora-focus__intro { position: relative; }

.gd-diaspora-focus__intro h2 {
	color: #fff;
	font-size: clamp(24px, 3.5vw, 40px);
	line-height: 1;
	margin: 0 0 10px;
}

.gd-diaspora-focus__intro p {
	color: rgba(255, 255, 255, .68);
	font-size: 15px;
	margin: 0;
}

.gd-kicker {
	color: var(--gd-red);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .08em;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.gd-diaspora-focus .gd-kicker { color: rgba(255, 255, 255, .65); }

.gd-diaspora-focus__list {
	align-content: start;
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gd-diaspora-focus__list a {
	background: rgba(255, 255, 255, .07);
	border: 1px solid rgba(255, 255, 255, .13);
	border-radius: 8px;
	color: #fff;
	display: block;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.26;
	padding: 14px;
	transition: background .15s;
}

.gd-diaspora-focus__list a:hover { background: rgba(255, 255, 255, .13); }

.gd-diaspora-focus__list span {
	color: rgba(255, 255, 255, .52);
	display: block;
	font-size: 11px;
	font-weight: 700;
	margin-top: 8px;
	text-transform: uppercase;
}

/* 15. Article (Single Post)
   ========================================================================== */
.gd-article-layout {
	align-items: start;
	display: grid;
	gap: 22px;
	grid-template-columns: minmax(0, 1fr) 340px;
}

.gd-article {
	border-top: 5px solid var(--gd-red);
	padding: 36px 42px;
}

.gd-article h1 {
	color: var(--gd-ink);
	font-size: clamp(26px, 3vw, 42px);
	line-height: 1.12;
	margin: 0 0 14px;
}

.gd-article__submeta {
	align-items: center;
	border-bottom: 1px solid var(--gd-line);
	color: var(--gd-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 13px;
	font-weight: 600;
	gap: 14px;
	margin-bottom: 22px;
	padding-bottom: 14px;
}

.gd-article__submeta svg { margin-right: 3px; vertical-align: middle; }

.gd-post-views { color: var(--gd-red); font-weight: 800; }

.gd-article__image {
	border-radius: 6px;
	margin: 0 0 24px;
	overflow: hidden;
}

.gd-article__image img { display: block; width: 100%; }

.gd-article__image figcaption {
	background: var(--gd-soft);
	border-top: 1px solid var(--gd-line);
	color: var(--gd-muted);
	font-size: 13px;
	padding: 8px 14px;
}

/* Content Typography */
.gd-content {
	color: #1a2333;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 19px;
	line-height: 1.78;
}

.gd-content p { margin: 0 0 1.2em; }

.gd-content p:first-of-type {
	color: var(--gd-ink);
	font-size: 21px;
	font-weight: 700;
	line-height: 1.55;
}

.gd-content a { color: var(--gd-red); text-decoration: underline; }
.gd-content a:hover { color: var(--gd-red-dark); }

.gd-content h2 { font-size: 26px; line-height: 1.18; margin: 1.5em 0 .6em; }
.gd-content h3 { font-size: 22px; line-height: 1.2; margin: 1.3em 0 .5em; }

.gd-content blockquote {
	border-left: 4px solid var(--gd-red);
	color: #444;
	font-style: italic;
	margin: 1.5em 0;
	padding: .4em 1.5em;
}

.gd-content ul,
.gd-content ol {
	margin-bottom: 1.2em;
	padding-left: 1.8em;
}

.gd-content li { margin-bottom: .4em; }

.gd-content img { border-radius: 6px; max-width: 100%; }

/* Social Share */
.gd-share {
	align-items: center;
	border-top: 1px solid var(--gd-line);
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 28px 0 0;
	padding-top: 20px;
}

.gd-share__label {
	color: var(--gd-muted);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.gd-share a {
	align-items: center;
	border-radius: 6px;
	color: #fff;
	display: inline-flex;
	font-size: 13px;
	font-weight: 800;
	gap: 7px;
	padding: 8px 16px;
	transition: opacity .15s;
}

.gd-share a:hover { opacity: .84; }
.gd-share__fb { background: #1877f2; }
.gd-share__tw { background: #000; }
.gd-share__wa { background: #25d366; }

/* Related Posts */
.gd-related {
	border-top: 4px solid var(--gd-ink);
	margin-top: 32px;
	padding-top: 20px;
}

.gd-grid--related { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* 16. Archive
   ========================================================================== */
.gd-archive-head {
	margin-bottom: 22px;
	padding: 22px 26px;
}

.gd-archive-head h1 {
	color: var(--gd-ink);
	font-size: clamp(26px, 3.5vw, 42px);
	line-height: 1;
	margin: 0;
}

.gd-archive-grid { display: grid; gap: 14px; }

.gd-card--archive-lead {
	display: grid;
	grid-template-columns: minmax(280px, .9fr) 1fr;
}

.gd-card--archive-lead .gd-card__media img {
	aspect-ratio: auto;
	height: 100%;
	min-height: 260px;
}

.gd-card--archive-lead .gd-card__body {
	align-self: center;
	padding: 24px;
}

.gd-card--archive-lead h3 {
	font-size: clamp(20px, 2.6vw, 34px);
	line-height: 1.1;
}

.gd-card--archive {
	align-items: center;
	display: grid;
	grid-template-columns: 200px 1fr;
}

.gd-card--archive .gd-card__media img { aspect-ratio: 4 / 3; }
.gd-card--archive h3 { font-size: 20px; line-height: 1.22; }
.gd-card--archive p { font-size: 14px; line-height: 1.5; }

/* 17. Pagination
   ========================================================================== */
.navigation.pagination { margin-top: 26px; text-align: center; }

.page-numbers {
	background: var(--gd-paper);
	border: 1px solid var(--gd-line);
	border-radius: 6px;
	color: var(--gd-ink);
	display: inline-block;
	font-weight: 800;
	margin: 3px;
	padding: 8px 14px;
	transition: background .15s, border-color .15s;
}

.page-numbers:hover { border-color: var(--gd-red); color: var(--gd-red); }

.page-numbers.current {
	background: var(--gd-red);
	border-color: var(--gd-red);
	color: #fff;
}

/* 18. Ad Slots
   ========================================================================== */
.gd-ad-slot {
	align-items: center;
	background: #f9fafb;
	border: 2px dashed #c8d0dc;
	border-radius: 6px;
	color: #9ca3af;
	display: flex;
	font-size: 12px;
	font-weight: 800;
	justify-content: center;
	letter-spacing: .04em;
	margin: 0 0 20px;
	min-height: 100px;
	overflow: hidden;
	text-align: center;
	text-transform: uppercase;
}

.gd-ad-slot img,
.gd-ad-slot iframe { max-width: 100%; }

.gd-ad-slot--sidebar { min-height: 280px; }

.gd-ad-slot--after-p {
	background: transparent;
	border: none;
	margin: 20px 0;
	min-height: 0;
}

/* 19. Footer
   ========================================================================== */
.gd-footer-ad {
	border-top: 1px solid var(--gd-line);
	margin: 0 auto;
	max-width: var(--gd-max);
	padding: 20px 18px 0;
}

.gd-footer {
	background: var(--gd-ink);
	color: rgba(255, 255, 255, .78);
	margin-top: 48px;
}

.gd-footer__main {
	display: grid;
	gap: 52px;
	grid-template-columns: 1fr 240px;
	margin: 0 auto;
	max-width: var(--gd-max);
	padding: 52px 18px 40px;
}

.gd-footer__brand-col { min-width: 0; }

.gd-footer__logo-link { display: inline-block; margin-bottom: 14px; }

.gd-footer__logo {
	color: #fff;
	display: inline-block;
	font-size: 24px;
	font-weight: 900;
	margin-bottom: 14px;
	text-transform: uppercase;
}

.gd-footer__logo span { color: var(--gd-red); }

.gd-footer__logo-link {
	display: inline-block;
	margin-bottom: 14px;
	text-decoration: none;
}

.gd-footer__logo-text {
	color: #fff;
	display: block;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.gd-footer__logo-text span { color: var(--gd-red); }

.gd-footer__about {
	color: rgba(255, 255, 255, .58);
	font-size: 14px;
	line-height: 1.7;
	margin: 0 0 22px;
}

.gd-footer__social {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.gd-footer__social a {
	align-items: center;
	background: rgba(255, 255, 255, .1);
	border-radius: 6px;
	color: #fff;
	display: inline-flex;
	font-size: 13px;
	font-weight: 800;
	gap: 7px;
	padding: 8px 14px;
	transition: background .15s;
}

.gd-footer__social a:hover { background: var(--gd-red); }

.gd-footer__col h4 {
	border-bottom: 2px solid rgba(255, 255, 255, .1);
	color: #fff;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: .06em;
	margin: 0 0 16px;
	padding-bottom: 10px;
	text-transform: uppercase;
}

.gd-footer__col ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.gd-footer__col li { margin-bottom: 10px; }

.gd-footer__col a {
	color: rgba(255, 255, 255, .62);
	font-size: 14px;
	transition: color .15s;
}

.gd-footer__col a:hover { color: #fff; }

.gd-footer__contact-item {
	align-items: flex-start;
	color: rgba(255, 255, 255, .62);
	display: flex;
	font-size: 14px;
	gap: 10px;
	margin-bottom: 12px;
}

.gd-footer__contact-item svg { flex-shrink: 0; margin-top: 2px; opacity: .7; }

.gd-footer__bar {
	background: rgba(0, 0, 0, .3);
	border-top: 1px solid rgba(255, 255, 255, .07);
}

.gd-footer__bar-inner {
	align-items: center;
	color: rgba(255, 255, 255, .45);
	display: flex;
	flex-wrap: wrap;
	font-size: 13px;
	gap: 10px;
	justify-content: space-between;
	margin: 0 auto;
	max-width: var(--gd-max);
	padding: 16px 18px;
}

.gd-footer__bar-links {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
}

.gd-footer__bar-inner a {
	color: rgba(255, 255, 255, .52);
	transition: color .15s;
}

.gd-footer__bar-inner a:hover { color: #fff; }

/* 20. Cookie Consent
   ========================================================================== */
.gd-cookie {
	align-items: center;
	background: var(--gd-paper);
	border-top: 3px solid var(--gd-red);
	bottom: 0;
	box-shadow: 0 -8px 40px rgba(15, 23, 42, .16);
	display: none;
	flex-wrap: wrap;
	gap: 20px;
	left: 0;
	padding: 18px 24px;
	position: fixed;
	right: 0;
	z-index: 9999;
}

.gd-cookie.is-visible { display: flex; }

.gd-cookie__text {
	color: var(--gd-text);
	flex: 1;
	font-size: 14px;
	line-height: 1.55;
	min-width: 240px;
}

.gd-cookie__text strong { display: block; font-size: 15px; margin-bottom: 4px; }
.gd-cookie__text a { color: var(--gd-red); text-decoration: underline; }

.gd-cookie__actions {
	display: flex;
	flex-shrink: 0;
	flex-wrap: wrap;
	gap: 10px;
}

.gd-btn {
	border: 2px solid transparent;
	border-radius: 6px;
	cursor: pointer;
	font-size: 14px;
	font-weight: 800;
	padding: 10px 22px;
	transition: all .15s;
	white-space: nowrap;
}

.gd-btn--red {
	background: var(--gd-red);
	border-color: var(--gd-red);
	color: #fff;
}

.gd-btn--red:hover { background: var(--gd-red-dark); border-color: var(--gd-red-dark); }

.gd-btn--outline {
	background: transparent;
	border-color: var(--gd-line);
	color: var(--gd-text);
}

.gd-btn--outline:hover { border-color: var(--gd-ink); }

/* 21. Fallback Media
   ========================================================================== */
.gd-fallback-media {
	align-items: center;
	background: linear-gradient(135deg, rgba(18, 59, 104, .92), rgba(196, 22, 28, .84));
	color: #fff;
	display: flex;
	flex-direction: column;
	font-size: 18px;
	font-weight: 900;
	justify-content: center;
	min-height: 160px;
	padding: 20px;
	text-align: center;
	width: 100%;
}

.gd-fallback-media em {
	color: rgba(255, 255, 255, .62);
	font-size: 11px;
	font-style: normal;
	letter-spacing: .06em;
	margin-top: 6px;
	text-transform: uppercase;
}

.gd-slide__media.has-fallback,
.gd-slide__media.is-missing {
	background: linear-gradient(135deg, var(--gd-blue), var(--gd-red-dark));
}

/* 22. Empty State
   ========================================================================== */
.gd-empty {
	color: var(--gd-muted);
	padding: 40px 20px;
	text-align: center;
}

/* Language toggle */
.gd-lang-bar {
	margin-bottom: 22px;
}

.gd-lang-btn {
	align-items: center;
	display: inline-flex;
	font-size: 13px;
	gap: 7px;
	padding: 8px 18px;
}

.gd-lang-btn::before {
	content: "🌐";
	font-size: 14px;
}

/* Page title */
.gd-page-title {
	color: var(--gd-ink);
	font-size: clamp(26px, 3vw, 40px);
	line-height: 1.12;
	margin: 0 0 14px;
}

.gd-policy-page .gd-content h2 {
	border-left: 4px solid var(--gd-red);
	font-size: 20px;
	margin: 2em 0 .8em;
	padding-left: 12px;
}

/* Contact cards */
.gd-contact-cards {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(3, 1fr);
	margin: 0 0 32px;
}

.gd-contact-card {
	align-items: flex-start;
	background: var(--gd-soft);
	border: 1px solid var(--gd-line);
	border-radius: var(--gd-radius);
	display: flex;
	gap: 14px;
	padding: 16px;
}

.gd-contact-icon {
	background: var(--gd-red);
	border-radius: 6px;
	color: #fff;
	flex-shrink: 0;
	padding: 8px;
}

.gd-contact-card strong {
	color: var(--gd-ink);
	display: block;
	font-size: 14px;
	font-weight: 900;
	margin-bottom: 4px;
}

.gd-contact-card p { color: var(--gd-muted); font-size: 14px; margin: 0; }
.gd-contact-card a { color: var(--gd-red); word-break: break-all; }

/* Contact Form */
.gd-contact-form { margin-top: 24px; }

.gd-form-group {
	margin-bottom: 18px;
}

.gd-form-group label {
	color: var(--gd-ink);
	display: block;
	font-size: 14px;
	font-weight: 700;
	margin-bottom: 6px;
}

.gd-form-group label span { color: var(--gd-red); }

.gd-form-group input,
.gd-form-group textarea,
.gd-form-group select {
	background: var(--gd-soft);
	border: 1px solid var(--gd-line);
	border-radius: 6px;
	color: var(--gd-text);
	display: block;
	font-size: 15px;
	outline: none;
	padding: 10px 14px;
	transition: border-color .15s;
	width: 100%;
}

.gd-form-group input:focus,
.gd-form-group textarea:focus,
.gd-form-group select:focus { border-color: var(--gd-red); }

.gd-form-group textarea { min-height: 160px; resize: vertical; }

.gd-contact-success {
	background: #f0fdf4;
	border: 1px solid #86efac;
	border-radius: 6px;
	color: #166534;
	font-size: 15px;
	margin-bottom: 20px;
	padding: 14px 18px;
}

@media (max-width: 760px) {
	.gd-contact-cards { grid-template-columns: 1fr; }
}

/* Header scroll state */
.gd-header.is-scrolled {
	box-shadow: 0 4px 24px rgba(15, 23, 42, .13);
}

/* 23. Accessibility
   ========================================================================== */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	overflow: hidden;
	position: absolute;
	width: 1px;
}

:focus-visible {
	outline: 2px solid var(--gd-red);
	outline-offset: 2px;
}

/* ==========================================================================
   Responsive — Tablet (≤ 1100px)
   ========================================================================== */
@media (max-width: 1100px) {
	.gd-front { grid-template-columns: 1fr; }
	.gd-front__side { display: none; }

	.gd-triple { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.gd-cats   { grid-template-columns: repeat(4, minmax(0, 1fr)); }

	.gd-home-layout    { grid-template-columns: 1fr; }
	.gd-article-layout { grid-template-columns: 1fr; }

	.gd-footer__main { gap: 32px; }
}

/* ==========================================================================
   Responsive — Mobile (≤ 760px)
   ========================================================================== */
@media (max-width: 760px) {
	/* Nav — dark single-row bar (professional news style) */
	.gd-nav {
		background: var(--gd-ink);
		gap: 12px;
		min-height: 58px;
		padding: 0 14px;
	}

	.gd-brand .custom-logo {
		filter: brightness(0) invert(1);
		height: 40px;
	}

	.gd-brand__name { color: #fff; font-size: 22px; letter-spacing: .02em; }
	.gd-brand__name span { color: var(--gd-red); }
	.gd-brand__bar { display: none; }
	.gd-brand__tagline { display: none; }

	.gd-search input {
		background: rgba(255, 255, 255, .1);
		border: 1px solid rgba(255, 255, 255, .18);
		border-right: none;
		border-radius: 4px 0 0 4px;
		color: #fff;
		font-size: 13px;
		height: 36px;
		width: 120px;
	}

	.gd-search input::placeholder { color: rgba(255, 255, 255, .42); }
	.gd-search input:focus { border-color: var(--gd-red); }

	.gd-search button {
		background: var(--gd-red);
		border-radius: 0 4px 4px 0;
		height: 36px;
		padding: 0 12px;
		width: auto;
	}

	.gd-search button:hover { background: var(--gd-red-dark); }

	/* Mobile menu toggle */
	.gd-menu-toggle {
		align-items: center;
		background: transparent;
		border: none;
		color: #fff;
		display: flex;
		font-size: 14px;
		font-weight: 800;
		gap: 10px;
		justify-content: space-between;
		letter-spacing: .04em;
		padding: 12px 18px;
		text-transform: uppercase;
		width: 100%;
	}

	.gd-menu-toggle::after {
		content: "☰";
		font-size: 20px;
	}

	.gd-menu-toggle[aria-expanded="true"]::after { content: "✕"; }

	.gd-menu-panel { display: none; }
	.gd-menu-panel.is-open { display: block; }

	.gd-navbar .menu {
		border-top: 1px solid rgba(255, 255, 255, .18);
		display: block;
	}

	.gd-navbar .menu li { border-bottom: 1px solid rgba(255, 255, 255, .1); }

	.gd-navbar .menu a {
		font-size: 14px;
		padding: 13px 18px;
		text-align: left;
	}

	/* Main */
	.gd-main { padding: 14px 14px 36px; }

	/* Slider */
	.gd-slider { border-radius: 10px; }

	.gd-slide__media {
		aspect-ratio: 4 / 3;
		min-height: 280px;
	}

	.gd-fallback-media {
		min-height: 200px;
	}

	.gd-slide__content {
		background: linear-gradient(180deg, transparent 0%, transparent 25%, rgba(5, 10, 20, .7) 60%, rgba(5, 10, 20, .96) 100%);
		padding: 20px 14px 54px;
	}

	.gd-slide h1 {
		font-size: 18px;
		line-height: 1.3;
		max-width: 100%;
		display: -webkit-box;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	.gd-slide .gd-meta { font-size: 10px; margin-bottom: 6px; }

	.gd-slider__controls {
		bottom: 12px;
		right: 12px;
	}

	.gd-slider__controls button { height: 28px; width: 28px; font-size: 16px; }

	.gd-slider__controls div button { width: 16px; height: 6px; }

	/* Grids */
	.gd-triple,
	.gd-grid,
	.gd-grid--related,
	.gd-block__grid,
	.gd-diaspora-focus,
	.gd-diaspora-focus__list { grid-template-columns: 1fr; }

	.gd-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	/* Hide extra items on mobile */
	.gd-triple article:nth-child(n+3) { display: none; }
	.gd-diaspora-focus__list a:nth-child(n+3) { display: none; }
	.gd-block__grid .gd-news-list li:nth-child(n+4) { display: none; }

	/* Cards */
	.gd-card h3,
	.gd-card--large h3 { font-size: 17px; }
	.gd-card p { display: none; }
	.gd-card__body { padding: 12px; }

	/* Archive cards */
	.gd-card--archive,
	.gd-card--archive-lead { grid-template-columns: 1fr; }

	.gd-card--archive .gd-card__media img,
	.gd-card--archive-lead .gd-card__media img {
		aspect-ratio: 16 / 9;
		min-height: 0;
	}

	/* Article */
	.gd-article { padding: 18px; }
	.gd-article h1 { font-size: 24px; line-height: 1.18; }

	.gd-content { font-size: 17px; }
	.gd-content p:first-of-type { font-size: 18px; }

	/* Share buttons */
	.gd-share a span { display: none; }
	.gd-share a { padding: 8px 12px; }

	/* Sidebar hidden on mobile for article */
	.gd-article-layout .gd-sidebar { display: none; }

	/* Block/panel padding */
	.gd-block,
	.gd-panel,
	.gd-archive-head { padding: 14px; }

	.gd-block__head h1,
	.gd-block__head h2,
	.gd-panel__head h2 { font-size: 18px; }

	/* Diaspora focus */
	.gd-diaspora-focus { padding: 18px; }
	.gd-diaspora-focus__intro h2 { font-size: 24px; }

	/* Footer */
	.gd-footer { margin-top: 32px; }

	.gd-footer__main {
		gap: 28px;
		grid-template-columns: 1fr;
		padding: 32px 14px 24px;
	}

	.gd-footer__bar-inner {
		flex-direction: column;
		gap: 6px;
		padding: 14px;
	}

	/* Cookie */
	.gd-cookie { padding: 14px 16px; }

	/* Archive */
	.gd-archive-head h1 { font-size: 24px; }

	/* Ads */
	.gd-ad-slot--header_top { display: none; }
	.gd-ad-slot--below_menu { margin-bottom: 0; }
}
