/* ── Language Picker / Google Translate ── */
.goog-te-banner-frame,.goog-te-menu-frame,.goog-te-balloon-frame{display:none!important;height:0!important}
body,body.translated-ltr,body.translated-rtl{top:0!important;margin-top:0!important}
#goog-gt-tt,.goog-tooltip,.goog-tooltip:hover,.goog-text-highlight{display:none!important;background:none!important;box-shadow:none!important}
/* ── Language Picker in sidebar ── */
.tklang-wrap{position:relative;padding:4px 12px}
.tklang-btn{width:100%;justify-content:flex-start;background:none;border:none;color:rgba(255,255,255,.7);font-size:.85rem;font-weight:500;padding:10px 10px;border-radius:10px;cursor:pointer;display:flex;align-items:center;gap:10px;transition:.15s;text-align:left}
.tklang-btn:hover{background:rgba(255,255,255,.08);color:#fff}
.tklang-btn i{width:20px;text-align:center;font-size:1rem;flex-shrink:0}
.tklang-active-name{font-size:.72rem;color:rgba(249,115,22,.9);font-weight:600;margin-left:auto;white-space:nowrap;max-width:80px;overflow:hidden;text-overflow:ellipsis}
.tklang-dropdown{display:none;position:fixed;background:#1e2d50;border:1px solid rgba(255,255,255,.12);border-radius:14px;box-shadow:0 8px 32px rgba(0,0,0,.5);z-index:1060;overflow:hidden;width:260px}
.tklang-dropdown.open{display:block}
.tklang-dhead{padding:12px 14px 8px;font-size:.75rem;font-weight:700;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid rgba(255,255,255,.08)}
.tklang-search-wrap{padding:10px 12px 6px}
.tklang-search{width:100%;padding:7px 10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#fff;font-size:.82rem;outline:none;box-sizing:border-box}
.tklang-search::placeholder{color:rgba(255,255,255,.35)}
.tklang-search:focus{border-color:rgba(249,115,22,.6)}
.tklang-list{max-height:260px;overflow-y:auto;padding:4px 0 8px}
.tklang-list::-webkit-scrollbar{width:4px}
.tklang-list::-webkit-scrollbar-track{background:transparent}
.tklang-list::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:4px}
.tklang-item{display:flex;align-items:center;gap:10px;padding:8px 14px;cursor:pointer;font-size:.84rem;color:rgba(255,255,255,.75);transition:.12s;border-radius:0}
.tklang-item:hover{background:rgba(255,255,255,.07);color:#fff}
.tklang-item.active{background:rgba(249,115,22,.15);color:#F97316;font-weight:600}
.tklang-item .tklang-flag{font-size:1.1rem;width:22px;text-align:center;flex-shrink:0}
.tklang-item .tklang-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Collapsed sidebar: show only icon */
body.tk-collapsed .tk-sidebar .tklang-active-name,
body.tk-collapsed .tk-sidebar .tklang-btn span:not(.tklang-active-name){display:none}
body.tk-collapsed .tk-sidebar .tklang-wrap{padding:4px 0}
body.tk-collapsed .tk-sidebar .tklang-btn{justify-content:center;padding:10px 0}
/* ── Public floating translate button ── */
#pubLangBtn{display:none;position:fixed;bottom:28px;right:28px;z-index:99998;background:#0D1B3E;color:#fff;border:none;border-radius:50px;padding:10px 18px 10px 14px;cursor:pointer;align-items:center;gap:9px;font-size:0.82rem;font-weight:600;box-shadow:0 4px 20px rgba(0,0,0,0.28);transition:background .18s,box-shadow .18s,transform .12s;font-family:'Inter',sans-serif;white-space:nowrap}
#pubLangBtn:hover{background:#1a2d5a;box-shadow:0 6px 24px rgba(0,0,0,0.38);transform:translateY(-2px)}
#pubLangBtn i{font-size:1rem;flex-shrink:0}
#pubLangBtn .pub-lang-name{color:#F97316;font-weight:700;font-size:0.78rem}

/* ── Page Preloader ── */
/* ═══════════════════════════════════════════
   TYKTT PRELOADER — Premium Edition
═══════════════════════════════════════════ */
#tyktt-preloader {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #040d1f;
    transition: opacity 0.7s cubic-bezier(0.4,0,0.2,1),
                visibility 0.7s cubic-bezier(0.4,0,0.2,1);
}
#tyktt-preloader.pl-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

/* ── Animated gradient mesh background ── */
.pl-bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 80% 60% at 20% 50%, rgba(249,115,22,0.12) 0%, transparent 60%),
        radial-gradient(ellipse 60% 80% at 80% 30%, rgba(13,27,62,0.9) 0%, transparent 70%),
        radial-gradient(ellipse 100% 100% at 50% 50%, #040d1f 40%, #0D1B3E 100%);
    animation: pl-bg-shift 4s ease infinite alternate;
}
@keyframes pl-bg-shift {
    0%   { filter: hue-rotate(0deg); }
    100% { filter: hue-rotate(15deg); }
}

/* ── Floating orbs ── */
.pl-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
    opacity: 0.35;
    animation: pl-float 6s ease-in-out infinite;
}
.pl-orb-1 {
    width: 320px; height: 320px;
    background: radial-gradient(circle, #F97316, #ea580c);
    top: -80px; left: -80px;
    animation-delay: 0s;
}
.pl-orb-2 {
    width: 280px; height: 280px;
    background: radial-gradient(circle, #1e40af, #0D1B3E);
    bottom: -60px; right: -60px;
    animation-delay: -3s;
}
.pl-orb-3 {
    width: 180px; height: 180px;
    background: radial-gradient(circle, #f59e0b, #F97316);
    bottom: 20%; left: 15%;
    opacity: 0.18;
    animation-delay: -1.5s;
}
@keyframes pl-float {
    0%, 100% { transform: translateY(0px) scale(1); }
    50%       { transform: translateY(-30px) scale(1.08); }
}

/* ── Grid lines overlay ── */
.pl-grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
    background-size: 60px 60px;
    -webkit-mask-image: radial-gradient(ellipse 70% 70% at 50% 50%, black 20%, transparent 100%);
    mask-image: radial-gradient(ellipse 70% 70% at 50% 50%, black 20%, transparent 100%);
}

/* ── Center card ── */
.pl-card {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}

/* ── Logo mark ── */
.pl-brand {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 2.8rem;
    animation: pl-rise 0.8s cubic-bezier(0.34,1.56,0.64,1) both;
}
@keyframes pl-rise {
    from { opacity: 0; transform: translateY(24px) scale(0.9); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}
.pl-icon-ring {
    width: 52px; height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, #F97316 0%, #ea580c 100%);
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 0 0 0 rgba(249,115,22,0.4);
    animation: pl-pulse-ring 2s ease infinite;
}
.pl-icon-ring i { font-size: 1.4rem; color: #fff; }
@keyframes pl-pulse-ring {
    0%   { box-shadow: 0 0 0 0 rgba(249,115,22,0.45); }
    70%  { box-shadow: 0 0 0 16px rgba(249,115,22,0); }
    100% { box-shadow: 0 0 0 0 rgba(249,115,22,0); }
}
.pl-wordmark {
    display: flex;
    flex-direction: column;
    line-height: 1;
}
.pl-wordmark-name {
    font-size: 1.9rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    color: #fff;
    text-shadow: 0 0 40px rgba(249,115,22,0.3);
}
.pl-wordmark-name em {
    font-style: normal;
    color: #F97316;
}
.pl-wordmark-sub {
    font-size: 0.6rem;
    font-weight: 600;
    letter-spacing: 0.35em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.35);
    margin-top: 2px;
}

/* ── Page label ── */
.pl-page-label {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: #F97316;
    margin-bottom: 2rem;
    opacity: 0;
    animation: pl-rise 0.6s 0.4s cubic-bezier(0.34,1.56,0.64,1) forwards;
}

/* ── Progress ring ── */
.pl-ring-wrap {
    position: relative;
    width: 80px; height: 80px;
    margin-bottom: 1.6rem;
    opacity: 0;
    animation: pl-fadein 0.4s 0.6s ease forwards;
}
.pl-ring-wrap svg {
    width: 80px; height: 80px;
    transform: rotate(-90deg);
}
.pl-ring-track {
    fill: none;
    stroke: rgba(255,255,255,0.07);
    stroke-width: 3;
}
.pl-ring-fill {
    fill: none;
    stroke: url(#pl-grad);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-dasharray: 220;
    stroke-dashoffset: 220;
    animation: pl-ring-spin 2s cubic-bezier(0.4,0,0.2,1) forwards;
}
@keyframes pl-ring-spin {
    0%   { stroke-dashoffset: 220; }
    100% { stroke-dashoffset: 0; }
}
.pl-ring-pct {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    font-weight: 800;
    color: #fff;
    letter-spacing: -0.02em;
}

/* ── Thin bar below ring ── */
.pl-bar-wrap {
    width: 200px;
    height: 2px;
    background: rgba(255,255,255,0.07);
    border-radius: 99px;
    overflow: hidden;
    opacity: 0;
    animation: pl-fadein 0.4s 0.7s ease forwards;
}
.pl-bar-fill {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, #F97316, #fbbf24);
    border-radius: 99px;
    animation: pl-bar 2s cubic-bezier(0.4,0,0.2,1) forwards;
    box-shadow: 0 0 8px #F97316;
}
@keyframes pl-bar { to { width: 100%; } }

@keyframes pl-fadein { to { opacity: 1; } }
