/*
Theme Name: Autorsoft
Theme URI: https://autorsoft.com
Author: Autorsoft
Author URI: https://autorsoft.com
Description: One WordPress theme for autorsoft.eu (Estonian), autorsoft.fi (Finnish) and autorsoft.com (English). Same design everywhere, texts come from translation files (et, fi, ru, en) and can be overridden in Customizer. Includes separate desktop/mobile settings, image handling (WebP, quality, alt text checks) and a cross-site language switcher. No external fonts or scripts.
Version: 1.6.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: autorsoft
Domain Path: /languages
Tags: business, custom-colors, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, two-columns, wide-blocks, block-styles
*/

/* ==========================================================================
   1. Design tokens (values marked "Customizer" are overridden from PHP)
   ========================================================================== */
:root {
	--as-primary: #0052b4;        /* Customizer */
	--as-primary-dark: #003f8c;
	--as-accent: #388efd;         /* Customizer */
	--as-ink: #1c232a;            /* Customizer */
	--as-bg: #ffffff;
	--as-surface: #f4f7fb;
	--as-text: #1c232a;
	--as-muted: #5b6673;
	--as-border: #dfe5ec;
	--as-link: var(--as-primary);
	--as-radius: 12px;            /* Customizer */
	--as-container: 1200px;       /* Customizer (desktop) */
	--as-fs-mobile: 16px;         /* Customizer */
	--as-fs-desktop: 17px;        /* Customizer */
	--as-cols: 3;                 /* Customizer (desktop grid columns) */
	--as-gap: 1.5rem;
	--as-header-h: 76px;
	--as-shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 8px 24px rgba(16, 24, 40, .06);
	--as-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
	color-scheme: light;
}

html[data-scheme="dark"] {
	--as-bg: #0f1419;
	--as-surface: #161d25;
	--as-text: #e8edf3;
	--as-muted: #9aa7b5;
	--as-border: #26313d;
	--as-link: #6cb0ff;
	--as-shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .35);
	color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
	html[data-scheme="auto"] {
		--as-bg: #0f1419;
		--as-surface: #161d25;
		--as-text: #e8edf3;
		--as-muted: #9aa7b5;
		--as-border: #26313d;
		--as-link: #6cb0ff;
		--as-shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .35);
		color-scheme: dark;
	}
}

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

html {
	font-size: var(--as-fs-mobile);
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--as-header-h) + 1rem);
}

@media (min-width: 1024px) {
	html { font-size: var(--as-fs-desktop); }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

body {
	margin: 0;
	background: var(--as-bg);
	color: var(--as-text);
	font-family: var(--as-font);
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

img, svg, video { max-width: 100%; height: auto; }
img { display: block; }
a { color: var(--as-link); text-underline-offset: .18em; }
a:hover { color: var(--as-accent); }

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 .6em;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -.015em;
	color: var(--as-text);
}
h1 { font-size: clamp(2rem, 1.4rem + 2.6vw, 3.1rem); }
h2 { font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.2rem); }
h3 { font-size: 1.3rem; }
h4 { font-size: 1.1rem; }
p { margin: 0 0 1.1em; }

:focus-visible { outline: 3px solid var(--as-accent); outline-offset: 2px; border-radius: 4px; }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute;
	width: 1px; word-wrap: normal !important;
}
.screen-reader-text:focus {
	background: var(--as-bg); border-radius: 6px; clip: auto !important; clip-path: none;
	color: var(--as-text); display: block; font-weight: 700; height: auto; left: 8px; padding: .8rem 1.2rem;
	top: 8px; width: auto; z-index: 100000; box-shadow: var(--as-shadow);
}

.container { width: 100%; max-width: var(--as-container); margin-inline: auto; padding-inline: 1.25rem; }
.container--narrow { max-width: 780px; }
.section { padding-block: clamp(3rem, 2rem + 4vw, 5.5rem); }
.section--surface { background: var(--as-surface); }
.section__head { max-width: 46rem; margin: 0 auto 2.5rem; text-align: center; }
.section__head p { color: var(--as-muted); font-size: 1.08rem; margin: 0; }
.eyebrow {
	display: inline-block; margin-bottom: .8rem; font-size: .8rem; font-weight: 700;
	letter-spacing: .12em; text-transform: uppercase; color: var(--as-link);
}

/* ==========================================================================
   3. Buttons & forms
   ========================================================================== */
