/* =========================================================================
 * Aviabiletebi.it — main.css  (PREMIUM REDESIGN — Italy 🇮🇹)
 * Green-dominant + gold accents + red CTA · gradients · premium · animations
 * mobile-first · CSS custom properties · Flexbox/Grid · framework-ის გარეშე
 *
 * 1. Tokens         5. Buttons/icons   9. Footer         13. Homepage
 * 2. Reset/base     6. Header/nav     10. Quick-contact  14. Archive/single
 * 3. Typography     7. Drawer         11. Utilities      15. Blog/search/404
 * 4. Layout         8. Search         12. Components      16. Animations
 * ===================================================================== */

/* -------------------------------------------------------------------------
 * 0. FONTS — თვით-ჰოსტინგი (Google Fonts-ის გარეშე)
 *    სათაურები: BPG Nino Mtavruli (self-hosted) · ტექსტი: Sylfaen (სისტემური)
 * ---------------------------------------------------------------------- */
@font-face {
	font-family: "BPG Nino Mtavruli";
	src: url("../fonts/bpg_nino_mtavruli_normal.ttf") format("truetype");
	font-weight: 400;
	font-style: normal;
	/* ვერტიკალური ცენტრირება — Mtavruli კაპები ხაზში მაღლა იდგა (descent დიდი იყო). */
	ascent-override: 89.3%;
	descent-override: 10.7%;
	line-gap-override: 0%;
	unicode-range: U+10A0-10FF, U+1C90-1CBF, U+2D00-2D2F; /* მხოლოდ ქართული — ლათინური/ციფრები Sylfaen-ზე გადადის */
	font-display: swap;
}
@font-face {
	font-family: "BPG Nino Mtavruli";
	src: url("../fonts/bpg_nino_mtavruli_bold.ttf") format("truetype");
	font-weight: 700;
	font-style: normal;
	/* ვერტიკალური ცენტრირება — იხ. normal-ის კომენტარი. */
	ascent-override: 89.3%;
	descent-override: 10.7%;
	line-gap-override: 0%;
	unicode-range: U+10A0-10FF, U+1C90-1CBF, U+2D00-2D2F; /* მხოლოდ ქართული — ლათინური/ციფრები Sylfaen-ზე გადადის */
	font-display: swap;
}

/* -------------------------------------------------------------------------
 * 1. TOKENS
 * ---------------------------------------------------------------------- */
