/*
Theme Name: European Ombudsman Modern
Theme URI: https://euro-ombudsman.org/
Description: A beautiful, modern, fully responsive and fluid full-width editorial theme for the European Ombudsman journal. Keeps the classic warm paper aesthetics, Lora and Inter typography, and authentic full-bleed newspaper layout structure, but updates the technical base to modern fluid CSS Grid, Flexbox, and fluid styling without dark mode or heavy JS.
Version: 2.1
Author: Antigravity & Xammurappi
Tags: human rights, editorial, responsive, grid, flexbox, full-bleed
*/

/* -------------------------------------------------------------
   DESIGN TOKENS (CSS VARIABLES)
   ------------------------------------------------------------- */
:root {
	/* Colors - Warm Light Editorial Theme */
	--color-bg: #FAF9F5;                 /* Soft warm paper background */
	--color-content-bg: #FFFFFF;         /* White for articles and panels */
	--color-sidebar-bg: #FFFCEF;         /* Warm cream accent panel background */
	--color-primary: #530000;            /* Original rich brownish-burgundy */
	--color-primary-hover: #7E1C1C;      /* Slightly brighter burgundy */
	--color-text: #221D1A;               /* Deep warm charcoal for maximum legibility */
	--color-text-muted: #6E635C;         /* Muted gray-brown for metadata */
	--color-border: rgba(83, 0, 0, 0.08); /* Warm border accent */
	--color-border-subtle: #EBE6DF;      /* Soft divider */
	
	/* Typography */
	--font-serif: 'Lora', Georgia, 'Times New Roman', serif;
	--font-sans: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
	
	/* Spacings */
	--border-radius: 4px;
	
	/* Transitions */
	--transition-fast: 0.15s ease;
	--transition-normal: 0.25s ease;
	
	/* Shadows */
	--shadow-sm: 0 1px 3px rgba(34, 29, 26, 0.04);
	--shadow-md: 0 6px 18px rgba(34, 29, 26, 0.04);
}

/* -------------------------------------------------------------
   BASE RESET & TYPOGRAPHY
   ------------------------------------------------------------- */
* {
	box-sizing: border-box;
}

body {
	padding: 0;
	margin: 0;
	background-color: var(--color-bg);
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: 16px;                     /* Increased base font size to prevent being 'мелко' */
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Links */
a {
	color: var(--color-primary);
	text-decoration: underline;
	text-decoration-color: rgba(83, 0, 0, 0.3);
	transition: color var(--transition-fast), text-decoration-color var(--transition-fast);
}

a:hover {
	color: var(--color-primary-hover);
	text-decoration-color: var(--color-primary-hover);
}

a:active, a:focus {
	outline: none;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-serif);
	color: var(--color-text);
	margin-top: 0;
	font-weight: 700;
}

/* Accessibility Focus Ring */
a:focus-visible, 
button:focus-visible, 
input:focus-visible {
	outline: 2px solid var(--color-primary);
	outline-offset: 4px;
}

/* -------------------------------------------------------------
   HEADER SECTION (FULL WIDTH WITH 4% PADDING)
   ------------------------------------------------------------- */
.top-header {
	width: 100%;
	background-color: var(--color-content-bg);
	border-bottom: 3px double var(--color-border-subtle);
	padding: 2.5rem 0;
	margin-bottom: 2rem;
}

.header-container {
	width: 100%;
	padding: 0 4%;                      /* Fluid screen padding matching original */
	display: flex;
	align-items: center;
	justify-content: flex-start;
	position: relative;
	gap: 2.5rem;
}

/* Responsive Logo Implementation using CSS Media Queries */
.logo {
	background-repeat: no-repeat;
	background-position: left center;
	background-size: contain;
	cursor: pointer;
}

