/* ==========================================================================
   Diamond City — main stylesheet
   Theme templates are scoped with .lccd-* classes so Elementor sections,
   Header Footer Elementor templates and Elementor widgets keep their own styles.
   ========================================================================== */

:root {
	--lccd-navy: #00183B;
	--lccd-blue: #042B64;
	--lccd-gold: #FFC219;
	--lccd-paper: #F3F6FA;
	--lccd-ink: #172033;
	--lccd-muted: #586377;
	--lccd-line: #DCE3EC;
	--lccd-white: #FFFFFF;

	--lccd-sans: "Hind Siliguri", "Noto Sans Bengali", system-ui, -apple-system, "Segoe UI", sans-serif;
	--lccd-serif: "Literata", "Noto Serif Bengali", "Hind Siliguri", Georgia, serif;

	--lccd-wrap: 1200px;
	--lccd-text: 740px;
	--lccd-gutter: clamp(18px, 4vw, 32px);
	--lccd-radius: 4px;
}

/* ---------- Base (light, so Elementor content is not disturbed) ---------- */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	font-family: var(--lccd-sans);
	font-size: 17px;
	line-height: 1.7;
	color: var(--lccd-ink);
	background: var(--lccd-white);
	-webkit-font-smoothing: antialiased;
}

img, video, iframe { max-width: 100%; }
img { height: auto; }

a { color: var(--lccd-blue); }

:focus-visible {
	outline: 2px solid var(--lccd-gold);
	outline-offset: 3px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.skip-link:focus {
	clip: auto; width: auto; height: auto;
	z-index: 100000;
	top: 8px; left: 8px;
	padding: 10px 16px;
	background: var(--lccd-gold);
	color: var(--lccd-navy);
	font-weight: 600;
	text-decoration: none;
}

.lccd-wrap {
	width: 100%;
	max-width: var(--lccd-wrap);
	margin-inline: auto;
	padding-inline: var(--lccd-gutter);
}
.lccd-wrap--text { max-width: calc(var(--lccd-text) + 2 * var(--lccd-gutter)); }
.lccd-wrap--wide { max-width: calc(1100px + 2 * var(--lccd-gutter)); }

.lccd-icon { flex: none; vertical-align: middle; }

.lccd-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 22px;
	border: 0;
	border-radius: var(--lccd-radius);
	background: var(--lccd-gold);
	color: var(--lccd-navy);
	font: 600 16px/1.2 var(--lccd-sans);
	text-decoration: none;
	cursor: pointer;
}
.lccd-btn:hover { background: var(--lccd-navy); color: var(--lccd-white); }

/* Elementor-built pages: no theme spacing at all */
.lccd-elementor-page { display: block; }

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

.lccd-hero {
	background: var(--lccd-navy);
	color: var(--lccd-white);
	padding: clamp(48px, 7vw, 88px) 0 clamp(36px, 5vw, 56px);
	border-top: 4px solid var(--lccd-gold);
}
.lccd-hero--lead { padding-bottom: 168px; }

.lccd-hero__title {
	margin: 0;
	max-width: 18ch;
	font: 700 clamp(34px, 5.2vw, 56px)/1.25 var(--lccd-serif);
	letter-spacing: -0.01em;
	color: var(--lccd-white);
}
.lccd-hero__intro {
	margin: 16px 0 0;
	max-width: 60ch;
	font-size: clamp(16px, 1.6vw, 19px);
	line-height: 1.75;
	color: rgba(255, 255, 255, 0.78);
}
.lccd-hero__search { margin-top: 28px; max-width: 560px; }

/* Category filter */
.lccd-chips { margin-top: 32px; }
.lccd-chips ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.lccd-chips a {
	display: inline-block;
	padding: 6px 16px;
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 999px;
	color: var(--lccd-white);
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
	line-height: 1.6;
}
.lccd-chips a:hover { border-color: var(--lccd-gold); color: var(--lccd-gold); }
.lccd-chips a[aria-current="page"] {
	background: var(--lccd-gold);
	border-color: var(--lccd-gold);
	color: var(--lccd-navy);
	font-weight: 600;
}

/* ---------- Lead story (overlaps the hero band) ---------- */

