/*
 * ANAKLIA — საერთო დიზაინ-სისტემა
 * ================================================
 * სწრაფი გზამკვლევი ლუკასთვის, გიორგისა და პატუკასთვის:
 *
 * .ank-container          — კონტენტის მაქსიმალური სიგანე და გვერდითი დაშორება
 * .ank-section            — სექციის ერთიანი ვერტიკალური რიტმი
 * .ank-section-muted      — სექციის რბილი ქვიშისფერი ფონი
 * .ank-section-title      — სექციის მთავარი სათაური
 * .ank-section-subtitle   — სათაურის დამხმარე ტექსტი
 * .ank-eyebrow            — პატარა კატეგორიის/სტატუსის ნიშნული
 * .ank-btn                — ყველა ღილაკის საბაზო კლასი
 * .ank-btn-primary        — მთავარი მოქმედება, ზღვისფერი შევსებით
 * .ank-btn-outline        — მეორეხარისხოვანი მოქმედება, კონტურით
 * .ank-card               — საერთო ქარდი: რადიუსი, საზღვარი, ჩრდილი და hover
 * .ank-card-compact       — კომპაქტური ქარდი მცირე padding-ით
 * .ank-icon-box           — ქარდის აიკონის ფერადი კონტეინერი
 * .ank-header             — საერთო sticky ჰედერი blur-ეფექტით
 * .ank-header-nav         — დესკტოპის ანქორ-ნავიგაცია
 * .ank-mobile-menu        — მობილურის სრულეკრანიანი მენიუ
 * .hero-weather           — ჰიროს მიმდინარე ამინდის კომპაქტური ვიჯეტი
 * .hero-stats             — ჰიროს გადამოწმებული ფაქტების ერთიანი რიგი
 * .ank-reveal             — სქროლზე გამოჩენა; ხილვადობისთვის დაამატეთ .is-visible
 *
 * მაგალითი:
 * <article class="ank-card ank-reveal">
 *   <div class="ank-icon-box"><svg aria-hidden="true">...</svg></div>
 *   <h3>ყველაზე მზიანი სანაპირო</h3>
 *   <p>ქარდის აღწერა.</p>
 * </article>
 *
 * ძველი კლასები (.section, .section-title, .attr-card, .reveal და სხვ.)
 * დროებით მხარდაჭერილია, რათა მიგრაცია გვერდების გატეხვის გარეშე დასრულდეს.
 */

@charset "UTF-8";

:root {
    color-scheme: light;

    /* ზღვა */
    --ank-ocean-50: #effbfa;
    --ank-ocean-100: #d6f4f1;
    --ank-ocean-200: #afe8e3;
    --ank-ocean-300: #7bd5cf;
    --ank-ocean-400: #42bbb6;
    --ank-ocean-500: #169d9a;
    --ank-ocean-600: #0b7f7f;
    --ank-ocean-700: #0c6668;
    --ank-ocean-800: #105254;

    /* ცა და მსუბუქი გვერდის ფონი */
    --ank-sky-50: #f2fafc;
    --ank-sky-100: #e5f5f8;
    --ank-sky-200: #ccebf0;

    /* ღრმა ზღვა — ჰედერი და მუქი სექციები */
    --ank-navy-800: #123d46;
    --ank-navy-900: #0b3039;
    --ank-navy-950: #06252d;

    /* ქვიშა და მზე */
    --ank-sand-50: #fdfbf7;
    --ank-sand-100: #f7f1e7;
    --ank-sand-200: #eadcc5;
    --ank-sand-300: #dbc39c;
    --ank-sun-300: #f7dc92;
    --ank-sun-400: #f0c565;
    --ank-sun-500: #dfa94a;

    /* ნეიტრალური ტონები */
    --ank-ink: #163138;
    --ank-text: #37545a;
    --ank-muted: #6a8084;
    --ank-surface: #fffefd;
    --ank-surface-soft: #eaf6f8;
    --ank-border: #d2e6e9;
    --ank-white: #ffffff;

    /* შეცდომის ტონები — დ-2026-834, გიორგისთან შეთანხმებით დამატებული.
       პალიტრას წითელი არ ჰქონდა; ფორმის ვალიდაციას სჭირდება. ერთ ადგილას
       იმართება, რომ სხვა გვერდზეც ზუსტად იმავე წითლით დაიხატოს შეცდომა. */
    --ank-danger: #b4342b;         /* ძირითადი — ტექსტი, ბეჯი, ფოკუსის საზღვარი */
    --ank-danger-ink: #8f2a22;     /* მუქი ტექსტი ღია ფონზე */
    --ank-danger-soft: #d9776e;    /* შეცდომიანი ველის საზღვარი */
    --ank-danger-line: #e5b3ad;    /* alert-ის საზღვარი */
    --ank-danger-bg: #fef7f6;      /* ღია ფონი */
    --ank-danger-rgb: 180 52 43;   /* იგივე --ank-danger — გამჭვირვალობისთვის */

    /* სემანტიკური aliases — ძველი გვერდებისთვისაც */
    --primary: var(--ank-ocean-600);
    --primary-light: var(--ank-ocean-300);
    --primary-dark: var(--ank-ocean-800);
    --accent: var(--ank-sun-400);
    --accent-light: var(--ank-sand-200);
    --dark: var(--ank-navy-950);
    --dark-card: var(--ank-navy-900);
    --text: var(--ank-ink);
    --text-light: var(--ank-muted);
    --bg: var(--ank-surface-soft);
    --white: var(--ank-white);
    --border: var(--ank-border);
    --glass: rgb(6 37 45 / 82%);

    /* ტიპოგრაფია */
    --ank-font-sans: "Noto Sans Georgian", system-ui, -apple-system, "Segoe UI", sans-serif;
    --ank-font-display: "Noto Sans Georgian", system-ui, sans-serif;
    --ank-weight-regular: 400;
    --ank-weight-medium: 500;
    --ank-weight-semibold: 600;
    --ank-weight-bold: 700;
    --ank-weight-display: 800;
    --ank-type-note: .75rem;
    --ank-type-label: .8rem;
    --ank-type-card-copy: .875rem;
    --ank-type-body: .95rem;
    --ank-type-card-title: 1.05rem;
    --ank-leading-tight: 1.18;
    --ank-leading-body: 1.68;

    /* ზომები და რიტმი */
    --ank-container: 1200px;
    --ank-section-space: clamp(4.5rem, 8vw, 7rem);
    --ank-gutter: clamp(1rem, 3vw, 1.5rem);
    --ank-radius-sm: 12px;
    --ank-radius-md: 18px;
    --ank-radius-lg: 28px;
    --ank-radius-pill: 999px;
    --ank-shadow-sm: 0 8px 24px rgb(6 47 57 / 7%);
    --ank-shadow-md: 0 18px 50px rgb(6 47 57 / 11%);
    --ank-shadow-hover: 0 24px 64px rgb(6 47 57 / 16%);
    --ank-ease: cubic-bezier(.22, 1, .36, 1);
}

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

html {
    scroll-behavior: smooth;
    scroll-padding-top: 88px;
}

