/* =====================================================================
   EIDOK — premium finish (loaded last, after every other stylesheet)
   The layout stays as it is; this only refines colour, type, depth and
   motion so every surface speaks the same quiet, expensive language.
   Remove this one <link> to go back.
   ===================================================================== */

/* ---------- tokens ---------- */
:root {
  --ek-font: "Plus Jakarta Sans", "Anek Bangla", "Hind Siliguri", "Noto Sans Bengali", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ek-bg: #F4F4F6;
  --ek-surface: #FFFFFF;
  --ek-surface-2: #F5F5F8;
  --ek-line: #E7E7ED;
  --ek-text: #111216;
  --ek-text-2: #5B616E;
  --ek-radius: 20px;
  --ek-radius-sm: 14px;
  --ek-grad: linear-gradient(135deg, #FF3558 0%, #E3246F 52%, #9637EE 100%);
  --ek-grad-soft: linear-gradient(135deg, rgba(255, 53, 88, .10), rgba(150, 55, 238, .10));
  --ek-shadow: 0 1px 1px rgba(17, 18, 22, .03), 0 2px 6px rgba(17, 18, 22, .04), 0 14px 34px -14px rgba(17, 18, 22, .12);
  --ek-shadow-hover: 0 2px 4px rgba(17, 18, 22, .04), 0 18px 44px -16px rgba(17, 18, 22, .18);
  --ek-ring: 0 0 0 3px rgba(227, 36, 111, .25);
  --ek-ease: cubic-bezier(.2, .7, .2, 1);
  --body-bg-color: #F4F4F6;
}
body.night-mode {
  --ek-bg: #0A0C10;
  --ek-surface: #12151B;
  --ek-surface-2: #191D25;
  --ek-line: rgba(255, 255, 255, .07);
  --ek-text: #EDEEF1;
  --ek-text-2: #969CA8;
  --ek-shadow: inset 0 1px 0 rgba(255, 255, 255, .035), 0 16px 40px -20px rgba(0, 0, 0, .75);
  --ek-shadow-hover: inset 0 1px 0 rgba(255, 255, 255, .05), 0 22px 50px -20px rgba(0, 0, 0, .85);
  --body-bg-color-dark: #0A0C10;
  --header-bg-color-dark: #0A0C10;
  --card-dark-color: #12151B;
  --card-dark-divider: rgba(255, 255, 255, .07);
  --card-dark-hover: #191D25;
  --card-dark-input: #191D25;
  --body-color-dark: #EDEEF1;
}

/* ---------- type ---------- */
body { font-feature-settings: "ss01", "cv11"; text-rendering: optimizeLegibility; }
::selection { background: rgba(227, 36, 111, .22); }
a:focus-visible, button:focus-visible, .btn:focus-visible, [role="tab"]:focus-visible { outline: none !important; box-shadow: var(--ek-ring) !important; }
.ql-editor:focus, .ql-editor:focus-visible, [contenteditable]:focus-visible { box-shadow: none !important; outline: none !important; }

/* ---------- motion ---------- */
a, .btn, .card, .main-side-nav > li > a, .ek-fai-sug, .trending-item, .dropdown-item {
  transition: background-color .2s var(--ek-ease), color .2s var(--ek-ease), box-shadow .25s var(--ek-ease), transform .2s var(--ek-ease), border-color .2s var(--ek-ease);
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation-duration: .01ms !important; } }

/* ---------- scrollbars ---------- */
* { scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--ek-text-2) 35%, transparent) transparent; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--ek-text-2) 30%, transparent); border-radius: 10px; border: 3px solid transparent; background-clip: content-box; }
::-webkit-scrollbar-track { background: transparent; }

/* ---------- header ---------- */
.main-header {
  background: color-mix(in srgb, var(--ek-bg) 78%, transparent) !important;
  -webkit-backdrop-filter: saturate(170%) blur(20px); backdrop-filter: saturate(170%) blur(20px);
  border-bottom: 1px solid var(--ek-line) !important;
}
.main-header .search-wrapper .form-control, .main-header .search-input {
  background: var(--ek-surface) !important; border: 1px solid var(--ek-line) !important; height: 44px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .03) !important;
}
.main-header .search-wrapper .form-control:focus { border-color: rgba(227, 36, 111, .45) !important; box-shadow: var(--ek-ring) !important; }
.main-header .counter { font-size: 10.5px !important; min-width: 18px; letter-spacing: 0; }