.lccd-archive--lead > .lccd-wrap:first-child { margin-top: -128px; }

.lccd-lead {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	background: var(--lccd-white);
	border-radius: var(--lccd-radius);
	overflow: hidden;
	box-shadow: 0 30px 60px -30px rgba(0, 24, 59, 0.45);
}
.lccd-lead__media {
	display: block;
	position: relative;
	min-height: 380px;
	background: var(--lccd-paper);
}
.lccd-lead__media img,
.lccd-lead__media .lccd-thumb-placeholder {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
}
.lccd-lead__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(28px, 3.6vw, 48px);
	border-top: 6px solid var(--lccd-gold);
}
.lccd-lead__cat {
	color: var(--lccd-blue);
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
}
.lccd-lead__cat:hover { text-decoration: underline; }
.lccd-lead__title {
	margin: 10px 0 0;
	font: 700 clamp(24px, 2.6vw, 33px)/1.4 var(--lccd-serif);
	color: var(--lccd-navy);
}
.lccd-lead__title a { color: inherit; text-decoration: none; }
.lccd-lead__title a:hover { text-decoration: underline; text-decoration-color: var(--lccd-gold); text-decoration-thickness: 3px; text-underline-offset: 6px; }
.lccd-lead__excerpt { margin: 14px 0 0; color: var(--lccd-muted); line-height: 1.8; }
.lccd-lead__meta {
	display: flex; flex-wrap: wrap; gap: 6px 20px;
	margin: 18px 0 24px;
	color: var(--lccd-muted);
	font-size: 15px;
}
.lccd-lead__meta span { display: inline-flex; align-items: center; gap: 6px; }
.lccd-lead__meta .lccd-icon { width: 17px; height: 17px; color: var(--lccd-blue); }
.lccd-lead__body .lccd-btn { margin-top: auto; }

/* ---------- Layout with optional sidebar ---------- */

.lccd-main { padding-bottom: clamp(56px, 8vw, 96px); }
.lccd-archive .lccd-layout { padding-top: clamp(40px, 6vw, 72px); }

.lccd-layout { display: block; }

/* ---------- Post grid & cards ---------- */

.lccd-grid {
	display: grid;
	gap: 48px 32px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.lccd-grid--1 { grid-template-columns: minmax(0, 1fr); }
.lccd-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lccd-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 24px; }

.lccd-card { display: flex; flex-direction: column; min-width: 0; }
.lccd-card__media {
	display: block;
	position: relative;
	aspect-ratio: 16 / 10;
	border-radius: var(--lccd-radius);
	overflow: hidden;
	background: var(--lccd-paper);
}
.lccd-card__media img,
.lccd-card__media .lccd-thumb-placeholder {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
}
.lccd-card__body { padding-top: 16px; }
.lccd-card__cat {
	display: inline-block;
	padding-bottom: 2px;
	border-bottom: 2px solid var(--lccd-gold);
	color: var(--lccd-blue);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
	text-decoration: none;
}
.lccd-card__title {
	margin: 10px 0 0;
	font: 600 20px/1.5 var(--lccd-serif);
	color: var(--lccd-navy);
}
.lccd-card__title a { color: inherit; text-decoration: none; }
.lccd-card__title a:hover { text-decoration: underline; text-decoration-color: var(--lccd-gold); text-decoration-thickness: 2px; text-underline-offset: 5px; }
.lccd-card__excerpt {
	margin: 8px 0 0;
	color: var(--lccd-muted);
	font-size: 16px;
	line-height: 1.7;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.lccd-card__meta {
	display: flex; align-items: center; flex-wrap: wrap; gap: 10px;
	margin: 10px 0 0;
	color: var(--lccd-muted);
	font-size: 14px;
}
.lccd-card__sep { width: 4px; height: 4px; border-radius: 50%; background: var(--lccd-line); }

/* Placeholder when a post has no featured image */
.lccd-thumb-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--lccd-navy);
	color: var(--lccd-gold);
	font: 600 15px/1.4 var(--lccd-serif);
	text-align: center;
	padding: 16px;
}
.lccd-thumb-placeholder img {
	position: static !important;
	width: auto !important;
	height: 46% !important;
	object-fit: contain !important;
	opacity: 0.9;
}

