/* Shared components — loaded site-wide. */

/* Brand tokens (from the logo: red #EE102F, yellow #FCD003).
   --gkta-primary is a deeper red so white text on it and red text on white
   pass WCAG AA (5.9:1); the logo red is kept for large/decorative use.
   Yellow is an accent or a background under dark text — never text on white. */
:root {
	--gkta-brand: #ee102f;
	--gkta-primary: #c8102e;
	--gkta-primary-dark: #9e0b23;
	--gkta-primary-soft: #fdecef;
	--gkta-primary-soft-2: #f6c9d1;
	--gkta-yellow: #fcd003;
	--gkta-ink: #1d1f24;
}

/* Term badge
--------------------------------------------- */

.gkta-badge {
	background: var(--gkta-primary-soft);
	border-radius: 3px;
	color: var(--gkta-primary-dark);
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1;
	margin-bottom: 10px;
	padding: 6px 8px;
	text-decoration: none;
	text-transform: uppercase;
}

.gkta-badge:hover,
.gkta-badge:focus {
	background: var(--gkta-primary-dark);
	color: #fff;
}

/* Grouped archive sections
--------------------------------------------- */

.gkta-group {
	margin-bottom: 48px;
}

.gkta-group__header {
	align-items: baseline;
	border-bottom: 2px solid #eee;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	justify-content: space-between;
	margin-bottom: 20px;
	padding-bottom: 8px;
}

.gkta-group__title {
	font-size: 24px;
	margin: 0;
}

.gkta-group__more {
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}

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

.gkta-empty {
	background: #f5f5f5;
	border-radius: 5px;
	padding: 20px;
}

/* Wide layout — theme limits full-width content to 65%
--------------------------------------------- */

@media only screen and (min-width: 960px) {

	.gkta-wide.full-width-content .content {
		width: 100%;
	}
}

/* Translation button (single articles)
--------------------------------------------- */

.gkta-translation-banner {
	margin-bottom: 24px;
}

.gkta-translation-banner__link {
	background: #fff8e5;
	border: 1px solid #dba617;
	border-radius: 20px;
	color: #333;
	display: inline-block;
	font-size: 15px;
	font-weight: 600;
	padding: 8px 16px;
	text-decoration: none;
}

.gkta-translation-banner__link:hover,
.gkta-translation-banner__link:focus {
	background: #dba617;
	color: #fff;
}

/* Top bar (date + tagline) and latest headlines bar — site-wide
--------------------------------------------- */

.gkta-topbar {
	background: var(--gkta-primary);
	border-bottom: 3px solid var(--gkta-yellow);
	color: #fff;
	font-size: 13px;
}

.gkta-topbar .wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 16px;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1140px;
	padding: 6px 30px;
}

.gkta-topbar__tagline {
	opacity: 0.9;
}

.gkta-latestbar {
	background: #fff;
	border-bottom: 1px solid #e3e6ea;
	font-size: 14px;
}

.gkta-latestbar .wrap {
	align-items: center;
	display: flex;
	gap: 12px;
	margin: 0 auto;
	max-width: 1140px;
	padding: 8px 30px;
}

.gkta-latestbar__label {
	background: var(--gkta-yellow);
	border-radius: 3px;
	color: var(--gkta-ink);
	flex: 0 0 auto;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	padding: 3px 8px;
	text-transform: uppercase;
}

/* One line; scrolls horizontally on small screens (no auto-animation). */
.gkta-latestbar__list {
	display: flex;
	gap: 0;
	list-style: none;
	margin: 0;
	overflow-x: auto;
	padding: 0;
	scrollbar-width: none;
	white-space: nowrap;
}

.gkta-latestbar__list::-webkit-scrollbar {
	display: none;
}

.gkta-latestbar__list li + li::before {
	color: #b0b7c0;
	content: "•";
	padding: 0 10px;
}

.gkta-latestbar__list a {
	color: #222;
	text-decoration: none;
}

.gkta-latestbar__list a:hover,
.gkta-latestbar__list a:focus {
	color: var(--gkta-primary);
	text-decoration: underline;
}

/* Genesis clearfix pseudo-elements would become flex items and push content around. */
.gkta-topbar .wrap::before,
.gkta-topbar .wrap::after,
.gkta-latestbar .wrap::before,
.gkta-latestbar .wrap::after {
	content: none;
}