@media (min-width: 1600px) {
	.logo { background-image: url('images/logo_ru_1600.gif'); width: 396px; height: 110px; }
}
@media (max-width: 1599px) and (min-width: 1025px) {
	.logo { background-image: url('images/logo_ru.gif'); width: 317px; height: 88px; }
}
@media (max-width: 1024px) and (min-width: 801px) {
	.logo { background-image: url('images/logo_ru_1024.gif'); width: 253px; height: 70px; }
}
@media (max-width: 800px) and (min-width: 641px) {
	.logo { background-image: url('images/logo_ru_800.gif'); width: 198px; height: 55px; }
}
@media (max-width: 640px) {
	.logo { background-image: url('images/logo_ru_640.gif'); width: 158px; height: 44px; }
}

.logo_print {
	display: none;
}

.logo_left {
	font-family: var(--font-serif);
	font-size: 1.15rem;                  /* Increased tagline size */
	font-style: italic;
	color: var(--color-text-muted);
	max-width: 500px;
	line-height: 1.45;
	padding-left: 2rem;
	border-left: 1px solid var(--color-border-subtle);
}

/* Mobile Menu Toggle Button */
.menu-toggle {
	display: none;
	flex-direction: column;
	justify-content: space-between;
	width: 26px;
	height: 20px;
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 0;
	z-index: 10;
}

.menu-toggle .bar {
	width: 100%;
	height: 2px;
	background-color: var(--color-primary);
	transition: var(--transition-normal);
}

/* -------------------------------------------------------------
   SITE LAYOUT (FLUID FULL-WIDTH GRID WITH 4% PADDING)
   ------------------------------------------------------------- */
.site-layout {
	display: grid;
	grid-template-columns: 21.5% 1fr 26%; /* Expanded center content area, narrower right block */
	column-gap: 2.5%;
	row-gap: 2rem;
	width: 100%;
	padding: 0 4% 3rem 4%;               /* Matches original site full-bleed layout */
}

/* -------------------------------------------------------------
   LEFT BLOCK (SIDEBAR MENU)
   ------------------------------------------------------------- */
.leftblock {
	text-align: right;
	padding-right: 1.5rem;
	border-right: 1px solid var(--color-border-subtle);
}

.lefttitle {
	font-family: var(--font-serif);
	font-size: 1.15rem;                  /* Increased menu title size */
	font-style: italic;
	font-weight: bold;
	margin-bottom: 0.8rem;
	margin-top: 1.8rem;
	line-height: 1.35;
}

.left-nav > .lefttitle:first-child {
	margin-top: 0;
}

.lefttitle a {
	color: var(--color-text);
	text-decoration: none;
}

.lefttitle a:hover {
	color: var(--color-primary);
}

.leftblock ul {
	padding: 0;
	margin: 0 0 1.8rem 0;
	list-style: none;
}

.leftblock ul li {
	font-family: var(--font-sans);
	font-size: 0.95rem;                  /* Increased menu item size */
	line-height: 1.45;
	padding: 0.4rem 1.05rem 0.4rem 0;
	background: url('images/li1.gif') no-repeat right 0.93rem;
}

.leftblock ul li.sepli {
	margin-bottom: 0.6rem;
	border-bottom: 1px dashed var(--color-border-subtle);
	padding-bottom: 0.6rem;
}

.leftblock ul li a {
	color: var(--color-primary);
	text-decoration: underline;
}

.leftblock ul li a:hover {
	color: var(--color-text);
	text-decoration: none;
}

/* -------------------------------------------------------------
   CENTER CONTENT BLOCK (MAIN COLUMN)
   ------------------------------------------------------------- */
.center-content {
	border-right: 1px solid var(--color-border-subtle);
	padding-right: 2rem;
	min-width: 0;
}

.main_articles_block {
	width: 100%;
}

/* Main sticky article card */
.main_article {
	border-bottom: 1px dotted var(--color-border-subtle);
	padding-bottom: 1.8rem;
	margin-bottom: 1.8rem;
}

.main_article_title {
	font-size: 1.85rem;                  /* Increased title size */
	line-height: 1.35;
	margin-bottom: 0.6rem;
}

.main_article_title a {
	color: var(--color-text);
	text-decoration: none;
}

.main_article_title a:hover {
	color: var(--color-primary);
}

.main_article_date2 {
	color: var(--color-text-muted);
	font-size: 0.8rem;                   /* Increased metadata size */
	margin-bottom: 1.2rem;
	font-family: var(--font-sans);
}