/* Grid inside Elementor sections (shortcode / widget) */
.lccd-embed, .elementor-widget-lccd-news-grid { font-family: var(--lccd-sans); }
.lccd-empty-inline { color: var(--lccd-muted); }

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

.lccd-pagination { margin-top: 64px; }
.lccd-pagination .nav-links {
	display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
}
.lccd-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 44px; height: 44px; padding: 0 12px;
	border: 1px solid var(--lccd-line);
	border-radius: var(--lccd-radius);
	color: var(--lccd-navy);
	font-weight: 600;
	text-decoration: none;
}
.lccd-pagination a.page-numbers:hover { border-color: var(--lccd-navy); }
.lccd-pagination .page-numbers.current { background: var(--lccd-navy); border-color: var(--lccd-navy); color: var(--lccd-white); }
.lccd-pagination .dots { border-color: transparent; }

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

.lccd-progress {
	position: fixed; top: 0; left: 0; right: 0;
	height: 4px;
	z-index: 9999;
	pointer-events: none;
}
.admin-bar .lccd-progress { top: 32px; }
.lccd-progress span {
	display: block;
	height: 100%;
	background: var(--lccd-gold);
	transform-origin: 0 50%;
	transform: scaleX(0);
}

.lccd-single__head {
	padding: clamp(32px, 5vw, 64px) 0 clamp(28px, 4vw, 40px);
	background: var(--lccd-paper);
	border-top: 4px solid var(--lccd-gold);
}
.lccd-crumbs { margin-bottom: 22px; font-size: 14px; color: var(--lccd-muted); }
.lccd-crumbs ol { display: flex; flex-wrap: wrap; gap: 4px; margin: 0; padding: 0; list-style: none; }
.lccd-crumbs li + li::before { content: "/"; margin-right: 6px; color: var(--lccd-line); }
.lccd-crumbs a { color: var(--lccd-muted); text-decoration: none; }
.lccd-crumbs a:hover { color: var(--lccd-blue); text-decoration: underline; }

.lccd-single__cat {
	display: inline-block;
	padding: 3px 12px;
	border-radius: var(--lccd-radius);
	background: var(--lccd-navy);
	color: var(--lccd-gold);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}
.lccd-single__title {
	margin: 16px 0 0;
	font: 700 clamp(28px, 4.2vw, 44px)/1.4 var(--lccd-serif);
	color: var(--lccd-navy);
	letter-spacing: -0.005em;
}
.lccd-single__dek {
	margin: 16px 0 0;
	font-size: 19px;
	line-height: 1.75;
	color: var(--lccd-muted);
}
.lccd-single__meta {
	display: flex; flex-wrap: wrap; align-items: center; gap: 10px 24px;
	margin-top: 26px;
	padding-top: 20px;
	border-top: 1px solid var(--lccd-line);
	color: var(--lccd-muted);
	font-size: 15px;
}
.lccd-single__meta > span { display: inline-flex; align-items: center; gap: 8px; }
.lccd-single__meta .lccd-icon { width: 17px; height: 17px; color: var(--lccd-blue); }
.lccd-single__author img { width: 36px; height: 36px; border-radius: 50%; }
.lccd-single__author a { color: var(--lccd-navy); font-weight: 600; text-decoration: none; }

.lccd-single__figure { margin: 0 auto; padding-top: clamp(24px, 4vw, 40px); }
.lccd-single__figure img { display: block; width: 100%; border-radius: var(--lccd-radius); }
.lccd-single__figure figcaption { margin-top: 10px; font-size: 14px; color: var(--lccd-muted); }

.lccd-layout--single {
	max-width: calc(var(--lccd-text) + 2 * var(--lccd-gutter));
	padding-top: clamp(28px, 4vw, 48px);
}