:root {
	/* ფერები — იტალიის დროშა: მწვანე-დომინანტი + ოქრო, წითელი CTA */
	--color-brand:       #008C45;  /* იტალიის მწვანე — ბრენდი, ლინკები */
	--color-brand-dark:  #00703A;
	--color-brand-deep:  #044D2C;  /* მუქი მწვანე — fon/footer */
	--color-accent:      #CD212A;  /* იტალიის წითელი — CTA/კონტაქტი */
	--color-accent-dark: #A81822;
	--color-gold:        #C8A24B;  /* პრემიუმ ოქრო — აქცენტი */
	--color-gold-dark:   #A9863A;

	--color-ink:         #0E2A1D;  /* ღრმა მწვანე-ნაცრისფერი ტექსტი/სათაური */
	--color-text:        #1F2A24;
	--color-text-muted:  #5D6B62;
	--color-bg:          #FFFFFF;
	--color-surface:     #F4FAF6;  /* ღია მწვანე-ტონის ზედაპირი */
	--color-green-soft:  #E7F4EC;
	--color-cream:       #FBF7EC;  /* თბილი კრემისფერი */
	--color-border:      #E1ECE5;

	--color-success:     #16A34A;
	--color-warning:     #F59E0B;
	--color-danger:      #DC2626;

	/* გრადიენტები */
	--grad-brand:     linear-gradient(135deg, #00A451 0%, #007A3D 100%);
	--grad-cta:       linear-gradient(135deg, #E0303A 0%, #B5161F 100%);
	--grad-gold:      linear-gradient(135deg, #DCBA6A 0%, #B5882F 100%);
	--grad-hero:      linear-gradient(150deg, #033D24 0%, #00703A 50%, #008C45 100%);
	--grad-footer:    linear-gradient(180deg, #07623A 0%, #032E1C 100%);
	--grad-tricolore: linear-gradient(90deg, #008C45 0 33.333%, #FFFFFF 33.333% 66.666%, #CD212A 66.666% 100%);

	/* ტიპოგრაფია — სათაურები Mtavruli (ქართული) + Sylfaen (ლათინური/ციფრები), ტექსტი Sylfaen */
	--font-head: "BPG Nino Mtavruli", "Sylfaen", system-ui, sans-serif;
	--font-body: "Sylfaen", system-ui, -apple-system, sans-serif;
	--fw-body: 400;
	--fw-bold: 700;

	/* Spacing (4px base — ოდნავ უფრო ჰაეროვანი პრემიუმისთვის) */
	--space-1: 0.25rem; --space-2: 0.5rem;  --space-3: 0.75rem; --space-4: 1rem;
	--space-5: 1.25rem; --space-6: 1.5rem;  --space-7: 2rem;    --space-8: 2.5rem;
	--space-9: 3.5rem;

	--container-max: 1360px;
	--container-pad: var(--space-4);

	--radius-sm: 8px; --radius-md: 14px; --radius-lg: 20px; --radius-pill: 999px;

	/* პრემიუმ ჩრდილები (მწვანე-ტონის) */
	--shadow-sm:   0 1px 2px rgba(4,77,44,.06);
	--shadow-md:   0 6px 22px rgba(4,77,44,.10);
	--shadow-lg:   0 18px 44px rgba(4,77,44,.16);
	--shadow-gold: 0 10px 28px rgba(181,136,47,.30);

	--z-header: 100; --z-bottombar: 200; --z-floating: 200;
	--z-backdrop: 900; --z-drawer: 1000;

	--header-height: 60px;
	--transition: 200ms cubic-bezier(.4,0,.2,1);
}

@media (min-width: 900px) {
	:root { --container-pad: var(--space-6); --header-height: 72px; }
}

/* -------------------------------------------------------------------------
 * 2. RESET / BASE
 * ---------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 1rem); overflow-x: hidden; }

body {
	margin: 0;
	font-family: var(--font-body);
	font-weight: var(--fw-body);
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--color-text);
	background: var(--color-bg);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}
@media (min-width: 900px) { body { font-size: 1rem; } }
@media (max-width: 899.98px) { body { padding-bottom: calc(56px + env(safe-area-inset-bottom)); } }

img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: var(--color-brand); text-decoration: none; transition: color var(--transition); }
a:hover { color: var(--color-brand-dark); }
ul, ol { margin: 0; padding: 0; }
button { font: inherit; cursor: pointer; }
::selection { background: var(--color-brand); color: #fff; }

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

/* tricolore hairline utility */
.tricolore { height: 4px; background: var(--grad-tricolore); border-radius: 2px; }

/* -------------------------------------------------------------------------
 * 3. TYPOGRAPHY
 * ---------------------------------------------------------------------- */
h1, h2, h3, h4 { font-family: var(--font-head); font-weight: var(--fw-bold); line-height: 1.18; margin: 0 0 var(--space-3); color: var(--color-ink); letter-spacing: -0.01em; }
h1 { font-size: 1.65rem; }
h2 { font-size: 1.3rem; }
h3 { font-size: 1.0625rem; }
p { margin: 0 0 var(--space-4); }
strong, b { font-weight: var(--fw-bold); }
small, .meta { font-size: 0.8125rem; color: var(--color-text-muted); }
@media (min-width: 900px) {
	h1 { font-size: 2.25rem; }
	h2 { font-size: 1.6rem; }
	h3 { font-size: 1.25rem; }
}

/* -------------------------------------------------------------------------
 * 4. LAYOUT
 * ---------------------------------------------------------------------- */
.container { width: 100%; max-width: var(--container-max); margin-inline: auto; padding-inline: var(--container-pad); }
.section { padding-block: var(--space-7); }
@media (min-width: 900px) { .section { padding-block: var(--space-9); } }
.site-main { min-height: 50vh; }

/* -------------------------------------------------------------------------
 * 5. BUTTONS / ICONS
 * ---------------------------------------------------------------------- */
.icon { width: 1.25em; height: 1.25em; flex: none; vertical-align: -.125em; }

.btn {
	display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
	min-height: 46px; padding: var(--space-2) var(--space-5);
	font-family: var(--font-head); font-weight: var(--fw-bold); font-size: 0.9375rem; line-height: 1.1;
	border: 2px solid transparent; border-radius: var(--radius-pill);
	background-size: 160% auto; background-position: left center;
	transition: transform var(--transition), box-shadow var(--transition), background-position var(--transition), color var(--transition), border-color var(--transition);
}
.btn:hover { text-decoration: none; }
.btn .icon { width: 1.1em; height: 1.1em; }

.btn--primary { background-image: var(--grad-cta); color: #fff; box-shadow: 0 8px 22px rgba(205,33,42,.28); }
.btn--primary:hover { transform: translateY(-2px); background-position: right center; box-shadow: 0 14px 30px rgba(205,33,42,.36); color: #fff; }

.btn--brand { background-image: var(--grad-brand); color: #fff; box-shadow: 0 8px 22px rgba(0,140,69,.26); }
.btn--brand:hover { transform: translateY(-2px); background-position: right center; box-shadow: 0 14px 30px rgba(0,140,69,.34); color: #fff; }

.btn--gold { background-image: var(--grad-gold); color: #2a200a; box-shadow: var(--shadow-gold); }
.btn--gold:hover { transform: translateY(-2px); background-position: right center; color: #2a200a; }

.btn--ghost { background: transparent; color: var(--color-brand-dark); border-color: var(--color-brand-dark); }
.btn--ghost:hover { background: var(--color-brand); color: #fff; transform: translateY(-2px); }

.btn--block { width: 100%; }

/* -------------------------------------------------------------------------
 * 6. HEADER / NAV
 * ---------------------------------------------------------------------- */
.site-header {
	position: sticky; top: 0; z-index: var(--z-header);
	background: rgba(255,255,255,.92);
	-webkit-backdrop-filter: saturate(160%) blur(10px); backdrop-filter: saturate(160%) blur(10px);
	border-bottom: 1px solid var(--color-border);
	transition: box-shadow var(--transition), background var(--transition);
}
.site-header::before { content: ""; display: block; height: 3px; background: var(--grad-tricolore); }
.site-header.is-scrolled { box-shadow: var(--shadow-md); background: rgba(255,255,255,.97); }

.site-header__inner { display: flex; align-items: center; gap: var(--space-3); min-height: var(--header-height); }

.site-brand { font-family: var(--font-head); font-weight: var(--fw-bold); font-size: 1.15rem; color: var(--color-ink); white-space: nowrap; margin-right: auto; letter-spacing: -0.02em; }
.site-brand:hover { color: var(--color-ink); }
.site-brand__suffix { background: var(--grad-gold); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.site-brand img { max-height: 42px; width: auto; }

.primary-nav { display: none; }
@media (min-width: 900px) {
	.primary-nav { display: block; margin-right: var(--space-4); }
	.primary-nav ul { display: flex; align-items: center; gap: var(--space-5); list-style: none; }
	.primary-nav a { position: relative; font-family: var(--font-head); font-weight: var(--fw-bold); font-size: 0.9375rem; color: var(--color-ink); padding-block: var(--space-3); }
	.primary-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 8px; height: 2px; background: var(--grad-gold); border-radius: 2px; transition: right var(--transition); }
	.primary-nav a:hover, .primary-nav .current-menu-item > a { color: var(--color-brand); }
	.primary-nav a:hover::after, .primary-nav .current-menu-item > a::after { right: 0; }
}

.header-actions { display: flex; align-items: center; gap: var(--space-1); }
.icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; background: transparent; border: 0; border-radius: var(--radius-md); color: var(--color-ink); transition: background var(--transition), color var(--transition); }
.icon-btn:hover { background: var(--color-green-soft); color: var(--color-brand); }
.icon-btn--whatsapp { color: #1FA855; }
.header-wa { display: none; }
@media (min-width: 600px) { .header-wa { display: inline-flex; } }

.nav-toggle { position: relative; }
@media (min-width: 900px) { .nav-toggle { display: none; } }
.nav-toggle__bars, .nav-toggle__bars::before, .nav-toggle__bars::after { content: ""; display: block; width: 22px; height: 2px; background: currentColor; border-radius: 2px; transition: transform 220ms ease, opacity 220ms ease; }
.nav-toggle__bars { position: relative; }
.nav-toggle__bars::before { position: absolute; top: -7px; }
.nav-toggle__bars::after { position: absolute; top: 7px; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars { background: transparent; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::before { top: 0; transform: rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::after { top: 0; transform: rotate(-45deg); }

/* -------------------------------------------------------------------------
 * 7. BURGER DRAWER (<900px)
 * ---------------------------------------------------------------------- */
.nav-backdrop { position: fixed; inset: 0; background: rgba(3,46,28,.55); opacity: 0; visibility: hidden; transition: opacity .26s ease, visibility .26s ease; z-index: var(--z-backdrop); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
.nav-backdrop.is-open { opacity: 1; visibility: visible; }

.nav-drawer { position: fixed; inset: 0 0 0 auto; width: min(88vw, 400px); background: linear-gradient(180deg, var(--color-surface) 0%, var(--color-bg) 26%); transform: translateX(100%); transition: transform .28s cubic-bezier(.4,0,.2,1); z-index: var(--z-drawer); display: flex; flex-direction: column; overflow-y: auto; padding: var(--space-5); gap: var(--space-5); box-shadow: -20px 0 50px rgba(3,46,28,.18); }
.nav-drawer::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--grad-tricolore); }
.nav-drawer.is-open { transform: translateX(0); }
@media (min-width: 900px) { .nav-drawer, .nav-backdrop { display: none; } }

.nav-drawer__head { display: flex; align-items: center; justify-content: space-between; padding-bottom: var(--space-4); border-bottom: 1px solid var(--color-border); }
.nav-drawer__head .footer-brand__name { color: var(--color-ink); }
.nav-drawer__close { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 0; background: var(--color-green-soft); color: var(--color-brand-dark); border-radius: var(--radius-md); transition: background var(--transition), color var(--transition), transform var(--transition); }
.nav-drawer__close:hover { background-image: var(--grad-cta); color: #fff; transform: rotate(90deg); }
.nav-drawer__close .icon { width: 1.3em; height: 1.3em; }

.nav-drawer__menu { list-style: none; display: flex; flex-direction: column; }
.nav-drawer__menu a { display: flex; align-items: center; justify-content: space-between; font-family: var(--font-head); font-weight: var(--fw-bold); font-size: 1.125rem; color: var(--color-ink); padding: var(--space-3) var(--space-2); border-radius: var(--radius-md); transition: color var(--transition), background var(--transition), padding-left var(--transition); }
.nav-drawer__menu a::after { content: "›"; color: var(--color-gold-dark); font-size: 1.4em; line-height: 1; transition: transform var(--transition); }
.nav-drawer__menu a:hover, .nav-drawer__menu .current-menu-item > a { color: var(--color-brand); background: var(--color-green-soft); padding-left: var(--space-3); }
.nav-drawer__menu a:hover::after { transform: translateX(5px); }

.nav-drawer__section { padding-top: var(--space-4); border-top: 1px solid var(--color-border); }
.nav-drawer__label { font-family: var(--font-head); font-weight: var(--fw-bold); font-size: 0.72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--color-text-muted); margin: 0 0 var(--space-3); }
.nav-drawer__contact { display: flex; flex-direction: column; gap: var(--space-2); }
.nav-drawer__social { display: flex; gap: var(--space-3); flex-wrap: wrap; padding-top: var(--space-4); border-top: 1px solid var(--color-border); }
.nav-drawer__social a { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; background: var(--color-green-soft); color: var(--color-brand-dark); border-radius: var(--radius-md); transition: background var(--transition), color var(--transition), transform var(--transition); }
.nav-drawer__social a:hover { background-image: var(--grad-brand); color: #fff; transform: translateY(-2px); }
.nav-drawer__social .icon { width: 1.4em; height: 1.4em; }

/* -------------------------------------------------------------------------
 * 8. SEARCH
 * ---------------------------------------------------------------------- */
.search-bar { display: none; border-top: 1px solid var(--color-border); background: var(--color-surface); }
.search-bar.is-open { display: block; }
.search-form { display: flex; gap: var(--space-2); padding-block: var(--space-3); }
.search-form input[type="search"] { flex: 1; min-height: 46px; padding: 0 var(--space-4); font: inherit; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-bg); transition: border-color var(--transition), box-shadow var(--transition); }
.search-form input[type="search"]:focus-visible { outline: none; border-color: var(--color-brand); box-shadow: 0 0 0 3px rgba(0,140,69,.15); }

/* -------------------------------------------------------------------------
 * 9. FOOTER
 * ---------------------------------------------------------------------- */
.site-footer { position: relative; background: var(--grad-footer); color: #EAF3EC; margin-top: var(--space-9); padding-block: var(--space-8); }
.site-footer::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--grad-tricolore); }
.site-footer a { color: #C3D8C9; }
.site-footer a:hover { color: #fff; }
.footer-grid { display: grid; gap: var(--space-6); grid-template-columns: 1fr; }
@media (min-width: 600px) { .footer-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px) { .footer-grid { grid-template-columns: repeat(4, 1fr); } }
.footer-col h3 { color: #fff; font-size: 1rem; margin-bottom: var(--space-3); position: relative; padding-bottom: var(--space-2); }
.footer-col h3::after { content: ""; position: absolute; left: 0; bottom: 0; width: 32px; height: 2px; background: var(--grad-gold); border-radius: 2px; }
.footer-col ul { list-style: none; display: flex; flex-direction: column; gap: var(--space-2); }
.footer-brand__name { font-family: var(--font-head); font-weight: var(--fw-bold); font-size: 1.2rem; color: #fff; }
.footer-contact { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-3); }
.footer-contact a { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; background: rgba(255,255,255,.08); border-radius: var(--radius-md); color: #fff; transition: background var(--transition), transform var(--transition); }
.footer-contact a:hover { background: var(--color-gold); color: #2a200a; transform: translateY(-2px); }
.footer-bottom { margin-top: var(--space-7); padding-top: var(--space-4); border-top: 1px solid rgba(255,255,255,.14); font-size: 0.8125rem; color: #9DBBA6; }

/* -------------------------------------------------------------------------
 * 10. QUICK-CONTACT
 * ---------------------------------------------------------------------- */
.quick-bar { position: fixed; bottom: 0; left: 0; right: 0; z-index: var(--z-bottombar); display: flex; background: rgba(255,255,255,.96); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border-top: 1px solid var(--color-border); box-shadow: 0 -4px 18px rgba(4,77,44,.10); padding-bottom: env(safe-area-inset-bottom); }
.quick-bar__btn { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 56px; font-family: var(--font-head); font-weight: var(--fw-bold); font-size: 0.75rem; color: var(--color-ink); transition: color var(--transition); }
.quick-bar__btn:hover { color: var(--color-brand); }
.quick-bar__btn .icon { width: 1.4em; height: 1.4em; }
.quick-bar__btn--whatsapp { color: #1FA855; }
.quick-bar__btn--phone { color: var(--color-accent); }
.quick-bar__btn span { color: var(--color-ink); } /* ლეიბლი ყოველთვის მუქი — კონტრასტი (ხატულა ფერადი რჩება) */
@media (min-width: 900px) { .quick-bar { display: none; } }

.quick-float { display: none; }
@media (min-width: 900px) {
	.quick-float { position: fixed; right: var(--space-4); bottom: var(--space-4); z-index: var(--z-floating); display: flex; flex-direction: column; gap: var(--space-2); }
	.quick-float__btn { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: var(--radius-pill); color: #fff; box-shadow: var(--shadow-md); transition: transform var(--transition), box-shadow var(--transition); }
	.quick-float__btn:hover { transform: translateY(-3px) scale(1.05); color: #fff; }
	.quick-float__btn .icon { width: 1.5em; height: 1.5em; }
	.quick-float__btn--whatsapp { background: #25D366; }
	.quick-float__btn--viber { background: #7360F2; }
	.quick-float__btn--messenger { background: #0084FF; }
	.quick-float__btn--phone { background-image: var(--grad-cta); }
}

/* -------------------------------------------------------------------------
 * 11. UTILITIES
 * ---------------------------------------------------------------------- */
.skip-link { position: absolute; left: -9999px; top: 0; z-index: 1100; padding: var(--space-2) var(--space-4); background: var(--color-ink); color: #fff; border-radius: 0 0 var(--radius-md) 0; }
.skip-link:focus { left: 0; color: #fff; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.body--no-scroll { overflow: hidden; }

/* -------------------------------------------------------------------------
 * 12. COMPONENTS (grid, sidebar, cards, accordion, breadcrumbs, CTA, badges)
 * ---------------------------------------------------------------------- */
.grid { display: grid; gap: var(--space-5); grid-template-columns: 1fr; }
@media (min-width: 600px) { .grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px) { .grid { grid-template-columns: repeat(3, 1fr); } }

.layout { display: grid; gap: var(--space-7); grid-template-columns: 1fr; }
@media (min-width: 900px) { .layout--with-sidebar { grid-template-columns: minmax(0, 1fr) 320px; align-items: start; } }
.sidebar { display: flex; flex-direction: column; gap: var(--space-5); }
@media (min-width: 900px) { .sidebar--sticky { position: sticky; top: calc(var(--header-height) + var(--space-4)); } }

/* Card — premium */
.card { position: relative; display: flex; flex-direction: column; background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-sm); transition: box-shadow var(--transition), transform var(--transition), border-color var(--transition); }
.card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--grad-gold); transform: scaleX(0); transform-origin: left; transition: transform var(--transition); z-index: 2; }
.card:hover { box-shadow: var(--shadow-lg); transform: translateY(-4px); border-color: transparent; }
.card:hover::before { transform: scaleX(1); }
.card__media { aspect-ratio: 3 / 2; background: var(--color-green-soft); overflow: hidden; }
.card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.card:hover .card__media img { transform: scale(1.06); }
.card__media--logo { aspect-ratio: 16 / 9; display: flex; align-items: center; justify-content: center; padding: var(--space-4); background: var(--color-cream); }
.card__media--logo img { width: auto; max-height: 60px; object-fit: contain; }
.card:hover .card__media--logo img { transform: none; }
.card__placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: var(--color-brand); background: linear-gradient(135deg, var(--color-green-soft), var(--color-cream)); }
.card__placeholder .icon { width: 2.8em; height: 2.8em; opacity: .4; }
.card__body { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-4) var(--space-5) var(--space-5); }
.card__title { font-family: var(--font-head); font-weight: var(--fw-bold); font-size: 1.0625rem; color: var(--color-ink); margin: 0; }
.card__title a { color: inherit; }
.card__title a:hover { color: var(--color-brand); }
.card__link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.card__meta { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; font-size: 0.8125rem; color: var(--color-text-muted); margin: 0; }
.card__meta .icon { width: 1.1em; height: 1.1em; color: var(--color-brand); flex-shrink: 0; }
/* ხატულა + ტექსტი (მაგ. 📍 ქალაქი) — ერთ ხაზზე, ვერტიკალურად ცენტრში. */
.card__meta > span:not(.badge) { display: inline-flex; align-items: center; gap: 4px; }

/* Badge */
.badge { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; font-family: var(--font-head); font-weight: var(--fw-bold); font-size: 0.75rem; border-radius: var(--radius-sm); background: var(--color-green-soft); color: var(--color-brand-dark); }
.badge--brand { background-image: var(--grad-brand); color: #fff; }
.badge--accent { background-image: var(--grad-cta); color: #fff; }

/* Accordion */
.accordion { display: flex; flex-direction: column; gap: var(--space-2); }
.accordion__item { border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-bg); overflow: hidden; transition: border-color var(--transition), box-shadow var(--transition); }
.accordion__item[open] { border-color: var(--color-brand); box-shadow: var(--shadow-sm); }
.accordion__item > summary { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-4); font-family: var(--font-head); font-weight: var(--fw-bold); color: var(--color-ink); cursor: pointer; list-style: none; transition: background var(--transition); }
.accordion__item > summary:hover { background: var(--color-surface); }
.accordion__item > summary::-webkit-details-marker { display: none; }
.accordion__item > summary:focus-visible { outline-offset: -3px; }
.accordion__item > summary .icon { flex: none; color: var(--color-brand); transition: transform var(--transition); }
.accordion__item[open] > summary .icon { transform: rotate(180deg); }
.accordion__content { padding: 0 var(--space-4) var(--space-4); }
.accordion__content > :last-child { margin-bottom: 0; }

/* Breadcrumbs */
.breadcrumbs { font-size: 0.8125rem; color: var(--color-text-muted); padding-block: var(--space-3); }
.breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1); list-style: none; }
.breadcrumbs li { display: flex; align-items: center; gap: var(--space-1); }
.breadcrumbs li:not(:last-child)::after { content: "›"; color: var(--color-border); margin-left: var(--space-1); }
.breadcrumbs a { color: var(--color-text-muted); }
.breadcrumbs a:hover { color: var(--color-brand); }
.breadcrumbs [aria-current="page"] { color: var(--color-ink); }

/* Section head */
.section-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-5); }
.section-head h2, .section-head h3 { margin: 0; position: relative; padding-left: var(--space-3); }
.section-head h2::before, .section-head h3::before { content: ""; position: absolute; left: 0; top: .15em; bottom: .15em; width: 4px; border-radius: 2px; background: var(--grad-brand); }
.section-head a { font-size: 0.8125rem; white-space: nowrap; display: inline-flex; align-items: center; gap: 4px; font-family: var(--font-head); font-weight: var(--fw-bold); }
/* მობაილზე სათაურის გვერდით „ყველა …" ბმულები იმალება — სათაური სუფთად რჩება. */
@media (max-width: 599.98px) { .section-head a { display: none; } }

/* CTA banner — red gradient (კონტაქტი = #1) */
.cta-banner { position: relative; overflow: hidden; background-image: var(--grad-cta); color: #fff; border-radius: var(--radius-lg); padding: var(--space-7); display: grid; gap: var(--space-4); box-shadow: var(--shadow-lg); }
.cta-banner::before { content: ""; position: absolute; top: -40%; right: -10%; width: 320px; height: 320px; background: radial-gradient(circle, rgba(255,255,255,.18), transparent 70%); pointer-events: none; }
.cta-banner > * { position: relative; }
.cta-banner h2, .cta-banner h3 { color: #fff; margin: 0; }
.cta-banner p { margin: 0; opacity: .95; }
.cta-banner__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.cta-banner--compact { padding: var(--space-5); gap: var(--space-3); box-shadow: var(--shadow-md); }
.cta-banner .btn--on-accent { background: #fff; color: var(--color-accent-dark); }
.cta-banner .btn--on-accent:hover { background: var(--color-cream); color: var(--color-accent-dark); transform: translateY(-2px); }
.cta-banner .btn--outline-light { background: rgba(255,255,255,.16); color: #fff; border-color: rgba(255,255,255,.5); }
.cta-banner .btn--outline-light:hover { background: rgba(255,255,255,.28); color: #fff; transform: translateY(-2px); }

/* Sidebar widgets */
.widget { background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-5); box-shadow: var(--shadow-sm); }
.widget__title { font-size: 1rem; margin-bottom: var(--space-3); }
.quick-facts { background: linear-gradient(160deg, var(--color-green-soft), var(--color-cream)); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-5); }
.quick-facts h3 { font-size: 1rem; margin-bottom: var(--space-3); }
.quick-facts dl { display: grid; grid-template-columns: auto 1fr; gap: var(--space-2) var(--space-3); margin: 0; }
.quick-facts dt { color: var(--color-text-muted); font-size: 0.8125rem; align-self: center; }
.quick-facts dd { margin: 0; font-family: var(--font-head); font-weight: var(--fw-bold); color: var(--color-ink); }

/* -------------------------------------------------------------------------
 * 13. HOMEPAGE
 * ---------------------------------------------------------------------- */
.hero { position: relative; display: flex; align-items: center; min-height: 80vh; min-height: 80svh; background-image: var(--grad-hero); color: #fff; }
.hero > .container { width: 100%; }
.hero::before { content: ""; position: absolute; top: -30%; right: -10%; width: 60%; height: 160%; background: radial-gradient(circle, rgba(200,162,75,.22), transparent 65%); pointer-events: none; }
.hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--grad-tricolore); }
.hero__inner { position: relative; z-index: 1; display: grid; gap: var(--space-6); padding-block: var(--space-8); width: 100%; }
@media (min-width: 900px) { .hero__inner { grid-template-columns: 1.1fr 0.9fr; align-items: center; padding-block: var(--space-9); } }
.hero h1 { color: #fff; }
.hero h1::after { content: ""; display: block; width: 64px; height: 4px; margin-top: var(--space-4); border-radius: 2px; background: var(--grad-tricolore); }
.hero__intro { font-size: 1.05rem; color: rgba(255,255,255,.9); max-width: 52ch; }
.hero__cta { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-5); }

.tp-widget { background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-5); min-height: 230px; box-shadow: var(--shadow-lg); color: var(--color-text); }
.tp-widget__placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--space-2); text-align: center; color: var(--color-text-muted); min-height: 190px; }
.tp-widget__placeholder .icon { width: 2.2em; height: 2.2em; color: var(--color-brand); }

/* Flight search — ქასთომ ფორმა (კომპაქტური, container-query responsive) */
.flight-search { container-type: inline-size; background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); padding: var(--space-4); display: flex; flex-direction: column; gap: var(--space-3); color: var(--color-text); }
.flight-search__top { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); flex-wrap: wrap; }
.flight-search__heading { font-family: var(--font-head); font-weight: var(--fw-bold); font-size: 1.05rem; color: var(--color-ink); }
.flight-search__trip { display: inline-flex; gap: 3px; background: var(--color-green-soft); border-radius: var(--radius-pill); padding: 3px; flex-shrink: 0; }
.flight-search__trip-btn { border: 0; background: transparent; font: inherit; font-weight: var(--fw-bold); font-size: 0.78rem; color: var(--color-text-muted); padding: 5px 14px; border-radius: var(--radius-pill); cursor: pointer; transition: background var(--transition), color var(--transition); }
.flight-search__trip-btn.is-active { background: #fff; color: var(--color-brand-dark); box-shadow: var(--shadow-sm); }

.flight-search__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3) var(--space-2); }
.flight-search__field { position: relative; display: flex; flex-direction: column; gap: 3px; min-width: 0; grid-column: 1 / -1; }
.flight-search__field:has([data-depart]) { grid-column: 1; }
.flight-search__field:has([data-return]) { grid-column: 2; }
.flight-search__ac[data-ac="origin"] { grid-column: 1; }
.flight-search__ac[data-ac="dest"] { grid-column: 2; }
.flight-search.is-oneway [data-return-field] { display: none; }
.flight-search.is-oneway .flight-search__field:has([data-depart]) { grid-column: 1 / -1; }
.flight-search__label { font-size: 0.66rem; font-weight: var(--fw-bold); letter-spacing: .04em; text-transform: uppercase; color: var(--color-text-muted); }
.flight-search__input { width: 100%; min-height: 46px; padding: 0 var(--space-3); font: inherit; font-weight: var(--fw-bold); font-size: 0.95rem; color: var(--color-ink); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); transition: border-color var(--transition), box-shadow var(--transition); }
.flight-search__input::placeholder { color: var(--color-text-muted); font-weight: var(--fw-body); }
.flight-search__input:focus { outline: none; border-color: var(--color-brand); box-shadow: 0 0 0 3px rgba(0,164,81,.15); }

.flight-search__ac-list { position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 40; margin: 0; padding: 6px; list-style: none; background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: var(--shadow-lg); max-height: 264px; overflow-y: auto; }
.flight-search__ac-item { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: 9px 11px; border-radius: var(--radius-sm); cursor: pointer; }
.flight-search__ac-item:hover { background: var(--color-green-soft); }
.flight-search__ac-name { font-weight: var(--fw-bold); color: var(--color-ink); font-size: 0.88rem; }
.flight-search__ac-name small { font-weight: var(--fw-body); color: var(--color-text-muted); }
.flight-search__ac-code { flex-shrink: 0; font-weight: var(--fw-bold); font-size: 0.74rem; color: var(--color-text-muted); background: var(--color-surface); border-radius: var(--radius-sm); padding: 2px 7px; }

.flight-search__pax-toggle { display: flex; align-items: center; justify-content: space-between; text-align: left; cursor: pointer; }
.flight-search__pax-caret { color: var(--color-text-muted); }
.flight-search__pax-panel { position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 40; background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: var(--shadow-lg); padding: var(--space-3); min-width: 220px; }
.flight-search__pax-row { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-2) 0; }
.flight-search__pax-name { display: flex; flex-direction: column; font-weight: var(--fw-bold); color: var(--color-ink); font-size: 0.88rem; }
.flight-search__pax-name small { font-weight: var(--fw-body); color: var(--color-text-muted); font-size: 0.72rem; }
.flight-search__stepper { display: inline-flex; align-items: center; gap: var(--space-3); }
.flight-search__stepper button { width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--color-border); background: var(--color-surface); border-radius: var(--radius-pill); font-size: 1.15rem; line-height: 1; font-weight: var(--fw-bold); color: var(--color-brand); cursor: pointer; transition: background var(--transition), border-color var(--transition); }
.flight-search__stepper button:hover { background: var(--color-green-soft); border-color: var(--color-brand); }
.flight-search__pax-done { width: 100%; margin-top: var(--space-2); padding: 9px; border: 0; border-radius: var(--radius-md); background: var(--color-green-soft); color: var(--color-brand-dark); font: inherit; font-weight: var(--fw-bold); cursor: pointer; }

.flight-search__field:has([data-pax]) { grid-column: 1; }
.flight-search__submit { grid-column: 2; align-self: end; display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: 48px; padding: 0 var(--space-4); border: 0; border-radius: var(--radius-md); background: linear-gradient(135deg, #FF8C1A 0%, #F26A0A 100%); color: #fff; font: inherit; font-weight: var(--fw-bold); font-size: 0.95rem; white-space: nowrap; cursor: pointer; box-shadow: 0 8px 20px rgba(242,106,10,.26); transition: transform var(--transition), box-shadow var(--transition); }
.flight-search__submit:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(242,106,10,.34); }
.flight-search__submit .icon { width: 1.15em; height: 1.15em; }

.flight-search__error { margin: 0; color: var(--color-danger); font-size: 0.82rem; font-weight: var(--fw-bold); }
.flight-search__note { margin: 0; font-weight: var(--fw-bold); }

/* ლეიბლის ხატულები + თარიღის ღილაკი */
.flight-search__label { display: inline-flex; align-items: center; gap: 4px; }
.flight-search__label .icon { width: 0.95em; height: 0.95em; color: var(--color-brand); flex-shrink: 0; }
.flight-search__date-btn { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); text-align: left; cursor: pointer; }
.flight-search__date-btn [data-date-label] { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--color-ink); }
.flight-search__date-btn .icon { width: 0.9em; height: 0.9em; color: var(--color-text-muted); flex-shrink: 0; }

/* ქასთომ კალენდარი */
.flight-search__cal { position: absolute; top: calc(100% + 4px); left: 0; z-index: 50; width: min(280px, calc(100cqw - 8px)); background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: var(--shadow-lg); padding: var(--space-3); }
.flight-search__field:has([data-return]) .flight-search__cal { left: auto; right: 0; }
.fs-cal__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--space-2); }
.fs-cal__title { font-family: var(--font-head); font-weight: var(--fw-bold); font-size: 0.95rem; color: var(--color-ink); }
.fs-cal__nav { width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--color-border); background: var(--color-surface); border-radius: var(--radius-sm); font-size: 1.15rem; line-height: 1; color: var(--color-brand); cursor: pointer; transition: background var(--transition); }
.fs-cal__nav:hover { background: var(--color-green-soft); }
.fs-cal__nav[disabled] { opacity: .35; cursor: not-allowed; }
.fs-cal__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.fs-cal__dow { text-align: center; font-size: 0.64rem; font-weight: var(--fw-bold); color: var(--color-text-muted); padding-bottom: 4px; }
.fs-cal__day { aspect-ratio: 1; display: inline-flex; align-items: center; justify-content: center; border: 0; background: transparent; border-radius: var(--radius-sm); font: inherit; font-size: 0.84rem; font-weight: var(--fw-bold); color: var(--color-ink); cursor: pointer; transition: background var(--transition), color var(--transition); }
.fs-cal__day:hover { background: var(--color-green-soft); }
.fs-cal__day.is-today { color: var(--color-brand); box-shadow: inset 0 0 0 1px var(--color-brand); }
.fs-cal__day.is-selected { background-image: var(--grad-brand); color: #fff; box-shadow: none; }
.fs-cal__day.is-disabled, .fs-cal__day[disabled] { color: var(--color-border); cursor: default; }
.fs-cal__day.is-disabled:hover, .fs-cal__day[disabled]:hover { background: transparent; }

/* მობაილი / ვიწრო კონტეინერი: ყველა ველი ერთ სვეტში */
@container (max-width: 420px) {
	.flight-search__field:has([data-depart]), .flight-search__field:has([data-return]),
	.flight-search__ac[data-ac="origin"], .flight-search__ac[data-ac="dest"],
	.flight-search__field:has([data-pax]), .flight-search__submit { grid-column: 1 / -1; }
}

.duo { display: grid; gap: var(--space-5); grid-template-columns: 1fr; }
@media (min-width: 600px) { .duo { grid-template-columns: 1fr 1fr; } }
.panel { position: relative; overflow: hidden; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-6); transition: box-shadow var(--transition), transform var(--transition); }
.panel::before { content: ""; position: absolute; top: 0; left: 0; bottom: 0; width: 4px; background: var(--grad-brand); }
.panel:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.panel h2 { font-size: 1.2rem; }
.panel p { margin-bottom: var(--space-3); }
.panel p:last-child { margin-bottom: 0; }

/* -------------------------------------------------------------------------
 * 14. ARCHIVE / SINGLE
 * ---------------------------------------------------------------------- */
.archive-intro { color: var(--color-text-muted); max-width: 70ch; margin-bottom: var(--space-2); font-size: 1.02rem; }
.archive-cat { margin-bottom: var(--space-7); }
.archive-cat__title { font-size: 1.3rem; margin-bottom: var(--space-4); }

.entry-title-wrap { display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; margin-bottom: var(--space-4); }
.entry-title-wrap h1 { margin: 0; }
.entry-logo { max-height: 52px; width: auto; }
.entry-intro { font-size: 1.05rem; color: var(--color-text); margin-bottom: var(--space-6); padding-left: var(--space-4); border-left: 4px solid var(--color-brand); }
.entry-section { margin-bottom: var(--space-7); }
.entry-section > h2 { margin-bottom: var(--space-3); position: relative; padding-left: var(--space-3); }
.entry-section > h2::before { content: ""; position: absolute; left: 0; top: .15em; bottom: .15em; width: 4px; border-radius: 2px; background: var(--grad-brand); }
.entry-section > h3 { margin-top: var(--space-4); color: var(--color-brand-dark); }

.rich > :last-child { margin-bottom: 0; }
.rich ul, .rich ol { margin: 0 0 var(--space-4) var(--space-5); padding: 0; }
.rich ul { list-style: none; }
.rich ul li { position: relative; padding-left: var(--space-4); margin-bottom: var(--space-2); }
.rich ul li::before { content: ""; position: absolute; left: 0; top: .55em; width: 8px; height: 8px; border-radius: 50%; background: var(--grad-gold); }
.rich ol { list-style: decimal; }
.rich ol li { margin-bottom: var(--space-2); }
.rich h2 { margin-top: var(--space-6); }
.rich h3 { margin-top: var(--space-4); }
.rich a { text-decoration: underline; text-decoration-color: var(--color-gold); text-underline-offset: 2px; }

.svc-list { display: grid; gap: var(--space-3); }
.svc-list__item { border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-4); background: var(--color-surface); transition: box-shadow var(--transition); }
.svc-list__item:hover { box-shadow: var(--shadow-sm); }
.svc-list__name { font-family: var(--font-head); font-weight: var(--fw-bold); color: var(--color-brand-dark); }
.terminal { margin-bottom: var(--space-4); padding-left: var(--space-4); border-left: 3px solid var(--color-green-soft); }
.terminal:last-child { margin-bottom: 0; }

/* -------------------------------------------------------------------------
 * 15. BLOG / SEARCH / 404 / PAGINATION
 * ---------------------------------------------------------------------- */
.cat-filters { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-6); }
.cat-filters a { display: inline-flex; padding: var(--space-2) var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-pill); font-family: var(--font-head); font-weight: var(--fw-bold); font-size: 0.8125rem; color: var(--color-ink); transition: all var(--transition); }
.cat-filters a:hover, .cat-filters a.is-active { background-image: var(--grad-brand); color: #fff; border-color: transparent; transform: translateY(-1px); }

.entry-meta { display: flex; flex-wrap: wrap; gap: var(--space-4); color: var(--color-text-muted); font-size: 0.8125rem; margin-bottom: var(--space-5); }
.entry-meta span { display: inline-flex; align-items: center; gap: 4px; }
.entry-meta .icon { color: var(--color-brand); }
.entry-featured { border-radius: var(--radius-lg); overflow: hidden; margin-bottom: var(--space-6); aspect-ratio: 3 / 1; box-shadow: var(--shadow-md); }
.entry-featured img { width: 100%; height: 100%; object-fit: cover; }

.toc { background: linear-gradient(160deg, var(--color-green-soft), var(--color-cream)); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-5); }
.toc__title { font-size: 1rem; margin-bottom: var(--space-2); }
.toc ol { list-style: none; display: flex; flex-direction: column; gap: var(--space-1); counter-reset: toc; }
.toc li { counter-increment: toc; }
.toc a { font-size: 0.875rem; color: var(--color-text-muted); display: flex; gap: var(--space-2); }
.toc a::before { content: counter(toc); font-family: var(--font-head); font-weight: var(--fw-bold); color: var(--color-gold-dark); }
.toc a:hover { color: var(--color-brand); }

.author-box { display: flex; align-items: center; gap: var(--space-4); background: linear-gradient(160deg, var(--color-green-soft), var(--color-cream)); border-radius: var(--radius-lg); padding: var(--space-5); margin-block: var(--space-7); }
.author-box__avatar { width: 52px; height: 52px; border-radius: 50%; background-image: var(--grad-brand); color: #fff; display: flex; align-items: center; justify-content: center; flex: none; box-shadow: var(--shadow-md); }
.author-box__name { font-family: var(--font-head); font-weight: var(--fw-bold); color: var(--color-ink); }

.entry-tags { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-6); }
.entry-tags a { font-size: 0.8125rem; color: var(--color-brand-dark); background: var(--color-green-soft); padding: 3px 12px; border-radius: var(--radius-pill); transition: all var(--transition); }
.entry-tags a:hover { background-image: var(--grad-brand); color: #fff; }

.widget ul { list-style: none; display: flex; flex-direction: column; gap: var(--space-2); }
.widget ul a { color: var(--color-text); }
.widget ul a:hover { color: var(--color-brand); }

.search-results { display: flex; flex-direction: column; gap: var(--space-5); }
.search-result { border-bottom: 1px solid var(--color-border); padding-bottom: var(--space-5); }
.search-result h2 { font-size: 1.2rem; margin-bottom: var(--space-1); }
.search-result .meta { text-transform: capitalize; color: var(--color-brand); }

/* 404 — პრემიუმ (მწვანე-გრადიენტიანი პანელი, ოქროს „404", tricolore) */
.error-404 { position: relative; overflow: hidden; text-align: center; padding: clamp(var(--space-8), 8vw, var(--space-9)) var(--space-5); border-radius: var(--radius-lg); background-image: var(--grad-hero); color: #fff; box-shadow: var(--shadow-lg); }
.error-404::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 5px; background: var(--grad-tricolore); }
.error-404::after { content: ""; position: absolute; top: -28%; right: -8%; width: 360px; height: 360px; background: radial-gradient(circle, rgba(255,255,255,.16), transparent 70%); pointer-events: none; }
.error-404 > * { position: relative; z-index: 1; }
.error-404__code { display: block; font-family: var(--font-head); font-weight: var(--fw-bold); font-size: clamp(4.5rem, 17vw, 9rem); line-height: .95; letter-spacing: .02em; background: var(--grad-gold); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.error-404__title { color: #fff; font-size: clamp(1.5rem, 4vw, 2rem); margin-top: var(--space-4); }
.error-404__text { color: rgba(255,255,255,.9); max-width: 52ch; margin: var(--space-3) auto 0; }
.error-404__search { max-width: 480px; margin: var(--space-6) auto 0; }
.error-404__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); justify-content: center; margin-top: var(--space-6); }
.error-404__actions .btn--brand { background: #fff; background-image: none; color: var(--color-brand-dark); }
.error-404__actions .btn--brand:hover { background: var(--color-cream); color: var(--color-brand-dark); }
.error-404__actions .btn--ghost { color: #fff; border-color: rgba(255,255,255,.55); }
.error-404__actions .btn--ghost:hover { background: rgba(255,255,255,.14); border-color: #fff; color: #fff; }

/* -------------------------------------------------------------------------
 * Contact page — პრემიუმ (რუკა · ფორმა · ნომრები · სოც-ქსელები)
 * ---------------------------------------------------------------------- */
.contact-hero { position: relative; overflow: hidden; background-image: var(--grad-hero); color: #fff; padding-block: clamp(var(--space-7), 7vw, var(--space-9)); }
.contact-hero::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 5px; background: var(--grad-tricolore); }
.contact-hero::after { content: ""; position: absolute; top: -34%; right: -6%; width: 360px; height: 360px; background: radial-gradient(circle, rgba(255,255,255,.14), transparent 70%); pointer-events: none; }
.contact-hero__inner { position: relative; z-index: 1; }
.contact-hero h1 { color: #fff; margin: 0; }
.contact-hero__sub { color: rgba(255,255,255,.9); margin: var(--space-3) 0 0; max-width: 60ch; }

.contact-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-6); }
@media (min-width: 900px) { .contact-grid { grid-template-columns: 0.9fr 1.1fr; align-items: start; } }

.contact-list { list-style: none; display: flex; flex-direction: column; gap: var(--space-3); margin: 0 0 var(--space-5); }
.contact-card { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-4); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); transition: box-shadow var(--transition), transform var(--transition); }
.contact-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.contact-card__icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; flex-shrink: 0; border-radius: var(--radius-pill); background-image: var(--grad-brand); color: #fff; }
.contact-card__icon .icon { width: 1.4em; height: 1.4em; }
.contact-card__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.contact-card__label { font-size: 0.72rem; font-weight: var(--fw-bold); letter-spacing: .04em; text-transform: uppercase; color: var(--color-text-muted); }
.contact-card__value { font-family: var(--font-head); font-weight: var(--fw-bold); font-size: 1.0625rem; color: var(--color-ink); word-break: break-word; }
a.contact-card__value:hover { color: var(--color-brand); }

.contact-channels { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-bottom: var(--space-5); }
.contact-social { display: flex; gap: var(--space-3); flex-wrap: wrap; }
.contact-social a { display: inline-flex; width: 46px; height: 46px; align-items: center; justify-content: center; background: var(--color-green-soft); color: var(--color-brand-dark); border-radius: var(--radius-md); transition: background var(--transition), color var(--transition), transform var(--transition); }
.contact-social a:hover { background-image: var(--grad-brand); color: #fff; transform: translateY(-2px); }
.contact-social .icon { width: 1.4em; height: 1.4em; }

.contact-form-card { background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); padding: clamp(var(--space-5), 4vw, var(--space-7)); }
.contact-form-card__hint { color: var(--color-text-muted); }
.contact-form-card input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), .contact-form-card textarea, .contact-form-card select { width: 100%; min-height: 50px; padding: var(--space-3) var(--space-4); font: inherit; color: var(--color-ink); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); transition: border-color var(--transition), box-shadow var(--transition); }
.contact-form-card textarea { min-height: 130px; }
.contact-form-card input:focus, .contact-form-card textarea:focus, .contact-form-card select:focus { outline: none; border-color: var(--color-brand); box-shadow: 0 0 0 3px rgba(0,164,81,.15); }
.contact-form-card .wpcf7-form p { margin: 0 0 var(--space-3); }
.contact-form-card input[type="submit"], .contact-form-card .wpcf7-submit { width: auto; min-height: 52px; padding: 0 var(--space-7); border: 0; border-radius: var(--radius-md); background-image: var(--grad-cta); color: #fff; font: inherit; font-weight: var(--fw-bold); cursor: pointer; box-shadow: var(--shadow-md); transition: transform var(--transition), box-shadow var(--transition); }
.contact-form-card input[type="submit"]:hover, .contact-form-card .wpcf7-submit:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); }

.contact-map { padding-bottom: var(--space-9); }
.contact-map__frame { position: relative; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-lg); border: 1px solid var(--color-border); aspect-ratio: 21 / 9; background: var(--color-surface); }
.contact-map__frame iframe, .contact-map__frame > * { position: absolute; inset: 0; width: 100% !important; height: 100% !important; border: 0; }
@media (max-width: 600px) { .contact-map__frame { aspect-ratio: 4 / 3; } }

/* -------------------------------------------------------------------------
 * Lead block — „დაგირეკავთ" + „ფასების გამოწერა"
 * ---------------------------------------------------------------------- */
.lead-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-5); }
@media (min-width: 768px) { .lead-grid { grid-template-columns: 1fr 1fr; } }
.lead-card { position: relative; min-width: 0; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-6); box-shadow: var(--shadow-sm); }
.lead-card__icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: var(--radius-pill); background-image: var(--grad-brand); color: #fff; margin-bottom: var(--space-3); }
.lead-card__icon .icon { width: 1.4em; height: 1.4em; }
.lead-card__title { margin: 0 0 var(--space-2); }
.lead-card__text { color: var(--color-text-muted); margin: 0 0 var(--space-4); font-size: 0.92rem; }
.lead-form { display: flex; flex-direction: column; gap: var(--space-3); }
.lead-form__row { display: flex; gap: var(--space-2); }
.lead-form__input { flex: 1; min-width: 0; min-height: 48px; padding: 0 var(--space-4); font: inherit; color: var(--color-ink); background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius-md); transition: border-color var(--transition), box-shadow var(--transition); }
.lead-form__input:focus { outline: none; border-color: var(--color-brand); box-shadow: 0 0 0 3px rgba(0,164,81,.15); }
.lead-form .btn { flex-shrink: 0; }
.lead-form__msg { margin: 0; font-size: 0.88rem; font-weight: var(--fw-bold); color: var(--color-brand-dark); }
.lead-form__msg.is-error { color: var(--color-danger); }
.lead-hp { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; opacity: 0; }