.main_article_content {
	font-size: 1.05rem;                  /* Increased teaser content size */
	line-height: 1.65;
}

.main_article_content img {
	max-width: 100%;
	height: auto;
	border: 1px solid var(--color-border-subtle);
	padding: 4px;
	background-color: var(--color-content-bg);
}

.alignleft {
	float: left;
	margin: 0.6rem 1.4rem 1rem 0;
}

.alignright {
	float: right;
	margin: 0.6rem 0 1rem 1.4rem;
}

/* Sticky sub-articles columns */
.row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
	margin-top: 1.5rem;
}

.sub_main_article {
	display: flex;
	flex-direction: column;
}

.sub_main_article_title {
	font-size: 1.3rem;                   /* Increased sub-title size */
	line-height: 1.35;
	margin-bottom: 0.5rem;
}

.sub_main_article_title a {
	color: var(--color-text);
	text-decoration: none;
}

.sub_main_article_title a:hover {
	color: var(--color-primary);
}

.sub_main_article_date {
	color: var(--color-text-muted);
	font-size: 0.75rem;
	margin-bottom: 0.8rem;
}

.sub_main_article_content {
	font-size: 0.95rem;                  /* Increased content size */
	line-height: 1.6;
}

.sub_main_article_content img {
	max-width: 100%;
	height: auto;
	border: 1px solid var(--color-border-subtle);
	padding: 2px;
	background-color: var(--color-content-bg);
}

/* -------------------------------------------------------------
   RIGHT BLOCK (SIDEBAR CONTENT)
   ------------------------------------------------------------- */
.rightblock {
	padding-left: 1rem;
	min-width: 0;
}

/* Clean HTML5 Search Box styling */
.search_block {
	margin-bottom: 1.8rem;
	background-color: var(--color-sidebar-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--border-radius);
	padding: 1rem;
}

.search_block form {
	display: flex;
	gap: 0.5rem;
	margin: 0;
}

.search_block input[type="text"] {
	flex: 1;
	padding: 0.6rem 1rem;
	border: 1px solid var(--color-border-subtle);
	border-radius: var(--border-radius);
	font-family: var(--font-sans);
	font-size: 0.95rem;                  /* Increased search input text */
	color: var(--color-text);
	background-color: var(--color-content-bg);
	text-align: left;
	transition: border-color var(--transition-fast);
}

.search_block input[type="text"]:focus {
	border-color: var(--color-primary);
	outline: none;
}

.search-submit-btn {
	background: var(--color-primary);
	border: none;
	color: var(--color-content-bg);
	padding: 0.6rem 1rem;
	border-radius: var(--border-radius);
	cursor: pointer;
	font-size: 0.95rem;
	transition: background var(--transition-fast);
}

.search-submit-btn:hover {
	background: var(--color-primary-hover);
}

/* Translate Box */
#google_translate_element {
	text-align: center;
	margin-bottom: 1.8rem;
	padding: 0.6rem;
	background-color: var(--color-content-bg);
	border: 1px solid var(--color-border-subtle);
	border-radius: var(--border-radius);
}

/* Publisher info block */
.rightblock_journal_title {
	background-color: var(--color-sidebar-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--border-radius);
	padding: 1.4rem;
	margin-top: 1.8rem;
	line-height: 1.55;
}

.rightblock_journal_text {
	font-size: 0.9rem;                   /* Increased publisher text */
	color: var(--color-text);
}

.rightblock_journal_text a {
	font-weight: bold;
	color: var(--color-primary);
}

/* Sidebar latest news list */
.rightblock_title {
	font-size: 1.25rem;                  /* Increased sidebar news header */
	border-bottom: 2px solid var(--color-primary);
	padding-bottom: 0.6rem;
	margin-bottom: 1.2rem;
	font-style: italic;
}

.rightblock_mainpage_content {
	display: flex;
	flex-direction: column;
	gap: 1.4rem;
}

.rightblock_mainpage_content_item {
	border-bottom: 1px dashed var(--color-border-subtle);
	padding-bottom: 1rem;
}