/* Article typography */
.lccd-prose {
	font-size: 18px;
	line-height: 1.95;
	color: var(--lccd-ink);
	overflow-wrap: break-word;
}
.lccd-prose > * { margin-top: 0; margin-bottom: 1.2em; }
.lccd-prose h2, .lccd-prose h3, .lccd-prose h4 {
	font-family: var(--lccd-serif);
	color: var(--lccd-navy);
	line-height: 1.45;
	margin: 1.8em 0 0.6em;
}
.lccd-prose h2 { font-size: 28px; }
.lccd-prose h3 { font-size: 23px; }
.lccd-prose h4 { font-size: 19px; }
.lccd-prose a { color: var(--lccd-blue); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.lccd-prose a:hover { text-decoration-color: var(--lccd-gold); text-decoration-thickness: 2px; }
.lccd-prose ul, .lccd-prose ol { padding-left: 1.4em; }
.lccd-prose li { margin-bottom: 0.4em; }
.lccd-prose li::marker { color: var(--lccd-blue); }
.lccd-prose img { border-radius: var(--lccd-radius); }
.lccd-prose figure { margin-inline: 0; }
.lccd-prose figcaption, .lccd-prose .wp-caption-text { font-size: 14px; color: var(--lccd-muted); margin-top: 8px; }
.lccd-prose blockquote,
.lccd-prose .wp-block-quote {
	margin: 1.8em 0;
	padding: 4px 0 4px 24px;
	border-left: 4px solid var(--lccd-gold);
	font-family: var(--lccd-serif);
	font-size: 21px;
	line-height: 1.8;
	color: var(--lccd-navy);
}
.lccd-prose blockquote cite { display: block; margin-top: 8px; font: 500 15px var(--lccd-sans); color: var(--lccd-muted); }
.lccd-prose hr { border: 0; height: 1px; background: var(--lccd-line); margin: 2.4em 0; }
.lccd-prose table { width: 100%; border-collapse: collapse; font-size: 16px; }
.lccd-prose th, .lccd-prose td { padding: 10px 12px; border-bottom: 1px solid var(--lccd-line); text-align: left; }
.lccd-prose th { color: var(--lccd-navy); }
.lccd-prose .alignwide { margin-inline: calc(-1 * min(120px, 8vw)); max-width: none; }
.lccd-prose .alignfull { margin-inline: calc(50% - 50vw); max-width: 100vw; width: 100vw; }
.lccd-prose .alignleft { float: left; margin: 0.4em 1.4em 1em 0; }
.lccd-prose .alignright { float: right; margin: 0.4em 0 1em 1.4em; }
.lccd-prose .aligncenter { margin-inline: auto; display: block; }
.lccd-prose .wp-block-gallery { gap: 10px; }
.lccd-prose::after { content: ""; display: table; clear: both; }

.lccd-page-links { margin: 24px 0; font-weight: 600; }

/* Posts built with Elementor: let sections run full width */
.lccd-single__elementor { padding-top: 24px; }

/* Post footer */
.lccd-single__foot { margin-top: 40px; }
.lccd-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 28px; padding: 0; list-style: none; }
.lccd-tags a {
	display: inline-block;
	padding: 4px 12px;
	background: var(--lccd-paper);
	border-radius: var(--lccd-radius);
	color: var(--lccd-blue);
	font-size: 14px;
	text-decoration: none;
}
.lccd-tags a:hover { background: var(--lccd-navy); color: var(--lccd-white); }

.lccd-author {
	display: flex; gap: 18px; align-items: flex-start;
	margin-top: 32px; padding: 24px;
	background: var(--lccd-paper);
	border-radius: var(--lccd-radius);
}
.lccd-author img { border-radius: 50%; flex: none; }
.lccd-author__name { margin: 0; font: 600 18px var(--lccd-serif); }
.lccd-author__name a { color: var(--lccd-navy); text-decoration: none; }
.lccd-author__bio { margin: 6px 0 0; color: var(--lccd-muted); font-size: 16px; }