.pagination { margin-top: var(--space-7); }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.pagination .page-numbers { display: inline-flex; min-width: 44px; height: 44px; align-items: center; justify-content: center; padding: 0 var(--space-3); border: 1px solid var(--color-border); border-radius: var(--radius-md); color: var(--color-ink); font-family: var(--font-head); font-weight: var(--fw-bold); transition: all var(--transition); }
.pagination .page-numbers.current { background-image: var(--grad-brand); color: #fff; border-color: transparent; }
.pagination .page-numbers:hover { border-color: var(--color-brand); color: var(--color-brand); }

/* -------------------------------------------------------------------------
 * 16. ANIMATIONS
 * ---------------------------------------------------------------------- */
/* scroll reveal — .js კლასი ემატება JS-ით (no-JS-ზე ყველაფერი ხილულია) */
.reveal { opacity: 1; }
.js .reveal { opacity: 0; transform: translateY(12px); transition: opacity .35s ease, transform .35s ease; }
.js .reveal.is-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
	.js .reveal { opacity: 1 !important; transform: none !important; }
	.hero { animation: none !important; }
}

/* -------------------------------------------------------------------------
 * 17. HOMEPAGE EXTRA SECTIONS (trust, steps, logos, offers, testimonials,
 *     topics, SEO read-more)
 * ---------------------------------------------------------------------- */