@media only screen and (min-width: 960px) {

	/* Align the header with the 1140px content column and header bars. */
	.site-header .wrap {
		margin: 0 auto;
		max-width: 1140px;
	}
}

/* Icons
--------------------------------------------- */

.gkta-icon {
	display: inline-block;
	flex-shrink: 0;
	vertical-align: -0.125em;
}

/* Typography — Roboto for English, Noto Serif Bengali for Assamese
   The site-wide stack is "Roboto", "Noto Serif Bengali", sans-serif (style.css,
   all headings h1–h6 included). Roboto has no Assamese glyphs, so the browser
   draws Assamese characters with Noto Serif Bengali automatically — in titles,
   menus, cards, sidebar, everywhere — and English with Roboto.
--------------------------------------------- */

/* Self-hosted Noto Serif Bengali, Bengali/Assamese subset only (OFL; assets/fonts).
   unicode-range keeps Latin text, arrows, and ₹ on Roboto, so pages without
   Assamese never download these files. */
@font-face {
	font-display: swap;
	font-family: "Noto Serif Bengali";
	font-style: normal;
	font-weight: 400;
	src: url("../assets/fonts/noto-serif-bengali/noto-serif-bengali-bengali-400-normal.woff2") format("woff2");
	unicode-range: U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+25CC, U+A8F1;
}

@font-face {
	font-display: swap;
	font-family: "Noto Serif Bengali";
	font-style: normal;
	font-weight: 600;
	src: url("../assets/fonts/noto-serif-bengali/noto-serif-bengali-bengali-600-normal.woff2") format("woff2");
	unicode-range: U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+25CC, U+A8F1;
}

@font-face {
	font-display: swap;
	font-family: "Noto Serif Bengali";
	font-style: normal;
	font-weight: 700;
	src: url("../assets/fonts/noto-serif-bengali/noto-serif-bengali-bengali-700-normal.woff2") format("woff2");
	unicode-range: U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+25CC, U+A8F1;
}

/* Assamese article text: a touch larger with more line height for the script. */
.gkta-lang-as .entry-content {
	font-size: 19px;
	line-height: 1.8;
}

/* Top bar: date · time, tagline, social icons
--------------------------------------------- */

.gkta-topbar .wrap {
	align-items: center;
}

.gkta-topbar p {
	margin: 0;
}

.gkta-topbar__when {
	align-items: center;
	display: flex;
	gap: 6px;
}

.gkta-topbar__sep {
	opacity: 0.6;
}

.gkta-topbar__time {
	font-variant-numeric: tabular-nums;
	font-weight: 600;
}

/* Social follow icons (top bar + footer)
--------------------------------------------- */