/* Previous / next */
.lccd-postnav { margin-top: 40px; }
.lccd-postnav .nav-links { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.lccd-postnav a {
	display: block; height: 100%;
	padding: 18px 20px;
	border: 1px solid var(--lccd-line);
	border-radius: var(--lccd-radius);
	text-decoration: none;
}
.lccd-postnav a:hover { border-color: var(--lccd-navy); }
.lccd-postnav .nav-next { grid-column: 2; text-align: right; }
.lccd-postnav__label { display: block; font-size: 14px; color: var(--lccd-muted); }
.lccd-postnav__title { display: block; margin-top: 4px; font: 600 17px/1.5 var(--lccd-serif); color: var(--lccd-navy); }

/* Related */
.lccd-related {
	margin-top: clamp(56px, 8vw, 96px);
	margin-bottom: calc(-1 * clamp(56px, 8vw, 96px));
	padding: clamp(48px, 7vw, 80px) 0;
	background: var(--lccd-paper);
}
.lccd-related__title {
	margin: 0 0 32px;
	font: 700 clamp(24px, 3vw, 30px)/1.4 var(--lccd-serif);
	color: var(--lccd-navy);
}
.lccd-404 { padding-top: clamp(48px, 6vw, 72px); }

/* ---------- Comments ---------- */

.lccd-comments { margin-top: 56px; }
.lccd-comments__title { font: 700 24px/1.4 var(--lccd-serif); color: var(--lccd-navy); margin: 0 0 20px; }
.lccd-comments__list, .lccd-comments__list .children { list-style: none; margin: 0; padding: 0; }
.lccd-comments__list .children { padding-left: 32px; }
.lccd-comments .comment-body { padding: 20px 0; border-bottom: 1px solid var(--lccd-line); }
.lccd-comments .comment-author { display: flex; align-items: center; gap: 12px; font-weight: 600; }
.lccd-comments .comment-author img { border-radius: 50%; }
.lccd-comments .comment-metadata { font-size: 14px; margin: 4px 0 8px 56px; }
.lccd-comments .comment-metadata a { color: var(--lccd-muted); text-decoration: none; }
.lccd-comments .comment-content { margin-left: 56px; }
.lccd-comments .reply { margin-left: 56px; font-size: 14px; font-weight: 600; }
.lccd-comments .comment-respond { margin-top: 40px; }
.lccd-comments label { display: block; margin-bottom: 6px; font-weight: 600; font-size: 15px; }
.lccd-comments input[type="text"],
.lccd-comments input[type="email"],
.lccd-comments input[type="url"],
.lccd-comments textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--lccd-line);
	border-radius: var(--lccd-radius);
	font: inherit;
	background: var(--lccd-white);
}
.lccd-comments input:focus, .lccd-comments textarea:focus { border-color: var(--lccd-blue); outline: none; box-shadow: 0 0 0 3px rgba(4, 43, 100, 0.15); }
.lccd-comments .comment-form-cookies-consent { display: flex; gap: 8px; align-items: flex-start; }
.lccd-comments .comment-form-cookies-consent label { font-weight: 400; }

/* ---------- Search form ---------- */

.lccd-search { display: flex; position: relative; }
.lccd-search__input {
	flex: 1;
	min-width: 0;
	height: 52px;
	padding: 0 56px 0 18px;
	border: 1px solid var(--lccd-line);
	border-radius: var(--lccd-radius);
	font: 16px var(--lccd-sans);
	color: var(--lccd-ink);
	background: var(--lccd-white);
}
.lccd-search__input:focus { outline: 2px solid var(--lccd-gold); outline-offset: 0; border-color: transparent; }
.lccd-search__btn {
	position: absolute; right: 4px; top: 4px;
	width: 44px; height: 44px;
	border: 0; border-radius: var(--lccd-radius);
	background: var(--lccd-navy);
	color: var(--lccd-gold);
	cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
}

/* ---------- Empty state ---------- */

.lccd-empty {
	max-width: 620px;
	margin: 56px auto 0;
	text-align: center;
}
.lccd-empty h2 { font: 700 26px/1.4 var(--lccd-serif); color: var(--lccd-navy); margin: 0; }
.lccd-empty p { color: var(--lccd-muted); }
.lccd-empty .lccd-search { margin-top: 20px; }

/* ---------- Fallback header / footer (no Elementor template) ---------- */

.lccd-header { background: var(--lccd-navy); color: var(--lccd-white); }
.lccd-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 76px; }
.lccd-header__brand { display: flex; align-items: center; gap: 12px; }
.lccd-header__brand .custom-logo { max-height: 52px; width: auto; display: block; }
.lccd-header__name { color: var(--lccd-white); font: 700 18px/1.3 var(--lccd-serif); text-decoration: none; }
.lccd-header__nav ul { display: flex; flex-wrap: wrap; gap: 4px 22px; margin: 0; padding: 0; list-style: none; }
.lccd-header__nav a { color: var(--lccd-white); text-decoration: none; font-weight: 500; }
.lccd-header__nav a:hover, .lccd-header__nav .current-menu-item > a { color: var(--lccd-gold); }
.lccd-header__nav .sub-menu { display: none; }
.lccd-header__toggle { display: none; }