/* ნდობის ზოლი */
.trust-bar { background: var(--color-surface); border-bottom: 1px solid var(--color-border); }
.trust-bar__grid { display: grid; gap: var(--space-4); grid-template-columns: repeat(2, 1fr); padding-block: var(--space-6); }
@media (min-width: 900px) { .trust-bar__grid { grid-template-columns: repeat(4, 1fr); } }
.trust-item { display: flex; align-items: center; gap: var(--space-3); }
.trust-item__body { display: flex; flex-direction: column; gap: 1px; }
.trust-item__icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; flex: none; border-radius: var(--radius-md); background: var(--color-green-soft); color: var(--color-brand); }
.trust-item__icon .icon { width: 1.5em; height: 1.5em; }
.trust-item__title { font-family: var(--font-head); font-weight: var(--fw-bold); font-size: 0.95rem; color: var(--color-ink); line-height: 1.2; }
.trust-item__text { font-size: 0.78rem; color: var(--color-text-muted); }

/* როგორ ვმუშაობთ — 3 ნაბიჯი */
.steps { display: grid; gap: var(--space-5); grid-template-columns: 1fr; }
@media (min-width: 768px) { .steps { grid-template-columns: repeat(3, 1fr); } }
.step { background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-6); box-shadow: var(--shadow-sm); transition: box-shadow var(--transition), transform var(--transition); }
.step:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
.step__badge { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: var(--radius-pill); background-image: var(--grad-brand); color: #fff; box-shadow: var(--shadow-md); margin-bottom: var(--space-3); }
.step__badge .icon { width: 1.5em; height: 1.5em; }
.step__num { position: absolute; font-family: var(--font-head); font-weight: var(--fw-bold); }
.step h3 { margin-bottom: var(--space-2); }
.step p { margin: 0; color: var(--color-text-muted); font-size: 0.9375rem; }

/* ავიაკომპანიების ლოგოების ზოლი */
.logo-strip { display: flex; flex-wrap: wrap; gap: var(--space-4); align-items: center; justify-content: center; }
.logo-strip__item { display: flex; align-items: center; justify-content: center; min-width: 150px; height: 72px; padding: var(--space-3) var(--space-5); background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); transition: box-shadow var(--transition), transform var(--transition), border-color var(--transition); }
.logo-strip__item:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); border-color: transparent; }
.logo-strip__item img { max-height: 40px; width: auto; object-fit: contain; }
.logo-strip__name { font-family: var(--font-head); font-weight: var(--fw-bold); font-size: 1.05rem; color: var(--color-ink); }