.gkta-social {
	display: flex;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.gkta-social__link {
	align-items: center;
	border-radius: 50%;
	display: inline-flex;
	font-size: 15px;
	height: 28px;
	justify-content: center;
	text-decoration: none;
	transition: background-color 0.15s ease;
	width: 28px;
}

.gkta-social--topbar .gkta-social__link {
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
}

.gkta-social--topbar .gkta-social__link:hover,
.gkta-social--topbar .gkta-social__link:focus {
	background: rgba(255, 255, 255, 0.3);
	color: #fff;
}

.gkta-social--footer .gkta-social__link {
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
	font-size: 17px;
	height: 34px;
	width: 34px;
}

.gkta-social--footer .gkta-social__link:hover,
.gkta-social--footer .gkta-social__link:focus {
	background: #fff;
	color: var(--gkta-ink);
}

/* Search in the header menu
--------------------------------------------- */

.gkta-menu-search__form {
	align-items: center;
	display: flex;
	margin: 8px 0;
	position: relative;
}

.gkta-menu-search__input[type="search"] {
	border: 1px solid #d0d5db;
	border-radius: 20px;
	font-size: 14px;
	padding: 7px 38px 7px 14px;
	width: 100%;
}

.gkta-menu-search__input[type="search"]:focus {
	border-color: var(--gkta-primary);
	outline: 2px solid rgba(200, 16, 46, 0.2);
}

.site-container .gkta-menu-search__button {
	background: transparent;
	color: #5f6b7a;
	font-size: 16px;
	line-height: 1;
	padding: 8px 12px;
	position: absolute;
	right: 0;
}

.site-container .gkta-menu-search__button:hover,
.site-container .gkta-menu-search__button:focus {
	background: transparent;
	color: var(--gkta-primary);
}

/* Standard sidebar panels — tinted, iconed, smaller type than the main column
--------------------------------------------- */

.gkta-side {
	background: #f6f8fa;
	border: 1px solid #e3e6ea;
	border-radius: 6px;
	font-size: 15px;
	margin-bottom: 24px;
	overflow: hidden;
}

.gkta-side__title {
	align-items: center;
	background: #fff;
	border-bottom: 2px solid var(--gkta-primary);
	color: var(--gkta-primary);
	display: flex;
	font-size: 14px;
	font-weight: 700;
	gap: 8px;
	letter-spacing: 0.04em;
	margin: 0;
	padding: 10px 14px;
	text-transform: uppercase;
}

.gkta-side__title .gkta-icon {
	font-size: 18px;
}

.gkta-side__body {
	padding: 10px 14px 14px;
}

.gkta-side__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.gkta-side__list li {
	border-bottom: 1px solid #e3e6ea;
	line-height: 1.4;
	padding: 8px 0;
}

.gkta-side__list li:last-child {
	border-bottom: 0;
}

.gkta-side__list a {
	color: #222;
	text-decoration: none;
}

.gkta-side__list a:hover,
.gkta-side__list a:focus {
	color: var(--gkta-primary);
	text-decoration: underline;
}

.gkta-side__list--compact li {
	align-items: center;
	display: flex;
	justify-content: space-between;
	padding: 6px 0;
}

.gkta-side__meta {
	color: #5f6b7a;
	display: block;
	font-size: 13px;
}

.gkta-side__count {
	background: var(--gkta-primary-soft);
	border-radius: 10px;
	color: var(--gkta-primary);
	font-size: 12px;
	font-weight: 700;
	padding: 1px 8px;
}

.gkta-side__more {
	display: inline-block;
	font-size: 14px;
	font-weight: 600;
	margin-top: 8px;
	text-decoration: none;
}

.gkta-side--qotd {
	background: #f1f8f2;
	border-color: #cfe5d2;
}

.gkta-side--qotd .gkta-side__title {
	border-bottom-color: #2e7d32;
	color: #2e7d32;
}

.gkta-side__qotd-name {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
	margin-bottom: 4px;
}

.gkta-side--qotd .gkta-side__meta {
	margin-bottom: 12px;
}

.site-container .gkta-side__cta {
	background: #2e7d32;
	font-size: 15px;
	padding: 10px 18px;
}

.site-container .gkta-side__cta:hover,
.site-container .gkta-side__cta:focus {
	background: #1b5e20;
}

/* Footer link columns
--------------------------------------------- */

.gkta-footer-links {
	background: var(--gkta-ink);
	color: #cfd8e3;
	font-size: 15px;
}

.gkta-footer-links .wrap {
	margin: 0 auto;
	max-width: 1140px;
	padding: 40px 30px 30px;
}

.gkta-footer-links__grid {
	display: grid;
	gap: 28px 20px;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
}

.gkta-footer-links__title {
	border-bottom: 2px solid var(--gkta-yellow);
	color: #fff;
	font-size: 15px;
	letter-spacing: 0.04em;
	margin-bottom: 10px;
	padding-bottom: 8px;
	text-transform: uppercase;
}

.gkta-footer-links__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.gkta-footer-links__list li {
	padding: 4px 0;
}

.gkta-footer-links__list a {
	color: #cfd8e3;
	text-decoration: none;
}

.gkta-footer-links__list a:hover,
.gkta-footer-links__list a:focus {
	color: #fff;
	text-decoration: underline;
}

.gkta-footer-links__social {
	align-items: center;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
	padding-top: 20px;
}

.gkta-footer-links__follow {
	color: #fff;
	font-weight: 600;
}

/* Author byline + hover card
--------------------------------------------- */

.gkta-author {
	display: inline-block;
	position: relative;
}

.gkta-author__name {
	font-weight: 600;
	text-decoration: none;
}

.gkta-author__card {
	background: #fff;
	border: 1px solid #e3e6ea;
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(29, 31, 36, 0.18);
	color: #333;
	display: flex;
	gap: 12px;
	left: 0;
	max-width: calc(100vw - 32px);
	opacity: 0;
	padding: 14px;
	pointer-events: none;
	position: absolute;
	top: calc(100% + 8px);
	transform: translateY(-4px);
	transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s;
	visibility: hidden;
	width: 300px;
	z-index: 50;
}

.gkta-author:hover .gkta-author__card,
.gkta-author:focus-within .gkta-author__card {
	opacity: 1;
	transform: none;
	visibility: visible;
}

.gkta-author__avatar {
	border-radius: 50%;
	flex: 0 0 auto;
	height: 56px;
	width: 56px;
}

.gkta-author__card-body {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 14px;
	line-height: 1.45;
	text-transform: none;
}

.gkta-author__card-name {
	color: #222;
	font-size: 16px;
	font-weight: 700;
}

.gkta-author__card-meta {
	color: #5f6b7a;
	font-size: 13px;
}

@media (prefers-reduced-motion: reduce) {

	.gkta-author__card,
	.gkta-social__link {
		transition: none;
	}
}

@media only screen and (min-width: 960px) {

	.gkta-menu-search {
		margin-left: 8px;
	}

	.gkta-menu-search__form {
		margin: 18px 0;
	}

	.gkta-menu-search__input[type="search"] {
		transition: width 0.2s ease;
		width: 170px;
	}

	.gkta-menu-search__input[type="search"]:focus {
		width: 230px;
	}
}

/* Brand accent: yellow bar beside section headings (echoes the logo frame). */
.gkta-group__title,
.gkta-cat-block__title a {
	border-left: 4px solid var(--gkta-yellow);
	padding-left: 10px;
}

/* Current affairs calendar + date jump
--------------------------------------------- */

.gkta-cal__head {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 8px;
}

.gkta-cal__month {
	color: var(--gkta-ink);
	font-weight: 700;
	text-decoration: none;
}

.gkta-cal__nav {
	border-radius: 50%;
	color: var(--gkta-primary);
	display: inline-flex;
	font-size: 20px;
	font-weight: 700;
	height: 30px;
	justify-content: center;
	line-height: 28px;
	text-decoration: none;
	width: 30px;
}

.gkta-cal__nav:hover,
.gkta-cal__nav:focus {
	background: var(--gkta-primary-soft);
}

.gkta-cal__nav.is-disabled {
	color: #c3c8ce;
}

.gkta-cal__grid {
	border-collapse: collapse;
	margin-bottom: 12px;
	table-layout: fixed;
	width: 100%;
}

.gkta-cal__grid th,
.gkta-cal__grid td {
	border: 0;
	font-size: 13px;
	padding: 2px;
	text-align: center;
}

.gkta-cal__grid th abbr {
	color: #5f6b7a;
	font-weight: 600;
	text-decoration: none;
}

.gkta-cal__grid td a,
.gkta-cal__grid td span {
	align-items: center;
	border-radius: 50%;
	display: inline-flex;
	height: 30px;
	justify-content: center;
	width: 30px;
}

.gkta-cal__grid td span {
	color: #a3aab3;
}

.gkta-cal__grid td.has-ca a {
	background: var(--gkta-primary-soft);
	color: var(--gkta-primary-dark);
	font-weight: 700;
	text-decoration: none;
}

.gkta-cal__grid td.has-ca a:hover,
.gkta-cal__grid td.has-ca a:focus {
	background: var(--gkta-primary);
	color: #fff;
}

.gkta-cal__grid td.is-today a,
.gkta-cal__grid td.is-today span {
	box-shadow: inset 0 0 0 2px var(--gkta-yellow);
}

.gkta-cal__grid td.is-selected a {
	background: var(--gkta-primary);
	color: #fff;
}

.gkta-cal-jump label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 4px;
}