.lccd-footer { background: var(--lccd-navy); color: rgba(255, 255, 255, 0.8); padding: 40px 0; border-top: 4px solid var(--lccd-gold); }
.lccd-footer__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.lccd-footer__name { margin: 0; color: var(--lccd-white); font: 700 18px var(--lccd-serif); }
.lccd-footer__menu { display: flex; flex-wrap: wrap; gap: 18px; margin: 0; padding: 0; list-style: none; }
.lccd-footer a { color: var(--lccd-white); text-decoration: none; }
.lccd-footer__copy { margin: 0; width: 100%; font-size: 14px; }

/* ==========================================================================
   Single post — full width (no sidebars)
   ========================================================================== */

/* 1. Navy title band */
.lccd-fw__band {
	background: var(--lccd-navy);
	color: var(--lccd-white);
	border-top: 4px solid var(--lccd-gold);
	padding: 22px 0 clamp(40px, 5vw, 64px);
}
.lccd-fw__band .lccd-crumbs { margin-bottom: clamp(28px, 4vw, 48px); }
.lccd-fw__band .lccd-crumbs a { color: rgba(255, 255, 255, 0.72); }
.lccd-fw__band .lccd-crumbs a:hover { color: var(--lccd-gold); }
.lccd-fw__band .lccd-crumbs li + li::before { color: rgba(255, 255, 255, 0.35); }

.lccd-fw__headline {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: clamp(20px, 3vw, 36px);
	align-items: start;
	max-width: 1040px;
}
.lccd-fw__date {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 14px 6px 12px;
	border-radius: var(--lccd-radius);
	background: var(--lccd-gold);
	color: var(--lccd-navy);
	text-align: center;
}
.lccd-fw__day { font: 700 42px/1 var(--lccd-serif); }
.lccd-fw__month { margin-top: 6px; font-size: 16px; font-weight: 700; line-height: 1.2; }
.lccd-fw__year {
	margin-top: 8px; padding-top: 6px;
	border-top: 1px solid rgba(0, 24, 59, 0.25);
	width: 70%;
	font-size: 14px; font-weight: 600; line-height: 1.2;
}

.lccd-fw__cat {
	display: inline-block;
	padding: 3px 12px;
	border: 1px solid rgba(255, 193, 25, 0.6);
	border-radius: var(--lccd-radius);
	color: var(--lccd-gold);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}
.lccd-fw__cat:hover { background: var(--lccd-gold); color: var(--lccd-navy); }
.lccd-fw__title {
	margin: 14px 0 0;
	font: 700 clamp(28px, 4.4vw, 50px)/1.38 var(--lccd-serif);
	color: var(--lccd-white);
	letter-spacing: -0.005em;
}
.lccd-fw__dek {
	margin: 16px 0 0;
	max-width: 62ch;
	font-size: clamp(17px, 1.7vw, 20px);
	line-height: 1.75;
	color: rgba(255, 255, 255, 0.8);
}
.lccd-fw__info {
	display: flex; flex-wrap: wrap; gap: 8px 24px;
	margin-top: 22px;
	color: rgba(255, 255, 255, 0.78);
	font-size: 15px;
}
.lccd-fw__info span { display: inline-flex; align-items: center; gap: 7px; }
.lccd-fw__info .lccd-icon { width: 17px; height: 17px; color: var(--lccd-gold); }
.lccd-fw__info a { color: inherit; text-decoration: none; }
.lccd-fw__info a:hover { color: var(--lccd-gold); }
.lccd-fw__info-date { display: none !important; }

/* 2. Full-bleed image stage: the photo sits on a blurred, navy-tinted copy of itself,
      so posters, group photos and small press images all fill the width cleanly. */