.rightblock_mainpage_content_item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.rightblock_mainpage_title {
	font-size: 1rem;                     /* Increased sidebar news title */
	line-height: 1.4;
	margin-bottom: 0.5rem;
	font-weight: 600;
}

.rightblock_mainpage_title a {
	color: var(--color-text);
	text-decoration: none;
}

.rightblock_mainpage_title a:hover {
	color: var(--color-primary);
	text-decoration: underline;
}

.rightblock_mainpage_content_text {
	font-size: 0.85rem;                  /* Increased sidebar news excerpt */
	color: var(--color-text-muted);
	line-height: 1.5;
	border-left: 2px solid var(--color-border-subtle);
	padding-left: 0.8rem;
}

/* -------------------------------------------------------------
   HOMEPAGE CATEGORIES GRID BLOCKS (FLUID & SPANNING ENTIRE GRID)
   ------------------------------------------------------------- */
.categories-blocks-container {
	grid-column: 1 / -1;                 /* Spans all 3 grid columns fluidly */
	width: 100%;
	min-width: 0;
	padding: 2.5rem 0 0 0;
	margin-top: 2rem;
	border-top: 1px dotted var(--color-border-subtle);
	display: flex;
	flex-direction: column;
	gap: 3rem;
}

/* Category grid rows */
.mainpage_russia_block,
.mainpage_europe_block {
	display: grid;
	grid-template-columns: 21.5% 1fr;    /* Strictly matches layout left column proportion */
	column-gap: 2.5%;
	row-gap: 1rem;
	width: 100%;
}

.mainpage_russia_block_left,
.mainpage_europe_block_left {
	text-align: right;
	padding-top: 1rem;
	padding-right: 1.5rem;
}

.mainpage_russia_block_left_content,
.mainpage_europe_block_left_content {
	font-family: var(--font-serif);
	font-size: 2.1rem;                   /* Increased from 1.7rem to stand out elegantly without overdoing it */
	font-weight: 700;
	font-style: italic;
	line-height: 1.25;
}

.mainpage_russia_block_left_content a,
.mainpage_europe_block_left_content a {
	color: var(--color-text);
	text-decoration: none;
}

.mainpage_russia_block_left_content a:hover,
.mainpage_europe_block_left_content a:hover {
	color: var(--color-primary);
}

/* Grid inner layout for category news lists (using fr units to prevent any mathematical overflow and spilling) */
.mainpage_russia_block_right,
.mainpage_europe_block_right {
	display: grid;
	grid-template-columns: 1.2fr 1fr 1fr; /* Fractional units completely prevent overflow bugs */
	gap: 2rem;
	min-width: 0;
	background-color: var(--color-content-bg);
	border: 1px solid var(--color-border-subtle);
	border-top: 2px solid var(--color-primary);
	border-radius: var(--border-radius);
	padding: 1.8rem;
	box-shadow: var(--shadow-sm);
}

.mainpage_europe_block_right {
	background-color: var(--color-sidebar-bg);
	border: 1px solid var(--color-border);
	border-top: 2px solid var(--color-primary);
}