.gkta-cal-jump__row {
	display: flex;
	gap: 6px;
}

.gkta-cal-jump input[type="date"] {
	flex: 1;
	font-size: 14px;
	min-width: 0;
	padding: 6px 8px;
}

.site-container .gkta-cal-jump button {
	font-size: 14px;
	padding: 6px 14px;
}

/* On archive filter bars the jump form sits inline. */
.gkta-ca-filters .gkta-cal-jump {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;
	margin-top: 12px;
}

.gkta-ca-filters .gkta-cal-jump label {
	margin: 0;
}

/* Day page: previous / next day */
.gkta-day-nav {
	display: flex;
	gap: 10px;
	justify-content: space-between;
	margin-bottom: 20px;
}

.gkta-day-nav__link {
	border: 1px solid #e3e6ea;
	border-radius: 20px;
	font-size: 14px;
	font-weight: 600;
	padding: 6px 14px;
	text-decoration: none;
}

.gkta-day-nav__link--next {
	margin-left: auto;
}

.gkta-day-nav__link:hover,
.gkta-day-nav__link:focus {
	border-color: var(--gkta-primary);
}

/* Sticky sidebar (desktop, content-sidebar layout)
   Flex columns give the sticky sidebar a container as tall as the article.
   js/sticky-sidebar.js sets --gkta-sticky-top (below the header when the
   sidebar fits, negative when it is taller so its bottom stays reachable). */