.lccd-fw__stage {
	position: relative;
	margin: 0;
	padding: 0 0 clamp(32px, 4vw, 56px);
	overflow: hidden;
	background: var(--lccd-navy);
	isolation: isolate;
}
.lccd-fw__stage::before {
	content: "";
	position: absolute; inset: -40px;
	z-index: -2;
	background: var(--lccd-stage) center / cover no-repeat;
	filter: blur(32px) saturate(1.1);
	opacity: 0.55;
}
.lccd-fw__stage::after {
	content: "";
	position: absolute; inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, var(--lccd-navy) 0%, rgba(0, 24, 59, 0.55) 45%, rgba(0, 24, 59, 0.82) 100%);
}
.lccd-fw__stage-inner {
	max-width: calc(1160px + 2 * var(--lccd-gutter));
	margin-inline: auto;
	padding-inline: var(--lccd-gutter);
	text-align: center;
}
.lccd-fw__stage img {
	display: inline-block;
	width: auto;
	min-width: min(100%, 760px);
	max-width: 100%;
	height: auto;
	max-height: min(680px, 78vh);
	object-fit: contain;
	border-radius: var(--lccd-radius);
	box-shadow: 0 28px 60px -24px rgba(0, 0, 0, 0.55);
	vertical-align: top;
}
.lccd-fw__stage figcaption {
	margin-top: 14px;
	text-align: center;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.75);
}

/* 3. Reading area: share rail + centred column */
.lccd-fw__body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 64px minmax(0, 760px) 64px minmax(0, 1fr);
	column-gap: 32px;
	padding: clamp(36px, 5vw, 64px) var(--lccd-gutter) 0;
}
.lccd-fw__rail { grid-column: 2; }
.lccd-fw__body > .lccd-fw__column { grid-column: 3; min-width: 0; }
.lccd-fw__share-top { display: none; margin-bottom: 28px; }

.lccd-share--rail {
	position: sticky;
	top: 40px;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}
.admin-bar .lccd-share--rail { top: 72px; }
.lccd-share--rail .lccd-share__label { font-size: 14px; color: var(--lccd-muted); font-weight: 600; }
.lccd-share--rail ul { flex-direction: column; gap: 10px; }
.lccd-share--rail .lccd-share__btn { width: 44px; height: 44px; border-radius: 50%; }

.lccd-fw__after {
	max-width: calc(760px + 2 * var(--lccd-gutter));
	margin-inline: auto;
	padding: 36px var(--lccd-gutter) 0;
}
.lccd-fw__after > .lccd-tags { margin-bottom: 24px; }
.lccd-fw .lccd-prose blockquote,
.lccd-fw .lccd-prose .wp-block-quote {
	padding: 18px 22px;
	background: var(--lccd-paper);
	border: 1px solid var(--lccd-line);
	border-left: 5px solid var(--lccd-gold);
	border-radius: 0 var(--lccd-radius) var(--lccd-radius) 0;
	font-size: 19px;
}
.lccd-fw__elementor { padding-top: 32px; }

@media (max-width: 1100px) {
	.lccd-fw__body { display: block; max-width: calc(760px + 2 * var(--lccd-gutter)); margin-inline: auto; }
	.lccd-fw__rail { display: none; }
	.lccd-fw__share-top { display: block; }
}
@media (max-width: 640px) {
	.lccd-fw__headline { grid-template-columns: minmax(0, 1fr); }
	.lccd-fw__date { display: none; }
	.lccd-fw__info-date { display: inline-flex !important; }
	.lccd-fw__stage-inner { padding-inline: 0; }
	.lccd-fw__stage img { border-radius: 0; max-height: none; width: 100%; }
	.lccd-share--full .lccd-share__name { display: none; }
	.lccd-share--full .lccd-share__btn { width: 44px; padding: 0; }
}
/* ---------- Share buttons ---------- */