body {
    min-width: 320px;
    overflow-x: hidden;
    color: var(--ank-text);
    background: var(--ank-sky-50);
    font-family: var(--ank-font-sans);
    font-size: 16px;
    line-height: var(--ank-leading-body);
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

img,
svg {
    display: block;
    max-width: 100%;
}

button,
input,
textarea,
select {
    font: inherit;
}

a {
    color: inherit;
}

::selection {
    color: var(--ank-navy-950);
    background: var(--ank-ocean-200);
}

:focus-visible {
    outline: 3px solid var(--ank-ocean-300);
    outline-offset: 3px;
}

.ank-container,
.section-inner {
    width: min(100% - (var(--ank-gutter) * 2), var(--ank-container));
    margin-inline: auto;
}

.ank-section,
.section {
    padding-block: var(--ank-section-space);
    padding-inline: var(--ank-gutter);
}

.ank-section-muted,
.section-muted {
    background:
        radial-gradient(circle at 12% 15%, rgb(123 213 207 / 18%), transparent 30%),
        linear-gradient(180deg, var(--ank-sky-100), var(--ank-sky-50));
}

/* ── ჰიროს ამინდი v3: ცოცხალი ამინდის ფანჯარა ──
   ვიდეო მთლიან ბარათს ფარავს; ინტერფეისი მხოლოდ აუცილებელ მონაცემებს ტოვებს. */
.hero-weather {
    position: relative;
    display: flex;
    min-height: clamp(320px, 39vh, 355px);
    flex-direction: column;
    align-items: stretch;
    justify-content: space-between;
    padding: 1.15rem;
    overflow: hidden;
    border: 1px solid rgb(255 255 255 / 18%);
    border-radius: 32px 32px 32px 14px;
    background: linear-gradient(145deg, #173843, #35535c);
    box-shadow: 0 34px 90px rgb(0 13 18 / 35%), inset 0 1px 0 rgb(255 255 255 / 12%);
    isolation: isolate;
}

.hero-weather[data-weather-theme="sun"] {
    background: linear-gradient(145deg, #7a431a, #e9a83d 130%);
}

.hero-weather[data-weather-theme="clouds"] {
    background: linear-gradient(145deg, #173843, #647985 130%);
}

.hero-weather[data-weather-theme="rain"] {
    background: linear-gradient(145deg, #102b40, #2e6c91 130%);
}

.hero-weather[data-weather-theme="wind"] {
    background: linear-gradient(145deg, #123941, #4b8c8a 130%);
}

.hero-weather-video,
.hero-weather-veil {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.hero-weather-video {
    z-index: -2;
    object-fit: cover;
    opacity: 0;
    filter: saturate(.94) contrast(1.04) brightness(.92);
    transform: scale(1.025);
    transition: opacity .7s var(--ank-ease), transform 9s linear;
}

.hero-weather.is-video-ready .hero-weather-video {
    opacity: .96;
    transform: scale(1.075);
}

.hero-weather-veil {
    z-index: -1;
    background:
        linear-gradient(180deg, rgb(2 20 27 / 28%) 0%, rgb(2 20 27 / 8%) 30%, rgb(2 20 27 / 88%) 77%, rgb(2 20 27 / 96%) 100%),
        linear-gradient(90deg, rgb(2 20 27 / 42%), transparent 66%);
    pointer-events: none;
}

.hero-weather[data-weather-theme="sun"] .hero-weather-veil {
    background:
        linear-gradient(180deg, rgb(42 22 8 / 12%) 0%, rgb(42 22 8 / 4%) 34%, rgb(29 18 10 / 82%) 76%, rgb(15 20 21 / 96%) 100%),
        linear-gradient(90deg, rgb(22 18 14 / 38%), transparent 68%);
}

.hero-weather[data-weather-theme="rain"] .hero-weather-veil {
    background:
        linear-gradient(180deg, rgb(3 20 33 / 20%) 0%, rgb(3 20 33 / 8%) 30%, rgb(3 20 33 / 90%) 76%, rgb(2 17 25 / 97%) 100%),
        linear-gradient(90deg, rgb(2 19 30 / 44%), transparent 64%);
}

.hero-weather-head,
.hero-weather-main,
.hero-weather-details {
    position: relative;
    z-index: 1;
}

.hero-weather-head {
    padding: 0;
    border: 0;
}

.hero-weather-kicker {
    color: rgb(255 255 255 / 72%);
    text-shadow: 0 2px 14px rgb(0 10 14 / 45%);
}

.hero-weather h2 {
    margin-top: .12rem;
    font-size: 1.06rem;
    text-shadow: 0 3px 18px rgb(0 10 14 / 55%);
}

.hero-weather-updated {
    color: rgb(255 255 255 / 62%);
    text-shadow: 0 2px 14px rgb(0 10 14 / 55%);
}

.hero-weather-main {
    align-items: end;
    margin-top: auto;
    padding: clamp(3.4rem, 10vh, 5.2rem) .1rem .85rem;
}

.hero-weather-primary > span {
    color: rgb(255 255 255 / 72%);
    text-shadow: 0 2px 14px rgb(0 10 14 / 45%);
}

.hero-weather-primary > strong {
    font-size: clamp(4.6rem, 6vw, 5.7rem);
    text-shadow: 0 12px 40px rgb(0 10 14 / 48%);
}

.hero-weather-primary > small {
    color: rgb(255 255 255 / 66%);
    text-shadow: 0 2px 12px rgb(0 10 14 / 55%);
}

.hero-weather-summary {
    gap: .25rem;
}

.hero-weather-symbol {
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 0;
    color: rgb(255 255 255 / 90%);
    background: transparent;
    box-shadow: none;
    filter: drop-shadow(0 8px 18px rgb(0 10 14 / 42%));
}

.hero-weather-symbol svg {
    width: 42px;
    height: 42px;
}

.hero-weather-status {
    max-width: 17ch;
    color: var(--ank-white);
    font-size: .72rem;
    text-shadow: 0 2px 14px rgb(0 10 14 / 58%);
}

.hero-weather-details {
    gap: 0;
    padding: .3rem;
    border: 1px solid rgb(255 255 255 / 13%);
    border-radius: 18px;
    background: rgb(1 19 25 / 42%);
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 7%);
    backdrop-filter: blur(16px) saturate(122%);
    -webkit-backdrop-filter: blur(16px) saturate(122%);
}

.hero-weather-detail {
    padding: .65rem .75rem;
    border: 0;
    border-radius: 13px;
    background: transparent;
    box-shadow: none;
}

.hero-weather-detail + .hero-weather-detail {
    border-left: 1px solid rgb(255 255 255 / 11%);
}

.hero-weather-detail small {
    color: rgb(255 255 255 / 58%);
}

.hero-weather-detail > svg {
    color: rgb(var(--hero-weather-accent));
}

@media (max-width: 900px) {
    .hero-weather {
        min-height: 340px;
    }
}

@media (max-width: 560px) {
    .hero-weather {
        min-height: 330px;
        padding: 1rem;
        border-radius: 26px 26px 26px 12px;
    }

    .hero-weather-main {
        padding-top: 4.3rem;
    }

    .hero-weather-primary > strong {
        font-size: 4.65rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero-weather-video {
        display: none;
    }
}

.ank-eyebrow,
.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    width: fit-content;
    margin-bottom: 1rem;
    padding: .5rem .85rem;
    border-radius: var(--ank-radius-pill);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .01em;
}

.ank-eyebrow {
    color: var(--ank-ocean-700);
    background: var(--ank-ocean-50);
    border: 1px solid var(--ank-ocean-200);
}

.hero-badge {
    color: var(--ank-ocean-200);
    background: rgb(123 213 207 / 10%);
    border: 1px solid rgb(123 213 207 / 26%);
}

.ank-eyebrow::before,
.hero-badge::before {
    width: .45rem;
    height: .45rem;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 0 .3rem rgb(123 213 207 / 10%);
    content: "";
}

.ank-section-title,
.section-title {
    max-width: 18ch;
    color: var(--ank-ink);
    font-family: var(--ank-font-display);
    font-size: clamp(1.85rem, 3.4vw, 3rem);
    font-weight: 800;
    line-height: var(--ank-leading-tight);
    letter-spacing: -.035em;
}

.ank-section-subtitle,
.section-subtitle {
    max-width: 640px;
    margin-top: .9rem;
    margin-bottom: clamp(2rem, 4vw, 3rem);
    color: var(--ank-muted);
    font-size: clamp(.95rem, 1.4vw, 1.08rem);
}

/* ღილაკები */
.ank-btn,
.btn-primary,
.btn-outline {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    padding: .78rem 1.25rem;
    border: 1px solid transparent;
    border-radius: var(--ank-radius-sm);
    font-size: .92rem;
    font-weight: 750;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition:
        color .25s ease,
        background-color .25s ease,
        border-color .25s ease,
        box-shadow .25s ease,
        transform .25s var(--ank-ease);
}

.ank-btn-primary,
.btn-primary {
    color: var(--ank-white);
    background: var(--ank-ocean-600);
    border-color: var(--ank-ocean-600);
    box-shadow: 0 10px 28px rgb(11 127 127 / 25%);
}

.ank-btn-primary:hover,
.btn-primary:hover {
    color: var(--ank-white);
    background: var(--ank-ocean-700);
    border-color: var(--ank-ocean-700);
    box-shadow: 0 14px 34px rgb(11 127 127 / 32%);
    transform: translateY(-2px);
}

.ank-btn-outline,
.btn-outline {
    color: var(--ank-ocean-700);
    background: rgb(255 255 255 / 55%);
    border-color: rgb(12 102 104 / 32%);
}

.ank-btn-outline:hover,
.btn-outline:hover {
    color: var(--ank-navy-950);
    background: var(--ank-ocean-50);
    border-color: var(--ank-ocean-500);
    transform: translateY(-2px);
}

/* ქარდები */
.ank-card,
.attr-card {
    position: relative;
    overflow: hidden;
    padding: clamp(1.25rem, 2.5vw, 1.75rem);
    border: 1px solid var(--ank-border);
    border-radius: var(--ank-radius-md);
    background: var(--ank-surface);
    box-shadow: var(--ank-shadow-sm);
    transition:
        border-color .3s ease,
        box-shadow .3s ease,
        transform .3s var(--ank-ease);
}

.ank-card:hover,
.attr-card:hover {
    border-color: var(--ank-ocean-200);
    box-shadow: var(--ank-shadow-hover);
    transform: translateY(-5px);
}

.ank-card-compact {
    padding: 1.15rem;
}

.ank-card h3,
.ank-card h4,
.attr-card h4 {
    color: var(--ank-ink);
    font-weight: 750;
    line-height: 1.35;
}

.ank-card p,
.attr-card p {
    color: var(--ank-muted);
}

.ank-icon-box,
.attr-icon {
    display: grid;
    width: 40px;
    height: 40px;
    margin-bottom: 1rem;
    place-items: center;
    border: 0;
    border-radius: 12px;
    color: var(--ank-ocean-700);
    background: var(--ank-ocean-50);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .08em;
}

.attr-icon {
    width: 48px;
    height: 48px;
    margin-bottom: 1.25rem;
    border: 1px solid var(--ank-ocean-100);
    border-radius: 15px;
    color: var(--ank-ocean-700);
    background: linear-gradient(145deg, var(--ank-ocean-50), var(--ank-sky-50));
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 80%);
    transition: color .25s ease, background .25s ease, border-color .25s ease, transform .3s var(--ank-ease);
}

.attr-icon svg {
    width: 24px;
    height: 24px;
    stroke-width: 1.75;
    vector-effect: non-scaling-stroke;
}

.attr-card:hover .attr-icon {
    color: var(--ank-ocean-800);
    background: var(--ank-ocean-100);
    border-color: var(--ank-ocean-200);
    transform: translateY(-2px);
}

/* ჰედერი — /baghebi და /xelovneba საიტების sticky/blur პრინციპი */
.ank-header {
    position: sticky;
    z-index: 1200;
    top: 0;
    color: var(--ank-white);
    background: linear-gradient(105deg, rgb(6 37 45 / 90%), rgb(12 82 87 / 88%), rgb(6 37 45 / 90%));
    border-bottom: 2px solid rgb(66 187 182 / 72%);
    box-shadow: 0 4px 20px rgb(2 22 27 / 20%);
    backdrop-filter: blur(22px) saturate(125%);
    -webkit-backdrop-filter: blur(22px) saturate(125%);
    transition: background .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.ank-header.scrolled {
    background: linear-gradient(105deg, rgb(6 37 45 / 98%), rgb(10 70 76 / 98%), rgb(6 37 45 / 98%));
    border-bottom-color: var(--ank-ocean-400);
    box-shadow: 0 8px 28px rgb(2 22 27 / 38%);
}

.ank-header-inner {
    display: flex;
    width: min(calc(100% - 32px), 1480px);
    min-height: 70px;
    align-items: center;
    gap: clamp(.75rem, 1.5vw, 1.4rem);
    margin-inline: auto;
}

.ank-header-brand {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .7rem;
    border-radius: 10px;
    color: var(--ank-white);
    text-decoration: none;
}

.ank-brand-mark {
    display: grid;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    place-items: center;
    border: 1px solid rgb(255 255 255 / 15%);
    border-radius: 11px;
    color: var(--ank-navy-950);
    background: var(--ank-white);
    font-family: var(--ank-font-sans);
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: -.02em;
    box-shadow: 0 6px 18px rgb(0 15 19 / 22%);
}

.ank-brand-copy {
    display: grid;
    line-height: 1.15;
}

.ank-brand-copy strong {
    color: var(--ank-white);
    font-family: var(--ank-font-sans);
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .01em;
}

.ank-brand-copy small {
    margin-top: .27rem;
    color: var(--ank-sun-400);
    font-size: .63rem;
    font-weight: 700;
    letter-spacing: .01em;
}

.ank-header-nav {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: flex-end;
    gap: .08rem;
    margin-left: auto;
}

.ank-header-nav a {
    padding: .55rem .55rem;
    border-radius: 8px;
    color: rgb(255 255 255 / 70%);
    font-size: clamp(.7rem, .67vw, .77rem);
    font-weight: 650;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    transition: color .2s ease, background-color .2s ease;
}

.ank-header-nav a:hover,
.ank-header-nav a:focus-visible {
    color: var(--ank-white);
    background: rgb(255 255 255 / 9%);
}

.ank-header-actions {
    display: flex;
    flex: 0 0 auto;
    gap: .45rem;
}

.ank-header-btn {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    padding: .55rem .75rem;
    border: 1px solid transparent;
    border-radius: 8px;
    font-size: .75rem;
    font-weight: 750;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.ank-header-btn:hover {
    transform: translateY(-1px);
}

.ank-header-btn-outline {
    color: rgb(255 255 255 / 72%);
    background: transparent;
    border-color: rgb(255 255 255 / 18%);
}

.ank-header-btn-outline:hover {
    color: var(--ank-white);
    border-color: rgb(123 213 207 / 62%);
    background: rgb(255 255 255 / 6%);
}

.ank-header-btn-primary {
    color: #4d3905;
    background: var(--ank-sun-400);
    border-color: var(--ank-sun-400);
}

.ank-header-btn-primary:hover {
    color: #3e2d02;
    background: var(--ank-sun-300);
    border-color: var(--ank-sun-300);
}

.ank-burger {
    display: none;
    flex: 0 0 auto;
    flex-direction: column;
    gap: 5px;
    margin-left: auto;
    padding: .55rem;
    border: 0;
    border-radius: 8px;
    color: inherit;
    background: transparent;
    cursor: pointer;
}

.ank-burger span {
    display: block;
    width: 23px;
    height: 2px;
    border-radius: 2px;
    background: rgb(255 255 255 / 88%);
    transition: transform .3s ease, opacity .2s ease;
}

.ank-burger.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ank-burger.active span:nth-child(2) { opacity: 0; }
.ank-burger.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.ank-mobile-menu {
    position: fixed;
    z-index: 1400;
    inset: 0;
    display: none;
    flex-direction: column;
    overflow: hidden;
    color: var(--ank-white);
    background:
        radial-gradient(circle at 85% 5%, rgb(66 187 182 / 20%), transparent 32%),
        linear-gradient(155deg, rgb(6 37 45 / 99%), rgb(3 24 30 / 99%));
}

.ank-mobile-menu.open {
    display: flex;
    animation: ank-menu-in .24s ease;
}

@keyframes ank-menu-in {
    from { opacity: 0; transform: scale(1.025); }
    to { opacity: 1; transform: none; }
}

.ank-mobile-menu-top {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    border-bottom: 1px solid rgb(255 255 255 / 8%);
}

.ank-mobile-close {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid rgb(255 255 255 / 14%);
    border-radius: 50%;
    color: rgb(255 255 255 / 82%);
    background: rgb(255 255 255 / 7%);
    font-size: 1.55rem;
    line-height: 1;
    cursor: pointer;
}

.ank-mobile-nav {
    display: flex;
    width: min(100%, 390px);
    flex: 1;
    flex-direction: column;
    gap: .5rem;
    margin-inline: auto;
    overflow-y: auto;
    padding: 1.25rem 1rem calc(1.5rem + env(safe-area-inset-bottom));
}

.ank-mobile-nav a {
    display: flex;
    min-height: 48px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    padding: .8rem 1rem;
    border: 1px solid rgb(255 255 255 / 8%);
    border-radius: 12px;
    color: rgb(255 255 255 / 78%);
    background: rgb(255 255 255 / 3%);
    font-size: .92rem;
    font-weight: 650;
    text-decoration: none;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}

.ank-mobile-nav a:hover,
.ank-mobile-nav a:focus-visible {
    color: var(--ank-white);
    background: rgb(66 187 182 / 14%);
    border-color: rgb(123 213 207 / 24%);
}

.ank-mobile-nav .ank-mobile-outline {
    margin-top: .35rem;
    border-color: rgb(255 255 255 / 18%);
}

.ank-mobile-nav .ank-mobile-primary {
    justify-content: center;
    color: #4d3905;
    background: var(--ank-sun-400);
    border-color: var(--ank-sun-400);
}

.ank-mobile-nav .ank-mobile-primary:hover,
.ank-mobile-nav .ank-mobile-primary:focus-visible {
    color: #3e2d02;
    background: var(--ank-sun-300);
    border-color: var(--ank-sun-300);
}

.ank-menu-open {
    overflow: hidden;
}

.ank-anchor-target {
    position: relative;
    top: -86px;
    display: block;
    width: 0;
    height: 0;
    visibility: hidden;
}

.ank-header-brand:focus-visible,
.ank-header-nav a:focus-visible,
.ank-header-btn:focus-visible,
.ank-burger:focus-visible,
.ank-mobile-close:focus-visible {
    outline: 2px solid var(--ank-ocean-300);
    outline-offset: 3px;
}

/* ორგანიზაციის ჰედერი — Smart Zugdidi-ის ა(ა)იპ-ების ერთიანი პატერნი */
.ank-header {
    background: linear-gradient(100deg, rgb(18 57 54 / 94%), rgb(28 83 78 / 92%) 56%, rgb(18 57 54 / 94%));
    border-bottom: 3px solid rgb(59 190 177 / 82%);
    box-shadow: 0 4px 20px rgb(4 30 29 / 24%);
}

.ank-header.scrolled {
    background: linear-gradient(100deg, rgb(14 48 45 / 99%), rgb(22 72 68 / 99%) 56%, rgb(14 48 45 / 99%));
    box-shadow: 0 7px 28px rgb(4 30 29 / 42%);
}

.ank-header-inner {
    width: min(calc(100% - 40px), 1600px);
    min-height: 76px;
    gap: 12px;
    padding-block: 8px;
}

.ank-platform-logo {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    border-radius: 8px;
    text-decoration: none;
}

.ank-platform-logo img {
    display: block;
    width: auto;
    height: 48px;
    opacity: .92;
    filter: brightness(0) invert(1);
    transition: opacity .2s ease;
}

.ank-platform-logo:hover img {
    opacity: 1;
}

.ank-header-divider {
    width: 1px;
    height: 34px;
    flex: 0 0 1px;
    background: rgb(129 230 218 / 28%);
}

.ank-organization {
    display: inline-flex;
    min-width: 180px;
    flex: 1 1 430px;
    align-items: center;
    gap: 8px;
    overflow: hidden;
    border-radius: 8px;
    color: var(--ank-ocean-200);
    font-size: clamp(.72rem, .82vw, .9rem);
    font-weight: 760;
    line-height: 1.25;
    text-decoration: none;
    transition: color .2s ease;
}

.ank-organization:hover {
    color: var(--ank-ocean-100);
}

.ank-organization span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ank-organization-icon {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
}

.ank-header-nav {
    flex: 0 0 auto;
    gap: 3px;
    margin-left: auto;
}

.ank-header-nav .ank-nav-link,
.ank-dropdown-toggle {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    gap: 7px;
    padding: 8px 11px;
    border: 0;
    border-radius: 10px;
    color: rgb(255 255 255 / 66%);
    background: transparent;
    font-family: inherit;
    font-size: .78rem;
    font-weight: 680;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: color .2s ease, background-color .2s ease;
}

.ank-header-nav .ank-nav-link:hover,
.ank-header-nav .ank-nav-link:focus-visible,
.ank-dropdown-toggle:hover,
.ank-header-dropdown.is-open .ank-dropdown-toggle {
    color: var(--ank-white);
    background: rgb(255 255 255 / 9%);
}

.ank-header-nav .ank-nav-link.is-active {
    color: var(--ank-ocean-100);
    background: rgb(64 177 166 / 20%);
}

.ank-nav-link > svg,
.ank-dropdown-toggle > svg:not(.ank-dropdown-chevron) {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    opacity: .85;
}

.ank-header-dropdown {
    position: relative;
}

.ank-dropdown-chevron {
    width: 11px;
    height: 8px;
    flex: 0 0 11px;
    margin-left: 2px;
    transition: transform .22s ease;
}

.ank-header-dropdown.is-open .ank-dropdown-chevron {
    transform: rotate(180deg);
}

.ank-dropdown-menu {
    position: absolute;
    z-index: 30;
    top: calc(100% + 9px);
    right: 0;
    display: grid;
    min-width: 236px;
    gap: 2px;
    padding: 8px;
    border: 1px solid rgb(129 230 218 / 18%);
    border-radius: 14px;
    opacity: 0;
    background: rgb(12 48 46 / 97%);
    box-shadow: 0 18px 48px rgb(0 20 20 / 45%);
    pointer-events: none;
    transform: translateY(-7px);
    backdrop-filter: blur(22px) saturate(120%);
    -webkit-backdrop-filter: blur(22px) saturate(120%);
    transition: opacity .2s ease, transform .2s ease;
}

.ank-header-dropdown:first-of-type .ank-dropdown-menu {
    right: auto;
    left: 0;
}

.ank-header-dropdown.is-open .ank-dropdown-menu {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.ank-header-nav .ank-dropdown-menu a {
    position: relative;
    display: flex;
    align-items: center;
    padding: 10px 12px 10px 28px;
    border-radius: 9px;
    color: rgb(255 255 255 / 75%);
    font-size: .78rem;
    font-weight: 620;
    text-decoration: none;
    white-space: nowrap;
    transition: color .18s ease, background-color .18s ease;
}

.ank-header-nav .ank-dropdown-menu a::before {
    position: absolute;
    left: 12px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--ank-ocean-300);
    content: "";
    box-shadow: 0 0 0 4px rgb(123 213 207 / 8%);
}

.ank-header-nav .ank-dropdown-menu a:hover,
.ank-header-nav .ank-dropdown-menu a:focus-visible {
    color: var(--ank-white);
    background: rgb(64 177 166 / 20%);
}

.ank-header-actions {
    margin-left: 6px;
}

.ank-header-btn-primary {
    min-height: 42px;
    gap: 7px;
    padding-inline: 15px;
    border-radius: 10px;
    color: #594107;
    box-shadow: 0 7px 20px rgb(255 201 74 / 12%);
}

.ank-header-btn-primary svg {
    width: 17px;
    height: 17px;
}

.ank-mobile-identity {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 10px;
}

.ank-mobile-identity .ank-platform-logo img {
    height: 40px;
}

.ank-mobile-identity .ank-header-divider {
    height: 30px;
}

.ank-mobile-identity .ank-organization {
    min-width: 0;
    flex-basis: auto;
    font-size: .72rem;
}

.ank-mobile-nav-label {
    margin: .6rem .25rem -.15rem;
    color: var(--ank-ocean-200);
    font-size: .65rem;
    font-weight: 750;
    letter-spacing: .06em;
}

.ank-mobile-nav a.is-active {
    color: var(--ank-ocean-100);
    background: rgb(64 177 166 / 16%);
    border-color: rgb(123 213 207 / 22%);
}

.ank-platform-logo:focus-visible,
.ank-organization:focus-visible,
.ank-dropdown-toggle:focus-visible {
    outline: 2px solid var(--ank-ocean-300);
    outline-offset: 3px;
}

@media (max-width: 1320px) and (min-width: 1161px) {
    .ank-header-inner {
        gap: 9px;
    }

    .ank-organization {
        flex-basis: 280px;
        font-size: .72rem;
    }

    .ank-header-nav .ank-nav-link,
    .ank-dropdown-toggle {
        gap: 5px;
        padding-inline: 8px;
        font-size: .72rem;
    }

    .ank-header-btn-primary {
        padding-inline: 12px;
    }
}

@media (max-width: 640px) {
    .ank-header-inner {
        width: calc(100% - 28px);
    }

    .ank-platform-logo img {
        height: 40px;
    }

    .ank-header-inner > .ank-header-divider {
        display: none;
    }

    .ank-header-inner > .ank-organization,
    .ank-mobile-identity .ank-organization {
        display: inline-flex;
        min-width: 0;
        flex: 1 1 auto;
        font-size: .62rem;
    }

    .ank-header-inner > .ank-organization span,
    .ank-mobile-identity .ank-organization span {
        display: -webkit-box;
        overflow: hidden;
        line-height: 1.35;
        white-space: normal;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }
}

@media (max-width: 430px) {
    .ank-mobile-identity .ank-header-divider {
        display: none;
    }
}

/* Hero — ბაღების საიტის კომპოზიციური პრინციპი, ანაკლიის ხასიათით */
.hero {
    position: relative;
    isolation: isolate;
    display: flex;
    min-height: clamp(700px, calc(100svh - 78px), 900px);
    align-items: stretch;
    overflow: hidden;
    border-radius: 0 0 clamp(24px, 4vw, 44px) clamp(24px, 4vw, 44px);
    color: var(--ank-white);
    background: var(--ank-navy-950);
}

.hero::before {
    position: absolute;
    z-index: -2;
    inset: 0;
    background:
        linear-gradient(90deg, rgb(3 25 32 / 97%) 0%, rgb(4 39 48 / 88%) 44%, rgb(5 45 53 / 57%) 72%, rgb(3 25 32 / 52%) 100%),
        linear-gradient(0deg, rgb(3 25 32 / 70%) 0%, transparent 52%),
        url("../../images/bridge.jpg") center / cover no-repeat;
    transform: scale(1.01);
    content: "";
}

.hero::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    background:
        radial-gradient(circle at 72% 26%, rgb(123 213 207 / 13%), transparent 28%),
        linear-gradient(180deg, rgb(6 37 45 / 8%), rgb(6 37 45 / 24%));
    content: "";
    pointer-events: none;
}

.hero-inner {
    position: relative;
    z-index: 1;
    display: grid;
    width: min(100% - (var(--ank-gutter) * 2), var(--ank-container));
    grid-template-columns: minmax(0, 1fr) minmax(370px, 440px);
    grid-template-rows: 1fr auto;
    align-items: center;
    column-gap: clamp(2rem, 5vw, 4.5rem);
    row-gap: 1.5rem;
    margin-inline: auto;
    padding-block: clamp(5.25rem, 9vh, 7.5rem) clamp(1.75rem, 4vh, 3rem);
}

.hero-copy {
    max-width: 760px;
}

.hero-badge {
    margin-bottom: 1.35rem;
    color: var(--ank-ocean-200);
    background: rgb(8 58 68 / 44%);
    border-color: rgb(175 232 227 / 26%);
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 7%);
    backdrop-filter: blur(14px);
}

.hero-badge::before {
    animation: ank-hero-pulse 2.2s ease-out infinite;
}

@keyframes ank-hero-pulse {
    0%, 35% { box-shadow: 0 0 0 0 rgb(123 213 207 / 42%); }
    75%, 100% { box-shadow: 0 0 0 .55rem rgb(123 213 207 / 0%); }
}

.hero h1 {
    max-width: 9.8ch;
    margin-bottom: 1.35rem;
    color: var(--ank-white);
    font-family: var(--ank-font-display);
    font-size: clamp(3.7rem, 7vw, 7rem);
    font-weight: 900;
    line-height: .96;
    letter-spacing: -.062em;
    text-wrap: balance;
    text-shadow: 0 8px 40px rgb(0 12 17 / 25%);
}

.hero h1 span,
.hero h1 em {
    display: block;
}

.hero h1 em {
    color: var(--ank-ocean-300);
    font-style: normal;
}

.hero-desc {
    max-width: 650px;
    margin-bottom: 1.9rem;
    color: rgb(255 255 255 / 76%);
    font-size: clamp(1rem, 1.4vw, 1.14rem);
    line-height: 1.72;
    text-wrap: pretty;
}

.hero-btns {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

.hero .ank-btn {
    min-height: 50px;
    padding-inline: 1.2rem;
}

.hero .ank-btn-primary {
    box-shadow: 0 14px 34px rgb(11 127 127 / 28%);
}

.hero .ank-btn-outline,
.hero .btn-outline {
    color: var(--ank-white);
    background: rgb(255 255 255 / 6%);
    border-color: rgb(255 255 255 / 24%);
    backdrop-filter: blur(12px);
}

.hero .ank-btn-outline:hover,
.hero .btn-outline:hover {
    color: var(--ank-white);
    background: rgb(255 255 255 / 12%);
    border-color: var(--ank-ocean-300);
}

.hero-side {
    position: relative;
    width: 100%;
    align-self: center;
}

.hero-photo {
    position: relative;
    height: clamp(300px, 38vh, 350px);
    overflow: hidden;
    border: 1px solid rgb(255 255 255 / 18%);
    border-radius: 28px;
    background: var(--ank-navy-900);
    box-shadow: 0 32px 76px rgb(0 17 22 / 34%), inset 0 1px 0 rgb(255 255 255 / 9%);
}

.hero-photo::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 38%, rgb(3 25 32 / 88%) 100%);
    content: "";
    pointer-events: none;
}

.hero-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .8s var(--ank-ease);
}

.hero-photo:hover img {
    transform: scale(1.025);
}

.hero-photo figcaption {
    position: absolute;
    z-index: 1;
    right: 1.15rem;
    bottom: 5.6rem;
    left: 1.15rem;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    color: var(--ank-white);
}

.hero-photo figcaption span {
    color: rgb(255 255 255 / 62%);
    font-size: .66rem;
    font-weight: 650;
}

.hero-photo figcaption strong {
    font-size: .78rem;
    font-weight: 750;
    text-align: right;
}

.hero-weather {
    --hero-weather-accent: 123 213 207;
    position: relative;
    z-index: 2;
    display: flex;
    width: 100%;
    min-height: clamp(330px, 38vh, 360px);
    align-items: flex-end;
    margin: 0;
    padding: 6.4rem 1.35rem 1.3rem;
    overflow: hidden;
    border: 1px solid rgb(255 255 255 / 16%);
    border-radius: 24px;
    background:
        linear-gradient(135deg, rgb(4 31 39 / 88%), rgb(7 53 62 / 76%)),
        url("../../images/sunset.png") center / cover no-repeat;
    box-shadow:
        0 28px 70px rgb(0 18 23 / 30%),
        0 12px 44px rgb(var(--hero-weather-accent) / 10%),
        inset 0 1px 0 rgb(255 255 255 / 10%);
    isolation: isolate;
    transition: border-color .5s var(--ank-ease), box-shadow .5s var(--ank-ease);
}

.hero-weather[data-weather-theme="sun"] {
    --hero-weather-accent: 244 190 82;
}

.hero-weather[data-weather-theme="clouds"] {
    --hero-weather-accent: 142 201 207;
}

.hero-weather[data-weather-theme="rain"] {
    --hero-weather-accent: 93 177 218;
}

.hero-weather[data-weather-theme="wind"] {
    --hero-weather-accent: 170 215 217;
}

.hero-weather-video,
.hero-weather-veil {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.hero-weather-video {
    z-index: -2;
    object-fit: cover;
    opacity: 0;
    filter: saturate(.84) contrast(1.06);
    transform: scale(1.045);
    transition: opacity .9s var(--ank-ease), transform 8s linear;
}

.hero-weather.is-video-ready .hero-weather-video {
    opacity: .9;
    transform: scale(1.09);
}

.hero-weather-veil {
    z-index: -1;
    background:
        linear-gradient(112deg, rgb(3 27 34 / 94%) 4%, rgb(4 38 47 / 82%) 52%, rgb(var(--hero-weather-accent) / 32%) 120%),
        radial-gradient(circle at 86% 14%, rgb(var(--hero-weather-accent) / 25%), transparent 44%);
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 9%);
}

.hero-weather-content {
    position: relative;
    z-index: 1;
    width: 100%;
}

.hero-weather-head,
.hero-weather-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.hero-weather-kicker {
    display: block;
    margin-bottom: .12rem;
    color: var(--ank-ocean-200);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .04em;
}

.hero-weather h2 {
    color: var(--ank-white);
    font-size: 1.12rem;
    font-weight: 800;
    letter-spacing: -.02em;
}

.hero-weather-status {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: rgb(255 255 255 / 64%);
    font-size: .68rem;
    font-weight: 650;
    text-align: right;
}

.hero-weather-status::before {
    width: .42rem;
    height: .42rem;
    flex: 0 0 .42rem;
    border-radius: 50%;
    background: rgb(var(--hero-weather-accent));
    box-shadow: 0 0 0 .25rem rgb(var(--hero-weather-accent) / 13%);
    content: "";
}

.hero-weather-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-block: 1.2rem .9rem;
    overflow: hidden;
    border: 1px solid rgb(255 255 255 / 11%);
    border-radius: 16px;
    background: rgb(3 27 34 / 35%);
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 5%);
    backdrop-filter: blur(10px) saturate(110%);
}

.hero-weather-metric {
    display: grid;
    grid-template-columns: 24px 1fr;
    column-gap: .55rem;
    padding: .9rem .8rem;
}

.hero-weather-metric + .hero-weather-metric {
    border-left: 1px solid rgb(255 255 255 / 10%);
}

.hero-weather-metric svg {
    width: 22px;
    height: 22px;
    grid-row: 1 / 4;
    color: rgb(var(--hero-weather-accent));
}

.hero-weather-metric span {
    color: rgb(255 255 255 / 62%);
    font-size: .7rem;
    font-weight: 650;
}

.hero-weather-metric strong {
    margin-top: .12rem;
    color: var(--ank-white);
    font-size: clamp(1.45rem, 2.4vw, 2rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -.045em;
}

.hero-weather-metric small {
    margin-top: .16rem;
    color: rgb(255 255 255 / 46%);
    font-size: .62rem;
}

.hero-weather-foot {
    color: rgb(255 255 255 / 46%);
    font-size: .64rem;
}

.hero-weather-wind {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.hero-weather-wind svg {
    width: 15px;
    height: 15px;
    color: rgb(var(--hero-weather-accent));
}

.hero-facts {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: 160px minmax(0, 1fr);
    align-items: stretch;
    overflow: hidden;
    border: 1px solid rgb(255 255 255 / 13%);
    border-radius: 20px;
    background: rgb(5 36 44 / 68%);
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 6%);
    backdrop-filter: blur(18px);
}

.hero-facts-label {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1rem 1.15rem;
    border-right: 1px solid rgb(255 255 255 / 10%);
}

.hero-facts-label span {
    color: var(--ank-white);
    font-size: .76rem;
    font-weight: 750;
}

.hero-facts-label a {
    width: fit-content;
    margin-top: .15rem;
    color: var(--ank-ocean-200);
    font-size: .64rem;
    text-decoration-color: rgb(175 232 227 / 42%);
    text-underline-offset: 3px;
}

.hero-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.hero-stat {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    padding: .9rem 1rem;
}

.hero-stat + .hero-stat {
    border-left: 1px solid rgb(255 255 255 / 9%);
}

.hero-stat strong {
    color: var(--ank-ocean-200);
    font-size: clamp(1.08rem, 1.7vw, 1.38rem);
    font-weight: 850;
    line-height: 1.15;
    letter-spacing: -.035em;
    white-space: nowrap;
}

.hero-stat strong small {
    font-size: .64em;
    font-weight: 700;
    letter-spacing: 0;
}

.hero-stat span {
    margin-top: .18rem;
    overflow: hidden;
    color: rgb(255 255 255 / 53%);
    font-size: .65rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ank-fact-sources {
    max-width: 920px;
    margin-top: 1.35rem;
    color: var(--ank-muted);
    font-size: .72rem;
    line-height: 1.7;
}

.ank-fact-sources a {
    color: var(--ank-ocean-700);
    font-weight: 650;
    text-decoration-color: var(--ank-ocean-200);
    text-underline-offset: 3px;
}

/* მიმდინარე გვერდის სექციები */
.about-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .95fr);
    align-items: center;
    gap: clamp(2rem, 6vw, 5rem);
}

.about-text h3 {
    margin-bottom: 1rem;
    color: var(--ank-ink);
    font-size: clamp(1.5rem, 2.8vw, 2.3rem);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -.025em;
}

.about-text p {
    margin-bottom: .85rem;
    color: var(--ank-muted);
    font-size: .95rem;
}

.about-img {
    position: relative;
    overflow: hidden;
    border-radius: var(--ank-radius-lg);
    box-shadow: var(--ank-shadow-md);
}

.about-img::after {
    position: absolute;
    inset: 0;
    border: 1px solid rgb(255 255 255 / 35%);
    border-radius: inherit;
    content: "";
    pointer-events: none;
}

.about-img img {
    width: 100%;
    height: 420px;
    object-fit: cover;
}

.attr-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.15rem;
}