.btn {
	display: inline-flex; align-items: center; gap: .55rem; padding: .8rem 1.5rem;
	border: 2px solid transparent; border-radius: 999px; background: var(--as-primary); color: #fff;
	font: inherit; font-weight: 700; line-height: 1.2; text-decoration: none; cursor: pointer;
	transition: background .18s, color .18s, border-color .18s, transform .18s;
}
.btn:hover { background: var(--as-primary-dark); color: #fff; transform: translateY(-1px); }
.btn--accent { background: var(--as-accent); color: #0a1626; }
.btn--accent:hover { background: #fff; color: var(--as-primary-dark); }
.btn--ghost { background: transparent; border-color: currentColor; color: inherit; }
.btn--ghost:hover { background: rgba(255, 255, 255, .12); color: inherit; }
.btn--sm { padding: .55rem 1.1rem; font-size: .92rem; }
.btn svg { width: 1.1em; height: 1.1em; }

input[type="text"], input[type="email"], input[type="url"], input[type="password"],
input[type="search"], input[type="tel"], input[type="number"], textarea, select {
	width: 100%; padding: .75rem 1rem; border: 1px solid var(--as-border); border-radius: calc(var(--as-radius) - 2px);
	background: var(--as-bg); color: var(--as-text); font: inherit;
}
input:focus, textarea:focus, select:focus { border-color: var(--as-accent); outline: 3px solid color-mix(in srgb, var(--as-accent) 35%, transparent); outline-offset: 0; }
label { font-weight: 600; }
input[type="submit"], button[type="submit"], .wp-block-button__link {
	padding: .8rem 1.5rem; border: 0; border-radius: 999px; background: var(--as-primary); color: #fff; font: inherit; font-weight: 700; cursor: pointer;
}
input[type="submit"]:hover, button[type="submit"]:hover, .wp-block-button__link:hover { background: var(--as-primary-dark); color: #fff; }

.search-form { display: flex; gap: .5rem; max-width: 30rem; }
.search-form label { flex: 1; }

/* ==========================================================================
   4. Header, navigation, language switcher
   ========================================================================== */
.site-header {
	position: relative; z-index: 50; background: var(--as-bg);
	border-bottom: 1px solid var(--as-border); min-height: var(--as-header-h);
}
.site-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; min-height: var(--as-header-h); }
.site-branding a { display: inline-flex; align-items: center; text-decoration: none; }
.site-branding img, .custom-logo { width: auto; max-height: 56px; }
.site-title { font-size: 1.35rem; font-weight: 800; margin: 0; }
.site-title a { color: var(--as-text); }
/* Bundled logo has a light and a dark variant; an uploaded logo gets a white plate on dark pages. */
.logo-img--dark { display: none; }
html[data-scheme="dark"] .logo-img--light { display: none; }
html[data-scheme="dark"] .logo-img--dark { display: block; }
html[data-scheme="dark"] .site-branding .custom-logo { background: #fff; border-radius: 8px; padding: 4px 8px; }
@media (prefers-color-scheme: dark) {
	html[data-scheme="auto"] .logo-img--light { display: none; }
	html[data-scheme="auto"] .logo-img--dark { display: block; }
	html[data-scheme="auto"] .site-branding .custom-logo { background: #fff; border-radius: 8px; padding: 4px 8px; }
}

.site-branding { flex: none; }
.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 1rem; min-width: 0; }
.header-cta { display: none; white-space: nowrap; }

.scheme-toggle {
	flex: none; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0;
	border: 1px solid var(--as-border); border-radius: 50%; background: var(--as-surface); color: var(--as-text); cursor: pointer;
	transition: border-color .18s, background .18s;
}
.scheme-toggle:hover { border-color: var(--as-accent); }
.scheme-toggle svg { width: 20px; height: 20px; }
.scheme-toggle .icon-sun { display: none; }                 /* light page: show the moon */
html[data-scheme="dark"] .scheme-toggle .icon-sun { display: block; }   /* dark page: show the sun */
html[data-scheme="dark"] .scheme-toggle .icon-moon { display: none; }
@media (prefers-color-scheme: dark) {
	html[data-scheme="auto"] .scheme-toggle .icon-sun { display: block; }
	html[data-scheme="auto"] .scheme-toggle .icon-moon { display: none; }
}

.nav-toggle {
	flex: none; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px;
	padding: 0; border: 1px solid var(--as-border); border-radius: 10px; background: transparent; color: var(--as-text); cursor: pointer;
}
.nav-toggle svg { width: 24px; height: 24px; }
.nav-toggle .icon-close, .nav-open .nav-toggle .icon-menu { display: none; }
.nav-open .nav-toggle .icon-close { display: block; }

.primary-nav {
	display: none; position: absolute; inset: 100% 0 auto 0; padding: .5rem 1.25rem 1.25rem;
	background: var(--as-bg); border-bottom: 1px solid var(--as-border); box-shadow: var(--as-shadow);
	max-height: calc(100vh - var(--as-header-h)); overflow-y: auto;
}
.nav-open .primary-nav { display: block; }
.primary-nav ul { margin: 0; padding: 0; list-style: none; }
.primary-nav a {
	display: block; padding: .8rem .25rem; color: var(--as-text); font-weight: 600; text-decoration: none;
	border-bottom: 1px solid var(--as-border);
}
.primary-nav a:hover, .primary-nav .current-menu-item > a, .primary-nav .current-menu-ancestor > a, .primary-nav .current_page_item > a { color: var(--as-link); }
.primary-nav .sub-menu { padding-left: 1rem; }
.primary-nav .sub-menu a { font-weight: 500; }
.primary-nav .lang-switcher--mobile { display: flex; width: max-content; margin-top: 1rem; }
.primary-nav a.header-cta--mobile { display: flex; justify-content: center; margin-top: 1rem; padding: .8rem 1.5rem; border: 2px solid transparent; color: #fff; }
.primary-nav a.header-cta--mobile:hover { color: #fff; }

.lang-switcher { display: inline-flex; gap: 2px; padding: 3px; border: 1px solid var(--as-border); border-radius: 999px; background: var(--as-surface); }
.lang-switcher a, .lang-switcher span {
	display: inline-block; padding: .25rem .65rem; border-radius: 999px; font-size: .78rem; font-weight: 700;
	letter-spacing: .05em; color: var(--as-muted); text-decoration: none; border-bottom: 0;
}
.lang-switcher a:hover { color: var(--as-text); }
.lang-switcher [aria-current="true"] { background: var(--as-primary); color: #fff; }
.lang-switcher--desktop { display: none; }

@media (min-width: 1024px) {
	.nav-toggle, .primary-nav .lang-switcher--mobile, .primary-nav a.header-cta--mobile { display: none; }
	.lang-switcher--desktop { display: inline-flex; }

	.primary-nav { display: block; position: static; padding: 0; border: 0; box-shadow: none; background: transparent; max-height: none; overflow: visible; }
	.header-actions { flex: 1 1 auto; }
	.scheme-toggle { width: 40px; height: 40px; }
	.primary-nav { min-width: 0; }
	/* Many menu items? They wrap onto a second row instead of running off the screen. */
	.primary-nav > ul { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .1rem; }
	.primary-nav a { padding: .5rem .7rem; border: 0; border-radius: 8px; font-size: .95rem; line-height: 1.3; }
	.primary-nav a:hover { background: var(--as-surface); }
	.primary-nav li { position: relative; }
	.primary-nav .menu-item-has-children > a::after {
		content: ""; display: inline-block; width: .4em; height: .4em; margin-left: .45em; vertical-align: .15em;
		border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg);
	}
	.primary-nav .sub-menu {
		position: absolute; top: 100%; left: 0; min-width: 14rem; padding: .5rem; margin-top: .25rem;
		background: var(--as-bg); border: 1px solid var(--as-border); border-radius: var(--as-radius); box-shadow: var(--as-shadow);
		opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .15s, transform .15s, visibility .15s;
	}
	.primary-nav li:hover > .sub-menu, .primary-nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
	.primary-nav .sub-menu a { padding: .55rem .8rem; font-weight: 500; }

	/* Desktop setting: sticky header */
	.has-sticky-header .site-header { position: sticky; top: 0; transition: box-shadow .2s; }
	.has-sticky-header .site-header.is-scrolled { box-shadow: var(--as-shadow); }
	body.admin-bar.has-sticky-header .site-header { top: 32px; }

	/* Desktop setting: centered header */
	.header-layout-center .site-header__inner { flex-wrap: wrap; justify-content: center; padding-block: 1rem; }
	.header-layout-center .site-branding { flex-basis: 100%; display: flex; justify-content: center; }
	.header-layout-center .header-actions { gap: 1.5rem; }
}

@media (min-width: 1280px) {
	.header-cta { display: inline-flex; }
}

/* Images inside menu items (e.g. old flag icons) stay small and inline. */
.primary-nav a img { display: inline-block; width: auto; height: 1.15em; vertical-align: middle; }

/* ==========================================================================
   5. Hero
   ========================================================================== */
.hero {
	position: relative; overflow: hidden; color: #fff;
	background:
		radial-gradient(60rem 30rem at 85% -10%, rgba(56, 142, 253, .35), transparent 60%),
		linear-gradient(135deg, #131a21 0%, var(--as-ink) 45%, #0c2247 100%);
}
.hero::before {
	content: ""; position: absolute; inset: auto -5% 0 -5%; height: 34%; opacity: .5; pointer-events: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 300' preserveAspectRatio='none'%3E%3Cpath d='M0 230C180 120 360 70 560 95c150 18 260 70 420 95 90 14 170 12 220 0' fill='none' stroke='%23388efd' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M0 260C220 170 420 130 620 150c170 17 300 70 580 85' fill='none' stroke='%23ffffff' stroke-opacity='.35' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
.hero__inner { position: relative; display: grid; gap: 2.5rem; align-items: center; padding-block: clamp(3.5rem, 2rem + 6vw, 7rem); }
.hero h1 { color: #fff; max-width: 18ch; }
.hero .eyebrow { color: var(--as-accent); }
.hero__lead { max-width: 40rem; margin-bottom: 2rem; color: rgba(255, 255, 255, .82); font-size: 1.15rem; }
.hero__actions { display: flex; flex-wrap: wrap; gap: .8rem; }
.hero__media { border-radius: calc(var(--as-radius) * 1.5); overflow: hidden; box-shadow: 0 30px 60px rgba(0, 0, 0, .4); border: 1px solid rgba(255, 255, 255, .15); }
.hero__media img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
@media (min-width: 1024px) {
	.hero__inner--has-media { grid-template-columns: 1.1fr .9fr; }
}

/* ==========================================================================
   6. Feature cards, CTA band, post cards
   ========================================================================== */
.features { display: grid; gap: var(--as-gap); grid-template-columns: 1fr; }
@media (min-width: 640px) { .features { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .features { grid-template-columns: repeat(3, 1fr); } }

.feature {
	padding: 1.75rem; background: var(--as-bg); border: 1px solid var(--as-border); border-radius: var(--as-radius);
	transition: transform .2s, box-shadow .2s, border-color .2s;
}
.feature:hover { transform: translateY(-3px); box-shadow: var(--as-shadow); border-color: color-mix(in srgb, var(--as-accent) 55%, var(--as-border)); }
.feature__icon {
	display: grid; place-items: center; width: 3rem; height: 3rem; margin-bottom: 1.1rem;
	border-radius: 12px; background: color-mix(in srgb, var(--as-accent) 16%, transparent); color: var(--as-link);
}
.feature__icon svg { width: 1.6rem; height: 1.6rem; }
.feature h3 { margin-bottom: .4rem; }
.feature p { margin: 0; color: var(--as-muted); }

.cta-band {
	position: relative; overflow: hidden; padding: clamp(2rem, 1rem + 4vw, 4rem); border-radius: calc(var(--as-radius) * 1.7);
	background: linear-gradient(120deg, var(--as-primary-dark), var(--as-primary) 60%, var(--as-accent)); color: #fff;
	display: grid; gap: 1.5rem; align-items: center; text-align: center;
}
.cta-band h2 { color: #fff; margin-bottom: .3rem; }
.cta-band p { margin: 0; color: rgba(255, 255, 255, .88); font-size: 1.1rem; }
@media (min-width: 900px) { .cta-band { grid-template-columns: 1fr auto; text-align: left; } }

.posts-grid { display: grid; gap: var(--as-gap); grid-template-columns: 1fr; }
@media (min-width: 640px) { .posts-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .posts-grid { grid-template-columns: repeat(var(--as-cols), 1fr); } }

.card { display: flex; flex-direction: column; overflow: hidden; background: var(--as-bg); border: 1px solid var(--as-border); border-radius: var(--as-radius); transition: transform .2s, box-shadow .2s; }
.card:hover { transform: translateY(-3px); box-shadow: var(--as-shadow); }
.card__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--as-surface); }
.card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.card:hover .card__media img { transform: scale(1.04); }
.card__placeholder {
	display: block; width: 100%; height: 100%;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 200' preserveAspectRatio='none'%3E%3Cpath d='M0 150C60 100 120 70 190 82c50 9 90 35 130 45' fill='none' stroke='%230052b4' stroke-width='3' stroke-linecap='round'/%3E%3Cpath d='M0 172C70 132 140 112 210 122c40 6 70 20 110 34' fill='none' stroke='%23388efd' stroke-opacity='.6' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / cover no-repeat,
		linear-gradient(135deg, var(--as-surface), color-mix(in srgb, var(--as-accent) 14%, var(--as-surface)));
}
.card__body { display: flex; flex-direction: column; flex: 1; padding: 1.25rem 1.4rem 1.5rem; }
.card__meta { margin-bottom: .5rem; font-size: .82rem; color: var(--as-muted); }
.card__title { font-size: 1.2rem; margin-bottom: .5rem; }
.card__title a { color: var(--as-text); text-decoration: none; }
.card__title a:hover { color: var(--as-link); }
.card__excerpt { color: var(--as-muted); font-size: .96rem; }
.card__more { margin-top: auto; font-weight: 700; text-decoration: none; }
.card__more svg { display: inline; width: 1em; height: 1em; vertical-align: -.12em; transition: transform .2s; }
.card__more:hover svg { transform: translateX(3px); }

.section__foot { margin-top: 2.5rem; text-align: center; }

/* ==========================================================================
   7. Pages, posts, archives
   ========================================================================== */
.page-header { padding-block: clamp(2.5rem, 1.5rem + 4vw, 4.5rem); background: var(--as-surface); border-bottom: 1px solid var(--as-border); }
.page-header h1 { margin: 0; }
.page-header p { margin: .8rem 0 0; color: var(--as-muted); max-width: 44rem; }
.breadcrumb-meta { display: flex; flex-wrap: wrap; gap: .4rem 1rem; margin-top: .9rem; font-size: .9rem; color: var(--as-muted); }
.page-body { padding-block: clamp(2rem, 1rem + 3vw, 4rem); }

.entry-content > * { max-width: 780px; margin-inline: auto; }
.entry-content > .alignwide { max-width: var(--as-container); }
.entry-content > .alignfull { max-width: none; width: 100vw; margin-left: calc(50% - 50vw); }
.entry-content h2, .entry-content h3 { margin-top: 2em; }
.entry-content img { border-radius: var(--as-radius); }
.entry-content ul, .entry-content ol { padding-left: 1.4em; }
.entry-content blockquote { margin-inline: auto; padding: .4rem 0 .4rem 1.4rem; border-left: 4px solid var(--as-accent); color: var(--as-muted); font-size: 1.1rem; }
.entry-content table { width: 100%; border-collapse: collapse; }
.entry-content th, .entry-content td { padding: .7rem; border: 1px solid var(--as-border); text-align: left; }
.entry-content pre { overflow-x: auto; padding: 1rem; border-radius: var(--as-radius); background: var(--as-ink); color: #e8edf3; }
.entry-content code { font-size: .92em; }

/* Price list: price headings + their lists shown as side-by-side cards (see inc/content.php) */
.entry-content > .price-plans { max-width: var(--as-container); display: grid; grid-template-columns: 1fr; gap: var(--as-gap); margin-block: 2rem; align-items: stretch; }
.price-plan { min-width: 0; padding: 1.6rem 1.5rem 1.4rem; background: var(--as-surface); border: 1px solid var(--as-border); border-radius: var(--as-radius); box-shadow: var(--as-shadow); }
.price-plan > * { max-width: none; margin-inline: 0; }
.price-plan h2 { margin: 0; font-size: clamp(2rem, 4vw, 2.6rem); line-height: 1.1; color: var(--as-accent); }
.price-plan h3 { margin: .25rem 0 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--as-border); font-size: 1.25rem; }
.price-plan p { margin: 0 0 .9rem; overflow-wrap: anywhere; }
.price-plan p img { display: inline-block; width: 1.1em; height: 1.1em; margin: 0 .35em 0 0; vertical-align: -.2em; border-radius: 0; }
@media (min-width: 900px) {
	.entry-content > .price-plans { grid-template-columns: repeat(var(--plans, 3), minmax(0, 1fr)); }
}
.entry-thumb { max-width: var(--as-container); margin: 0 auto 2.5rem; }
.entry-thumb img { width: 100%; border-radius: calc(var(--as-radius) * 1.4); aspect-ratio: 21 / 9; object-fit: cover; }
.wp-caption, figcaption, .wp-element-caption { font-size: .88rem; color: var(--as-muted); text-align: center; }
.alignleft { float: left; margin: .3rem 1.5rem 1rem 0; }
.alignright { float: right; margin: .3rem 0 1rem 1.5rem; }
.aligncenter { margin-inline: auto; }
.entry-footer { max-width: 780px; margin: 2.5rem auto 0; padding-top: 1.25rem; border-top: 1px solid var(--as-border); color: var(--as-muted); font-size: .92rem; }
.tag-list a { display: inline-block; margin: 0 .35rem .35rem 0; padding: .2rem .7rem; border-radius: 999px; background: var(--as-surface); color: var(--as-muted); text-decoration: none; font-size: .85rem; }

.pagination, .post-navigation .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-top: 3rem; }
.pagination .page-numbers, .post-navigation a {
	min-width: 2.6rem; padding: .55rem .9rem; border: 1px solid var(--as-border); border-radius: 10px; color: var(--as-text); text-align: center; text-decoration: none; font-weight: 600;
}
.pagination .page-numbers.current, .pagination .page-numbers:hover, .post-navigation a:hover { background: var(--as-primary); border-color: var(--as-primary); color: #fff; }
.post-navigation .nav-links { justify-content: space-between; max-width: 780px; margin-inline: auto; }

.not-found { padding-block: 5rem; text-align: center; }
.not-found__code { font-size: clamp(5rem, 3rem + 10vw, 9rem); font-weight: 900; line-height: 1; color: var(--as-accent); margin: 0; }
.not-found .search-form { margin: 2rem auto; }

.comments-area { max-width: 780px; margin: 3.5rem auto 0; }
.comment-list { padding: 0; list-style: none; }
.comment-list .children { list-style: none; padding-left: 1.5rem; }
.comment-body { margin-bottom: 1.25rem; padding: 1.1rem 1.25rem; border: 1px solid var(--as-border); border-radius: var(--as-radius); }
.comment-meta { font-size: .88rem; color: var(--as-muted); }
.comment-author .avatar { display: inline-block; vertical-align: middle; margin-right: .6rem; border-radius: 50%; }

/* ==========================================================================
   8. Footer
   ========================================================================== */
.site-footer { background: var(--as-ink); color: rgba(255, 255, 255, .78); }
html[data-scheme="dark"] .site-footer { background: #0a0f14; }
.site-footer a { color: #fff; text-decoration: none; }
.site-footer a:hover { color: var(--as-accent); text-decoration: underline; }
.footer-grid { display: grid; gap: 2.5rem; padding-block: 3.5rem 2.5rem; grid-template-columns: 1fr; }
@media (min-width: 768px) { .footer-grid { grid-template-columns: 1.4fr 1fr 1.2fr; } }
.footer-brand img { max-height: 50px; width: auto; margin-bottom: 1rem; }
.footer-brand .custom-logo { background: #fff; border-radius: 8px; padding: 5px 10px; }
.footer-brand p { max-width: 26rem; }
.site-footer h2 { margin-bottom: 1rem; color: #fff; font-size: 1rem; text-transform: uppercase; letter-spacing: .1em; }
.footer-menu, .footer-contact { margin: 0; padding: 0; list-style: none; }
.footer-menu li { margin-bottom: .55rem; }
/* Old flag-image menu items (no text) are not shown in the footer. */
.footer-menu li:has(> a > img) { display: none; }
.footer-contact li { display: flex; gap: .7rem; margin-bottom: .75rem; }
.footer-contact svg { flex: none; width: 1.15rem; height: 1.15rem; margin-top: .3rem; color: var(--as-accent); }
.social-links { display: flex; gap: .6rem; margin-top: 1.25rem; padding: 0; list-style: none; }
.social-links a {
	display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border: 1px solid rgba(255, 255, 255, .25); border-radius: 50%;
}
.social-links a:hover { background: var(--as-accent); border-color: var(--as-accent); color: #0a1626; text-decoration: none; }
.social-links svg { width: 1.15rem; height: 1.15rem; }
.footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 1.5rem; border-top: 1px solid rgba(255, 255, 255, .14); font-size: .9rem; }
.site-footer .lang-switcher { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .2); }
.site-footer .lang-switcher a { color: rgba(255, 255, 255, .7); }
.site-footer .lang-switcher a:hover { color: #fff; text-decoration: none; }

/* ==========================================================================
   9. Print
   ========================================================================== */
@media print {
	.site-header, .site-footer, .hero::before, .nav-toggle, .cta-band { display: none !important; }
	body { color: #000; background: #fff; }
}