.lccd-share { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.lccd-share ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.lccd-share__label { font-weight: 600; color: var(--lccd-navy); }
.lccd-share__btn {
	--net: var(--lccd-navy);
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	border: 0;
	background: var(--net);
	color: #fff;
	font: 500 14px/1 var(--lccd-sans);
	text-decoration: none;
	cursor: pointer;
}
.lccd-share__btn .lccd-icon { width: 18px; height: 18px; }
.lccd-share__btn:hover { filter: brightness(1.12); color: #fff; }
.lccd-share__btn--facebook { --net: #1877F2; }
.lccd-share__btn--whatsapp { --net: #25D366; }
.lccd-share__btn--x        { --net: #000000; }
.lccd-share__btn--linkedin { --net: #0A66C2; }
.lccd-share__btn--telegram { --net: #229ED9; }
.lccd-share__btn--mail     { --net: #5A6477; }
.lccd-share__copy          { --net: var(--lccd-navy); }
.lccd-share__copy.is-copied { --net: var(--lccd-gold); color: var(--lccd-navy); }

/* Compact: round icons under the title */
.lccd-share--compact { margin-top: 18px; }
.lccd-share--compact .lccd-share__label { font-size: 15px; }
.lccd-share--compact .lccd-share__btn { width: 36px; height: 36px; border-radius: 50%; }
.lccd-share--compact .lccd-share__btn .lccd-icon { width: 17px; height: 17px; }

/* Full: labelled buttons after the article */
.lccd-share--full {
	padding: 20px 0;
	border-top: 1px solid var(--lccd-line);
	border-bottom: 1px solid var(--lccd-line);
}
.lccd-share--full .lccd-share__label { width: 100%; font: 700 18px/1.4 var(--lccd-serif); }
.lccd-share--full .lccd-share__btn { height: 42px; padding: 0 16px 0 12px; border-radius: var(--lccd-radius); }


/* ---------- Responsive ---------- */

@media (max-width: 1080px) {
	.lccd-grid, .lccd-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
	.lccd-lead { grid-template-columns: minmax(0, 1fr); }
	.lccd-lead__media { aspect-ratio: 16 / 10; min-height: 0; }
	.lccd-hero--lead { padding-bottom: 120px; }
	.lccd-archive--lead > .lccd-wrap:first-child { margin-top: -88px; }

	.lccd-header__toggle {
		display: inline-flex; align-items: center; justify-content: center;
		width: 44px; height: 44px;
		background: transparent; border: 1px solid rgba(255, 255, 255, 0.3); border-radius: var(--lccd-radius);
		color: var(--lccd-white); cursor: pointer;
	}
	.lccd-header__bars, .lccd-header__bars::before, .lccd-header__bars::after {
		display: block; width: 20px; height: 2px; background: currentColor; position: relative;
	}
	.lccd-header__bars::before, .lccd-header__bars::after { content: ""; position: absolute; left: 0; }
	.lccd-header__bars::before { top: -6px; }
	.lccd-header__bars::after { top: 6px; }
	.lccd-header__inner { flex-wrap: wrap; }
	.lccd-header__nav { display: none; width: 100%; padding-bottom: 16px; }
	.lccd-header__nav.is-open { display: block; }
	.lccd-header__nav ul { flex-direction: column; }
	.lccd-header__nav .sub-menu { display: block; padding-left: 16px; }
}

@media (max-width: 640px) {
	body { font-size: 16px; }
	.lccd-chips { margin-inline: calc(-1 * var(--lccd-gutter)); }
	.lccd-chips ul { flex-wrap: nowrap; overflow-x: auto; padding: 2px var(--lccd-gutter) 6px; scrollbar-width: none; }
	.lccd-chips ul::-webkit-scrollbar { display: none; }
	.lccd-chips li { flex: none; }
	.lccd-grid, .lccd-grid--2, .lccd-grid--3, .lccd-grid--4 { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.lccd-prose { font-size: 17px; line-height: 1.9; }
	.lccd-prose .alignwide { margin-inline: 0; }
	.lccd-prose .alignleft, .lccd-prose .alignright { float: none; margin: 0 0 1em; }
	.lccd-postnav .nav-links { grid-template-columns: 1fr; }
	.lccd-postnav .nav-next { grid-column: 1; }
	.admin-bar .lccd-progress { top: 46px; }
	.lccd-comments .comment-metadata, .lccd-comments .comment-content, .lccd-comments .reply { margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
	* { scroll-behavior: auto !important; }
}

@media print {
	.lccd-progress, .lccd-share, .lccd-postnav, .lccd-related, .lccd-comments { display: none !important; }
}