@media only screen and (min-width: 960px) {

	.content-sidebar .content-sidebar-wrap {
		align-items: flex-start;
		display: flex;
		justify-content: space-between;
	}

	.content-sidebar .content-sidebar-wrap::before,
	.content-sidebar .content-sidebar-wrap::after {
		content: none;
	}

	.content-sidebar .sidebar-primary {
		position: sticky;
		top: var(--gkta-sticky-top, 120px);
	}
}

/* Important Facts for Examinations (plugin box, end of article)
--------------------------------------------- */

.gkta-exam-facts {
	background: #fffbea;
	border: 1px solid #f3e19a;
	border-left: 5px solid var(--gkta-yellow);
	border-radius: 6px;
	margin: 32px 0;
	padding: 18px 22px;
}

.entry-content .gkta-exam-facts__title {
	align-items: center;
	color: var(--gkta-primary-dark);
	display: flex;
	font-size: 19px;
	font-weight: 700;
	gap: 8px;
	margin: 0 0 12px;
}

.gkta-exam-facts__title .gkta-icon {
	color: var(--gkta-primary);
	font-size: 22px;
}

.entry-content .gkta-exam-facts__list {
	margin: 0;
	padding: 0;
}

.entry-content .gkta-exam-facts__list li {
	border-top: 1px dashed #ead98c;
	list-style: none;
	margin: 0;
	padding: 8px 0 8px 26px;
	position: relative;
}

.entry-content .gkta-exam-facts__list li:first-child {
	border-top: 0;
}

.entry-content .gkta-exam-facts__list li::before {
	color: var(--gkta-primary);
	content: "✔";
	font-weight: 700;
	left: 2px;
	position: absolute;
	top: 8px;
}

/* Share bar (after the article)
--------------------------------------------- */

.gkta-share {
	align-items: center;
	border-bottom: 1px solid #e3e6ea;
	border-top: 1px solid #e3e6ea;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 14px;
	margin: 28px 0;
	padding: 14px 0;
}

.gkta-share__label {
	font-size: 15px;
	font-weight: 700;
}

.gkta-share__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.entry-content .gkta-share__list li,
.gkta-share__list li {
	margin: 0;
}

.site-container .gkta-share__btn {
	align-items: center;
	border: 0;
	border-radius: 50%;
	color: #fff;
	display: inline-flex;
	font-size: 18px;
	height: 40px;
	justify-content: center;
	padding: 0;
	text-decoration: none;
	transition: transform 0.15s ease, opacity 0.15s ease;
	width: 40px;
}

.site-container .gkta-share__btn:hover,
.site-container .gkta-share__btn:focus {
	color: #fff;
	opacity: 0.9;
	transform: translateY(-2px);
}

/* Brand colours chosen for white-icon contrast. */
.gkta-share__btn--whatsapp { background: #128c7e; }
.gkta-share__btn--facebook { background: #1877f2; }
.gkta-share__btn--x { background: #000; }
.gkta-share__btn--telegram { background: #229ed9; }
.site-container .gkta-share__btn--copy,
.site-container .gkta-share__btn--native { background: var(--gkta-ink); }

.gkta-share__status {
	color: #1e7e34;
	font-size: 14px;
	font-weight: 600;
}

@media (prefers-reduced-motion: reduce) {

	.site-container .gkta-share__btn {
		transition: none;
	}
}