/* ცხელი/სეზონური შეთავაზებები */
.offers { display: grid; gap: var(--space-5); grid-template-columns: 1fr; }
@media (min-width: 768px) { .offers { grid-template-columns: repeat(2, 1fr); } }
.offer { position: relative; overflow: hidden; border-radius: var(--radius-lg); padding: var(--space-6); color: #fff; box-shadow: var(--shadow-lg); }
.offer::before { content: ""; position: absolute; top: -40%; right: -10%; width: 240px; height: 240px; background: radial-gradient(circle, rgba(255,255,255,.18), transparent 70%); pointer-events: none; }
.offer > * { position: relative; }
.offer--summer { background-image: var(--grad-brand); }
.offer--ny { background-image: var(--grad-cta); }
.offer__tag { display: inline-block; background: rgba(255,255,255,.22); color: #fff; font-family: var(--font-head); font-weight: var(--fw-bold); font-size: 0.72rem; letter-spacing: .08em; text-transform: uppercase; padding: 4px 12px; border-radius: var(--radius-pill); margin-bottom: var(--space-3); }
.offer h3 { color: #fff; margin-bottom: var(--space-2); }
.offer p { opacity: .95; margin-bottom: var(--space-4); }

/* მიმოხილვები */
.testimonials { display: grid; gap: var(--space-5); grid-template-columns: 1fr; }
@media (min-width: 768px) { .testimonials { grid-template-columns: repeat(3, 1fr); } }
.testimonial { position: relative; background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-6); box-shadow: var(--shadow-sm); }
.testimonial__stars { display: flex; gap: 3px; color: var(--color-gold); margin-bottom: var(--space-3); }
.testimonial__stars .icon { width: 1em; height: 1em; }
.testimonial__quote { color: var(--color-text); margin-bottom: var(--space-4); font-size: 0.95rem; }
.testimonial__author { display: flex; align-items: center; gap: var(--space-3); }
.testimonial__avatar { width: 44px; height: 44px; border-radius: 50%; background-image: var(--grad-gold); color: #2a200a; display: flex; align-items: center; justify-content: center; flex: none; font-family: var(--font-head); font-weight: var(--fw-bold); }
.testimonial__name { font-family: var(--font-head); font-weight: var(--fw-bold); color: var(--color-ink); }
.testimonial__route { font-size: 0.8125rem; color: var(--color-text-muted); }

/* ხშირად მოძიებული თემები */
.topics { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.topic-chip { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4); background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--radius-pill); font-family: var(--font-head); font-weight: var(--fw-bold); color: var(--color-ink); box-shadow: var(--shadow-sm); transition: background var(--transition), color var(--transition), border-color var(--transition), transform var(--transition); }
.topic-chip:hover { background: var(--color-green-soft); border-color: var(--color-brand); color: var(--color-brand-dark); transform: translateY(-2px); text-decoration: none; }
.topic-chip .icon { color: var(--color-brand); }

/* SEO read-more */
.seo-block { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-6); }
.seo-block p { margin-bottom: var(--space-2); }
.seo-block__content { position: relative; overflow: hidden; max-height: 8.5em; transition: max-height .45s ease; }
.seo-block__content::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3.5em; background: linear-gradient(transparent, var(--color-surface)); pointer-events: none; transition: opacity .3s; }
.seo-block.is-expanded .seo-block__content { max-height: 4000px; }
.seo-block.is-expanded .seo-block__content::after { opacity: 0; }
.seo-block__toggle { margin-top: var(--space-4); }