.attr-card::before {
    display: none;
}

.attr-card h4 {
    margin-bottom: .5rem;
    font-size: 1rem;
}

.attr-card p {
    font-size: .86rem;
    line-height: 1.68;
}

/* ლაივ კამერა — რეალური embed/HLS და ვიზუალურად სრულფასოვანი დემო ერთ ჩარჩოში. */
.ank-live-section {
    overflow: hidden;
    background:
        radial-gradient(circle at 88% 12%, rgb(87 194 190 / 12%), transparent 26rem),
        linear-gradient(180deg, var(--ank-white), #f5fbfa);
}

.ank-live-section .ank-section-subtitle {
    margin-bottom: clamp(1.6rem, 3vw, 2.4rem);
}

.ank-live-stage {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border: 1px solid rgb(255 255 255 / 16%);
    border-radius: clamp(22px, 3vw, 34px);
    color: var(--ank-white);
    background: var(--ank-navy-950);
    box-shadow:
        0 34px 90px rgb(4 35 42 / 24%),
        inset 0 1px 0 rgb(255 255 255 / 10%);
    isolation: isolate;
}

.ank-live-media,
.ank-live-media video,
.ank-live-media iframe,
.ank-live-shade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.ank-live-media {
    z-index: -2;
    background: var(--ank-navy-950);
}

.ank-live-media video,
.ank-live-media iframe {
    display: block;
    border: 0;
    object-fit: cover;
}

.ank-live-stage.is-demo .ank-live-media video {
    filter: saturate(.9) contrast(1.05) brightness(.9);
    transform: scale(1.025);
    animation: ank-live-drift 18s ease-in-out infinite alternate;
}

.ank-live-shade {
    z-index: -1;
    background:
        linear-gradient(180deg, rgb(2 20 27 / 48%) 0%, transparent 32%, rgb(2 20 27 / 16%) 56%, rgb(2 20 27 / 92%) 100%),
        linear-gradient(90deg, rgb(2 20 27 / 36%), transparent 60%);
    pointer-events: none;
}

.ank-live-stage.is-live .ank-live-shade {
    background:
        linear-gradient(180deg, rgb(2 20 27 / 42%) 0%, transparent 28%, transparent 68%, rgb(2 20 27 / 88%) 100%),
        linear-gradient(90deg, rgb(2 20 27 / 28%), transparent 54%);
}

.ank-live-stage.is-demo::after {
    position: absolute;
    z-index: 1;
    top: -15%;
    left: 0;
    width: 100%;
    height: 22%;
    background: linear-gradient(180deg, transparent, rgb(164 232 226 / 7%), transparent);
    content: "";
    pointer-events: none;
    animation: ank-live-scan 8s linear infinite;
}

.ank-live-topbar,
.ank-live-caption {
    position: absolute;
    z-index: 3;
    right: clamp(1rem, 2.5vw, 2rem);
    left: clamp(1rem, 2.5vw, 2rem);
    display: flex;
    pointer-events: none;
}

.ank-live-topbar {
    top: clamp(1rem, 2.5vw, 2rem);
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.ank-live-badge,
.ank-live-mode {
    display: inline-flex;
    align-items: center;
    border: 1px solid rgb(255 255 255 / 14%);
    border-radius: var(--ank-radius-pill);
    background: rgb(3 26 33 / 54%);
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 8%);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .04em;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.ank-live-badge {
    gap: .5rem;
    padding: .58rem .76rem;
}

.ank-live-badge i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #ff5b5b;
    box-shadow: 0 0 0 .28rem rgb(255 91 91 / 15%);
    animation: ank-live-pulse 1.8s ease-out infinite;
}

.ank-live-mode {
    padding: .58rem .78rem;
    color: rgb(255 255 255 / 72%);
}

.ank-live-caption {
    bottom: clamp(1rem, 2.7vw, 2.2rem);
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
}

.ank-live-caption > div:first-child {
    max-width: 760px;
}

.ank-live-location {
    display: inline-flex;
    align-items: center;
    gap: .48rem;
    margin-bottom: .55rem;
    color: rgb(255 255 255 / 68%);
    font-size: .72rem;
    font-weight: 700;
}

.ank-live-location-icon,
.ank-live-clock-icon {
    color: var(--ank-ocean-200);
}

.ank-live-caption h3 {
    max-width: 22ch;
    margin: 0;
    color: var(--ank-white);
    font-size: clamp(1.35rem, 3vw, 2.65rem);
    font-weight: 850;
    line-height: 1.13;
    letter-spacing: -.035em;
    text-shadow: 0 8px 32px rgb(0 10 14 / 48%);
}

.ank-live-caption p {
    max-width: 62ch;
    margin: .72rem 0 0;
    color: rgb(255 255 255 / 65%);
    font-size: .82rem;
    line-height: 1.6;
}

.ank-live-clock {
    display: grid;
    min-width: 142px;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: .12rem .55rem;
    padding: .72rem .9rem;
    border: 1px solid rgb(255 255 255 / 13%);
    border-radius: 16px;
    background: rgb(3 26 33 / 48%);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.ank-live-clock-icon {
    grid-row: 1 / 3;
}

.ank-live-clock span {
    color: rgb(255 255 255 / 48%);
    font-size: .59rem;
    font-weight: 650;
}

.ank-live-clock strong {
    color: var(--ank-white);
    font-size: .92rem;
    font-weight: 800;
}

.ank-live-stream-status {
    position: absolute;
    z-index: 4;
    right: clamp(1rem, 2.5vw, 2rem);
    bottom: clamp(5.4rem, 9vw, 7.2rem);
    margin: 0;
    padding: .45rem .65rem;
    border-radius: var(--ank-radius-pill);
    color: rgb(255 255 255 / 74%);
    background: rgb(3 26 33 / 56%);
    font-size: .64rem;
    backdrop-filter: blur(12px);
}

.ank-live-stream-status.is-error { color: #ffd0d0; }

@keyframes ank-live-drift {
    from { transform: scale(1.025) translate3d(-.3%, 0, 0); }
    to { transform: scale(1.065) translate3d(.3%, -.25%, 0); }
}

@keyframes ank-live-scan {
    from { transform: translateY(-10%); }
    to { transform: translateY(600%); }
}

@keyframes ank-live-pulse {
    0%, 30% { box-shadow: 0 0 0 .12rem rgb(255 91 91 / 24%); }
    85%, 100% { box-shadow: 0 0 0 .62rem rgb(255 91 91 / 0%); }
}

@media (max-width: 640px) {
    .ank-live-section {
        padding-block: 1.4rem 1.65rem;
    }

    .ank-live-section .ank-eyebrow {
        margin-bottom: .6rem;
    }

    .ank-live-section .ank-section-title {
        font-size: clamp(1.6rem, 7vw, 2rem);
        line-height: 1.08;
    }

    .ank-live-section .ank-section-subtitle {
        max-width: 38ch;
        margin-bottom: .8rem;
        font-size: .74rem;
        line-height: 1.42;
    }

    .ank-live-stage {
        height: clamp(158px, 44vw, 182px);
        aspect-ratio: auto;
        border-radius: 17px;
        box-shadow: 0 18px 46px rgb(4 35 42 / 19%);
    }

    .ank-live-topbar {
        top: .75rem;
        right: .75rem;
        left: .75rem;
    }

    .ank-live-badge,
    .ank-live-mode {
        padding: .4rem .52rem;
        font-size: .56rem;
    }

    .ank-live-badge i {
        width: 6px;
        height: 6px;
    }

    .ank-live-caption {
        right: .85rem;
        bottom: .72rem;
        left: .85rem;
    }

    .ank-live-location {
        margin-bottom: .28rem;
        font-size: .56rem;
    }

    .ank-live-location-icon { width: 13px; height: 13px; }

    .ank-live-caption h3 {
        max-width: 25ch;
        font-size: clamp(.74rem, 3.25vw, .9rem);
        line-height: 1.17;
    }

    .ank-live-caption p,
    .ank-live-clock,
    .ank-live-stream-status {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ank-live-stage.is-demo .ank-live-media video,
    .ank-live-stage.is-demo::after,
    .ank-live-badge i {
        animation: none;
    }
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: var(--ank-radius-md);
    background: var(--ank-navy-950);
    box-shadow: var(--ank-shadow-sm);
}

.gallery-item img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    transition: opacity .45s ease, transform .55s var(--ank-ease);
}

.gallery-item:hover img {
    opacity: .82;
    transform: scale(1.045);
}
.gallery-item[role="button"]{cursor:zoom-in}
.ank-gallery-dialog{border:0;border-radius:16px;padding:16px;background:#071d24;color:#fff;max-width:min(92vw,1100px);box-shadow:0 24px 80px rgba(0,0,0,.55)}
.ank-gallery-dialog::backdrop{background:rgba(1,12,17,.88)}
.ank-gallery-dialog img{display:block;max-width:100%;max-height:78vh;width:auto;height:auto;margin:auto;border-radius:10px}
.ank-gallery-dialog p{margin:12px 44px 0 0}
.ank-gallery-close{position:absolute;right:20px;top:18px;width:40px;height:40px;border:0;border-radius:50%;background:rgba(0,0,0,.68);color:#fff;font-size:28px;line-height:1;cursor:pointer}

.gallery-cap {
    position: absolute;
    inset: auto 0 0;
    padding: 3.5rem 1rem 1rem;
    color: var(--ank-white);
    background: linear-gradient(0deg, rgb(6 37 45 / 88%), transparent);
    font-size: .84rem;
    font-weight: 650;
}

.transport-card {
    padding: clamp(1.4rem, 4vw, 2.5rem);
    border-radius: var(--ank-radius-lg);
}

.transport-title {
    margin-bottom: .4rem;
    color: var(--ank-ink);
    font-size: 1.08rem;
    font-weight: 750;
}

.transport-intro,
.transport-note {
    color: var(--ank-muted);
    font-size: .86rem;
}

.transport-intro {
    margin-bottom: 1.25rem;
}

.transport-note {
    margin-top: 1rem;
    font-size: .78rem;
    font-style: italic;
}

.transport-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.route-card {
    padding: 1.2rem;
    border: 1px solid var(--ank-border);
    border-radius: 15px;
    background: var(--ank-surface-soft);
}

.route-card h4 {
    display: flex;
    align-items: center;
    gap: .55rem;
    margin-bottom: .7rem;
    color: var(--ank-ink);
    font-size: .9rem;
    font-weight: 750;
}

.route-num {
    padding: .22rem .6rem;
    border-radius: var(--ank-radius-pill);
    color: var(--ank-white);
    background: var(--ank-ocean-600);
    font-size: .72rem;
}

.route-schedule {
    color: var(--ank-muted);
    font-size: .8rem;
    line-height: 1.9;
}

.map-section {
    padding: clamp(3.5rem, 7vw, 5.5rem) var(--ank-gutter);
    background: var(--ank-navy-950);
}

.map-grid {
    display: grid;
    width: min(100%, var(--ank-container));
    grid-template-columns: minmax(0, 1fr) 350px;
    align-items: stretch;
    gap: 1.25rem;
    margin-inline: auto;
}

.map-frame {
    min-height: 360px;
    overflow: hidden;
    border: 1px solid rgb(255 255 255 / 9%);
    border-radius: var(--ank-radius-md);
}

.map-frame iframe,
.map-frame #ankMap {
    width: 100%;
    height: 100%;
    min-height: 360px;
    border: 0;
}

.map-info {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.map-info-card {
    padding: 1.05rem;
    border: 1px solid rgb(255 255 255 / 9%);
    border-radius: 14px;
    color: var(--ank-white);
    background: rgb(255 255 255 / 5%);
}

.map-info-card h4 {
    display: flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .25rem;
    font-size: .86rem;
}

/* ემოჯის ნაცვლად inline SVG — ერთნაირად ჩანს ყველა სისტემაზე.
   stroke="currentColor" სათაურის ფერს იღებს, ცალკე ფერი არ სჭირდება. */
.map-info-card h4 .mic-ico {
    flex-shrink: 0;
    color: var(--ank-ocean-300);
}

.map-info-card p {
    color: rgb(255 255 255 / 60%);
    font-size: .8rem;
    line-height: 1.55;
}

.map-back {
    margin-top: auto;
}

.back-link {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding-block: .8rem;
    color: var(--ank-ocean-200);
    font-size: .82rem;
    font-weight: 650;
    text-decoration: none;
    transition: gap .25s ease, color .25s ease;
}

.back-link:hover {
    gap: .75rem;
    color: var(--ank-white);
}

/* Footer */
.footer .nav-logo {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    color: var(--ank-white);
    font-weight: 750;
    text-decoration: none;
}

.footer .nav-logo-icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid rgb(255 255 255 / 14%);
    border-radius: 11px;
    color: var(--ank-navy-950);
    background: var(--ank-sun-400);
    font-size: .76rem;
    font-weight: 900;
}

.footer .nav-logo span {
    font-size: .9rem;
}

.footer {
    padding: 3.5rem var(--ank-gutter) 1.75rem;
    color: var(--ank-white);
    background: #041d24;
    border-top: 1px solid rgb(255 255 255 / 7%);
}

.footer-inner {
    display: grid;
    width: min(100%, var(--ank-container));
    grid-template-columns: 1.8fr repeat(3, 1fr);
    gap: 2.5rem;
    margin-inline: auto;
}

.footer-brand .nav-logo {
    margin-bottom: .75rem;
}

.footer-brand p {
    max-width: 34ch;
    color: rgb(255 255 255 / 46%);
    font-size: .8rem;
}

.footer h5 {
    margin-bottom: .7rem;
    color: rgb(255 255 255 / 82%);
    font-size: .82rem;
}

.footer a {
    display: block;
    padding-block: .15rem;
    color: rgb(255 255 255 / 48%);
    font-size: .78rem;
    text-decoration: none;
    transition: color .2s ease;
}

.footer a:hover {
    color: var(--ank-ocean-200);
}

.footer-bottom {
    display: flex;
    width: min(100%, var(--ank-container));
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 1.75rem auto 0;
    padding-top: 1.25rem;
    border-top: 1px solid rgb(255 255 255 / 7%);
}

.footer-bottom span {
    color: rgb(255 255 255 / 35%);
    font-size: .72rem;
}

.footer .footer-credit-link {
    display: inline;
    color: inherit;
    font-weight: 650;
}

/* Reveal animation */
.ank-reveal,
.reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .72s var(--ank-ease), transform .72s var(--ank-ease);
}

.ank-reveal.is-visible,
.ank-reveal.visible,
.reveal.is-visible,
.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

/* ტაბლეტი */
@media (max-width: 960px) {
    :root {
        --ank-section-space: clamp(3.75rem, 8vw, 5rem);
    }

    .hero-inner {
        grid-template-columns: minmax(0, 1fr) minmax(320px, 360px);
        column-gap: 1.75rem;
        row-gap: 1.25rem;
        padding-block: 4.75rem 2.25rem;
    }

    .hero h1 {
        font-size: clamp(3.1rem, 7vw, 4.8rem);
    }

    .hero-facts {
        grid-template-columns: 140px minmax(0, 1fr);
    }

    .hero-stat {
        padding-inline: .7rem;
    }

    .hero-photo {
        height: 290px;
    }

    .hero-weather {
        min-height: 320px;
        padding-top: 5.5rem;
    }

    .attr-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .map-grid {
        grid-template-columns: minmax(0, 1fr) 300px;
    }

    .footer-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1160px) {
    .ank-header-nav,
    .ank-header-actions {
        display: none;
    }

    .ank-burger {
        display: flex;
    }
}

/* მობილური */
@media (max-width: 720px) {
    :root {
        --ank-gutter: 1rem;
        --ank-section-space: 3.75rem;
        --ank-radius-lg: 22px;
    }

    html {
        scroll-padding-top: 72px;
    }

    .ank-header-inner {
        min-height: 64px;
    }

    .hero {
        min-height: auto;
        align-items: flex-start;
        border-radius: 0 0 24px 24px;
    }

    .hero::before {
        background:
            linear-gradient(180deg, rgb(3 25 32 / 76%) 0%, rgb(4 39 48 / 80%) 44%, rgb(3 25 32 / 96%) 100%),
            url("../../images/bridge.jpg") center / cover no-repeat;
    }

    .hero-inner {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        align-items: start;
        gap: 1.4rem;
        padding-block: 4.25rem 1.25rem;
    }

    .hero h1 {
        max-width: 10ch;
        font-size: clamp(2.75rem, 12.5vw, 4.25rem);
    }

    .hero-desc {
        max-width: 42ch;
        margin-bottom: 1.35rem;
    }

    .hero-btns {
        display: flex;
    }

    .hero .ank-btn,
    .hero .btn-primary,
    .hero .btn-outline {
        width: auto;
    }

    .hero-side {
        width: min(100%, 430px);
        align-self: start;
    }

    .hero-photo {
        height: 220px;
        border-radius: 22px;
    }

    .hero-photo figcaption {
        right: 1rem;
        bottom: 4.6rem;
        left: 1rem;
    }

    .hero-weather {
        width: 100%;
        min-height: 320px;
        margin: 0;
    }

    .hero-facts {
        grid-template-columns: 1fr;
    }

    .hero-facts-label {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        padding: .75rem 1rem;
        border-right: 0;
        border-bottom: 1px solid rgb(255 255 255 / 10%);
    }

    .hero-facts-label a {
        margin-top: 0;
    }

    .hero-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hero-stat {
        padding: .85rem 1rem;
    }

    .hero-stat:nth-child(3) {
        border-left: 0;
    }

    .hero-stat:nth-child(n + 3) {
        border-top: 1px solid rgb(255 255 255 / 9%);
    }

    .about-grid,
    .transport-grid,
    .map-grid {
        grid-template-columns: 1fr;
    }

    .about-img img {
        height: 300px;
    }

    .gallery-item img {
        height: 220px;
    }

    .map-frame {
        min-height: 300px;
    }

    .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 520px) {
    body {
        font-size: 15px;
    }

    .ank-brand-copy strong {
        font-size: .78rem;
    }

    .ank-brand-mark {
        width: 36px;
        height: 36px;
        flex-basis: 36px;
        border-radius: 10px;
    }

    .hero h1 {
        letter-spacing: -.045em;
    }

    .hero-badge {
        max-width: 100%;
        font-size: .68rem;
    }

    .hero-btns {
        display: grid;
        grid-template-columns: 1fr;
    }

    .hero .ank-btn,
    .hero .btn-primary,
    .hero .btn-outline {
        width: 100%;
    }

    .hero-side {
        width: 100%;
    }

    .hero-photo {
        height: 195px;
    }

    .hero-weather {
        width: 100%;
        min-height: 310px;
        margin: 0;
        padding: 4.5rem 1rem 1rem;
        border-radius: 20px;
    }

    .hero-weather-metric {
        grid-template-columns: 20px 1fr;
        padding-inline: .7rem .55rem;
    }

    .hero-weather-metric + .hero-weather-metric {
        padding-left: .65rem;
    }

    .hero-weather-metric svg {
        width: 19px;
        height: 19px;
    }

    .hero-stat span {
        white-space: normal;
    }

    .attr-grid,
    .gallery-grid,
    .footer-inner {
        grid-template-columns: 1fr;
    }

    .ank-card,
    .attr-card {
        padding: 1.2rem;
    }

    .about-img img,
    .gallery-item img {
        height: 230px;
    }
}

@media (hover: none) {
    .ank-card:hover,
    .attr-card:hover {
        transform: none;
    }

    .hero-photo:hover img {
        transform: none;
    }
}

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

    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }

    .ank-reveal,
    .reveal {
        opacity: 1;
        transform: none;
    }
}

/* ── ღია/მუქი სექციების საზღვარი ──
   ზემოდან body-ს ფერის რბილი ფენა მკვეთრ ხაზს აქრობს. */
.ank-section-muted,
.section-muted {
    background:
        linear-gradient(180deg, var(--ank-sky-50) 0, rgb(242 250 252 / 0) clamp(90px, 12vh, 200px)),
        radial-gradient(circle at 12% 15%, rgb(123 213 207 / 18%), transparent 30%),
        linear-gradient(180deg, var(--ank-sky-100), var(--ank-sky-50));
}

/* ── ობიექტების სექციები: „სად დავრჩეთ" და „გასტრონომია" (დ-2026-833) ──
   სტრუქტურა ბაღების სიის პატერნს იმეორებს — ფილტრი რაოდენობებით, მთვლელი,
   3-სვეტიანი ბადე, ბეიჯი სურათზე, „მეტის ჩვენება". ფერი და ზომა კი
   ანაკლიის საკუთარი ტოკენებიდან მოდის, ბაღების CSS გადმოტანილი არ არის. */

/* ფილტრის ზოლი */
.ank-obj-bar {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-bottom: 1rem;
}

.ank-obj-chip {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .5rem .95rem;
    border: 1px solid var(--ank-border);
    border-radius: var(--ank-radius-pill);
    color: var(--ank-text);
    font: inherit;
    font-size: .84rem;
    font-weight: 600;
    background: var(--ank-surface);
    cursor: pointer;
    transition: background .2s var(--ank-ease), border-color .2s var(--ank-ease), color .2s var(--ank-ease);
}

.ank-obj-chip span {
    padding: .05rem .42rem;
    border-radius: var(--ank-radius-pill);
    color: var(--ank-ocean-700);
    font-size: .74rem;
    background: var(--ank-ocean-50);
}

.ank-obj-chip:hover {
    border-color: var(--ank-ocean-300);
}

.ank-obj-chip.is-on {
    border-color: var(--ank-ocean-600);
    color: var(--ank-white);
    background: var(--ank-ocean-600);
}

.ank-obj-chip.is-on span {
    color: var(--ank-white);
    background: rgb(255 255 255 / 22%);
}

/* შედეგის ზოლი */
.ank-obj-resultbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.15rem;
    padding-bottom: .7rem;
    border-bottom: 1px solid var(--ank-border);
}

