/* Public site shell: theme, header, navigation.

   APPY-SHELLCSS-20260924: moved out of base.html, where it sat inline
   in seven <style> blocks and was downloaded again with every page.
   As a file it is cached once. Each block keeps its original order;
   the two files are linked exactly where the first block of their
   group used to be, so the cascade against page styles is unchanged. */

/* ---- block 1 (was base.html line 142) ---- */
/* ბრენდის ფერები style.css-შია (APPY-CSSVARS-20260811); აქ მხოლოდ
   საჯარო გვერდის ტექსტის ფერები რჩება — სხვაგან არ გამოიყენება. */
:root{ --c-text:#aeb9cc; --c-head:#f5f8ff; }
/* html-ზეც მუქი ფონის fallback — რომ პრელოადერის მოხსნის/scroll-lock-ის repaint-ის დროს
   თეთრი UA-ს default არსად "გამოკრთეს" (body.pub-ის gradient-ის დახატვამდე) */
html{ background:#020617; }
body.pub{ background-color:#020617; background-image:linear-gradient(160deg, #04142d 0%, #020617 55%, #041b22 100%); }
.pub-nebula{ position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
.pub-nebula span{ position:absolute; border-radius:50%; filter:blur(120px); opacity:.28; will-change:transform; }
/* ნელი, მინიმალისტური დრიფტი — მთელ საიტზე (ყველა გვერდზე ერთნაირად, base.html-შია) */
.pub-nebula .n1{ width:620px;height:620px; top:-180px; left:-140px; background:radial-gradient(circle,rgba(11,95,180,.55),transparent 70%);
    animation:pubDriftA 26s ease-in-out infinite; }
.pub-nebula .n2{ width:680px;height:680px; top:38%; right:-220px; background:radial-gradient(circle,rgba(14,188,133,.5),transparent 70%);
    animation:pubDriftB 32s ease-in-out infinite; }
.pub-nebula .n3{ width:560px;height:560px; bottom:-200px; left:22%; background:radial-gradient(circle,rgba(108,184,255,.3),transparent 70%);
    animation:pubDriftA 38s ease-in-out infinite reverse; }
.pub-nebula .n4{ width:480px;height:480px; top:12%; left:48%; background:radial-gradient(circle,rgba(14,188,133,.28),transparent 70%);
    animation:pubDriftB 22s ease-in-out infinite reverse; }
@keyframes pubDriftA{ 0%,100%{ transform:translate(0,0) scale(1); } 50%{ transform:translate(46px,-38px) scale(1.08); } }
@keyframes pubDriftB{ 0%,100%{ transform:translate(0,0) scale(1); } 50%{ transform:translate(-42px,34px) scale(1.06); } }
@media (prefers-reduced-motion:reduce){ .pub-nebula span{ animation:none!important; } }

/* 2026-07: მობილურ GPU-ს გადატვირთვის ფიქსი — root cause of Chrome/Safari "ჭედვა".
   filter:blur(120px) 480-680px ფენებზე + უსასრულო ანიმაცია + backdrop-filter
   ყოველ frame-ზე უზარმაზარ ფართობს გადახატავს; Blink/WebKit მობილურზე ამას ვერ
   წევს (Firefox/Gecko სხვა path-ით ხატავს — ამიტომ იქ გლუვია). DNS/ქსელი აქ არაფერ
   შუაშია. მობილურზე: nebula-ს blur+animation ვხსნით (static gradient რჩება),
   backdrop-filter-ს ვხსნით (rgba background ისედაც კითხვადს ტოვებს). */
@media (max-width:768px){
    .pub-nebula span{ animation:none!important; filter:none!important;
        will-change:auto!important; opacity:.16!important; }
    *{ backdrop-filter:none!important; -webkit-backdrop-filter:none!important; }
}

/* 2026-07: "Grid + Aurora Combo" ფონი — მთელ საჯარო საიტზე (base.html-ია, ამიტომ
   დეშბორდსა და სტაფ-პანელს არ ეხება, მათ საკუთარი ცალკე template აქვთ).
   წმინდა CSS linear-gradient ბადეა, blur/animation არ აქვს — მობილურზეც უფასოა
   (იხ. ზემოთ კომენტარი mobile GPU freeze-ის შესახებ, ეს მასზე არ ვრცელდება). */
.pub-grid{ position:fixed; inset:0; z-index:0; pointer-events:none;
    background-image:linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
                      linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
    background-size:44px 44px;
    -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 0%, #000 40%, transparent 85%);
    mask-image:radial-gradient(ellipse 80% 60% at 50% 0%, #000 40%, transparent 85%); }

body.pub main{ position:relative; z-index:1; color:var(--c-text); }

/* საერთო readability — მხოლოდ main-ში (ნავი/ფუტერი ხელუხლებელი) */
body.pub main .text-dark{ color:var(--c-head)!important; }
body.pub main .text-secondary, body.pub main .text-muted{ color:#9fb0c7!important; }
body.pub main .bg-light, body.pub main .bg-white{ background:transparent!important; }
body.pub main section[style*="background"]{ background:transparent!important; }
body.pub main .card{ background:rgba(255,255,255,.04)!important; border:1px solid rgba(255,255,255,.09)!important;
    backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); color:var(--c-text)!important;
    box-shadow:0 24px 60px rgba(2,8,30,.45)!important; }
body.pub main .form-control, body.pub main .form-select{
    background:rgba(255,255,255,.06)!important; border:1px solid rgba(255,255,255,.16)!important; color:#eef4ff!important; }
body.pub main .form-control::placeholder{ color:#7e90aa!important; }
body.pub main .form-control:focus, body.pub main .form-select:focus{
    border-color:var(--c-green)!important; box-shadow:0 0 0 .2rem rgba(14,188,133,.18)!important; background:rgba(255,255,255,.08)!important; }
body.pub main a:not(.btn){ color:var(--c-sky); }
body.pub main a:not(.btn):hover{ color:var(--c-green); }

/* utility კლასები — საერთო ბრენდ-სტილი */
.eyebrow{ display:inline-flex; align-items:center; gap:8px; font-size:.78rem; font-weight:700;
    letter-spacing:2px; text-transform:uppercase; color:var(--c-green);
    background:rgba(14,188,133,.10); border:1px solid rgba(14,188,133,.28); padding:7px 16px; border-radius:30px; }
.cosmic-title{ font-weight:800; color:var(--c-head); line-height:1.12;
    background:linear-gradient(120deg,#fff 0%,#bcd9ff 45%,#0ebc85 115%);
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.sec-sub{ color:var(--c-text); max-width:680px; margin:18px auto 0; font-size:1.05rem; line-height:1.8; }
.accent-line{ height:3px; width:64px; border-radius:3px; background:linear-gradient(90deg,var(--c-green),var(--c-blue)); }
.text-head{ color:var(--c-head)!important; }
.muted-c{ color:var(--c-text)!important; }
.cosmic-sec{ position:relative; z-index:1; padding:96px 0; }

.glass{ background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.09); border-radius:22px;
    backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
    transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s, border-color .35s; }
.glass:hover{ transform:translateY(-8px); border-color:rgba(14,188,133,.45);
    box-shadow:0 24px 60px rgba(2,8,30,.55), 0 0 50px rgba(11,95,180,.18); }
.glass-soft{ background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:20px;
    backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); }
.ico-orb{ width:74px;height:74px;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;
    font-size:30px;color:#fff; background:linear-gradient(135deg,var(--c-blue),var(--c-green)); box-shadow:0 10px 30px rgba(11,95,180,.35); }
.btn-cosmic{ background:linear-gradient(135deg,rgba(14,188,133,.92),rgba(11,95,180,.92)); color:#fff; border:1px solid rgba(255,255,255,.14); font-weight:700;
    border-radius:40px; padding:14px 38px; box-shadow:0 12px 34px rgba(11,95,180,.35);
    transition:transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .28s, filter .2s; backdrop-filter:blur(4px); }
.btn-cosmic:hover{ filter:brightness(1.06); transform:translateY(-3px); color:#fff; box-shadow:0 20px 48px rgba(14,188,133,.42); }
.btn-ghost{ background:rgba(255,255,255,.05); color:#e7eefb; border:1px solid rgba(255,255,255,.18); font-weight:600;
    border-radius:40px; padding:14px 36px; backdrop-filter:blur(6px);
    transition:transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .28s, background .25s, border-color .25s; }
.btn-ghost:hover{ background:rgba(14,188,133,.12); color:#fff; border-color:rgba(14,188,133,.6);
    transform:translateY(-3px); box-shadow:0 16px 38px rgba(14,188,133,.22); }
.svc-tab{ background:rgba(255,255,255,.035); color:#cfe0f5; border:1px solid rgba(255,255,255,.12); border-radius:40px;
    padding:10px 22px; font-weight:600; backdrop-filter:blur(6px);
    transition:transform .2s cubic-bezier(.2,.8,.2,1), box-shadow .25s, background .25s, border-color .25s, color .2s; }
.svc-tab:hover{ border-color:rgba(14,188,133,.6); color:#fff; transform:translateY(-2px);
    background:rgba(14,188,133,.10); box-shadow:0 10px 26px rgba(14,188,133,.18); }
.svc-tab.active{ background:linear-gradient(135deg,rgba(11,95,180,.95),rgba(14,188,133,.95)); color:#fff!important;
    border-color:transparent; box-shadow:0 12px 30px rgba(14,188,133,.32); }
/* Bootstrap-ის სოლიდ ღილაკები საჯარო გვერდებზე → ცოცხალი ბრენდ-გრადიენტი (flowing) */
body.pub .btn-primary, body.pub .btn-success{
    background-image:linear-gradient(120deg,#0ebc85 0%,#0b5fb4 50%,#0ebc85 100%)!important;
    background-size:220% 100%!important; background-position:0% 50%!important;
    border:1px solid rgba(255,255,255,.16)!important; color:#fff!important;
    box-shadow:0 10px 30px rgba(11,95,180,.32)!important;
    transition:background-position .6s ease, transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .3s, filter .2s!important; }
body.pub .btn-primary:hover, body.pub .btn-success:hover{
    background-position:100% 50%!important; transform:translateY(-3px); color:#fff!important;
    box-shadow:0 20px 46px rgba(14,188,133,.42)!important; filter:brightness(1.05); }
body.pub .btn-outline-primary{ color:#bfe9da!important; border-color:rgba(14,188,133,.55)!important; background:rgba(14,188,133,.06)!important;
    transition:transform .2s, box-shadow .25s, background .25s!important; }
body.pub .btn-outline-primary:hover{ background:rgba(14,188,133,.16)!important; color:#fff!important; transform:translateY(-2px);
    box-shadow:0 12px 30px rgba(14,188,133,.22)!important; }
.pop-badge{ background:linear-gradient(135deg,var(--c-green),var(--c-blue)); color:#fff; border:none; box-shadow:0 6px 18px rgba(14,188,133,.4); }
.stat-num{ font-weight:800; font-size:3.2rem; line-height:1; background:linear-gradient(120deg,#fff,#0ebc85);
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.reveal{ opacity:0; transform:translateY(34px); transition:opacity .8s ease, transform .8s cubic-bezier(.2,.8,.2,1); }
.reveal.in{ opacity:1; transform:none; }
/* scroll-cue — ⚠️ 2026-07: აღარ არის position:absolute (hero-ს ბოლოში "ეკიდა"
   და auto-height hero-ზე შემდეგი სექციის ბეჯს ედებოდა/იჭედებოდა მობილურზე).
   ახლა ჩვეულებრივ flow-შია, ღილაკების row-ის ქვემოთ, საკუთარი margin-ით. */
.scroll-cue{ display:inline-block; margin-top:44px; color:#9fb2cc; font-size:1.4rem; animation:cueBob 1.8s ease-in-out infinite; }
@keyframes cueBob{ 0%,100%{transform:translateY(0); opacity:.5;} 50%{transform:translateY(10px); opacity:1;} }

/* ჰერო — ავტომატური სიმაღლე content-ის მიხედვით (აღარ არის 100vh/100svh ძალით),
   რომ scroll-cue ისარიც და ქვედა ღილაკების row-იც ყოველთვის ჩანდეს ჩამოსქროლვის გარეშე */
#hero{ padding:168px 0 90px; min-height:0; }
@media (max-width:991px){ #hero{ padding:148px 0 76px; } }
@media (max-width:575px){ #hero{ padding:126px 0 60px; } }
@media (max-height:700px){ #hero{ padding:118px 0 56px; } }

/* navbar — დარქ-მოუდი ყველა მდგომარეობაში (აღარ თეთრდება) */
body.pub header.navbar.sticky-top{ transition:background .4s, box-shadow .4s, backdrop-filter .4s;
    background:rgba(4,20,45,.28)!important; box-shadow:none!important;
    backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-bottom:1px solid rgba(255,255,255,.06); }
body.pub.nav-solid header.navbar.sticky-top{ background:rgba(5,13,32,.82)!important;
    box-shadow:0 10px 34px rgba(2,8,30,.45)!important; border-bottom-color:rgba(255,255,255,.10); }
body.pub header.navbar .nav-link{ color:#e7eefb!important; }
body.pub header.navbar .nav-link:hover{ color:var(--c-green)!important; }
/* ენების/ღილაკების მუქი სტილი + dropdown */
body.pub header.navbar .btn-light{ background:rgba(255,255,255,.08)!important; color:#e7eefb!important;
    border:1px solid rgba(255,255,255,.18)!important; }
body.pub header.navbar .btn-light:hover{ background:rgba(255,255,255,.14)!important; }
body.pub .dropdown-menu{ background:rgba(8,18,38,.96)!important; border:1px solid rgba(255,255,255,.12)!important;
    backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); box-shadow:0 18px 50px rgba(2,8,30,.5); }
body.pub .dropdown-item{ color:#dbe6f5!important; }
body.pub .dropdown-item:hover, body.pub .dropdown-item.active{ background:rgba(14,188,133,.18)!important; color:#fff!important; }
body.pub .dropdown-divider{ border-color:rgba(255,255,255,.10)!important; }
/* მობილურის toggler — თეთრი იკონი მუქ ფონზე */
body.pub header.navbar .navbar-toggler{ border-color:rgba(255,255,255,.25); }
body.pub header.navbar .navbar-toggler-icon{
    background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(231,238,251,0.95)' stroke-width='2.2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
@media (max-width:991px){
    body.pub header.navbar.sticky-top{ background:rgba(5,13,32,.96)!important; }
    /* გახსნილი ბურგერ-მენიუ — მუქი glass პანელი (აღარ თეთრი) */
    body.pub #navbarNav{ background:rgba(6,15,34,.98)!important; border:1px solid rgba(255,255,255,.10);
        border-radius:18px; margin-top:12px; padding:14px 14px 18px; box-shadow:0 22px 60px rgba(2,8,30,.6); }
    body.pub #navbarNav .nav-link{ color:#e7eefb!important; padding:12px 8px; border-radius:10px; }
    body.pub #navbarNav .nav-link:hover{ background:rgba(14,188,133,.12); color:#fff!important; }
    body.pub #navbarNav .navbar-nav{ border-bottom:1px solid rgba(255,255,255,.08); padding-bottom:8px; margin-bottom:6px; }
}
@media (max-width:575px){ .cosmic-title.display-3{ font-size:2.4rem; } .cosmic-sec{ padding:64px 0; } }

/* ====== ცალკეული საჯარო გვერდების glass-მორგება 3D ფონზე ====== */
/* წესები / პოლიტიკა — ჰედერი გავამჭვირვალეთ (გრადიენტ-ბანერი ცუდად ჯდებოდა) */
body.pub .terms-hero{ background:transparent!important; padding:64px 0 40px!important; }
body.pub .terms-hero::after{ display:none!important; }
body.pub .terms-hero h1{ background:linear-gradient(120deg,#fff,#bcd9ff 45%,#0ebc85 115%);
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
body.pub .terms-hero .badge-updated{ background:rgba(14,188,133,.12)!important; border:1px solid rgba(14,188,133,.30)!important; color:#dff5ec!important; }
body.pub .policy-tabs a{ background:rgba(255,255,255,.06)!important; border:1px solid rgba(255,255,255,.16)!important; color:#dbe6f5!important; }
body.pub .policy-tabs a:hover, body.pub .policy-tabs a.active{ background:linear-gradient(135deg,var(--c-blue),var(--c-green))!important; color:#fff!important; border-color:transparent!important; }
body.pub .terms-wrap{ margin-top:0!important; }
body.pub .terms-card{ background:rgba(255,255,255,.045)!important; border:1px solid rgba(255,255,255,.10)!important;
    backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); box-shadow:0 28px 70px rgba(2,8,30,.5)!important; }
body.pub .terms-content{ color:#c7d2e2!important; }
body.pub .terms-content h2, body.pub .terms-content h3, body.pub .terms-content h4{ color:#f5f8ff!important; }
body.pub .terms-content strong{ color:#fff!important; }
body.pub .terms-content a{ color:var(--c-sky)!important; }
body.pub .terms-content blockquote{ background:rgba(14,188,133,.10)!important; color:#cfe9df!important; border-left-color:var(--c-green)!important; }
body.pub .terms-content hr{ opacity:.18!important; border-color:#fff!important; }

/* ავტ. გვერდები (ლოგინი/რეგისტრაცია/პაროლის აღდგენა) */
body.pub .auth-wrap{ background:transparent!important; }
body.pub .auth-card{ background:rgba(255,255,255,.045)!important; border:1px solid rgba(255,255,255,.10)!important;
    backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); box-shadow:0 28px 70px rgba(2,8,30,.5)!important; }
body.pub .auth-head{ background:linear-gradient(135deg,rgba(11,95,180,.55),rgba(14,188,133,.45))!important; }
body.pub .auth-body{ color:#c7d2e2; }
body.pub .auth-body input{ background:rgba(255,255,255,.06)!important; border:1px solid rgba(255,255,255,.16)!important; color:#eef4ff!important; }
body.pub .auth-body input:focus{ border-color:var(--c-green)!important; box-shadow:0 0 0 3px rgba(14,188,133,.16)!important; }
body.pub .pw-hint{ color:#9fb0c7!important; }

/* რეგისტრაციის ფორმა */
body.pub .django-form input, body.pub .django-form select, body.pub .django-form textarea{
    background:rgba(255,255,255,.06)!important; border:1px solid rgba(255,255,255,.16)!important; color:#eef4ff!important; }
body.pub .django-form input:focus, body.pub .django-form select:focus, body.pub .django-form textarea:focus{
    border-color:var(--c-green)!important; box-shadow:0 0 0 3px rgba(14,188,133,.16)!important; }
body.pub .django-form option{ background:#0b1730; color:#eef4ff; }
body.pub .terms-consent{ background:rgba(255,255,255,.05)!important; border:1px solid rgba(255,255,255,.12)!important; }
body.pub .terms-consent label{ color:#bcc8da!important; }
body.pub .terms-consent a, body.pub .auth-body a:not(.btn){ color:var(--c-sky)!important; }
body.pub .password-rules li{ color:#9fb0c7; }

/* ====== ჩვენი custom სქროლბარი (ბრენდ-გრადიენტი) — ერთადერთი, ნამდვილი ====== */
html{ scrollbar-width:thin; scrollbar-color:#0ebc85 #050f24; }
html::-webkit-scrollbar{ width:12px; }
html::-webkit-scrollbar-track{ background:#050f24; }
html::-webkit-scrollbar-thumb{ border-radius:12px; border:3px solid #050f24;
    background:linear-gradient(180deg,#0ebc85,#6cb8ff,#0b5fb4); box-shadow:0 0 10px rgba(14,188,133,.35); }
html::-webkit-scrollbar-thumb:hover{ background:linear-gradient(180deg,#13d99b,#1170d6); }

/* ====== ინტერაქციის დახვეწა (2026-07) ====== */
/* ნავიგაციის ლინკები — ანიმირებული ქვედა ხაზი hover-ზე */
body.pub header.navbar .nav-link{ position:relative; }
body.pub header.navbar .nav-link::after{ content:''; position:absolute; left:12px; right:12px; bottom:2px; height:2px;
    border-radius:2px; background:linear-gradient(90deg,var(--c-green),var(--c-sky));
    transform:scaleX(0); transform-origin:left; transition:transform .32s cubic-bezier(.2,.8,.2,1); }
body.pub header.navbar .nav-link:hover::after{ transform:scaleX(1); }
@media (max-width:991px){ body.pub header.navbar .nav-link::after{ display:none; } }

/* ღილაკებზე ნათების „სხივი" hover-ზე (sheen sweep) */
.btn-cosmic, .btn-ghost{ position:relative; overflow:hidden; }
.btn-cosmic::after, .btn-ghost::after{ content:''; position:absolute; top:0; left:-140%; width:70%; height:100%;
    background:linear-gradient(120deg,transparent,rgba(255,255,255,.35),transparent);
    transform:skewX(-18deg); transition:left .6s cubic-bezier(.2,.8,.2,1); pointer-events:none; z-index:0; }
.btn-cosmic:hover::after, .btn-ghost:hover::after{ left:150%; }
.btn-cosmic > *, .btn-ghost > *{ position:relative; z-index:1; }
@media (prefers-reduced-motion: reduce){ .btn-cosmic::after, .btn-ghost::after{ display:none !important; } }

/* ---- block 2 (was base.html line 396) ---- */
#preloader{
    display:var(--preloader-display, flex);
    position:fixed; inset:0; z-index:99999; flex-direction:column;
    align-items:center; justify-content:center; overflow:hidden;
    background:radial-gradient(circle at 50% 42%, #07172f 0%, #020617 72%);
    transition:opacity .4s ease, transform .45s cubic-bezier(.5,0,.15,1), filter .45s ease;
    will-change:opacity, transform, filter;
}
/* გარდასახვა: პრელოადერი "შეიწოვება" სცენაში (warp dive) */
#preloader.warp{ opacity:0; transform:scale(1.06); filter:blur(4px); pointer-events:none; }
/* ჩატვირთვისას სქროლის ბლოკი — position:fixed ვიყენებთ overflow:hidden-ის
   ნაცვლად, რომ scroll-position restore-ს (= scroll ხტომას) ავიცილოთ */
html.pl-lock body{ position:fixed; top:0; left:0; right:0; overflow-y:scroll; }
/* დიდი, თითქმის გვერდის სიგანის მბრუნავი რგოლები (ცენტრში) */
#preloader .ring{ position:absolute; top:50%; left:50%; border-radius:50%; border:1px solid transparent; pointer-events:none; }
#preloader .ring.r1{ width:126vmin; height:126vmin; margin:-63vmin 0 0 -63vmin;
    border-top-color:rgba(14,188,133,.55); border-right-color:rgba(11,95,180,.40);
    box-shadow:0 0 60px rgba(14,188,133,.10) inset; animation:plspin 20s linear infinite; }
#preloader .ring.r2{ width:92vmin; height:92vmin; margin:-46vmin 0 0 -46vmin;
    border-bottom-color:rgba(108,184,255,.45); border-left-color:rgba(14,188,133,.38); animation:plspin 13s linear infinite reverse; }
@keyframes plspin{ to{ transform:rotate(360deg); } }
/* ცენტრალური ბლოკი — ლოგო/ბარი/ტექსტი */
#preloader .pl-stack{ position:relative; z-index:2; }
#preloader .pl-logo-wrap{ position:relative; display:inline-flex; align-items:center; justify-content:center; padding:30px 40px; }
#preloader .pl-logo-wrap::before{ content:''; position:absolute; inset:0; border-radius:50%;
    background:radial-gradient(circle, rgba(14,188,133,.22) 0%, rgba(11,95,180,.10) 50%, transparent 72%);
    animation:plhalo 2.6s ease-in-out infinite; }
@keyframes plhalo{ 0%,100%{ transform:scale(.9); opacity:.55; } 50%{ transform:scale(1.12); opacity:1; } }
#preloader .preloader-logo{ position:relative; z-index:2; filter:drop-shadow(0 0 22px rgba(14,188,133,.55));
    animation:plpulse 1.9s ease-in-out infinite; }
@keyframes plpulse{ 0%,100%{ transform:scale(1); opacity:.92; } 50%{ transform:scale(1.05); opacity:1; } }
#preloader .pl-bar{ margin-top:30px; width:210px; height:3px; background:rgba(255,255,255,.08); border-radius:3px; overflow:hidden; position:relative; }
#preloader .pl-bar > span{ display:block; height:100%; width:0; border-radius:3px;
    background:linear-gradient(90deg,#0ebc85,#6cb8ff,#0b5fb4); box-shadow:0 0 12px rgba(14,188,133,.5);
    animation:plfill 1.9s cubic-bezier(.4,0,.2,1) forwards; }
@keyframes plfill{ 0%{ width:0; } 70%{ width:84%; } 100%{ width:100%; } }
#preloader .pl-text{ margin-top:28px; color:#bcd0e6; font-weight:600; letter-spacing:4px;
    font-size:.78rem; text-transform:uppercase; animation:pltext 1.7s ease-in-out infinite; }
@keyframes pltext{ 0%,100%{ opacity:.5; } 50%{ opacity:1; } }
/* პრელოადერის გაფანტვისას კონტენტი ნაზად ამოდის */
body.pl-enter main, body.pl-enter .site-footer{ animation:plReveal 1.1s cubic-bezier(.2,.8,.2,1) both; }
@keyframes plReveal{ from{ opacity:0; transform:translateY(22px) scale(.992); } to{ opacity:1; transform:none; } }
/* Appy-ს მწვანე — მხოლოდ ამ ფაილში (მოთხოვნისამებრ) */

/* ---- block 3 (was base.html line 461) ---- */
#mainNavbar .nav-link { position:relative; padding-top:6px; padding-bottom:6px; }
#mainNavbar .nav-link::after {
    content:""; position:absolute; left:50%; bottom:0; width:0; height:2px;
    background:linear-gradient(90deg,#0ebc85,#0b5fb4); transition:width .25s ease, left .25s ease; border-radius:2px;
}
#mainNavbar .nav-link:hover::after, #mainNavbar .nav-link.active::after { width:80%; left:10%; }
#mainNavbar .dropdown-menu { border-radius:14px; overflow:hidden; margin-top:10px !important; animation:navDropIn .18s ease; }
@keyframes navDropIn { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }
#mainNavbar .dropdown-item { transition:background .15s, padding-left .15s; }
#mainNavbar .dropdown-item:hover { padding-left:20px; }
.acc-dropdown-toggle {
    display:flex; align-items:center; gap:8px; border:none; background:linear-gradient(135deg,#0ebc85,#0b5fb4);
    color:#fff; border-radius:50px; padding:8px 18px 8px 8px; font-weight:600; transition:filter .2s, transform .2s;
}
.acc-dropdown-toggle:hover { filter:brightness(1.08); transform:translateY(-1px); color:#fff; }
.acc-avatar {
    width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,.25);
    display:flex; align-items:center; justify-content:center; font-size:.85rem; font-weight:700; color:#fff;
}
.acc-avatar img { width:100%; height:100%; object-fit:cover; border-radius:50%; }
.info-dropdown-toggle {
    display:flex; align-items:center; gap:6px; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.06);
    color:#e7eefb; border-radius:50px; padding:8px 16px; font-weight:600; transition:background .2s, transform .2s;
}
.info-dropdown-toggle:hover { background:rgba(255,255,255,.14); color:#e7eefb; transform:translateY(-1px); }
/* დროფდაუნის ისარი — სუფთა CSS სამკუთხედი, არავითარ აიქონურ ფონტზე არაა დამოკიდებული */
.acc-dropdown-toggle::after, .info-dropdown-toggle::after {
    content:""; display:inline-block; width:0; height:0; margin-left:4px;
    border-left:5px solid transparent; border-right:5px solid transparent; border-top:6px solid currentColor;
    transition: transform .2s ease;
}
.acc-dropdown-toggle[aria-expanded="true"]::after, .info-dropdown-toggle[aria-expanded="true"]::after {
    transform: rotate(180deg);
}
/* დესკტოპზე (რეალური hover მოწყობილობებზე) dropdown-ები იხსნება თაგუნას მიტანაზე, კლიკიც კვლავ მუშაობს;
   მობილურზე/touch-ზე ეს წესი საერთოდ არ ირთვება — იქ ჩვეულებრივი tap/click რჩება უცვლელად. */
@media (hover: hover) and (pointer: fine) {
    #mainNavbar .hover-dropdown:hover > .dropdown-menu {
        display:block;
    }
    /* toggle-სა და მენიუს შორის დაშორება (margin-top) hover-ის დროს ტოვებდა "მკვდარ ზონას" —
       მაუსი გზაში კარგავდა hover-ს და dropdown ქრებოდა. hover რეჟიმში ეს დაშორება ვხურავთ. */
    #mainNavbar .hover-dropdown > .dropdown-menu {
        margin-top: 0 !important;
        padding-top: 14px;
    }
}