/* Left main category story */
.simple_main_article {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.simple_main_article_title {
	font-size: 1.38rem;                  /* Increased from 1.2rem to be clearly readable */
	line-height: 1.35;
	margin-bottom: 0.5rem;
}

.simple_main_article_title a {
	color: var(--color-text);
	text-decoration: none;
}

.simple_main_article_title a:hover {
	color: var(--color-primary);
}

.simple_main_article_date {
	color: var(--color-text-muted);
	font-size: 0.75rem;
	margin-bottom: 0.8rem;
}

.simple_main_article_content {
	font-size: 1.05rem;                  /* Increased to prevent being cramped/small */
	line-height: 1.55;
}

.simple_main_article_content img {
	max-width: 100%;
	height: auto;
	border: 1px solid var(--color-border-subtle);
	padding: 2px;
	margin-bottom: 0.6rem;
	background-color: var(--color-content-bg);
}

/* Lists of headlines on the right of category block */
.simple_main_article_titles,
.simple_main_article_titles2 {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	min-width: 0;
	border-left: 1px dashed var(--color-border-subtle);
	padding-left: 1.5rem;
}

.simple_main_article_title_rightlist {
	font-size: 1.08rem;                  /* Increased from 0.95rem to prevent cramped text */
	line-height: 1.45;
	font-family: var(--font-serif);
	border-bottom: 1px dashed var(--color-border-subtle);
	padding-bottom: 0.8rem;
}

.simple_main_article_title_rightlist:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.simple_main_article_title_rightlist a {
	color: var(--color-text);
	text-decoration: none;
}

.simple_main_article_title_rightlist a:hover {
	color: var(--color-primary);
	text-decoration: underline;
}

/* -------------------------------------------------------------
   SINGLE ARTICLE / STATIC PAGE TYPOGRAPHY (PREMIUM LORA TEXT)
   ------------------------------------------------------------- */
.article {
	background-color: var(--color-content-bg);
	border: 1px solid var(--color-border-subtle);
	border-radius: var(--border-radius);
	padding: 2.5rem;                     /* Increased spacing to breathe */
	box-shadow: var(--shadow-sm);
	margin-bottom: 2.5rem;
}

.main_article_title {
	font-size: 2.3rem;                   /* Increased single title */
	line-height: 1.3;
	margin-bottom: 1.2rem;
	font-family: var(--font-serif);
}

.main_article_date {
	font-size: 0.95rem;                  /* Increased metadata */
	color: var(--color-text-muted);
	border-bottom: 1px solid var(--color-border-subtle);
	padding-bottom: 1rem;
	margin-bottom: 2rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
}

.author-block a {
	font-weight: bold;
	color: var(--color-text);
	text-decoration: none;
}

.author-block a:hover {
	color: var(--color-primary);
}

.printlink a {
	background: url('images/print.png') no-repeat left center;
	padding-left: 22px;
	color: var(--color-text-muted);
	text-decoration: none;
}

.printlink a:hover {
	color: var(--color-primary);
}

.print-article-meta {
	display: none;
}

/* Article rich text formatting (Extremely readable, large) */
.single_article_content {
	font-family: var(--font-serif);
	font-size: 1.18rem;                  /* Beautiful large readable font */
	line-height: 1.75;                   /* Spacious line height */
	color: var(--color-text);
	container-type: inline-size;
}

.single_article_content p {
	margin-top: 0;
	margin-bottom: 1.6rem;
}

.single_article_content img {
	max-width: 100%;
	height: auto;
	border: 1px solid var(--color-border-subtle);
	padding: 4px;
	background-color: var(--color-content-bg);
	margin-bottom: 1.2rem;
}

.single_article_content .wp-caption {
	max-width: 100%;
	padding: 0.45rem;
	background-color: var(--color-bg);
	border: 1px solid var(--color-border-subtle);
	border-radius: var(--border-radius);
}

.single_article_content .wp-caption a {
	display: block;
}

.single_article_content .wp-caption img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.single_article_content .wp-caption-text {
	margin: 0.55rem 0 0;
	padding: 0;
	font-family: var(--font-sans);
	font-size: 0.875rem;
	line-height: 1.45;
	color: var(--color-text-muted);
	text-align: left;
}

@container (max-width: 680px) {
	.single_article_content .wp-caption.alignleft,
	.single_article_content .wp-caption.alignright {
		float: none;
		width: 100% !important;
		margin: 0 0 1.6rem 0;
	}
}

.single_article_content ul,
.single_article_content ol {
	margin-bottom: 1.6rem;
	padding-left: 2.2rem;
}

.single_article_content li {
	margin-bottom: 0.6rem;
}

.single_article_content blockquote {
	margin: 2rem 0;
	padding: 1.2rem 1.8rem;
	background-color: var(--color-bg);
	border-left: 4px solid var(--color-primary);
	font-style: italic;
	color: var(--color-text-muted);
}

.content-divider {
	background-color: var(--color-border-subtle);
	border: 0;
	height: 1px;
	margin: 2.5rem 0;
}

.tags-block {
	font-size: 0.95rem;
	margin-top: 2rem;
	font-family: var(--font-sans);
}

/* Likes / social widgets panel */
.likes {
	margin-top: 2.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--color-border-subtle);
}