.ank-obj-count {
    margin: 0;
    color: var(--ank-muted);
    font-size: .86rem;
}

.ank-obj-clear {
    padding: .35rem .8rem;
    border: 1px solid var(--ank-border);
    border-radius: var(--ank-radius-pill);
    color: var(--ank-muted);
    font: inherit;
    font-size: .8rem;
    background: none;
    cursor: pointer;
}

.ank-obj-clear:hover {
    border-color: var(--ank-ocean-300);
    color: var(--ank-ocean-700);
}

/* ბადე */
.ank-obj-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.15rem;
}

/* ბარათი */
.ank-obj-card {
    display: flex;
    flex-direction: column;
    padding: 0;
    overflow: hidden;
}

.ank-obj-img {
    position: relative;
    background: var(--ank-surface-soft);
}

.ank-obj-img img {
    display: block;
    width: 100%;
    height: 190px;
    object-fit: cover;
}

.ank-obj-scrim {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgb(6 37 45 / 38%) 0%, transparent 42%);
    pointer-events: none;
}

.ank-obj-badge {
    display: inline-block;
    padding: .22rem .68rem;
    border-radius: var(--ank-radius-pill);
    color: var(--ank-ocean-700);
    font-size: .72rem;
    font-weight: 700;
    background: var(--ank-ocean-50);
}

.ank-obj-badge.on-img {
    position: absolute;
    top: .7rem;
    left: .7rem;
    color: var(--ank-white);
    background: var(--ank-ocean-600);
}

.ank-obj-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .4rem;
    padding: clamp(1.1rem, 2.2vw, 1.4rem);
}

.ank-obj-name {
    margin: 0;
    color: var(--ank-ink);
    font-size: 1.02rem;
    line-height: 1.35;
}

.ank-obj-place {
    display: flex;
    align-items: flex-start;
    gap: .38rem;
    color: var(--ank-muted);
    font-size: .84rem;
    line-height: 1.5;
}

.ank-obj-desc {
    margin: .1rem 0 0;
    color: var(--ank-text);
    font-size: .88rem;
    line-height: 1.65;
}

.ank-obj-ico {
    flex-shrink: 0;
    margin-top: .15rem;
    color: var(--ank-ocean-400);
}

.ank-obj-stats {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem 1.1rem;
    width: 100%;
    margin-top: .75rem;
    padding-top: .7rem;
    border-top: 1px solid var(--ank-border);
}

.ank-obj-stat {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    color: var(--ank-muted);
    font-size: .82rem;
}

.ank-obj-stat a {
    color: var(--ank-ocean-700);
    text-decoration: none;
    font-weight: 600;
}

.ank-obj-stat a:hover {
    text-decoration: underline;
}

/* „მეტის ჩვენება" და ცარიელი მდგომარეობები */
.ank-obj-more-wrap {
    margin-top: 1.5rem;
    text-align: center;
}

.ank-obj-more {
    padding: .7rem 1.6rem;
    border: 1px solid var(--ank-ocean-600);
    border-radius: var(--ank-radius-pill);
    color: var(--ank-ocean-700);
    font: inherit;
    font-size: .88rem;
    font-weight: 600;
    background: var(--ank-surface);
    cursor: pointer;
}

.ank-obj-more:hover {
    color: var(--ank-white);
    background: var(--ank-ocean-600);
}

.ank-obj-nores {
    margin: 2rem 0 0;
    color: var(--ank-muted);
    font-size: .92rem;
    text-align: center;
}

.ank-empty p {
    margin: 0;
    color: var(--ank-muted);
    font-size: .95rem;
}

@media (max-width: 900px) {
    .ank-obj-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
    .ank-obj-grid { grid-template-columns: minmax(0, 1fr); }
    .ank-obj-resultbar { flex-wrap: wrap; }
}

/* ── ფუტერის ლოგო ──
   .nav-logo-icon-ს ოქროსფერი კვადრატი და „SZ" ასოები ჰქონდა; ახლა <img>-ია
   და ჰედერის იგივე თრითმენტს იღებს (თეთრი ლოგო, ყუთის გარეშე).
   .footer-ით იწყება, რადგან ძველი წესიც .footer .nav-logo-icon-ია — უბრალო
   img.nav-logo-icon (0,1,1) მასზე (0,2,0) დაბალია და წააგებდა. */
.footer img.nav-logo-icon {
    width: auto;
    height: 38px;
    border: 0;
    border-radius: 0;
    background: none;
    opacity: .92;
    filter: brightness(0) invert(1);
}

/* ── route-card-ის სათაური: მნიშვნელობა ბოქსიდან გამოდიოდა ──
   გრძელი მნიშვნელობა ახალ ხაზზე ჩამოდის; მოკლე ისევ ერთ ხაზზე რჩება. */
.route-card h4 {
    flex-wrap: wrap;
    row-gap: .3rem;
}

.route-num {
    flex-shrink: 0;
}

/* ── ჰირო v2: სრული ფოტო და ამინდთან ინტეგრირებული მსუბუქი პანელი ──
   ფოტო რეალური ანაკლიის სანაპიროა; ამინდის აქცენტი ავტომატურად იცვლება
   Open-Meteo-ის კოდის მიხედვით, ხოლო მონაცემები ერთ მზერაში იკითხება. */
.hero {
    background: var(--ank-navy-950) url("../images/anaklia-sunset-hero.webp") 50% center / cover no-repeat;
}

.hero-bg-video {
    position: absolute;
    z-index: -3;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% center;
    filter: saturate(.96) contrast(1.03) brightness(.96);
}

.hero::before {
    background:
        linear-gradient(90deg, rgb(2 20 28 / 91%) 0%, rgb(3 33 42 / 75%) 42%, rgb(4 25 32 / 40%) 72%, rgb(2 18 24 / 36%) 100%),
        linear-gradient(0deg, rgb(2 21 28 / 70%) 0%, transparent 55%);
}

.hero::after {
    background:
        radial-gradient(circle at 20% 46%, rgb(239 171 69 / 13%), transparent 24%),
        radial-gradient(circle at 78% 26%, rgb(123 213 207 / 10%), transparent 28%),
        linear-gradient(180deg, rgb(3 23 30 / 5%), rgb(3 23 30 / 18%));
}

.hero-inner {
    grid-template-columns: minmax(0, 1fr) minmax(340px, 410px);
}

.hero-side {
    align-self: center;
}

.hero-weather {
    --hero-weather-accent: 150 215 216;
    position: relative;
    display: block;
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 1.2rem;
    overflow: hidden;
    border: 1px solid rgb(255 255 255 / 17%);
    border-radius: 28px 28px 28px 12px;
    background:
        linear-gradient(140deg, rgb(4 31 39 / 72%), rgb(5 38 46 / 48%)),
        rgb(5 35 43 / 34%);
    box-shadow:
        0 30px 80px rgb(0 14 18 / 28%),
        inset 0 1px 0 rgb(255 255 255 / 11%);
    backdrop-filter: blur(24px) saturate(128%);
    -webkit-backdrop-filter: blur(24px) saturate(128%);
    isolation: isolate;
    transition: border-color .45s var(--ank-ease), box-shadow .45s var(--ank-ease);
}

.hero-weather[data-weather-theme="sun"] { --hero-weather-accent: 246 192 82; }
.hero-weather[data-weather-theme="clouds"] { --hero-weather-accent: 157 215 222; }
.hero-weather[data-weather-theme="rain"] { --hero-weather-accent: 102 184 230; }
.hero-weather[data-weather-theme="wind"] { --hero-weather-accent: 174 224 220; }

.hero-weather-glow {
    position: absolute;
    z-index: -1;
    top: -8rem;
    right: -7rem;
    width: 18rem;
    height: 18rem;
    border-radius: 50%;
    background: rgb(var(--hero-weather-accent) / 20%);
    filter: blur(26px);
    pointer-events: none;
    animation: ank-weather-breathe 5.5s ease-in-out infinite alternate;
}

@keyframes ank-weather-breathe {
    from { opacity: .55; transform: scale(.9); }
    to { opacity: 1; transform: scale(1.08); }
}

.hero-weather-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: .9rem;
    border-bottom: 1px solid rgb(255 255 255 / 10%);
}

.hero-weather-kicker {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin: 0 0 .15rem;
    color: rgb(255 255 255 / 56%);
    font-size: .64rem;
    font-weight: 700;
    letter-spacing: .035em;
}

.hero-weather-kicker i {
    width: .42rem;
    height: .42rem;
    flex: 0 0 .42rem;
    border-radius: 50%;
    background: rgb(var(--hero-weather-accent));
    box-shadow: 0 0 0 .28rem rgb(var(--hero-weather-accent) / 13%);
    animation: ank-weather-live 2s ease-out infinite;
}

@keyframes ank-weather-live {
    0%, 35% { box-shadow: 0 0 0 .1rem rgb(var(--hero-weather-accent) / 22%); }
    80%, 100% { box-shadow: 0 0 0 .55rem rgb(var(--hero-weather-accent) / 0%); }
}

.hero-weather h2 {
    color: var(--ank-white);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -.02em;
}

.hero-weather-updated {
    padding-top: .15rem;
    color: rgb(255 255 255 / 45%);
    font-size: .61rem;
    white-space: nowrap;
}

.hero-weather-main {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    align-items: center;
    gap: 1rem;
    padding-block: 1.05rem;
}

.hero-weather-primary {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: end;
    column-gap: .65rem;
}

.hero-weather-primary > span {
    grid-column: 1 / -1;
    color: rgb(255 255 255 / 56%);
    font-size: .68rem;
    font-weight: 700;
}

.hero-weather-primary > strong {
    color: var(--ank-white);
    font-size: clamp(3.6rem, 5.4vw, 5rem);
    font-weight: 850;
    line-height: .9;
    letter-spacing: -.08em;
    text-shadow: 0 12px 36px rgb(0 12 16 / 25%);
}

.hero-weather-primary > small {
    padding-bottom: .42rem;
    color: rgb(255 255 255 / 48%);
    font-size: .61rem;
    line-height: 1.35;
}

.hero-weather-summary {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-end;
    gap: .35rem;
    text-align: right;
}

.hero-weather-symbol {
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
    border: 1px solid rgb(var(--hero-weather-accent) / 25%);
    border-radius: 18px;
    color: rgb(var(--hero-weather-accent));
    background: rgb(var(--hero-weather-accent) / 10%);
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 8%);
}

.hero-weather-symbol svg {
    display: none;
    width: 34px;
    height: 34px;
}

.hero-weather[data-weather-theme="loading"] .weather-symbol-cloud,
.hero-weather[data-weather-theme="clouds"] .weather-symbol-cloud,
.hero-weather[data-weather-theme="sun"] .weather-symbol-sun,
.hero-weather[data-weather-theme="rain"] .weather-symbol-rain,
.hero-weather[data-weather-theme="wind"] .weather-symbol-wind {
    display: block;
}

.hero-weather-status {
    display: block;
    max-width: 16ch;
    color: rgb(255 255 255 / 76%);
    font-size: .7rem;
    font-weight: 700;
    line-height: 1.35;
}

.hero-weather-status::before {
    display: none;
}

.hero-weather-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
}

.hero-weather-detail {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: .65rem;
    padding: .72rem .8rem;
    border: 1px solid rgb(255 255 255 / 10%);
    border-radius: 15px;
    background: rgb(2 25 32 / 34%);
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 5%);
}

.hero-weather-detail > svg {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    color: rgb(var(--hero-weather-accent));
}

.hero-weather-detail > span {
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: .4rem;
}

.hero-weather-detail small {
    color: rgb(255 255 255 / 48%);
    font-size: .62rem;
    font-weight: 650;
}

.hero-weather-detail strong {
    color: var(--ank-white);
    font-size: .88rem;
    font-weight: 800;
    white-space: nowrap;
}

.hero-facts {
    gap: .6rem;
    overflow: visible;
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}

.hero-facts-label,
.hero-stat {
    border: 1px solid rgb(255 255 255 / 13%);
    border-radius: 16px;
    background: rgb(4 30 38 / 58%);
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 6%);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.hero-facts-label {
    border-right: 1px solid rgb(255 255 255 / 13%);
}

.hero-stats {
    gap: .6rem;
}

.hero-stat + .hero-stat {
    border-left: 1px solid rgb(255 255 255 / 13%);
}

@media (max-width: 1100px) {
    .hero-inner {
        grid-template-columns: minmax(0, 1fr) minmax(320px, 370px);
    }

    .hero-weather-primary > strong {
        font-size: 4rem;
    }
}

@media (max-width: 900px) {
    .hero::before {
        background:
            linear-gradient(90deg, rgb(2 20 28 / 94%) 0%, rgb(3 31 40 / 76%) 58%, rgb(2 18 24 / 48%) 100%),
            linear-gradient(0deg, rgb(2 21 28 / 82%) 0%, transparent 60%);
    }

    .hero,
    .hero-bg-video {
        background-position: 52% center;
        object-position: 52% center;
    }

    .hero-inner {
        grid-template-columns: 1fr;
    }

    .hero-side {
        width: min(100%, 560px);
    }

    .hero-weather {
        min-height: 0;
    }
}