/* ---------- one card language for every panel ---------- */
.main-side-nav-card, .theiaStickySidebar > .card, .ek-fai-host > .card, #publisher-box.publisher,
.card.daytime_message, .ek-moment-promo, #ekAlertBanner .ekal-banner, .profile-header, .profile-tabs-wrapper {
  background: var(--ek-surface) !important;
  border: 1px solid var(--ek-line) !important;
  border-radius: var(--ek-radius) !important;
  box-shadow: var(--ek-shadow) !important;
}
.theiaStickySidebar > .card .card-header, .ek-fai-host > .card .card-header { background: transparent !important; border-bottom: 0 !important; font-weight: 800; letter-spacing: -.01em; }

/* the AI line: quiet until it is used */
.ek-fai-shell {
  background: linear-gradient(var(--ek-surface), var(--ek-surface)) padding-box, linear-gradient(var(--ek-line), var(--ek-line)) border-box !important;
  border-width: 1px !important; padding: 0 !important; border-radius: var(--ek-radius) !important; box-shadow: var(--ek-shadow) !important;
}
.ek-fai-shell:focus-within, .ek-fai.is-busy .ek-fai-shell, .ek-fai.is-listening .ek-fai-shell {
  background: linear-gradient(var(--ek-surface), var(--ek-surface)) padding-box, var(--ek-grad) border-box !important;
  box-shadow: 0 14px 36px -16px rgba(227, 36, 111, .45) !important;
}
.ek-fai-bar { border-radius: var(--ek-radius) !important; }
.ek-fai-new { background: rgba(227, 36, 111, .14) !important; color: #E3246F !important; box-shadow: none !important; }
body.night-mode .ek-fai-new { color: #FF7AA8 !important; }
.ek-fai-sug { background: var(--ek-surface) !important; border: 1px solid var(--ek-line) !important; border-radius: 999px !important; box-shadow: none !important; font-weight: 600 !important; }
.ek-fai-sug:hover { border-color: color-mix(in srgb, var(--ek-text-2) 40%, transparent) !important; transform: translateY(-1px); }

/* the warning line keeps its colour, softly */
#ekAlertBanner .ekal-banner { background: color-mix(in srgb, #F2B705 9%, var(--ek-surface)) !important; border-color: color-mix(in srgb, #F2B705 30%, var(--ek-line)) !important; }

/* the "Same Moment" invitation: a single brand wash, no heavy outline */
.ek-moment-promo { background: linear-gradient(120deg, color-mix(in srgb, #E3246F 12%, var(--ek-surface)), var(--ek-surface) 70%) !important; }

/* the composer's quick buttons: calm tiles, coloured icons */
#publisher-box .ek-quick .ek-q { background: var(--ek-surface-2) !important; border: 1px solid var(--ek-line) !important; box-shadow: none !important; border-radius: 14px !important; }
#publisher-box .ek-quick .ek-q:hover { transform: translateY(-1px); border-color: color-mix(in srgb, var(--ek-text-2) 35%, transparent) !important; }
#publisher-box .colored-text-wrapper .ql-editor { border: 0 !important; box-shadow: none !important; }

/* ---------- feed tabs: a calm segmented control ---------- */
.ek-feed-tabs {
  background: var(--ek-surface) !important; border: 1px solid var(--ek-line) !important; border-radius: 16px !important;
  box-shadow: var(--ek-shadow) !important; padding: 5px !important;
}
.ek-feed-tabs a { border-radius: 12px !important; font-weight: 700 !important; }

/* ---------- left navigation ---------- */
.main-side-nav > li > a { color: var(--ek-text) !important; font-weight: 600 !important; }
.main-side-nav > li > a .svg-container, .main-side-nav > li > a .main-icon { color: var(--ek-text-2) !important; }
.main-side-nav > li > a:hover { background: var(--ek-surface-2) !important; }
.main-side-nav > li.active > a { background: var(--ek-surface-2) !important; font-weight: 800 !important; box-shadow: inset 3px 0 0 #E3246F; }
.main-side-nav > li.active > a .svg-container, .main-side-nav > li.active > a .main-icon { color: #E3246F !important; }
.main-side-nav .badge, .main-side-nav .ek-new { background: rgba(227, 36, 111, .14) !important; color: #E3246F !important; font-weight: 800 !important; letter-spacing: .04em; box-shadow: none !important; }
body.night-mode .main-side-nav .badge, body.night-mode .main-side-nav .ek-new { color: #FF7AA8 !important; }

/* ---------- right column ---------- */
.trending-item { display: block; border-radius: 12px; padding: 6px 10px; margin: 0 -10px; }
.trending-item:hover { background: var(--ek-surface-2); }
.trending-item .hash { font-weight: 800; color: var(--ek-text) !important; }

/* ---------- posts ---------- */
.post .post-media, .post .pg_wrapper, .post .post-media-image, .post .image-container { border-radius: 16px; overflow: hidden; }
.post .post-actions .action-btn { border-radius: 12px; }
.post .post-actions .action-btn:hover { background: var(--ek-surface-2) !important; }

/* ---------- buttons ---------- */
.btn-primary { box-shadow: 0 8px 22px -8px rgba(227, 36, 111, .55) !important; }
.btn-primary:hover { transform: translateY(-1px); }
.btn-light, .btn-secondary { border: 1px solid var(--ek-line) !important; }

/* ---------- forms ---------- */
.form-control, .form-select { border-radius: 12px !important; border-color: var(--ek-line) !important; }
.form-control:focus, .form-select:focus { border-color: rgba(227, 36, 111, .45) !important; box-shadow: var(--ek-ring) !important; }

/* ---------- menus & dialogs ---------- */
.dropdown-menu { border: 1px solid var(--ek-line) !important; border-radius: 16px !important; box-shadow: 0 24px 60px -18px rgba(0, 0, 0, .35) !important; padding: 6px !important; }
.dropdown-item { border-radius: 10px; }
.modal-content { border: 1px solid var(--ek-line) !important; box-shadow: 0 40px 100px -30px rgba(0, 0, 0, .55) !important; }
.modal-backdrop.show { opacity: .55; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }

/* ---------- the install prompt: a small floating card, not a wall ---------- */
.pwa_install_banner.is-active {
  left: auto !important; right: 20px !important; bottom: 20px !important; width: 360px !important; max-width: calc(100vw - 16px);
  padding: 12px 12px 12px 14px !important; border-radius: 20px !important;
  background: color-mix(in srgb, var(--ek-surface) 86%, transparent) !important;
  -webkit-backdrop-filter: saturate(170%) blur(22px); backdrop-filter: saturate(170%) blur(22px);
  border: 1px solid var(--ek-line); box-shadow: 0 24px 60px -20px rgba(0, 0, 0, .5) !important;
  color: var(--ek-text);
}
.pwa_install_banner .inner { gap: 12px; }
.pwa_install_banner .inner .logo { width: 44px; }
.pwa_install_banner .inner .logo img { width: 44px; border-radius: 12px; }
.pwa_install_banner .inner .name { padding-left: 0; min-width: 0; }
.pwa_install_banner .inner .name span.title { font-size: 15px; font-weight: 800; }
.pwa_install_banner .inner .name span.description { font-size: 12.5px; color: var(--ek-text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pwa_install_banner .inner .close { order: 9; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; color: var(--ek-text-2); cursor: pointer; }
.pwa_install_banner .cta .btn { height: 38px; padding: 0 16px; font-size: 14px; }
@media (max-width: 767.98px) {
  body.ek-theme .pwa_install_banner.is-active { right: 8px !important; left: 8px !important; width: auto !important; }
}

/* ---------- phone: bottom bar as glass ---------- */
.ek-bnav, .footer-bottom-bar {
  background: color-mix(in srgb, var(--ek-surface) 84%, transparent) !important;
  -webkit-backdrop-filter: saturate(170%) blur(20px); backdrop-filter: saturate(170%) blur(20px);
  border-top: 1px solid var(--ek-line) !important;
}

/* ---------- round 2: one colour for the menu icons, the trending card in both modes, quiet badges ---------- */
.main-side-nav > li > a .svg-container svg [stroke]:not([stroke="none"]),
.main-side-nav > li > a > svg [stroke]:not([stroke="none"]) { stroke: currentColor !important; }
.main-side-nav > li > a .svg-container svg [fill]:not([fill="none"]),
.main-side-nav > li > a > svg [fill]:not([fill="none"]) { fill: currentColor !important; }
.main-side-nav > li > a > svg { color: var(--ek-text-2); width: 24px; height: 24px; }
.main-side-nav > li > a:hover .svg-container, .main-side-nav > li > a:hover > svg { color: var(--ek-text) !important; }
.main-side-nav > li.active > a > svg { color: #E3246F !important; }
.ek-side-new { background: rgba(227, 36, 111, .12) !important; color: #D11E62 !important; box-shadow: none !important; font-weight: 800 !important; letter-spacing: .04em; border-radius: 999px !important; }
body.night-mode .ek-side-new { background: rgba(255, 122, 168, .14) !important; color: #FF8CB4 !important; }

.card.bg-red { color: var(--ek-text) !important; }
.card.bg-red .card-header h6, .card.bg-red .card-header, .card.bg-red .trending-item, .card.bg-red .trending-item .hash { color: var(--ek-text) !important; }
.card.bg-red .trending-item .frequency { color: var(--ek-text-2) !important; font-weight: 600; }
.card.bg-red .card-header svg, .card.bg-red .card-header .svg-container { color: #E3246F !important; }
/* the old engine paints the icon strokes themselves (#5e72e4): let them follow their container */
.main-side-nav > li > a .svg-container svg, .main-side-nav > li > a .svg-container svg * { color: inherit !important; }