/* -------------------------------------------------------------
   ARCHIVE & CATEGORY LIST LAYOUTS
   ------------------------------------------------------------- */
.category_titl,
.category_arch {
	font-family: var(--font-serif);
	font-size: 1.8rem;                   /* Increased archive titles */
	border-bottom: 2px solid var(--color-primary);
	padding-bottom: 0.8rem;
	margin-bottom: 2.5rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	line-height: 1.3;
}

.archive-link-wrap {
	font-size: 0.95rem;
	font-family: var(--font-sans);
	font-weight: normal;
	font-style: normal;
}

a.showall {
	color: var(--color-text-muted);
	text-decoration: underline;
}

a.showall:hover {
	color: var(--color-primary);
}

/* Main Archive Article in rubrics */
.content_main_article {
	background-color: var(--color-content-bg);
	border: 1px solid var(--color-border-subtle);
	border-radius: var(--border-radius);
	padding: 2rem;
	margin-bottom: 2.5rem;
	box-shadow: var(--shadow-sm);
}

.content_main_article_title {
	font-size: 1.7rem;
	margin-bottom: 0.6rem;
}

.content_main_article_title a {
	color: var(--color-text);
	text-decoration: none;
}

.content_main_article_title a:hover {
	color: var(--color-primary);
}

.content_main_article_date {
	font-size: 0.8rem;
	color: var(--color-text-muted);
	margin-bottom: 1.2rem;
}

.content_main_article_content {
	font-size: 1.05rem;
	line-height: 1.65;
}

/* Sub main article in archives */
.content_sub_main_article {
	background-color: var(--color-content-bg);
	border: 1px solid var(--color-border-subtle);
	border-radius: var(--border-radius);
	padding: 1.8rem;
	margin-bottom: 2rem;
	box-shadow: var(--shadow-sm);
}

.content_sub_main_article_title {
	font-size: 1.4rem;
	margin-bottom: 0.5rem;
}

.content_sub_main_article_title a {
	color: var(--color-text);
	text-decoration: none;
}

.content_sub_main_article_title a:hover {
	color: var(--color-primary);
}

.content_sub_main_article_date {
	font-size: 0.8rem;
	color: var(--color-text-muted);
	margin-bottom: 1rem;
}

.content_sub_main_article_content {
	font-size: 1rem;
	line-height: 1.6;
}

/* Other small articles grid in rubrics */
.content_other_main_articles_grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
	margin-top: 2rem;
}

.content_other_main_article {
	background-color: var(--color-content-bg);
	border: 1px solid var(--color-border-subtle);
	border-radius: var(--border-radius);
	padding: 1.5rem;
	box-shadow: var(--shadow-sm);
	display: flex;
	flex-direction: column;
}

.content_other_main_article_title {
	font-size: 1.15rem;
	line-height: 1.4;
	margin-bottom: 0.5rem;
}

.content_other_main_article_title a {
	color: var(--color-text);
	text-decoration: none;
}

.content_other_main_article_title a:hover {
	color: var(--color-primary);
}

.content_other_main_article_date {
	font-size: 0.75rem;
	color: var(--color-text-muted);
	margin-bottom: 0.8rem;
}

.content_other_main_article_content {
	font-size: 0.9rem;
	line-height: 1.55;
}

.content_other_main_article_content img {
	max-width: 100%;
	height: auto;
	border: 1px solid var(--color-border-subtle);
	padding: 2px;
	background-color: var(--color-content-bg);
	margin-bottom: 0.5rem;
}

/* Complete Showall Archive Lists */
.archive-list-container {
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
	background-color: var(--color-content-bg);
	border: 1px solid var(--color-border-subtle);
	border-radius: var(--border-radius);
	padding: 2.5rem;
}

.archive-list-item {
	border-bottom: 1px dashed var(--color-border-subtle);
	padding-bottom: 1rem;
}