@media (max-width: 560px) {
    .hero::before {
        background-position: 61% center;
    }

    .hero-weather {
        padding: 1rem;
        border-radius: 22px 22px 22px 10px;
    }

    .hero-weather-main {
        gap: .65rem;
    }

    .hero-weather-primary > strong {
        font-size: 3.75rem;
    }

    .hero-weather-symbol {
        width: 48px;
        height: 48px;
        border-radius: 15px;
    }

    .hero-weather-symbol svg {
        width: 30px;
        height: 30px;
    }

    .hero-weather-detail {
        padding: .68rem;
    }

    .hero-weather-detail > span {
        align-items: flex-start;
        flex-direction: column;
        gap: .05rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero-bg-video {
        display: none;
    }

    .hero-weather-glow,
    .hero-weather-kicker i {
        animation: none;
    }
}

/* ── ჰიროს ამინდი v3 — საბოლოო პრიორიტეტული წესები ── */
.hero-weather {
    position: relative;
    display: flex;
    min-height: clamp(320px, 39vh, 355px);
    flex-direction: column;
    align-items: stretch;
    justify-content: space-between;
    padding: 1.15rem;
    overflow: hidden;
    border: 1px solid rgb(255 255 255 / 18%);
    border-radius: 32px 32px 32px 14px;
    background: linear-gradient(145deg, #173843, #35535c);
    box-shadow: 0 34px 90px rgb(0 13 18 / 35%), inset 0 1px 0 rgb(255 255 255 / 12%);
    isolation: isolate;
}

.hero-weather[data-weather-theme="sun"] { background: linear-gradient(145deg, #7a431a, #e9a83d 130%); }
.hero-weather[data-weather-theme="clouds"] { background: linear-gradient(145deg, #173843, #647985 130%); }
.hero-weather[data-weather-theme="fog"] { --hero-weather-accent: 190 220 222; background: linear-gradient(145deg, #28454a, #92a4a4 130%); }
.hero-weather[data-weather-theme="rain"] { background: linear-gradient(145deg, #102b40, #2e6c91 130%); }
.hero-weather[data-weather-theme="wind"] { background: linear-gradient(145deg, #123941, #4b8c8a 130%); }

.hero-weather-video,
.hero-weather-veil {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.hero-weather-video {
    z-index: -2;
    object-fit: cover;
    opacity: 0;
    filter: saturate(.94) contrast(1.04) brightness(.92);
    transform: scale(1.025);
    transition: opacity .7s var(--ank-ease), transform 9s linear;
}

.hero-weather.is-video-ready .hero-weather-video {
    opacity: .96;
    transform: scale(1.075);
}

.hero-weather-veil {
    z-index: -1;
    background:
        linear-gradient(180deg, rgb(2 20 27 / 26%) 0%, rgb(2 20 27 / 7%) 28%, rgb(2 20 27 / 80%) 69%, rgb(2 20 27 / 96%) 100%),
        linear-gradient(90deg, rgb(2 20 27 / 38%), transparent 66%);
    pointer-events: none;
}

.hero-weather[data-weather-theme="sun"] .hero-weather-veil {
    background:
        linear-gradient(180deg, rgb(42 22 8 / 10%) 0%, rgb(42 22 8 / 3%) 30%, rgb(29 18 10 / 72%) 68%, rgb(15 20 21 / 95%) 100%),
        linear-gradient(90deg, rgb(22 18 14 / 34%), transparent 68%);
}

.hero-weather-head,
.hero-weather-main,
.hero-weather-details {
    position: relative;
    z-index: 1;
}

.hero-weather-head {
    padding: 0;
    border: 0;
}

.hero-weather-kicker,
.hero-weather-updated {
    color: rgb(255 255 255 / 72%);
    text-shadow: 0 2px 14px rgb(0 10 14 / 55%);
}

.hero-weather h2 {
    margin-top: .12rem;
    font-size: 1.06rem;
    text-shadow: 0 3px 18px rgb(0 10 14 / 58%);
}

.hero-weather-main {
    align-items: end;
    margin-top: auto;
    padding: clamp(3.2rem, 8vh, 4.7rem) .1rem .85rem;
}

.hero-weather-primary > span,
.hero-weather-primary > small {
    color: rgb(255 255 255 / 70%);
    text-shadow: 0 2px 13px rgb(0 10 14 / 58%);
}

.hero-weather-primary > strong {
    font-size: clamp(4.6rem, 6vw, 5.7rem);
    text-shadow: 0 12px 40px rgb(0 10 14 / 48%);
}

.hero-weather-summary {
    gap: .25rem;
}

.hero-weather-symbol {
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 0;
    color: rgb(255 255 255 / 92%);
    background: transparent;
    box-shadow: none;
    filter: drop-shadow(0 8px 18px rgb(0 10 14 / 46%));
}

.hero-weather-symbol svg {
    width: 42px;
    height: 42px;
}

.hero-weather-status {
    max-width: 17ch;
    color: var(--ank-white);
    font-size: .72rem;
    text-shadow: 0 2px 14px rgb(0 10 14 / 62%);
}

.hero-weather-details {
    gap: 0;
    padding: .3rem;
    border: 1px solid rgb(255 255 255 / 13%);
    border-radius: 18px;
    background: rgb(1 19 25 / 50%);
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 7%);
    backdrop-filter: blur(16px) saturate(122%);
    -webkit-backdrop-filter: blur(16px) saturate(122%);
}

.hero-weather-detail {
    padding: .65rem .75rem;
    border: 0;
    border-radius: 13px;
    background: transparent;
    box-shadow: none;
}

.hero-weather-detail + .hero-weather-detail {
    border-left: 1px solid rgb(255 255 255 / 11%);
}

.hero-weather-detail small { color: rgb(255 255 255 / 60%); }

@media (max-width: 900px) {
    .hero-weather { min-height: 340px; }
}

@media (max-width: 560px) {
    .hero-weather {
        min-height: 330px;
        padding: 1rem;
        border-radius: 26px 26px 26px 12px;
    }

    .hero-weather-main { padding-top: 4rem; }
    .hero-weather-primary > strong { font-size: 4.65rem; }
}

@media (prefers-reduced-motion: reduce) {
    .hero-weather-video { display: none; }
}

/* ── dropdown-ის პუნქტები: წერტილის ნაცვლად იკონი ── */
.ank-header-nav .ank-dropdown-menu a {
    gap: .55rem;
    padding-left: 12px;
}

.ank-header-nav .ank-dropdown-menu a::before { content: none; }

.ank-dropdown-ico {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    color: var(--ank-ocean-300);
    transition: color .18s ease;
}

.ank-header-nav .ank-dropdown-menu a:hover .ank-dropdown-ico,
.ank-header-nav .ank-dropdown-menu a:focus-visible .ank-dropdown-ico {
    color: var(--ank-sun-400);
}

/* ══════════════════════════════════════════════════════════════════════
 * ᲤᲝᲠᲛᲘᲡ ᲙᲚᲐᲡᲔᲑᲘ (დ-2026-834 — ობიექტის რეგისტრაცია)
 * ──────────────────────────────────────────────────────────────────────
 * დიზაინ-სისტემას ფორმის სტილები არ ჰქონდა (input/textarea/select — 0 წესი),
 * ამიტომ აქ პირველად ჩნდება. ზომები და ფორმები არსებული ტოკენებიდან
 * (--ank-*) მოდის და ქარდის/ღილაკის იმავე ენაზეა — იგივე რადიუსი,
 * საზღვარი, ჩრდილი და ფოკუსის კონტური. ერთადერთი დანამატი შეცდომის
 * წითელია: პალიტრას არ ჰქონდა, ამიტომ გიორგისთან შეთანხმებით
 * :root-ში --ank-danger-* ტოკენებად ჩაჯდა.
 *
 * .ank-form-wrap    — ვიწრო კონტეინერი, რომ ველები არ გაიწელოს
 * .ank-form         — ქარდი, რომელიც ფორმას იტევს
 * .ank-fieldset     — ველების ლოგიკური ჯგუფი legend-ით
 * .ank-field        — ერთი ველი: label + input + hint/error
 * .ank-input        — input, select და textarea ერთ სტილზე
 * .ank-hint         — დამხმარე ტექსტი ველის ქვეშ
 * .ank-error        — ვალიდაციის შეცდომა
 * .ank-alert        — გვერდის დონის შეტყობინება (მიღებულია / ვერ გაიგზავნა)
 * ══════════════════════════════════════════════════════════════════════ */

.ank-form-wrap {
    width: min(100% - (var(--ank-gutter) * 2), 780px);
}

.ank-form {
    display: grid;
    gap: clamp(1.4rem, 3vw, 2rem);
    padding: clamp(1.4rem, 3.5vw, 2.4rem);
}

.ank-form:hover {
    border-color: var(--ank-border);
    box-shadow: var(--ank-shadow-sm);
    transform: none;
}

.ank-fieldset {
    display: grid;
    min-width: 0;
    gap: 1.15rem;
    margin: 0;
    padding: 0;
    border: 0;
}

.ank-fieldset legend {
    padding: 0 0 .2rem;
    color: var(--ank-ocean-700);
    font-size: .74rem;
    font-weight: 750;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ank-field {
    display: grid;
    min-width: 0;
    gap: .4rem;
}

.ank-form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.15rem;
}

.ank-label {
    color: var(--ank-ink);
    font-size: .84rem;
    font-weight: 700;
    line-height: 1.4;
}

.ank-label span[aria-hidden] {
    color: var(--ank-ocean-600);
}

.ank-opt {
    margin-left: .3rem;
    color: var(--ank-muted);
    font-size: .74rem;
    font-weight: 600;
}

.ank-input {
    width: 100%;
    min-height: 48px;
    padding: .7rem .9rem;
    border: 1px solid var(--ank-border);
    border-radius: var(--ank-radius-sm);
    color: var(--ank-ink);
    font: inherit;
    font-size: .92rem;
    background: var(--ank-white);
    transition: border-color .18s var(--ank-ease), box-shadow .18s var(--ank-ease);
}

.ank-input::placeholder {
    color: var(--ank-muted);
    opacity: .75;
}

.ank-input:hover {
    border-color: var(--ank-ocean-200);
}

.ank-input:focus {
    border-color: var(--ank-ocean-400);
    box-shadow: 0 0 0 3px rgb(66 187 182 / 18%);
    outline: none;
}

.ank-textarea {
    min-height: 140px;
    line-height: var(--ank-leading-body);
    resize: vertical;
}

select.ank-input {
    appearance: none;
    padding-right: 2.4rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%230c6668' stroke-width='1.8'%3E%3Cpath d='m1 1 5 5 5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right .95rem center;
}

.ank-hint {
    margin: 0;
    color: var(--ank-muted);
    font-size: .78rem;
    line-height: 1.55;
}

.ank-error {
    display: flex;
    align-items: flex-start;
    gap: .35rem;
    margin: 0;
    color: var(--ank-danger);
    font-size: .78rem;
    font-weight: 650;
    line-height: 1.55;
}

.ank-error::before {
    flex-shrink: 0;
    content: "!";
    display: grid;
    width: 15px;
    height: 15px;
    margin-top: .1rem;
    place-items: center;
    border-radius: 50%;
    color: var(--ank-white);
    font-size: .66rem;
    background: var(--ank-danger);
}

.ank-field.has-error .ank-input {
    border-color: var(--ank-danger-soft);
    background: var(--ank-danger-bg);
}

.ank-field.has-error .ank-input:focus {
    border-color: var(--ank-danger);
    box-shadow: 0 0 0 3px rgb(var(--ank-danger-rgb) / 15%);
}

/* honeypot — ეკრანიდან და ტაბულაციიდან მოხსნილი, მაგრამ ბოტისთვის ხილული */
.ank-hp {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.ank-form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
}

.ank-form-note {
    margin: 0;
    color: var(--ank-muted);
    font-size: .78rem;
    line-height: 1.65;
}

/* ── გვერდის დონის შეტყობინება ── */
.ank-alert {
    margin-bottom: 1.4rem;
}

.ank-alert:hover {
    box-shadow: var(--ank-shadow-sm);
    transform: none;
}

.ank-alert p {
    margin: 0;
    color: var(--ank-text);
    font-size: .92rem;
    line-height: var(--ank-leading-body);
}

.ank-alert h3 {
    margin: 0 0 .4rem;
    font-size: 1.15rem;
}

.ank-alert .ank-form-actions {
    margin-top: 1.2rem;
}

.ank-alert-ok {
    border-color: var(--ank-ocean-200);
}

.ank-alert-bad {
    border-color: var(--ank-danger-line);
    background: var(--ank-danger-bg);
}

.ank-alert-bad p {
    color: var(--ank-danger-ink);
    font-weight: 650;
}

/* ── „დაამატე შენი ობიექტი" სექციის ბოლოს ── */
.ank-obj-cta {
    margin-top: 1.6rem;
    justify-content: center;
}

@media (max-width: 640px) {
    .ank-form-row { grid-template-columns: minmax(0, 1fr); }
    .ank-form-actions .ank-btn { width: 100%; }
}

/* ── ფაილის ასარჩევი (დ-2026-834) ──
   ნატიური <input type="file">-ის ღილაკს ბრაუზერი ხატავს და მისი წარწერა
   („Choose Files") გვერდის ენას არ მიჰყვება. ამიტომ input ვიზუალურად
   იმალება — მაგრამ ფოკუსირებადი რჩება — და ხილული ღილაკი <label>-ია. */
.ank-file-wrap {
    display: flex;
    min-height: 48px;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem;
    padding: .55rem .6rem;
    border: 1px solid var(--ank-border);
    border-radius: var(--ank-radius-sm);
    background: var(--ank-white);
    transition: border-color .18s var(--ank-ease), box-shadow .18s var(--ank-ease);
}

.ank-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

.ank-file-btn {
    padding: .5rem .9rem;
    border: 1px solid var(--ank-ocean-200);
    border-radius: var(--ank-radius-pill);
    color: var(--ank-ocean-700);
    font-size: .82rem;
    font-weight: 650;
    background: var(--ank-ocean-50);
    cursor: pointer;
    transition: color .18s var(--ank-ease), background .18s var(--ank-ease), border-color .18s var(--ank-ease);
}

.ank-file-btn:hover {
    color: var(--ank-white);
    background: var(--ank-ocean-600);
    border-color: var(--ank-ocean-600);
}

/* კლავიატურით ნავიგაციისას ფოკუსი დამალულ input-ზეა — ნიშანი ღილაკზე ჩნდება */
.ank-file-input:focus-visible + .ank-file-btn {
    outline: 2px solid var(--ank-ocean-400);
    outline-offset: 2px;
}

.ank-file-input:focus-visible ~ .ank-file-name,
.ank-file-wrap:focus-within {
    border-color: var(--ank-ocean-400);
}

.ank-file-name {
    min-width: 0;
    flex: 1 1 auto;
    overflow: hidden;
    color: var(--ank-muted);
    font-size: .82rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ank-field.has-error .ank-file-wrap {
    border-color: var(--ank-danger-soft);
    background: var(--ank-danger-bg);
}

/* ═══ ამინდის გვერდი და ერთიანი UI-აიკონები ═══ */
.ank-morph-icon {
    line-height: 0;
}

.ank-morph-icon > svg {
    display: block;
    overflow: visible;
}

.ank-burger {
    align-items: center;
    justify-content: center;
}

.ank-burger-icon,
.ank-mobile-close-icon {
    flex: 0 0 auto;
}

.ank-nav-ico,
.ank-dropdown-ico,
.ank-organization-icon,
.ank-attraction-icon,
.ank-transport-icon,
.mic-ico {
    flex: 0 0 auto;
}

.ank-header-dropdown.is-open .ank-dropdown-chevron {
    transform: none;
}

.ank-dropdown-menu a.is-active {
    color: var(--ank-ocean-100);
    background: rgb(64 177 166 / 18%);
}

/* ჰიროს კლიკაბელური ამინდის ბარათი */
.hero-weather-link {
    display: block;
    width: 100%;
    border-radius: 30px;
    color: inherit;
    perspective: 1100px;
    text-decoration: none;
}

.hero-weather-link:focus-visible {
    outline: 3px solid var(--ank-sun-300);
    outline-offset: 5px;
}

.hero-weather-link .hero-weather {
    --weather-pointer-x: 50%;
    --weather-pointer-y: 50%;
    --weather-tilt-x: 0deg;
    --weather-tilt-y: 0deg;
    --weather-lift: 0px;
    --weather-scale: 1;
    border-color: rgb(255 255 255 / 12%);
    background: rgb(3 25 32 / 72%);
    box-shadow:
        0 24px 65px rgb(0 14 18 / 25%),
        inset 0 1px 0 rgb(255 255 255 / 8%);
    transform: perspective(1000px) translateY(var(--weather-lift)) rotateX(var(--weather-tilt-x)) rotateY(var(--weather-tilt-y)) scale(var(--weather-scale));
    transform-style: preserve-3d;
    will-change: transform;
    transition:
        border-color .42s var(--ank-ease),
        box-shadow .42s var(--ank-ease),
        transform .16s ease-out;
}

.hero-weather-link .hero-weather::before,
.hero-weather-link .hero-weather::after {
    position: absolute;
    z-index: 0;
    content: "";
    pointer-events: none;
}

.hero-weather-link .hero-weather::before {
    inset: 0;
    border-radius: inherit;
    background: radial-gradient(
        320px circle at var(--weather-pointer-x) var(--weather-pointer-y),
        rgb(var(--hero-weather-accent) / 24%),
        transparent 62%
    );
    opacity: .18;
    transition: opacity .42s var(--ank-ease);
}

.hero-weather-link .hero-weather::after {
    inset: -70% -55%;
    background: linear-gradient(105deg, transparent 39%, rgb(255 255 255 / 15%) 50%, transparent 61%);
    opacity: 0;
    transform: translateX(-48%) rotate(8deg);
    transition: transform .9s var(--ank-ease), opacity .35s ease;
}

.hero-weather-link .hero-weather-veil {
    background:
        linear-gradient(180deg, rgb(2 20 27 / 46%) 0%, rgb(2 20 27 / 24%) 30%, rgb(2 20 27 / 86%) 70%, rgb(2 20 27 / 98%) 100%),
        linear-gradient(100deg, rgb(2 20 27 / 48%), rgb(2 20 27 / 12%) 68%);
    transition: opacity .42s var(--ank-ease);
}

.hero-weather-link .hero-weather.is-video-ready .hero-weather-video {
    opacity: .76;
    filter: saturate(.82) contrast(1.08) brightness(.78);
    transform: scale(1.045);
    transition: opacity .55s var(--ank-ease), filter .55s var(--ank-ease), transform 1.2s var(--ank-ease);
}

.hero-weather-link:hover .hero-weather,
.hero-weather-link:focus-visible .hero-weather {
    --weather-lift: -7px;
    --weather-scale: 1.012;
    border-color: rgb(var(--hero-weather-accent) / 48%);
    box-shadow:
        0 34px 85px rgb(0 14 18 / 43%),
        0 0 0 1px rgb(var(--hero-weather-accent) / 11%),
        0 0 42px rgb(var(--hero-weather-accent) / 10%),
        inset 0 1px 0 rgb(255 255 255 / 13%);
}

.hero-weather-link:hover .hero-weather::before,
.hero-weather-link:focus-visible .hero-weather::before {
    opacity: .82;
}

.hero-weather-link:hover .hero-weather::after,
.hero-weather-link:focus-visible .hero-weather::after {
    opacity: .42;
    transform: translateX(48%) rotate(8deg);
}

.hero-weather-link:hover .hero-weather.is-video-ready .hero-weather-video,
.hero-weather-link:focus-visible .hero-weather.is-video-ready .hero-weather-video {
    opacity: .94;
    filter: saturate(.98) contrast(1.06) brightness(.92);
    transform: scale(1.095);
}

.hero-weather-link:hover .hero-weather-veil,
.hero-weather-link:focus-visible .hero-weather-veil {
    opacity: .88;
}

.hero-weather-link .hero-weather-head,
.hero-weather-link .hero-weather-main,
.hero-weather-link .hero-weather-details,
.hero-weather-link .hero-weather-more {
    transition: transform .42s var(--ank-ease);
}

.hero-weather-link .hero-weather-symbol {
    transition: color .35s var(--ank-ease), filter .35s var(--ank-ease), transform .35s var(--ank-ease);
}

.hero-weather-link:hover .hero-weather-head { transform: translateY(-1px); }
.hero-weather-link:hover .hero-weather-main { transform: translateY(-3px); }
.hero-weather-link:hover .hero-weather-details { transform: translateY(-2px); }
.hero-weather-link:hover .hero-weather-more { transform: translateY(-1px); }

.hero-weather-link:hover .hero-weather-symbol {
    color: rgb(var(--hero-weather-accent));
    filter: drop-shadow(0 10px 22px rgb(var(--hero-weather-accent) / 25%));
    transform: translateY(-2px) scale(1.06);
}

.hero-weather-symbol .hero-weather-condition-icon,
.hero-weather-detail .hero-weather-detail-icon {
    display: block;
}

.hero-weather-more {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 1.45rem 1.2rem;
    padding-top: .8rem;
    border-top: 1px solid rgb(255 255 255 / 12%);
    color: rgb(255 255 255 / 76%);
    font-size: .76rem;
    font-weight: 760;
    letter-spacing: .01em;
}

.hero-weather-more > span {
    color: rgb(var(--hero-weather-accent));
    font-family: sans-serif;
    font-size: 1.05rem;
    transition: filter .3s var(--ank-ease), transform .3s var(--ank-ease);
}

.hero-weather-link:hover .hero-weather-more > span {
    filter: drop-shadow(0 0 9px rgb(var(--hero-weather-accent) / 45%));
    transform: translateX(8px);
}

/* სრული პროგნოზი */
.ank-weather-page {
    min-height: 100vh;
    background:
        radial-gradient(circle at 12% 7%, rgb(103 211 204 / 16%), transparent 28rem),
        radial-gradient(circle at 88% 22%, rgb(240 197 101 / 14%), transparent 27rem),
        linear-gradient(180deg, #e9f6f8 0, #f5fbfb 36%, #fffdfa 100%);
}

.ank-weather-section {
    position: relative;
    overflow: hidden;
    padding: 0 0 clamp(5.5rem, 9vw, 8rem);
}

.ank-weather-section::before,
.ank-weather-section::after {
    position: absolute;
    border-radius: 50%;
    content: "";
    pointer-events: none;
    filter: blur(2px);
}

.ank-weather-section::before {
    top: 5.5rem;
    right: -10rem;
    width: 28rem;
    height: 28rem;
    border: 1px solid rgb(22 157 154 / 10%);
    box-shadow: inset 0 0 0 4rem rgb(255 255 255 / 10%);
}

.ank-weather-section::after {
    bottom: -15rem;
    left: -12rem;
    width: 32rem;
    height: 32rem;
    background: rgb(123 213 207 / 8%);
}

.ank-weather-section .ank-container {
    position: relative;
    z-index: 1;
}

.ank-weather-forecast-content {
    padding-top: 0;
}

.ank-weather-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: clamp(1.6rem, 3vw, 2.25rem);
}

.ank-weather-heading > div:first-child {
    max-width: 760px;
}

.ank-weather-heading .ank-section-title {
    max-width: none;
    margin-top: .7rem;
    font-size: clamp(2.35rem, 5vw, 4.85rem);
    letter-spacing: -.055em;
}

.ank-weather-heading .ank-section-subtitle {
    max-width: 680px;
    margin-top: 1rem;
    font-size: clamp(.94rem, 1.4vw, 1.08rem);
}

.ank-weather-cache {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .55rem;
    padding: .65rem .9rem;
    border: 1px solid rgb(12 102 104 / 14%);
    border-radius: var(--ank-radius-pill);
    color: var(--ank-ocean-700);
    background: rgb(255 255 255 / 72%);
    box-shadow: 0 8px 24px rgb(6 47 57 / 6%);
    font-size: .76rem;
    font-weight: 720;
    backdrop-filter: blur(14px);
}

.ank-weather-cache.is-stale {
    color: #79581b;
    border-color: rgb(223 169 74 / 30%);
    background: rgb(255 249 235 / 88%);
}

.ank-weather-now {
    --ank-weather-accent: 123 213 207;
    position: relative;
    min-height: clamp(590px, calc(100svh - 118px), 680px);
    overflow: hidden;
    border: 0;
    border-bottom: 1px solid rgb(255 255 255 / 16%);
    border-radius: 0 0 clamp(24px, 4vw, 44px) clamp(24px, 4vw, 44px);
    color: var(--ank-white);
    background:
        radial-gradient(circle at 8% 6%, rgb(var(--ank-weather-accent) / 24%), transparent 31rem),
        linear-gradient(135deg, #092b35 0%, #0d3b46 48%, #15535b 100%);
    box-shadow: 0 34px 100px rgb(5 37 45 / 24%);
}

.ank-weather-now-layout {
    position: relative;
    z-index: 3;
    display: grid;
    width: min(100% - (var(--ank-gutter) * 2), var(--ank-container));
    min-height: inherit;
    grid-template-columns: minmax(0, 1fr) minmax(430px, .9fr);
    grid-template-rows: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: clamp(2rem, 5vw, 4.5rem);
    row-gap: clamp(1rem, 2vh, 1.5rem);
    margin-inline: auto;
    padding-block: clamp(4.1rem, 6vh, 5rem) clamp(1.2rem, 3vh, 1.8rem);
}

.ank-weather-now[data-weather-theme="sun"] {
    --ank-weather-accent: 246 192 82;
    background: linear-gradient(135deg, #51321c, #a8682c 52%, #e1aa50);
}

.ank-weather-now[data-weather-theme="clouds"] {
    background: linear-gradient(135deg, #132d37, #294956 54%, #6e8085);
}

.ank-weather-now[data-weather-theme="fog"] {
    --ank-weather-accent: 190 220 222;
    background: linear-gradient(135deg, #183238, #536b6f 54%, #a9b6b5);
}

.ank-weather-now[data-weather-theme="rain"] {
    --ank-weather-accent: 102 184 230;
    background: linear-gradient(135deg, #092333, #174c6b 56%, #417795);
}

.ank-weather-now[data-weather-theme="wind"] {
    --ank-weather-accent: 174 224 220;
    background: linear-gradient(135deg, #0c3038, #236469 56%, #6c9994);
}

.ank-weather-now-video,
.ank-weather-now-veil {
    position: absolute;
    z-index: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: inherit;
}

.ank-weather-now-video {
    object-fit: cover;
    opacity: 0;
    filter: saturate(.88) contrast(1.04);
    transform: scale(1.025);
    transition: opacity .9s var(--ank-ease), transform 12s linear;
}

.ank-weather-now.is-video-ready .ank-weather-now-video {
    opacity: .72;
    transform: scale(1.07);
}

.ank-weather-now-veil {
    z-index: 1;
    background:
        linear-gradient(90deg, rgb(3 25 32 / 94%) 0%, rgb(4 31 39 / 80%) 42%, rgb(4 28 35 / 63%) 100%),
        linear-gradient(0deg, rgb(2 22 29 / 48%), transparent 58%);
}

.ank-weather-now[data-weather-theme="sun"] .ank-weather-now-veil {
    background:
        linear-gradient(90deg, rgb(42 26 15 / 92%) 0%, rgb(57 35 20 / 75%) 43%, rgb(55 32 17 / 49%) 100%),
        linear-gradient(0deg, rgb(27 18 12 / 48%), transparent 60%);
}

.ank-weather-now[data-weather-theme="rain"] .ank-weather-now-veil {
    background:
        linear-gradient(90deg, rgb(4 24 37 / 95%) 0%, rgb(7 35 51 / 82%) 44%, rgb(7 32 48 / 62%) 100%),
        linear-gradient(0deg, rgb(3 21 32 / 56%), transparent 58%);
}

.ank-weather-now[data-weather-theme="fog"] .ank-weather-now-veil {
    background:
        linear-gradient(90deg, rgb(11 31 36 / 91%) 0%, rgb(29 48 51 / 72%) 44%, rgb(48 62 63 / 47%) 100%),
        linear-gradient(0deg, rgb(9 27 31 / 46%), transparent 58%);
}

.ank-weather-now-live {
    position: absolute;
    z-index: 4;
    top: 1.55rem;
    right: max(var(--ank-gutter), calc((100vw - var(--ank-container)) / 2));
    display: inline-flex;
    align-items: center;
    gap: .48rem;
    padding: .52rem .72rem;
    border: 1px solid rgb(255 255 255 / 15%);
    border-radius: var(--ank-radius-pill);
    color: rgb(255 255 255 / 78%);
    background: rgb(4 27 34 / 34%);
    font-size: .72rem;
    font-weight: 720;
    backdrop-filter: blur(12px);
}

.ank-weather-now-live i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgb(var(--ank-weather-accent));
    box-shadow: 0 0 0 .28rem rgb(var(--ank-weather-accent) / 13%);
    animation: ank-weather-live 2s ease-out infinite;
}

.ank-weather-now::before {
    position: absolute;
    z-index: 2;
    top: -9rem;
    right: -6rem;
    width: 28rem;
    height: 28rem;
    border: 1px solid rgb(var(--ank-weather-accent) / 18%);
    border-radius: 50%;
    box-shadow: inset 0 0 0 4.8rem rgb(var(--ank-weather-accent) / 3%);
    content: "";
    pointer-events: none;
}

.ank-weather-now-primary {
    position: relative;
    z-index: 3;
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    padding: 0;
    border-right: 0;
}

.ank-weather-now-intro {
    display: grid;
    max-width: 34rem;
    gap: 1rem;
    padding-top: .2rem;
}

.ank-weather-now-kicker {
    display: inline-flex;
    width: max-content;
    align-items: center;
    padding: .48rem .72rem;
    border: 1px solid rgb(var(--ank-weather-accent) / 25%);
    border-radius: var(--ank-radius-pill);
    color: rgb(var(--ank-weather-accent));
    background: rgb(4 27 34 / 30%);
    font-family: var(--ank-font-sans);
    font-size: .68rem;
    font-weight: 720;
    letter-spacing: .035em;
    backdrop-filter: blur(12px);
}

.ank-weather-now-intro h1 {
    max-width: 9em;
    margin: .15rem 0 0;
    color: var(--ank-white);
    font-size: clamp(2.65rem, 4.25vw, 4.6rem);
    font-weight: 850;
    line-height: .98;
    letter-spacing: -.055em;
    text-wrap: balance;
}

.ank-weather-now-intro > p {
    max-width: 31rem;
    margin: 0;
    color: rgb(255 255 255 / 68%);
    font-size: clamp(.84rem, 1vw, .98rem);
    line-height: 1.7;
}

.ank-weather-now .ank-weather-cache {
    width: max-content;
    margin-top: .15rem;
    border-color: rgb(255 255 255 / 13%);
    color: rgb(255 255 255 / 66%);
    background: rgb(4 27 34 / 28%);
    box-shadow: none;
}

.ank-weather-now .ank-weather-cache.is-stale {
    border-color: rgb(246 192 82 / 24%);
    color: rgb(255 225 167 / 86%);
    background: rgb(71 46 18 / 34%);
}

.ank-weather-now-current {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: clamp(.8rem, 1.5vw, 1.15rem);
    padding: clamp(1.25rem, 2vw, 1.8rem);
    border: 1px solid rgb(255 255 255 / 13%);
    border-radius: 30px;
    background: rgb(4 29 36 / 32%);
    box-shadow: inset 0 1px rgb(255 255 255 / 9%), 0 22px 60px rgb(0 18 25 / 13%);
    backdrop-filter: blur(14px) saturate(118%);
}

.ank-weather-now-icon {
    display: grid;
    flex: 0 0 68px;
    width: 68px;
    height: 68px;
    place-items: center;
    border: 1px solid rgb(var(--ank-weather-accent) / 25%);
    border-radius: 21px;
    color: rgb(var(--ank-weather-accent));
    background: rgb(5 31 38 / 26%);
    box-shadow: inset 0 1px rgb(255 255 255 / 14%), 0 14px 35px rgb(0 17 24 / 16%);
    backdrop-filter: blur(12px);
}

.ank-weather-now-copy {
    display: grid;
    width: 100%;
    min-width: 0;
    grid-template-columns: auto 1fr;
    align-items: end;
    gap: .2rem .85rem;
}

.ank-weather-now-copy > div {
    min-width: 0;
}

.ank-weather-location {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .4rem;
    color: rgb(255 255 255 / 62%);
    font-size: .76rem;
    font-weight: 700;
}

.ank-weather-now-copy > strong {
    color: var(--ank-white);
    font-family: var(--ank-font-sans);
    font-size: clamp(4.8rem, 8vw, 7.2rem);
    font-weight: 720;
    line-height: .82;
    letter-spacing: -.075em;
}

.ank-weather-now-current .ank-weather-now-copy > strong {
    font-size: clamp(3rem, 3.1vw, 3.4rem);
}

.ank-weather-now-copy h2 {
    margin: 0 0 .25rem;
    color: var(--ank-white);
    font-size: clamp(1rem, 1.5vw, 1.25rem);
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.ank-weather-now-copy p {
    margin: 0;
    color: rgb(255 255 255 / 58%);
    font-size: .72rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.ank-weather-metrics {
    position: relative;
    z-index: 3;
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-content: center;
    margin: 0;
    padding: .45rem;
    border: 1px solid rgb(255 255 255 / 12%);
    border-radius: 25px;
    background: rgb(4 29 36 / 31%);
    box-shadow: inset 0 1px rgb(255 255 255 / 8%);
    backdrop-filter: blur(13px) saturate(118%);
}

.ank-weather-metric {
    display: grid;
    min-width: 0;
    min-height: 98px;
    align-content: center;
    gap: .38rem;
    padding: 1rem;
    border-right: 1px solid rgb(255 255 255 / 10%);
    border-bottom: 1px solid rgb(255 255 255 / 10%);
}

.ank-weather-metric { border-bottom: 0; }
.ank-weather-metric:nth-child(6n) { border-right: 0; }

.ank-weather-metric-icon {
    margin-bottom: .15rem;
    color: rgb(var(--ank-weather-accent));
}

.ank-weather-metric > span {
    overflow: hidden;
    color: rgb(255 255 255 / 56%);
    font-size: .72rem;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ank-weather-metric > strong {
    color: var(--ank-white);
    font-family: var(--ank-font-sans);
    font-size: clamp(1.1rem, 2vw, 1.45rem);
    font-weight: 700;
    line-height: 1.25;
}

.ank-weather-metric > strong small {
    display: block;
    margin-top: .2rem;
    color: rgb(255 255 255 / 52%);
    font-family: var(--ank-font-sans);
    font-size: .63rem;
    font-weight: 650;
}

.ank-weather-forecast-title {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.2rem;
    margin: clamp(3.3rem, 6vw, 5rem) 0 1.4rem;
}

.ank-weather-forecast-title h2 {
    margin-top: .45rem;
    color: var(--ank-ink);
    font-size: clamp(1.45rem, 2.7vw, 2.3rem);
    line-height: 1.22;
    letter-spacing: -.03em;
}

.ank-weather-forecast-title > span {
    color: var(--ank-muted);
    font-size: .72rem;
    font-weight: 650;
}

.ank-weather-forecast-wrap {
    margin-inline: calc(var(--ank-gutter) * -1);
    padding-inline: var(--ank-gutter);
}

.ank-weather-forecast {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: .72rem;
    padding: .35rem 0 1rem;
}

.ank-weather-day {
    --ank-day-accent: 22 157 154;
    position: relative;
    min-width: 0;
    min-height: 238px;
    overflow: hidden;
    padding: 1.1rem;
    border: 1px solid rgb(16 82 84 / 11%);
    border-radius: 20px;
    background: rgb(255 255 255 / 82%);
    box-shadow: 0 12px 34px rgb(6 47 57 / 7%);
    backdrop-filter: blur(12px);
    transition: transform .25s var(--ank-ease), border-color .25s var(--ank-ease), box-shadow .25s var(--ank-ease);
}

.ank-weather-day[data-weather-theme="sun"] { --ank-day-accent: 223 169 74; }
.ank-weather-day[data-weather-theme="rain"] { --ank-day-accent: 64 143 190; }
.ank-weather-day[data-weather-theme="wind"] { --ank-day-accent: 42 153 153; }

.ank-weather-day::before {
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: rgb(var(--ank-day-accent));
    content: "";
}

.ank-weather-day:hover {
    border-color: rgb(var(--ank-day-accent) / 26%);
    box-shadow: 0 20px 46px rgb(6 47 57 / 11%);
    transform: translateY(-5px);
}

.ank-weather-day-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .5rem;
}

.ank-weather-day-head > div {
    display: grid;
    gap: .05rem;
}

.ank-weather-day-head strong {
    color: var(--ank-ink);
    font-size: .86rem;
}

.ank-weather-day-head span,
.ank-weather-day > p {
    color: var(--ank-muted);
    font-size: .69rem;
}

.ank-weather-day-icon {
    color: rgb(var(--ank-day-accent));
}

.ank-weather-day > p {
    min-height: 2.8em;
    margin: 1.1rem 0 .8rem;
    font-weight: 600;
    line-height: 1.45;
}

.ank-weather-day-temp {
    display: flex;
    align-items: baseline;
    gap: .55rem;
    padding-bottom: .8rem;
    border-bottom: 1px solid rgb(16 82 84 / 9%);
    font-family: var(--ank-font-sans);
}

.ank-weather-day-temp strong {
    color: var(--ank-ink);
    font-size: 1.75rem;
    line-height: 1;
}

.ank-weather-day-temp span {
    color: var(--ank-muted);
    font-size: 1rem;
}

.ank-weather-day-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .4rem;
    padding-top: .75rem;
}

.ank-weather-day-meta > span {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    color: var(--ank-text);
    font-family: var(--ank-font-sans);
    font-size: .67rem;
    font-weight: 650;
}

.ank-weather-day-meta-icon {
    color: rgb(var(--ank-day-accent));
}

.ank-weather-source {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    margin-top: 1.3rem;
    padding: 1rem 1.15rem;
    border: 1px solid rgb(12 102 104 / 10%);
    border-radius: 16px;
    color: var(--ank-muted);
    background: rgb(255 255 255 / 55%);
    font-size: .76rem;
    line-height: 1.65;
}

.ank-weather-source-icon {
    flex: 0 0 auto;
    margin-top: .12rem;
    color: var(--ank-ocean-600);
}

.ank-weather-source p,
.ank-weather-empty {
    margin: 0;
}

.ank-weather-empty {
    padding: 1.25rem;
    color: var(--ank-muted);
}

@media (max-width: 1050px) {
    .ank-weather-now-layout {
        grid-template-columns: minmax(0, 1fr) minmax(310px, .78fr);
        column-gap: 2rem;
    }

    .ank-weather-now-intro h1 {
        font-size: clamp(2.45rem, 4.7vw, 3.55rem);
    }

    .ank-weather-now-current {
        align-items: center;
        gap: .9rem;
        padding: 1.5rem;
    }

    .ank-weather-metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ank-weather-metric { border-right: 1px solid rgb(255 255 255 / 10%); }
    .ank-weather-metric:nth-child(3n) { border-right: 0; }
    .ank-weather-metric:nth-child(-n + 3) { border-bottom: 1px solid rgb(255 255 255 / 10%); }

    .ank-weather-forecast {
        grid-auto-flow: column;
        grid-auto-columns: minmax(155px, 1fr);
        grid-template-columns: none;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-snap-type: inline mandatory;
        scrollbar-width: thin;
    }

    .ank-weather-day { scroll-snap-align: start; }
}

@media (max-width: 760px) {
    .ank-weather-section {
        padding-bottom: 4.5rem;
    }

    .ank-weather-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 1.25rem;
    }

    .ank-weather-heading .ank-section-title {
        font-size: clamp(2.2rem, 12vw, 3.25rem);
    }

    .ank-weather-cache { padding: .55rem .75rem; }

    .ank-weather-now {
        min-height: 0;
        border-radius: 0 0 26px 26px;
    }

    .ank-weather-now-layout {
        display: block;
        width: min(100% - (var(--ank-gutter) * 2), var(--ank-container));
        min-height: 0;
        padding-block: 0 1.1rem;
    }

    .ank-weather-now-primary {
        min-height: 0;
        padding: 4.7rem 0 0;
        border-right: 0;
        border-bottom: 0;
    }

    .ank-weather-now-live {
        top: 1rem;
        right: 1rem;
        max-width: calc(100% - 7.2rem);
        overflow: hidden;
        font-size: .66rem;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .ank-weather-now-video {
        object-position: 58% center;
    }

    .ank-weather-now-copy {
        gap: .15rem .8rem;
    }

    .ank-weather-now-intro {
        max-width: calc(100% - 1rem);
        gap: .65rem;
        padding-top: 0;
    }

    .ank-weather-now-intro h1 {
        max-width: 8em;
        font-size: clamp(2.4rem, 11vw, 3.25rem);
    }

    .ank-weather-now-intro > p {
        max-width: 29rem;
        font-size: .78rem;
        line-height: 1.55;
    }

    .ank-weather-now-current {
        align-items: center;
        flex-direction: row;
        margin-top: 1.4rem;
        padding: 1rem;
        border-radius: 22px;
    }

    .ank-weather-now-copy > strong {
        font-size: clamp(4.5rem, 23vw, 6rem);
    }

    .ank-weather-now-current .ank-weather-now-copy > strong {
        font-size: clamp(3rem, 14vw, 3.25rem);
    }

    .ank-weather-now-icon {
        flex-basis: 60px;
        width: 60px;
        height: 60px;
        border-radius: 18px;
    }

    .ank-weather-current-icon {
        width: 48px;
        height: 48px;
    }

    .ank-weather-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin: 1rem 0 0;
        padding: .5rem;
    }

    .ank-weather-metric {
        min-height: 96px;
        padding: .8rem;
    }

    .ank-weather-metric { border-right: 1px solid rgb(255 255 255 / 10%); }
    .ank-weather-metric:nth-child(2n) { border-right: 0; }
    .ank-weather-metric:nth-child(-n + 4) { border-bottom: 1px solid rgb(255 255 255 / 10%); }

    .ank-weather-metric > span {
        font-size: .66rem;
        white-space: normal;
    }

    .ank-weather-forecast-title {
        align-items: flex-start;
        flex-direction: column;
    }

    .ank-weather-forecast-title > span { display: none; }

    .ank-weather-forecast {
        grid-auto-columns: minmax(154px, 72vw);
    }

    .hero-weather-more {
        margin-inline: 1.1rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero-weather-link .hero-weather,
    .hero-weather-link .hero-weather::before,
    .hero-weather-link .hero-weather::after,
    .hero-weather-link .hero-weather-head,
    .hero-weather-link .hero-weather-main,
    .hero-weather-link .hero-weather-details,
    .hero-weather-more > span,
    .ank-weather-day {
        transition: none;
    }

    .hero-weather-link:hover .hero-weather,
    .hero-weather-link:focus-visible .hero-weather {
        --weather-lift: 0px;
        --weather-scale: 1;
        --weather-tilt-x: 0deg;
        --weather-tilt-y: 0deg;
    }

    .hero-weather-link .hero-weather::after { display: none; }

    .ank-weather-now-video {
        display: none;
    }

    .ank-weather-now-live i {
        animation: none;
    }
}


/* ══════════════════════════════════════════════════════════════════════
 * ᲝᲑᲘᲔᲥᲢᲘᲡ ᲥᲐᲠᲓᲘ — ᲒᲐᲛᲐᲠᲗᲕᲐ (დ-2026-836)
 * ──────────────────────────────────────────────────────────────────────
 * მხოლოდ დამატებაა: დ-2026-833-ის .ank-obj-* წესებს არ ვცვლი. ეს ბლოკი
 * ფაილის ბოლოშია და კასკადით ანაცვლებს მხოლოდ იმ თვისებებს, რაც
 * დავალებას სჭირდება — ბლოკის წაშლა ქარდს ზუსტად წინა სახეს უბრუნებს.
 * ახალი ფერი არ შემოსულა: ყველაფერი არსებული --ank-* ტოკენებიდან მოდის.
 * ══════════════════════════════════════════════════════════════════════ */

/* ფოტოს ერთი პროპორცია ყველა ბრეიკპოინტზე. ფიქსირებული 190px მობილურზე
   3.2:1 ზოლად იკუმშებოდა; height: auto ძველ მნიშვნელობას აუქმებს.
   width + aspect-ratio ბრაუზერს ადგილს წინასწარ ათმევინებს, ე.ი. lazy
   ფოტო layout shift-ს არ იწვევს. */
.ank-obj-img img {
    height: auto;
    aspect-ratio: 16 / 9;
}

/* კატეგორიის ფერი. ლოკალური ცვლადები მხოლოდ ბარათზე ცხოვრობს და :root-ს
   არ ეხება — იგივე ხერხი, რაც --hero-weather-accent-ს აქვს. ორივე ვარიანტი
   (ფოტოზე დაჯდომილი და ღია) AA-ს გადის; ყველაზე დაბალი — სასტუმრო, 4.82:1. */
.ank-obj-card {
    --ank-obj-tint: var(--ank-ocean-50);
    --ank-obj-tint-ink: var(--ank-ocean-700);
    --ank-obj-fill: var(--ank-ocean-600);
    --ank-obj-fill-ink: var(--ank-white);
}

.ank-obj-card[data-cat="guesthouse"] {
    --ank-obj-tint: var(--ank-sand-100);
    --ank-obj-tint-ink: var(--ank-navy-900);
    --ank-obj-fill: var(--ank-sand-300);
    --ank-obj-fill-ink: var(--ank-navy-950);
}

.ank-obj-card[data-cat="restaurant"] {
    --ank-obj-tint: var(--ank-sun-300);
    --ank-obj-tint-ink: var(--ank-navy-900);
    --ank-obj-fill: var(--ank-sun-500);
    --ank-obj-fill-ink: var(--ank-navy-950);
}

.ank-obj-card[data-cat="cafe"] {
    --ank-obj-tint: var(--ank-ocean-100);
    --ank-obj-tint-ink: var(--ank-ocean-800);
    --ank-obj-fill: var(--ank-ocean-300);
    --ank-obj-fill-ink: var(--ank-navy-950);
}

.ank-obj-card[data-cat="fastfood"] {
    --ank-obj-tint: var(--ank-sky-100);
    --ank-obj-tint-ink: var(--ank-navy-800);
    --ank-obj-fill: var(--ank-navy-800);
}

/* გართობა — მზის ტონი; რესტორნისგან ერთი საფეხურით განსხვავდება და ერთ
   ბადეში არასდროს ხვდებიან (სხვადასხვა სექციაა). */
.ank-obj-card[data-cat="entertainment"] {
    --ank-obj-tint: var(--ank-sun-300);
    --ank-obj-tint-ink: var(--ank-navy-900);
    --ank-obj-fill: var(--ank-sun-400);
    --ank-obj-fill-ink: var(--ank-navy-950);
}

.ank-obj-card[data-cat="service"] {
    --ank-obj-tint: var(--ank-surface-soft);
    --ank-obj-tint-ink: var(--ank-text);
    --ank-obj-fill: var(--ank-text);
}

.ank-obj-badge {
    color: var(--ank-obj-tint-ink);
    background: var(--ank-obj-tint);
}

.ank-obj-badge.on-img {
    color: var(--ank-obj-fill-ink);
    background: var(--ank-obj-fill);
}

/* აღწერა ზუსტად ორ ხაზზე. width: 100% აუცილებელია — .ank-obj-body-ს
   align-items: flex-start აქვს, ამის გარეშე -webkit-box შიგთავსზე მოიკუმშება. */
.ank-obj-desc {
    display: -webkit-box;
    width: 100%;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

/* ტელეფონი/ფასი ბარათის ბოლოში ეკვრის — რიგში ყველა ბარათს გამყოფი ხაზი
   ერთ სიმაღლეზე უდგება, თუნდაც სახელი ორ ხაზზე ჩამოვიდეს. */
.ank-obj-body {
    flex: 1;
}

.ank-obj-stats {
    margin-top: auto;
}

.ank-obj-stat a {
    white-space: nowrap;
}

/* კლავიატურით მოსიარულეს იგივე მინიშნება, რაც თაგვს — აწევის გარეშე,
   რომ ფოკუსზე ბარათი არ ახტეს. */
.ank-obj-card:focus-within {
    border-color: var(--ank-ocean-200);
    box-shadow: var(--ank-shadow-hover);
}

/* ══════════════════════════════════════════════════════════════════════
 * ᲔᲠᲗᲘᲐᲜᲘ ᲢᲘᲞᲝᲒᲠᲐᲤᲘᲣᲚᲘ ᲠᲘᲢᲛᲘ
 * ──────────────────────────────────────────────────────────────────────
 * მთელ საჯარო პორტალზე გამოიყენება მხოლოდ Noto Sans Georgian.
 * ტექსტის როლები ხუთ სტანდარტულ სისქეზეა დაყვანილი: 400, 500, 600,
 * 700 და 800. ასე ერთი დონის ტექსტი ყველა სექციაში ერთნაირად იკითხება,
 * ხოლო სათაური, აქცენტი და დამხმარე წარწერა იერარქიას ინარჩუნებს.
 * ══════════════════════════════════════════════════════════════════════ */

body,
button,
input,
textarea,
select,
option {
    font-family: var(--ank-font-sans);
}

body {
    font-weight: var(--ank-weight-regular);
    line-height: var(--ank-leading-body);
}

p,
li,
dd,
figcaption {
    font-weight: var(--ank-weight-regular);
}

.hero h1,
.ank-weather-now-intro h1,
.ank-section-title,
.section-title,
.about-text h3 {
    font-family: var(--ank-font-sans);
    font-weight: var(--ank-weight-display);
}

.ank-section-subtitle,
.section-subtitle {
    font-size: clamp(.98rem, 1.15vw, 1.05rem);
    font-weight: var(--ank-weight-regular);
    line-height: var(--ank-leading-body);
}

.ank-eyebrow,
.hero-badge,
.ank-live-badge,
.ank-live-mode,
.ank-obj-badge,
.ank-fieldset legend {
    font-weight: var(--ank-weight-bold);
}

.ank-btn,
.btn-primary,
.btn-outline,
.ank-header-btn,
.ank-obj-more,
.ank-file-btn {
    font-weight: var(--ank-weight-bold);
}

.ank-organization,
.ank-brand-copy strong,
.footer .nav-logo {
    font-weight: var(--ank-weight-bold);
}

.ank-header-nav a,
.ank-header-nav .ank-nav-link,
.ank-dropdown-toggle,
.ank-header-nav .ank-dropdown-menu a,
.ank-mobile-nav a {
    font-weight: var(--ank-weight-semibold);
}

.ank-mobile-nav-label,
.ank-label {
    font-weight: var(--ank-weight-bold);
}

.hero-desc,
.about-text p {
    font-size: var(--ank-type-body);
    font-weight: var(--ank-weight-regular);
    line-height: var(--ank-leading-body);
}

.hero-weather-kicker,
.hero-weather h2,
.hero-weather-primary > span,
.hero-weather-status,
.hero-weather-detail small,
.hero-weather-more,
.hero-facts-label span,
.hero-stat span {
    font-weight: var(--ank-weight-semibold);
}

.hero-weather-primary > strong,
.hero-weather-detail strong,
.hero-stat strong {
    font-weight: var(--ank-weight-display);
}

.hero-weather-more > span,
.ank-weather-now-kicker,
.ank-weather-now-copy > strong,
.ank-weather-metric > strong,
.ank-weather-day-temp,
.ank-weather-day-meta > span {
    font-family: var(--ank-font-sans);
}

.ank-card h3,
.ank-card h4,
.attr-card h3,
.attr-card h4,
.transport-title,
.ank-obj-name {
    font-size: var(--ank-type-card-title);
    font-weight: var(--ank-weight-bold);
    line-height: 1.4;
}

.ank-card p,
.attr-card p,
.transport-intro,
.ank-obj-desc,
.map-info-card p {
    font-size: var(--ank-type-card-copy);
    font-weight: var(--ank-weight-regular);
    line-height: 1.65;
}

.ank-card p,
.attr-card p {
    color: var(--ank-text);
}

.attr-card h3,
.attr-card h4 {
    margin-bottom: .55rem;
}

.attr-card > .ank-section-title {
    margin: 0 0 .55rem;
    color: var(--ank-ocean-700);
    font-size: clamp(1.85rem, 2.35vw, 2.25rem);
    font-weight: var(--ank-weight-display);
    line-height: 1.08;
    letter-spacing: -.03em;
}

.ank-fact-sources,
.transport-note,
.ank-form-note,
.ank-hint,
.footer-bottom span {
    font-size: var(--ank-type-note);
    font-weight: var(--ank-weight-regular);
    line-height: 1.65;
}

.ank-fact-sources a,
.back-link,
.footer-credit-link,
.ank-error {
    font-weight: var(--ank-weight-semibold);
}

.ank-live-location,
.ank-live-clock span {
    font-weight: var(--ank-weight-semibold);
}

.ank-live-caption h3,
.ank-live-clock strong {
    font-weight: var(--ank-weight-bold);
}

.ank-live-caption p {
    font-size: var(--ank-type-card-copy);
    font-weight: var(--ank-weight-regular);
    line-height: 1.65;
}

.gallery-cap,
.route-num,
.route-card h4,
.map-info-card h4 {
    font-weight: var(--ank-weight-bold);
}

.transport-title {
    margin-bottom: .45rem;
}

.transport-intro {
    margin-bottom: 1.25rem;
}

.route-schedule {
    font-size: var(--ank-type-card-copy);
    font-weight: var(--ank-weight-regular);
    line-height: 1.75;
}

.ank-obj-chip,
.ank-obj-stat a,
.ank-obj-more {
    font-weight: var(--ank-weight-semibold);
}

.ank-obj-count,
.ank-obj-clear,
.ank-obj-place,
.ank-obj-stat,
.ank-obj-nores,
.ank-empty p {
    font-weight: var(--ank-weight-regular);
}

.ank-weather-now-live,
.ank-weather-now-kicker,
.ank-weather-cache,
.ank-weather-location,
.ank-weather-metric > span,
.ank-weather-metric > strong small,
.ank-weather-forecast-title > span,
.ank-weather-day-meta > span {
    font-weight: var(--ank-weight-semibold);
}

.ank-weather-now-intro h1,
.ank-weather-forecast-title h2 {
    font-weight: var(--ank-weight-display);
}

.ank-weather-now-intro > p,
.ank-weather-now-copy p,
.ank-weather-day-head span,
.ank-weather-source,
.ank-weather-empty {
    font-weight: var(--ank-weight-regular);
}

.ank-weather-now-copy h2,
.ank-weather-now-copy > strong,
.ank-weather-day-head strong,
.ank-weather-day-temp strong,
.ank-weather-metric > strong {
    font-weight: var(--ank-weight-bold);
}

.ank-weather-now-copy > strong {
    font-weight: var(--ank-weight-display);
}

.ank-weather-day > p {
    font-weight: var(--ank-weight-medium);
}

.ank-weather-day-temp span {
    font-weight: var(--ank-weight-regular);
}

.footer .nav-logo-icon {
    font-weight: var(--ank-weight-display);
}

.footer h5 {
    font-size: var(--ank-type-card-copy);
    font-weight: var(--ank-weight-bold);
}

.footer p,
.footer a {
    font-weight: var(--ank-weight-regular);
}

.footer .footer-credit-link {
    font-weight: var(--ank-weight-semibold);
}

@media (max-width: 640px) {
    .ank-live-caption h3 {
        font-size: clamp(.82rem, 3.4vw, .95rem);
        font-weight: var(--ank-weight-bold);
    }

    .ank-live-section .ank-section-subtitle {
        font-size: .82rem;
        line-height: 1.55;
    }
}

/* ══════════════════════════════════════════════════════════════════════
 * AQUAPARK / TRANSPORT — 2026-08-31 UX REVIEW
 * აკვაპარკი ერთ პანორამულ კომპოზიციადაა აწყობილი: ვიზუალი მთავარ როლს
 * ინარჩუნებს, ინფორმაცია კი მსუბუქ იერარქიად იკითხება. Mobile-ზე
 * ტრანსპორტის გრძელი დეტალები accordion-ად იშლება.
 * ══════════════════════════════════════════════════════════════════════ */

.ank-transport-toggle {
    display: none;
}

.ank-transport-details {
    display: block;
}

@media (min-width: 961px) {
    #aquapark {
        padding-block: clamp(4.5rem, 6vw, 5.25rem);
    }

    #aquapark .ank-section-subtitle {
        margin-bottom: 1.8rem;
    }
}

.ank-aqua-feature {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr);
    min-height: 510px;
    overflow: hidden;
    border: 1px solid rgb(42 99 105 / 16%);
    border-radius: clamp(24px, 3vw, 34px);
    background: var(--ank-surface);
    box-shadow: 0 24px 64px rgb(13 45 53 / 12%);
}

.ank-aqua-media {
    position: relative;
    min-height: 100%;
    overflow: hidden;
    background: var(--ank-navy-900);
}

.ank-aqua-media::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 45%, rgb(5 34 42 / 78%) 100%);
    content: "";
    pointer-events: none;
}

.ank-aqua-media img {
    width: 100%;
    height: 100%;
    min-height: 510px;
    object-fit: cover;
    object-position: 50% 48%;
    transition: transform .8s var(--ank-ease);
}

.ank-aqua-feature:hover .ank-aqua-media img {
    transform: scale(1.025);
}

.ank-aqua-media-copy {
    position: absolute;
    z-index: 2;
    right: clamp(1.4rem, 3vw, 2.4rem);
    bottom: clamp(1.5rem, 3vw, 2.25rem);
    left: clamp(1.4rem, 3vw, 2.4rem);
    color: #fff;
}

.ank-aqua-media-copy span {
    display: block;
    margin-bottom: .45rem;
    color: var(--ank-ocean-100);
    font-size: .75rem;
    font-weight: var(--ank-weight-bold);
    letter-spacing: .09em;
    text-transform: uppercase;
}

.ank-aqua-media-copy strong {
    display: block;
    max-width: 470px;
    font-size: clamp(1.35rem, 2.1vw, 2rem);
    line-height: 1.25;
}

.ank-aqua-media figcaption {
    position: absolute;
    z-index: 3;
    top: 1.2rem;
    left: 1.2rem;
    padding: .42rem .7rem;
    border: 1px solid rgb(255 255 255 / 24%);
    border-radius: 999px;
    color: rgb(255 255 255 / 76%);
    background: rgb(7 36 44 / 54%);
    backdrop-filter: blur(12px);
    font-size: .68rem;
}

.ank-aqua-media figcaption a {
    color: #fff;
}

.ank-aqua-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(2rem, 3.6vw, 3.25rem);
}

.ank-aqua-count {
    display: inline-flex;
    margin-bottom: .9rem;
    padding: .44rem .75rem;
    border-radius: 999px;
    color: var(--ank-ocean-800);
    background: var(--ank-ocean-100);
    font-size: .78rem;
    font-weight: var(--ank-weight-bold);
}

.ank-aqua-heading h3 {
    max-width: 430px;
    margin: 0 0 .75rem;
    color: var(--ank-ink);
    font-size: clamp(1.55rem, 2.4vw, 2.15rem);
    line-height: 1.25;
}

.ank-aqua-heading p {
    max-width: 500px;
    margin: 0;
    color: var(--ank-muted);
    font-size: .96rem;
    line-height: 1.72;
}

.ank-aqua-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 1.65rem 0 0;
    border-block: 1px solid var(--ank-border);
}

.ank-aqua-facts > div {
    padding: 1rem 0;
}

.ank-aqua-facts > div:nth-child(odd) {
    padding-right: 1rem;
    border-right: 1px solid var(--ank-border);
}

.ank-aqua-facts > div:nth-child(even) {
    padding-left: 1rem;
}

.ank-aqua-facts > div:nth-child(n + 3) {
    border-top: 1px solid var(--ank-border);
}

.ank-aqua-facts dt {
    margin-bottom: .25rem;
    color: var(--ank-muted);
    font-size: .7rem;
    font-weight: var(--ank-weight-semibold);
}

.ank-aqua-facts dd {
    margin: 0;
    color: var(--ank-ink);
    font-size: .88rem;
    font-weight: var(--ank-weight-bold);
    line-height: 1.4;
}

.ank-aqua-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1.35rem;
}

.ank-aqua-footer p {
    max-width: 300px;
    margin: 0;
    color: var(--ank-muted);
    font-size: .68rem;
    line-height: 1.5;
}

.ank-aqua-footer p a {
    color: var(--ank-ocean-700);
    text-decoration: underline;
    text-underline-offset: 2px;
}

@media (max-width: 960px) {
    .ank-aqua-feature {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .ank-aqua-media,
    .ank-aqua-media img {
        min-height: 0;
    }

    .ank-aqua-media {
        aspect-ratio: 16 / 9;
    }
}

@media (max-width: 640px) {
    #aquapark {
        padding-block: 3.4rem;
    }

    #aquapark .ank-section-subtitle {
        margin-bottom: 1.4rem;
    }

    .ank-aqua-feature {
        border-radius: 22px;
    }

    .ank-aqua-media {
        aspect-ratio: 4 / 3;
    }

    .ank-aqua-media-copy strong {
        font-size: 1.2rem;
    }

    .ank-aqua-media figcaption {
        top: .8rem;
        left: .8rem;
    }

    .ank-aqua-content {
        padding: 1.35rem;
    }

    .ank-aqua-heading h3 {
        font-size: 1.45rem;
    }

    .ank-aqua-heading p {
        font-size: .9rem;
    }

    .ank-aqua-facts {
        margin-top: 1.25rem;
    }

    .ank-aqua-facts > div {
        padding-block: .8rem;
    }

    .ank-aqua-facts dd {
        font-size: .8rem;
    }

    .ank-aqua-footer {
        align-items: flex-start;
        flex-direction: column;
        margin-top: 1.1rem;
    }

    .ank-aqua-footer .ank-btn {
        width: 100%;
    }
}

@media (max-width: 640px) {
    #transport {
        padding-block: 3.5rem;
    }

    #transport .ank-section-subtitle {
        margin-bottom: 1.65rem;
    }

    #transport .transport-grid {
        gap: .75rem;
    }

    #transport .transport-card {
        padding: 1rem;
        border-radius: var(--ank-radius-md);
    }

    #transport .ank-icon-box {
        width: 36px;
        height: 36px;
        margin-bottom: .7rem;
        border-radius: 10px;
    }

    #transport .transport-title {
        margin-bottom: .3rem;
        font-size: 1rem;
        line-height: 1.35;
    }

    #transport .transport-intro {
        margin-bottom: .8rem;
        font-size: .8rem;
        line-height: 1.55;
    }

    .ank-transport-toggle {
        display: flex;
        width: 100%;
        min-height: 46px;
        align-items: center;
        justify-content: space-between;
        gap: .75rem;
        padding: .7rem .85rem;
        border: 1px solid var(--ank-ocean-200);
        border-radius: 12px;
        color: var(--ank-ocean-800);
        background: var(--ank-ocean-50);
        font: inherit;
        font-size: .82rem;
        font-weight: var(--ank-weight-bold);
        text-align: left;
        cursor: pointer;
        transition: color .22s ease, background-color .22s ease, border-color .22s ease;
    }

    .ank-transport-toggle:focus-visible {
        outline: 2px solid var(--ank-ocean-400);
        outline-offset: 3px;
    }

    .ank-transport-toggle-icon {
        flex: 0 0 auto;
        transition: transform .28s var(--ank-ease);
    }

    .ank-transport-details {
        display: none;
        padding-top: .75rem;
    }

    .ank-transport-fold.is-open .ank-transport-details {
        display: block;
        animation: ank-transport-details-in .3s var(--ank-ease);
    }

    .ank-transport-fold.is-open .ank-transport-toggle {
        color: var(--ank-white);
        background: var(--ank-ocean-700);
        border-color: var(--ank-ocean-700);
    }

    .ank-transport-fold.is-open .ank-transport-toggle-icon {
        transform: rotate(180deg);
    }

    #transport .map-info {
        gap: .6rem;
    }

    #transport .route-card {
        padding: .85rem;
        border-radius: 12px;
    }

    #transport .route-card h4 {
        margin-bottom: .45rem;
        font-size: .84rem;
    }

    #transport .route-schedule {
        font-size: .78rem;
        line-height: 1.6;
    }

    #transport > .ank-container > .transport-note {
        margin-top: 1.1rem;
        font-size: .7rem;
        line-height: 1.55;
    }
}

@keyframes ank-transport-details-in {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
}

/* გრძელი უწყვეტი სტრიქონი — ბმული ან გამოტოვების გარეშე აკრეფილი ტექსტი —
   ბარათიდან გადმოდიოდა: ბრაუზერისთვის ეს ერთი „სიტყვაა" და ჩვეულებრივი
   გადატანა მას ვერ ჭრის. line-clamp-იც მხოლოდ ვერტიკალურად ჭრის. */
.ank-obj-name,
.ank-obj-desc,
.ank-obj-place span {
    overflow-wrap: anywhere;
}

/* ══════════════════════════════════════════════════════════════════════
 * ᲝᲑᲘᲔᲥᲢᲔᲑᲘᲡ ᲡᲔᲥᲪᲘᲐ — ᲛᲝᲑᲘᲚᲣᲠᲘ ᲒᲐᲛᲐᲠᲗᲕᲐ (დ-2026-836, გაგრძელება)
 * ──────────────────────────────────────────────────────────────────────
 * მხოლოდ დამატებაა — დ-2026-833-ის და ზემოთა ბლოკის ხაზებს არ ვცვლი.
 * ბრეიკპოინტები ფაილისავეა (900 / 640). ახალი ფერი არ შემოსულა.
 * ბლოკის წაშლა სექციას ზუსტად წინა სახეს უბრუნებს.
 * ══════════════════════════════════════════════════════════════════════ */