.archive-list-item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.content_other_main_article_titles_showall {
	font-size: 1.1rem;
	line-height: 1.4;
	margin-bottom: 0.4rem;
	font-family: var(--font-serif);
}

.content_other_main_article_titles_showall a {
	color: var(--color-text);
	text-decoration: none;
}

.content_other_main_article_titles_showall a:hover {
	color: var(--color-primary);
	text-decoration: underline;
}

/* -------------------------------------------------------------
   FOOTER SECTION (FULL-WIDTH 4% PADDING)
   ------------------------------------------------------------- */
.site-footer {
	width: 100%;
	background-color: var(--color-content-bg);
	border-top: 3px double var(--color-border-subtle);
	padding: 3rem 0 3.5rem 0;
	margin-top: 4rem;
}

.footer-container {
	width: 100%;
	padding: 0 4%;                      /* Fluid full width matching header */
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 2rem;
}

.footer-copyright {
	font-size: 0.95rem;                  /* Increased copy text */
	color: var(--color-text-muted);
	white-space: nowrap;
}

.footer-info {
	text-align: right;
	max-width: 60%;
}

.footer-info .journal-title {
	font-family: var(--font-serif);
	font-weight: bold;
	font-size: 1.15rem;                  /* Increased footer title */
	margin: 0 0 0.5rem 0;
}

.footer-info .publisher-info {
	font-size: 0.9rem;                   /* Increased publisher info */
	color: var(--color-text-muted);
	margin: 0 0 1.2rem 0;
	line-height: 1.45;
}