/* ── 1. [hidden] ბარათზე უნდა იმუშაოს ──────────────────────────────────
   `.ank-obj-card { display: flex }` ავტორის დეკლარაციაა და ბრაუზერის
   `[hidden] { display: none }`-ს ჭამს. ამის გამო ჩიპების ფილტრიც და
   „მეტის ჩვენება"-ც უშედეგო იყო: მთვლელი იცვლებოდა, ბარათები კი ეკრანზე
   რჩებოდა. ცოცხალ გვერდზე გაზომილი — „სასტუმროებზე" გადართვის შემდეგ
   კაფეც და სწრაფი კვებაც display: flex-ით იდგა.
   `.ank-obj-card[hidden]` (0,2,0) სუფთად იგებს, !important არ სჭირდება. */
.ank-obj-card[hidden],
.ank-obj-more-wrap[hidden],
.ank-obj-clear[hidden],
.ank-obj-nores[hidden] {
    display: none;
}

/* ── 2. reveal ბადეში მობილურზე ────────────────────────────────────────
   #1-ის შემდეგ ლიმიტს გადაცილებული ბარათი `display: none`-ით იწყებს;
   IntersectionObserver ასეთ ელემენტს ვერ ხედავს და „მეტის ჩვენებაზე"
   გამოჩენილი ბარათი opacity: 0-ზე დარჩებოდა. */