.footer-links {
	font-size: 0.9rem;
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.footer-links a {
	color: var(--color-text);
	text-decoration: none;
}

.footer-links a:hover {
	color: var(--color-primary);
	text-decoration: underline;
}

.footer-links .separator {
	color: var(--color-border-subtle);
	padding: 0 0.3rem;
}

/* -------------------------------------------------------------
   MOBILE MENU ANIMATIONS
   ------------------------------------------------------------- */
@keyframes slideDown {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* -------------------------------------------------------------
   RESPONSIVENESS & MEDIA QUERIES (TABLETS & SMARTPHONES)
   ------------------------------------------------------------- */

/* Medium Screens (Tablets / Small Laptops, max-width: 1024px) */
@media (max-width: 1024px) {
	.site-layout {
		grid-template-columns: 28% 1fr;
		padding: 0 2% 3rem 2%;
	}
	
	.header-container,
	.footer-container {
		padding: 0 2%;
	}
	
	.site-layout > main,
	.site-layout > .center-content {
		border-right: none;
		padding-right: 0;
	}
	
	/* Sidebar stacks */
	.site-layout > .rightblock,
	.site-layout > aside.rightblock {
		grid-column: 1 / span 2;
		border-top: 1px solid var(--color-border-subtle);
		padding-top: 2rem;
		padding-left: 0;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 2rem;
	}
	
	.rightblock .search_block,
	.rightblock #google_translate_element {
		grid-column: 1;
	}
	
	.rightblock .rightblock_journal_title {
		grid-column: 1;
		margin-top: 0;
	}
	
	.rightblock .rightblock_title,
	.rightblock .rightblock_mainpage_content {
		grid-column: 2;
	}
	
	/* Categories stack */
	.mainpage_russia_block_right,
	.mainpage_europe_block_right {
		grid-template-columns: 1fr 1fr;
	}
	
	.simple_main_article {
		grid-column: 1 / span 2;
		border-bottom: 1px dashed var(--color-border-subtle);
		padding-bottom: 1.2rem;
		margin-bottom: 1.2rem;
	}
	
	.simple_main_article_titles {
		border-left: none;
		padding-left: 0;
	}
	
	.simple_main_article_titles2 {
		border-left: 1px dashed var(--color-border-subtle);
		padding-left: 1.2rem;
	}
}

@media (min-width: 769px) and (max-width: 1024px) {
	.site-layout > .rightblock,
	.site-layout > aside.rightblock {
		grid-column: 2;
		display: flex;
		flex-direction: column;
		gap: 1.25rem;
		padding-top: 1.5rem;
	}

	.rightblock .search_block,
	.rightblock #google_translate_element,
	.rightblock .rightblock_journal_title,
	.rightblock .rightblock_title,
	.rightblock .rightblock_mainpage_content {
		grid-column: auto;
	}

	.rightblock .search_block,
	.rightblock #google_translate_element,
	.rightblock .rightblock_journal_title {
		margin-bottom: 0;
	}
}

/* Mobile Screens (max-width: 768px) */
@media (max-width: 768px) {
	.menu-toggle {
		display: flex;
	}
	
	.header-container {
		justify-content: space-between;
	}
	
	.logo_left {
		display: none;
	}
	
	.site-layout {
		grid-template-columns: 1fr;
		gap: 2rem;
		padding: 0 1.5rem 3rem 1.5rem;
	}
	
	.header-container,
	.footer-container {
		padding: 0 1.5rem;
	}
	
	/* Navigation Collapsible block */
	.leftblock {
		display: none;
		grid-column: 1;
		width: 100%;
		border-right: none;
		padding: 1.8rem;
		background-color: var(--color-sidebar-bg);
		border: 1px solid var(--color-border);
		border-radius: var(--border-radius);
		text-align: left;
		box-shadow: var(--shadow-sm);
	}
	
	.leftblock.active {
		display: block;
		animation: slideDown 0.3s ease forwards;
	}
	
	.leftblock ul li {
		background: url('images/li1.gif') no-repeat left 50%;
		padding: 0.4rem 0 0.4rem 1.4rem;
		text-align: left;
		font-size: 1.05rem;           /* Larger text for mobile taps */
	}
	
	.site-layout > main,
	.site-layout > .center-content {
		grid-column: 1;
	}
	
	.row {
		grid-template-columns: 1fr;
		gap: 1.8rem;
	}
	
	.site-layout > .rightblock,
	.site-layout > aside.rightblock {
		grid-column: 1;
		grid-template-columns: 1fr;
		gap: 1.8rem;
		border-top: 1px solid var(--color-border-subtle);
		padding-top: 2rem;
	}
	
	.rightblock .search_block,
	.rightblock #google_translate_element,
	.rightblock .rightblock_journal_title,
	.rightblock .rightblock_title,
	.rightblock .rightblock_mainpage_content {
		grid-column: 1;
	}
	
	/* Categories stack on mobile */
	.mainpage_russia_block,
	.mainpage_europe_block {
		grid-template-columns: 1fr;
		gap: 1rem;
	}
	
	.mainpage_russia_block_left,
	.mainpage_europe_block_left {
		text-align: left;
		padding-top: 0;
		padding-right: 0;
	}
	
	.mainpage_russia_block_right,
	.mainpage_europe_block_right {
		grid-template-columns: 1fr;
		padding: 1.5rem;
	}
	
	.simple_main_article {
		grid-column: 1;
	}
	
	.simple_main_article_titles {
		grid-column: 1;
		border-left: none;
		padding-left: 0;
	}
	
	.simple_main_article_titles2 {
		grid-column: 1;
		border-left: none;
		padding-left: 0;
		border-top: 1px dashed var(--color-border-subtle);
		padding-top: 1rem;
	}
	
	.content_other_main_articles_grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
	
	.article {
		padding: 1.5rem;
	}
	
	.main_article_title {
		font-size: 1.7rem;
	}
	
	.single_article_content {
		font-size: 1.1rem;
	}
	
	.footer-container {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 1.8rem;
	}
	
	.footer-info {
		text-align: center;
		max-width: 100%;
	}
	
	.footer-links {
		justify-content: center;
	}
}

/* Hamburger animations on mobile toggle */
.menu-toggle.active .bar:nth-child(1) {
	transform: translateY(9px) rotate(45deg);
}

.menu-toggle.active .bar:nth-child(2) {
	opacity: 0;
}

.menu-toggle.active .bar:nth-child(3) {
	transform: translateY(-9px) rotate(-45deg);
}