@media (max-width: 640px) {
    .ank-obj-grid > .ank-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* ── 3. გრძელი ტელეფონი აღარ იჭრება ────────────────────────────────────
   ზემოთა ბლოკის `white-space: nowrap` ბარათის `overflow: hidden`-თან
   ერთად ნომერს უჩუმრად ჭრიდა. ყველაზე ვიწრო ბარათი 641px-ზეა (279px). */
@media (max-width: 900px) {
    .ank-obj-stat {
        min-width: 0;
    }

    .ank-obj-stat a {
        overflow-wrap: anywhere;
        white-space: normal;
    }
}

/* ── 4. შეხების სამიზნეები მობილურზე ───────────────────────────────────
   გაზომილი: ჩიპი 40px, „ფილტრის მოხსნა" 35px, tel: ბმული 91×22px.
   მინიმუმი 44×44 — ტელეფონი ბარათის მთავარი მოქმედებაა. */
@media (max-width: 640px) {
    .ank-obj-bar {
        gap: .45rem .5rem;
    }

    .ank-obj-chip {
        min-height: 44px;
    }

    .ank-obj-clear {
        display: inline-flex;
        min-height: 44px;
        align-items: center;
        padding-inline: .9rem;
    }

    /* hit-box ::after-ით ეზრდება — ბარათი არ იწელება, ფსევდო ელემენტი
       stats-ის padding-ში ჯდება და ხილულს ვერაფერს გადაფარავს. */
    .ank-obj-stat a {
        position: relative;
    }

    .ank-obj-stat a::after {
        position: absolute;
        top: 50%;
        left: 0;
        width: 100%;
        min-width: 44px;
        height: 44px;
        content: "";
        transform: translateY(-50%);
    }

    .ank-obj-more {
        display: flex;
        width: 100%;
        min-height: 48px;
        align-items: center;
        justify-content: center;
    }
}

/* ── 5. touch-ზე hover აღარ „ეკვრის" ───────────────────────────────────
   (hover: none)-ში მხოლოდ transform იხსნებოდა; ჩრდილი და საზღვარი
   შეხების შემდეგ ბარათზე რჩებოდა. :not(:focus-within) კლავიატურის
   მინიშნებას ხელს არ ახლებს. */
@media (hover: none) {
    .ank-obj-card:hover:not(:focus-within) {
        border-color: var(--ank-border);
        box-shadow: var(--ank-shadow-sm);
    }
}

/* ═══ UI-აიკონების მიკროანიმაციები — მხოლოდ hover/focus-ზე ═══
   მშვიდ მდგომარეობაში აიკონები უძრავია. მოძრაობა იწყება მხოლოდ მაშინ,
   როცა მომხმარებელი შესაბამის ბმულს, ღილაკს ან ქარდს ეხება კურსორით. */
.ank-morph-icon {
    display: inline-flex;
    transform-origin: center;
    transition: filter .28s var(--ank-ease), transform .3s var(--ank-ease);
}

@media (hover: hover) and (pointer: fine) {
    :where(
        a,
        button,
        [role="button"],
        .ank-card,
        .attr-card,
        .hero-weather,
        .ank-weather-now-current,
        .ank-weather-cache,
        .ank-weather-location,
        .ank-weather-day,
        .ank-weather-metric,
        .ank-live-card,
        .ank-obj-card,
        .ank-icon-box
    ):hover .ank-morph-icon {
        animation: ank-icon-pop .56s var(--ank-ease) both;
    }

    :where(a, button, [role="button"], .ank-card, .attr-card, .ank-weather-day, .ank-icon-box):hover
    .ank-morph-icon:is([data-icon="bus"], [data-icon="train"], [data-icon="car"], [data-icon="bike"]) {
        animation-name: ank-icon-travel;
    }

    :where(a, button, [role="button"], .ank-card, .attr-card, .hero-weather, .ank-weather-day, .ank-icon-box):hover
    .ank-morph-icon:is([data-icon="waves"], [data-icon="water"]) {
        animation-name: ank-icon-wave;
    }

    :where(a, button, [role="button"], .ank-card, .attr-card, .hero-weather, .ank-weather-day, .ank-icon-box):hover
    .ank-morph-icon:is([data-icon="wind"], [data-icon="rain-wind"]) {
        animation-name: ank-icon-breeze;
    }

    :where(a, button, [role="button"], .ank-card, .attr-card, .hero-weather, .ank-weather-day, .ank-icon-box):hover
    .ank-morph-icon:is([data-icon="sun"], [data-icon="uv"]) {
        animation-name: ank-icon-sun;
    }

    :where(a, button, [role="button"], .ank-card, .attr-card, .hero-weather, .ank-weather-day, .ank-icon-box):hover
    .ank-morph-icon:is([data-icon="map"], [data-icon="location"]) {
        animation-name: ank-icon-pin;
    }

    :where(a, button, [role="button"], .ank-card, .attr-card, .hero-weather, .ank-weather-day, .ank-icon-box):hover
    .ank-morph-icon:is([data-icon="cloud"], [data-icon="cloudy"], [data-icon="cloud-sun"], [data-icon="fog"], [data-icon="rain"], [data-icon="drizzle"], [data-icon="snow"], [data-icon="storm"]) {
        animation-name: ank-icon-weather;
    }

    :where(a, button, [role="button"], .ank-card, .attr-card, .ank-icon-box):hover
    .ank-morph-icon[data-icon="heart"] {
        animation-name: ank-icon-heart;
    }

    :where(a, button, [role="button"], .ank-card, .attr-card, .ank-icon-box):hover
    .ank-morph-icon[data-icon="refresh"] {
        animation-name: ank-icon-refresh;
    }
}

@keyframes ank-icon-pop {
    0% { transform: translateY(0) scale(1) rotate(0deg); }
    45% { transform: translateY(-3px) scale(1.1) rotate(-3deg); }
    72% { transform: translateY(-1px) scale(1.04) rotate(2deg); }
    100% { transform: translateY(-2px) scale(1.07) rotate(0deg); }
}

@keyframes ank-icon-travel {
    0% { transform: translateX(0) scale(1); }
    42% { transform: translateX(4px) scale(1.06); }
    68% { transform: translateX(-1px) scale(1.03); }
    100% { transform: translateX(2px) scale(1.05); }
}

@keyframes ank-icon-wave {
    0% { transform: translateY(0) rotate(0deg); }
    35% { transform: translateY(-2px) rotate(-4deg); }
    68% { transform: translateY(1px) rotate(3deg); }
    100% { transform: translateY(-1px) rotate(0deg); }
}

@keyframes ank-icon-breeze {
    0% { transform: translateX(0); }
    35% { transform: translateX(4px); }
    62% { transform: translateX(-2px); }
    100% { transform: translateX(2px); }
}

@keyframes ank-icon-sun {
    0% { transform: rotate(0deg) scale(1); }
    55% { transform: rotate(16deg) scale(1.1); }
    100% { transform: rotate(10deg) scale(1.06); }
}

@keyframes ank-icon-pin {
    0% { transform: translateY(0) scale(1); }
    45% { transform: translateY(-4px) scale(1.06); }
    68% { transform: translateY(1px) scale(1.02); }
    100% { transform: translateY(-1px) scale(1.04); }
}

@keyframes ank-icon-weather {
    0% { transform: translate(0, 0) scale(1); }
    42% { transform: translate(3px, -2px) scale(1.07); }
    72% { transform: translate(-1px, -1px) scale(1.03); }
    100% { transform: translate(1px, -1px) scale(1.05); }
}

@keyframes ank-icon-heart {
    0%, 100% { transform: scale(1); }
    35% { transform: scale(1.13); }
    60% { transform: scale(1.04); }
    78% { transform: scale(1.1); }
}

@keyframes ank-icon-refresh {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(320deg); }
}

@media (prefers-reduced-motion: reduce) {
    .ank-morph-icon {
        animation: none !important;
        transition: none !important;
    }
}

/* ══════════════════════════════════════════════════════════════════════
 * ᲒᲐᲡᲢᲠᲝᲜᲝᲛᲘᲘᲡ ᲡᲔᲥᲪᲘᲐ — ᲛᲔᲒᲠᲣᲚᲘ ᲒᲔᲛᲝ (დ-2026-837)
 * ──────────────────────────────────────────────────────────────────────
 * მხოლოდ დამატებაა, ფაილის ბოლოში — გიორგისა და პატუკას ხაზებს არ ვცვლი.
 * ახალი ფერი არ შემოსულა: ყველაფერი არსებული --ank-* ტოკენებიდან.
 * რადიუსი, ჩრდილი, hover და ბრეიკპოინტები (900 / 640) — იგივე, რაც
 * ობიექტების ქარდებს აქვს.
 * ══════════════════════════════════════════════════════════════════════ */

/* ── შესავალი: აქცენტის ბლოკი ──────────────────────────────────────────
   ფოტო არ გვაქვს, ამიტომ ფონად ზღვისფერი გრადიენტია იმავე ორი ტოკენიდან.
   ტექსტი თეთრია — კონტრასტი ocean-800-ზე 11.4:1, ocean-600-ზე 5.9:1. */
.ank-gastro-intro {
    display: grid;
    gap: .75rem;
    padding: clamp(1.5rem, 4vw, 2.5rem);
    color: var(--ank-white);
    background: linear-gradient(135deg, var(--ank-ocean-800) 0%, var(--ank-ocean-600) 100%);
}

/* ქარდის ჩვეული hover აქ ზედმეტია — ეს ბანერია, არა დასაჭერი ბარათი. */
.ank-gastro-intro:hover {
    border-color: var(--ank-border);
    box-shadow: var(--ank-shadow-sm);
    transform: none;
}

.ank-gastro-intro .ank-eyebrow {
    color: var(--ank-ocean-200);
}

.ank-gastro-intro .ank-section-title {
    margin: 0;
    color: var(--ank-white);
}

.ank-gastro-intro p {
    max-width: 64ch;
    margin: 0;
    color: var(--ank-ocean-100);
    font-size: .95rem;
    line-height: var(--ank-leading-body);
}

/* ── კერძების ბადე ─────────────────────────────────────────────────────
   ფოტოებიც და კერძის იკონებიც არ არსებობს (ank_icon()-ში კვებასთან
   დაკავშირებული ერთადერთია — food). ამიტომ ნიშნად კერძის პირველი ასოა:
   ტიპოგრაფია საიტის საკუთარი ენაა და ექვსივეს ერთმანეთისგან არჩევს. */
.ank-dish-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.15rem;
    margin-top: clamp(1.4rem, 3.5vw, 2.2rem);
}

.ank-dish-card {
    display: flex;
    align-items: flex-start;
    gap: .9rem;
    padding: clamp(1.1rem, 2.2vw, 1.35rem);
}

.ank-dish-mark {
    display: grid;
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 50%;
    color: var(--ank-ocean-700);
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1;
    background: var(--ank-ocean-50);
}

/* სამი ტონი მონაცვლეობით — ბადე ერთფეროვანი რომ არ იყოს. სამივე წყვილი
   AA-ს გადის: 6.4:1 · 12.5:1 · 10.4:1. */
.ank-dish-card:nth-child(3n - 1) .ank-dish-mark {
    color: var(--ank-navy-900);
    background: var(--ank-sand-100);
}

.ank-dish-card:nth-child(3n) .ank-dish-mark {
    color: var(--ank-navy-900);
    background: var(--ank-sun-300);
}

.ank-dish-body {
    display: grid;
    min-width: 0;
    gap: .3rem;
}

.ank-dish-name {
    margin: 0;
    color: var(--ank-ink);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3;
}

.ank-dish-desc {
    margin: 0;
    color: var(--ank-text);
    font-size: .88rem;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

/* ── მოწოდება მფლობელებს ───────────────────────────────────────────────*/
.ank-gastro-cta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: clamp(1.4rem, 3.5vw, 2.2rem);
    padding: clamp(1.2rem, 3vw, 1.8rem);
}

.ank-gastro-cta:hover {
    border-color: var(--ank-border);
    box-shadow: var(--ank-shadow-sm);
    transform: none;
}

.ank-gastro-cta p {
    max-width: 54ch;
    margin: 0;
    color: var(--ank-text);
    font-size: .93rem;
    line-height: var(--ank-leading-body);
}

.ank-gastro-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
}

@media (max-width: 900px) {
    .ank-dish-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
    .ank-dish-grid { grid-template-columns: minmax(0, 1fr); }

    /* ღილაკები ცერისთვის — იგივე 48px, რაც სექციის სხვა CTA-ს აქვს. */
    .ank-gastro-cta-actions { width: 100%; }

    .ank-gastro-cta-actions .ank-btn {
        flex: 1 1 100%;
        min-height: 48px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}
