/* ============================================================
   TimlX Theme — theme.css
   Shared chrome (nav + footer + mobile drawer), reset, animations,
   and shared utility classes. Page-section layouts live inline in the
   marketing page tpls (reproducing the design refs pixel-for-pixel);
   this file owns everything shared across all pages.
   ============================================================ */

/* Reset ----------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--tlx-bg-deep, #080D18);
  font-family: var(--tlx-font-body, 'IBM Plex Sans', sans-serif);
  color: var(--tlx-text-body, #EEF1F6);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.tlx-doc a { text-decoration: none; }
img { display: block; max-width: 100%; }   /* global (also constrains SE feed/cover images) */
.tlx-doc h1, .tlx-doc h2, .tlx-doc h3, .tlx-doc h4 { margin: 0; }
.tlx-doc p { margin: 0; }

/* Animations ------------------------------------------------------------ */
@keyframes tlxDrift {
  0%   { transform: translate(0, 0); }
  50%  { transform: translate(18px, -12px); }
  100% { transform: translate(0, 0); }
}

/* Shared hover behaviours (design refs use inline style-hover) ----------- */
.tlx-card-hover { transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.tlx-card-hover:hover { transform: translateY(-3px); }
.tlx-module-card { transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.tlx-module-card:hover { background: rgba(255,255,255,.13) !important; transform: translateY(-3px); }
.tlx-client-card { transition: transform .2s ease, border-color .2s ease; }
.tlx-client-card:hover { transform: translateY(-4px); border-color: rgba(139,124,246,.4) !important; }
.tlx-article-card { transition: transform .2s ease, border-color .2s ease; }
.tlx-article-card:hover { transform: translateY(-3px); border-color: rgba(139,124,246,.35) !important; }
.tlx-link-hover { transition: color .15s ease, border-color .15s ease, background .15s ease; }
.tlx-row-hover { transition: background .15s ease; }
.tlx-row-hover:hover { background: var(--tlx-bg-card-dark, #0A1020) !important; }

/* ============================================================
   NAV (sticky, glassmorphic) — shared chrome
   ============================================================ */
.tlx-nav {
  display: flex; align-items: center; justify-content: space-between;
  padding: 22px 56px;
  border-bottom: 1px solid rgba(255,255,255,.08);
  position: sticky; top: 0;
  background: rgba(8,13,24,.92);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  z-index: 100; width: 100%;
}
.tlx-nav-left { display: flex; align-items: center; gap: 44px; }
.tlx-logo {
  font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 22px;
  letter-spacing: -.01em; color: #F7F9FC; text-decoration: none; white-space: nowrap;
}
.tlx-logo-x { color: #8B7CF6; }
.tlx-nav-links { display: flex; gap: 28px; }
.tlx-nav-links a { font-size: 14px; color: #AEB6C4; text-decoration: none; transition: color .15s ease; }
.tlx-nav-links a:hover { color: #EEF1F6; }
.tlx-nav-links a.active { color: #F7F9FC; font-weight: 600; }
.tlx-nav-right { display: flex; align-items: center; gap: 20px; }
.tlx-nav-signin { font-size: 14px; color: #AEB6C4; text-decoration: none; cursor: pointer; transition: color .15s ease; }
.tlx-nav-signin:hover { color: #EEF1F6; }
.tlx-btn-nav {
  font-size: 14px; font-weight: 600; color: #080D18; background: #8B7CF6;
  padding: 11px 20px; border-radius: 8px; text-decoration: none; white-space: nowrap;
  transition: filter .15s ease;
}
.tlx-btn-nav:hover { filter: brightness(1.06); }
.tlx-nav-toggle { display: none; }

/* ============================================================
   SHARED PRIMITIVES (used by inline page bodies too)
   ============================================================ */
.tlx-btn-primary { font-size: 15px; font-weight: 600; color: #080D18; background: #8B7CF6;
  padding: 16px 30px; border-radius: 10px; text-decoration: none; border: none; cursor: pointer;
  display: inline-block; transition: filter .15s ease; }
.tlx-btn-primary:hover { filter: brightness(1.06); }
.tlx-btn-ghost { font-size: 15px; font-weight: 600; color: #EEF1F6; background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12); padding: 16px 30px; border-radius: 10px; text-decoration: none;
  display: inline-block; cursor: pointer; transition: background .15s ease; }
.tlx-btn-ghost:hover { background: rgba(255,255,255,.12); }
.tlx-btn-gold { font-size: 15px; font-weight: 600; color: #1C1100; background: #F0B429;
  padding: 16px 30px; border-radius: 10px; text-decoration: none; display: inline-block; border: none;
  cursor: pointer; transition: filter .15s ease; }
.tlx-btn-gold:hover { filter: brightness(1.05); }

/* ============================================================
   FOOTER (5-column) — shared chrome
   ============================================================ */
.tlx-footer { background: #080D18; border-top: 1px solid rgba(255,255,255,.08); }
.tlx-footer-inner { padding: 72px 56px 0; }
.tlx-footer-cols {
  display: grid; grid-template-columns: 2.2fr 1fr 1fr 1fr 1fr; gap: 56px;
  padding-bottom: 56px; border-bottom: 1px solid rgba(255,255,255,.07);
}
.tlx-footer-logo, .tlx-footer-logo-link { font-family: 'Space Grotesk', sans-serif; font-weight: 700;
  font-size: 24px; letter-spacing: -.01em; color: #F7F9FC !important; text-decoration: none; }
.tlx-footer-logo-link .tlx-logo-x { color: #8B7CF6 !important; }
.tlx-footer-brand p { font-size: 15px; line-height: 1.65; color: #7E8798; margin: 16px 0 0; max-width: 290px; }
.tlx-footer-contact { display: flex; flex-direction: column; gap: 6px; margin-top: 22px; }
.tlx-footer-contact span { font-size: 13px; color: #5a6070; }
.tlx-footer-contact a { font-size: 13px; color: #8B7CF6; text-decoration: none; }
.tlx-footer-col-heading { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
  color: #AEB6C4; margin-bottom: 22px; }
.tlx-footer-col-links { display: flex; flex-direction: column; gap: 13px; }
.tlx-footer-col-links a, .tlx-footer-col-links span { font-size: 15px; color: #7E8798; text-decoration: none; }
.tlx-footer-col-links a:hover { color: #AEB6C4; }
.tlx-footer-bottom { display: flex; align-items: center; justify-content: space-between; padding: 28px 0;
  font-size: 13px; color: #5a6070; }
.tlx-footer-legal { display: flex; gap: 20px; }
.tlx-footer-legal .tlx-dot { color: #2e3848; }

/* ============================================================
   MOBILE DRAWER + RESPONSIVE
   ============================================================ */
.tlx-mobile-menu { display: none; }

@media (max-width: 1024px) {
  .tlx-nav { padding: 18px 32px; }
  .tlx-footer-inner { padding: 56px 32px 0; }
  .tlx-footer-cols { grid-template-columns: 1fr 1fr; gap: 36px; }
}

@media (max-width: 760px) {
  .tlx-nav-links, .tlx-nav-signin { display: none; }
  .tlx-nav { padding: 16px 20px; }
  .tlx-nav-toggle {
    display: inline-flex; flex-direction: column; gap: 5px; justify-content: center;
    width: 40px; height: 40px; background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.12); border-radius: 9px; cursor: pointer;
    align-items: center; padding: 0;
  }
  .tlx-nav-toggle span, .tlx-nav-toggle::before, .tlx-nav-toggle::after {
    content: ''; display: block; width: 18px; height: 2px; background: #EEF1F6; border-radius: 2px;
  }
  .tlx-footer-cols { grid-template-columns: 1fr 1fr; gap: 28px; }
  .tlx-footer-bottom { flex-direction: column; gap: 14px; align-items: flex-start; }

  .tlx-mobile-menu { position: fixed; inset: 0; z-index: 200; display: none; }
  .tlx-mobile-menu.open { display: block; }
  .tlx-mobile-menu .tlx-scrim { position: absolute; inset: 0; background: rgba(4,7,15,.6);
    -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
  .tlx-mobile-panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(82vw, 340px);
    background: #0A0F1E; border-left: 1px solid rgba(255,255,255,.1); padding: 22px 22px 40px;
    display: flex; flex-direction: column; gap: 6px; overflow-y: auto; }
  .tlx-mobile-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
  .tlx-mobile-close { background: none; border: none; color: #AEB6C4; font-size: 28px; line-height: 1; cursor: pointer; }
  .tlx-mobile-panel a { font-size: 16px; color: #EEF1F6; padding: 12px 6px; border-bottom: 1px solid rgba(255,255,255,.06); }
  .tlx-mobile-panel a.tlx-mm-cta { margin-top: 14px; border: none; background: #8B7CF6; color: #080D18;
    font-weight: 600; text-align: center; border-radius: 9px; }
}

/* ============================================================
   RESPONSIVE HELPERS for the inline-styled page bodies.
   Page sections carry .tlx-sec; grids carry .tlx-grid-N; the hero H1
   carries .tlx-h1. These !important overrides reflow the fixed inline
   layouts on tablet/mobile without disturbing the pixel-perfect desktop.
   ============================================================ */
@media (max-width: 1024px) {
  .tlx-sec { padding-left: 32px !important; padding-right: 32px !important; }
  .tlx-grid-4 { grid-template-columns: repeat(2, 1fr) !important; }
  .tlx-grid-3 { grid-template-columns: repeat(2, 1fr) !important; }
  .tlx-split { grid-template-columns: 1fr !important; gap: 36px !important; }
}
@media (max-width: 760px) {
  .tlx-sec { padding-left: 20px !important; padding-right: 20px !important;
    padding-top: 56px !important; padding-bottom: 56px !important; }
  .tlx-grid-4, .tlx-grid-3, .tlx-grid-2 { grid-template-columns: 1fr !important; }
  .tlx-h1 { font-size: 40px !important; }
  .tlx-h2 { font-size: 30px !important; }
  .tlx-stack-sm { flex-direction: column !important; align-items: flex-start !important; }
}

/* ============================================================
   SE community-page overrides (login / signup / forms / feed) on the dark
   TimlX canvas. Scoped to SE form/markup classes — these selectors never
   appear on the marketing pages, so this block is inert there.
   ============================================================ */
/* Cap the SE content column width (also set via --theme-*-width). */
#global_wrapper .layout_middle { max-width: 1300px; margin-left: auto; margin-right: auto; }

/* Validation alerts / form errors — legible on dark instead of faint centered text. */
.form-wrapper ul.errors,
.form-element ul.errors,
ul.form-errors,
.form-errors,
.global_error,
form .error {
  list-style: none;
  margin: 10px 0;
  padding: 12px 16px;
  background: rgba(224,27,45,.14);
  border: 1px solid rgba(224,27,45,.45);
  border-left: 3px solid #ff6b6b;
  border-radius: 8px;
  color: #ffd2d2;
  font-size: 13px;
  line-height: 1.5;
  text-align: left;
}
.form-wrapper ul.errors li,
.form-element ul.errors li,
ul.form-errors li,
.form-errors li { list-style: none; margin: 2px 0; color: #ffd2d2; }

/* Form labels/descriptions readable on dark. */
.form-label, .form-label label { color: var(--tlx-body, #EEF1F6); }
.form-description, .description, .form-note { color: var(--tlx-muted, #AEB6C4); }

/* ============================================================
   SE COMMUNITY-PAGE SKIN (login / signup / activity feed / profiles / browse)
   Ported from the Fly theme's #global_content community skin, re-skinned to the
   TimlX dark palette via the compat tokens in variables.css. The chrome
   (nav / mini-menu / footer) lives OUTSIDE #global_content, so capping
   #global_content centers the content at 1300px while the nav + mini-menu +
   footer bars stay full-width (extending to the edges like the marketing pages).
   Sticky sidebars are driven by SE's theiaStickySidebar JS — these rules just
   give the columns/cards the right box model so it lays out like Fly.
   ============================================================ */
#global_content {
  max-width: 1300px; margin: 0 auto;
  padding: 28px var(--gutter) 64px;
  font-family: var(--body); color: var(--ink); font-size: 15px; line-height: 1.55;
}
/* 3-column shell (≈ 260 / 1fr / 300). */
#global_content .layout_left  { width: 260px; }
#global_content .layout_right { width: 300px; }
#global_content .layout_left, #global_content .layout_right, #global_content .layout_middle { box-sizing: border-box; }
#global_content .layout_left  { padding-right: 20px; }
#global_content .layout_right { padding-left: 20px; }
@media (max-width: 1024px) {
  #global_content .layout_main { flex-wrap: wrap; }
  #global_content .layout_left, #global_content .layout_right { width: 100%; padding: 0; }
}

/* Leaf widgets → dark cards (structural wrappers stay transparent). */
#global_content .generic_layout_container:not(.layout_main):not(.layout_left):not(.layout_right):not(.layout_middle):not(.layout_top):not(.layout_gdpr_cookie_banner) {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius);
  box-shadow: var(--shadow); padding: 18px 20px; margin-bottom: 20px; overflow: hidden;
}
#global_content .generic_layout_container:has(> .generic_layout_container) {
  background: transparent; border: 0; box-shadow: none; padding: 0; overflow: visible;
}
#global_content .generic_layout_container.layout_top { background: transparent; border: 0; box-shadow: none; padding: 0; }

/* Headings / links / lists. */
#global_content h1, #global_content h2, #global_content h3, #global_content h4 {
  font-family: var(--display); color: var(--ink); letter-spacing: -0.01em;
}
#global_content h2 { font-size: 1.45rem; }
#global_content h3 { font-size: 1.08rem; }
#global_content a { color: var(--blue); }
#global_content a:hover { color: var(--blue-600); }
#global_content ul { list-style: none; margin: 0; padding-left: 0; }

/* Generic buttons → violet pills. */
#global_content button:not(.nav-toggle),
#global_content input[type="submit"], #global_content input[type="button"],
#global_content .button, #global_content a.button {
  font-family: var(--body); font-weight: 600; font-size: 0.95rem;
  background: var(--blue); color: #080D18; border: 1.5px solid transparent;
  border-radius: 999px; padding: 0.6em 1.4em; cursor: pointer;
  transition: transform .18s ease, background .18s ease;
}
#global_content button:hover, #global_content input[type="submit"]:hover,
#global_content .button:hover { background: var(--blue-600); transform: translateY(-1px); }

/* Forms. */
#global_content .global_form { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
#global_content input[type="text"], #global_content input[type="password"],
#global_content input[type="email"], #global_content select, #global_content textarea {
  font-family: var(--body); font-size: 1rem; padding: 11px 14px;
  border: 1.5px solid var(--line); border-radius: 10px; background: var(--card); color: var(--ink);
  transition: border-color .15s, box-shadow .15s; box-sizing: border-box;
}
#global_content input:focus, #global_content select:focus, #global_content textarea:focus {
  outline: none; border-color: var(--blue); box-shadow: 0 0 0 4px rgba(139,124,246,.18);
}

/* Tabs / activity filters → pill row.
   The link styling below was always here; the LAYOUT half was not, so
   SocialEngine's .headline .tabs component — the module menu that Blogs,
   and every other SE module, puts at the top of its pages — rendered as a
   bare vertical list of underlined links. Nothing on the site styled
   `.tabs > ul.navigation` at all, because until Blogs was switched on no
   SE-rendered page with one of these menus was reachable.
   Scoped to #global_content and to the component's own direct child list, so
   it cannot reach the header's or the left panel's ul.navigation. */
#global_content .headline .tabs > ul,
#global_content .tabs > ul.navigation {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  list-style: none; margin: 0; padding: 0;
}
#global_content .headline .tabs > ul > li,
#global_content .tabs > ul.navigation > li {
  display: inline-block; float: none; width: auto; margin: 0; padding: 0; overflow: visible;
}
#global_content .headline .tabs > h2 { margin: 0 0 12px; }

#global_content .tabs ul, #global_content ul.navigation { border: 0; }
#global_content .tabs li a, #global_content ul.navigation li a {
  border-radius: 999px; padding: 0.45em 1em; font-weight: 600; font-size: 0.9rem; color: var(--ink-soft);
}
#global_content .tabs li.active a, #global_content ul.navigation li.active a,
#global_content .tabs li a:hover, #global_content ul.navigation li a:hover {
  background: var(--tlx-violet); color: #080D18;
}

/* Avatars / thumbs. */
#global_content .item_photo img, #global_content img.thumb_icon, #global_content img.thumb_profile,
#global_content img.thumb_normal, #global_content .bg_item_photo img,
#global_content .feed_item_photo img { border-radius: 50%; }
#global_content .bg_item_photo { border-radius: 50%; background-size: cover; background-position: center; }

/* Activity feed: composer + posts as cards. */
#global_content #activity-post-form, #global_content .activity_post_container {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow);
}
#global_content ul#activity_feed > li, #global_content .feed_item {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius);
  box-shadow: var(--shadow); margin-bottom: 16px; padding: 16px 18px; list-style: none;
}
#global_content .feed_item_options a, #global_content .activity_comment_options a {
  display: inline-flex; align-items: center; gap: 0.4em;
  border: 1px solid var(--line); border-radius: 999px; padding: 0.35em 0.95em;
  font-weight: 600; font-size: 0.85rem; color: var(--ink-soft); background: transparent;
  transition: background .15s, color .15s, border-color .15s;
}
#global_content .feed_item_options a:hover { border-color: var(--blue); color: var(--blue); }
/* Composer wrappers transparent (the container is already the card). */
#global_content #activity-post-form, #global_content .activity_post_container { background: var(--card); }
#global_content .activity_post_box { display: flex; gap: 12px; align-items: center; }
#global_content .compose-container {
  flex: 1; background: var(--paper-2); border: 1.5px solid var(--line);
  border-radius: 22px; padding: 6px 20px; transition: border-color .15s, box-shadow .15s;
}
#global_content .compose-container:focus-within { border-color: var(--blue); box-shadow: 0 0 0 4px rgba(139,124,246,.18); }
#global_content .activity_post_media_options { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; border-top: 1px solid var(--line); margin-top: 14px; padding-top: 12px; }
#global_content .activity_post_media_options_icon a {
  display: inline-flex; align-items: center; gap: 0.45em; border: 1px solid var(--line);
  border-radius: 999px; padding: 0.4em 0.95em; font-weight: 600; font-size: 0.85rem; color: var(--ink-soft) !important;
}
#global_content .activity_post_media_options_icon a:hover { border-color: var(--blue); color: var(--blue) !important; }

/* Sidebar rail lists + quick links. */
#global_content .sidebar_list_item { display: flex; align-items: center; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--line); }
#global_content .sidebar_list_item:last-child { border-bottom: 0; }
#global_content .sidebar_list_item_thumb .bg_item_photo { width: 38px; height: 38px; display: block; }
#global_content .quicklinks a, #global_content .home-links-user .quicklinks li > a {
  display: flex; align-items: center; gap: 8px; border-radius: 10px;
  color: var(--ink-soft); font-weight: 600; font-size: 0.92rem; transition: background .15s, color .15s;
}
#global_content .quicklinks a:hover { background: rgba(139,124,246,.12); color: var(--ink); }
#global_content .home-links-user .member_name a { font-family: var(--display); font-weight: 700; color: var(--ink); }
#global_content .layout_activity_feed > h3 { margin-bottom: 14px; }

/* GDPR cookie banner. */
.layout_gdpr_cookie_banner > div, #gdpr_cookie_banner {
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-lg);
}
.layout_gdpr_cookie_banner a, #gdpr_cookie_banner a { color: var(--blue); font-weight: 600; }

/* Login / signup left brand panel (TimlX). Shows the admin-set "Login Image"
   as a cover background, else a TimlX lockup on a violet gradient. */
.user_login_page .tlx-auth-panel {
  background: linear-gradient(160deg, #0D1635 0%, #1B0F6B 100%);
  background-size: cover; background-position: center; background-repeat: no-repeat;
  display: flex; align-items: center; justify-content: center; min-height: 340px; padding: 32px;
}
.tlx-auth-brand { text-align: center; }
.tlx-auth-logo { font-family: var(--display); font-weight: 700; font-size: 2.6rem; letter-spacing: -.02em; color: #F7F9FC; display: block; line-height: 1; }
.tlx-auth-logo .tlx-logo-x { color: #8B7CF6; }
.tlx-auth-tagline { display: block; margin-top: 10px; color: var(--tlx-violet-light, #B9B0F5); font-size: 1.05rem; }

/* ============================================================
   SE "Mini Menu" widget (Layout Editor → Site Header) → slim right-aligned
   utility bar for logged-in users (notifications, messages, language, profile
   dropdown), matching the Fly site. Ported from the Flyakiteday SE skin,
   re-skinned to the TimlX dark palette via the compat tokens in variables.css.
   ============================================================ */
#global_header .layout_core_menu_mini {
  background: var(--navy);
  border-bottom: 1px solid var(--line-dk);
  margin: 0;
}
#core_menu_mini_menu { max-width: none; margin: 0; padding: 0 56px; }
#core_menu_mini_menu > ul {
  display: flex; justify-content: flex-end; align-items: center; gap: 2px;
  min-height: 34px; margin: 0; padding: 0; list-style: none; text-align: left;
}
#core_menu_mini_menu > ul > li {
  position: relative; display: flex; align-items: center; margin: 0; padding: 0;
  list-style: none; float: none;
}
#core_menu_mini_menu > ul > li > a,
#core_menu_mini_menu > ul > li > label {
  display: inline-flex; align-items: center; gap: 6px; font-family: var(--body);
  font-size: 12px; font-weight: 600; line-height: 1; color: var(--cream-dk);
  padding: 5px 10px; border-radius: 999px; text-decoration: none; white-space: nowrap;
  transition: background .15s, color .15s;
}
#core_menu_mini_menu > ul > li > a:hover { background: rgba(255,255,255,.1); color: #fff; }
#core_menu_mini_menu > ul > li > a i,
#core_menu_mini_menu .minimenu_icon { font-size: 13px; color: var(--cream-soft); }
#core_menu_mini_menu > ul > li > a:hover i { color: #fff; }
#core_menu_mini_menu > ul > li > a .bg_item_photo {
  width: 20px; height: 20px; border-radius: 50%; background-size: cover;
  background-position: center; display: inline-block; flex: none;
}
#core_menu_mini_menu .minimenu_update_count_bubble {
  position: absolute; top: 1px; right: 2px; min-width: 14px; height: 14px;
  line-height: 14px; padding: 0 3px; border-radius: 999px; background: var(--tlx-violet);
  color: #080D18; font-family: var(--mono); font-size: 9px; font-weight: 700; text-align: center;
}
#core_menu_mini_menu .pulldown_contents_wrapper,
#core_menu_mini_menu .core_settings_dropdown,
#core_menu_mini_menu > ul > li > ul.dropdown-menu {
  position: absolute; top: calc(100% + 6px); right: 0; left: auto; z-index: 1000;
  min-width: 240px; background: var(--card); color: var(--ink);
  border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow-lg);
  text-align: left; overflow: hidden;
}
#core_menu_mini_menu .core_settings_dropdown ul,
#core_menu_mini_menu ul.dropdown-menu { list-style: none; margin: 0; padding: 6px 0; }
#core_menu_mini_menu .core_settings_dropdown li,
#core_menu_mini_menu ul.dropdown-menu li { display: block; margin: 0; }
#core_menu_mini_menu .core_settings_dropdown a,
#core_menu_mini_menu ul.dropdown-menu a {
  display: flex; align-items: center; gap: 10px; padding: 8px 16px;
  font-family: var(--body); font-size: 13px; font-weight: 500; color: var(--ink);
  text-decoration: none; white-space: nowrap;
}
#core_menu_mini_menu .core_settings_dropdown a:hover,
#core_menu_mini_menu ul.dropdown-menu a:hover { background: rgba(139,124,246,.12); color: var(--tlx-violet-l); }
#core_menu_mini_menu .core_settings_dropdown .menuicon { color: var(--ink-soft); width: 18px; text-align: center; }
#core_menu_mini_menu .core_settings_dropdown li.sep span { display: block; height: 1px; margin: 6px 0; background: var(--line); }
#core_menu_mini_menu .core_settings_dropdown .bg_item_photo { width: 26px; height: 26px; border-radius: 50%; background-size: cover; display: inline-block; }
#core_menu_mini_menu .core_pulldown_header {
  padding: 10px 16px; font-family: var(--display); font-weight: 700; font-size: 14px;
  color: var(--ink); border-bottom: 1px solid var(--line);
}
#core_menu_mini_menu .pulldown_options {
  display: flex; justify-content: space-between; gap: 10px; padding: 9px 16px; border-top: 1px solid var(--line);
}
#core_menu_mini_menu .pulldown_options a { font-size: 12px; font-weight: 600; color: var(--tlx-violet); text-decoration: none; }
/* Language items (globe + translate) — restore auto-sized pills (core forces fixed squares). */
.layout_core_menu_mini #core_menu_mini_menu > ul > li.core_mini_language > a.show_icons {
  display: inline-flex !important; align-items: center; gap: 6px; width: auto !important;
  height: auto !important; padding: 5px 10px !important; line-height: 1; color: var(--cream-dk);
}
.layout_core_menu_mini #core_menu_mini_menu > ul > li.core_mini_language > a.show_icons > i {
  display: inline-block; margin: 0 !important; font-size: 13px; line-height: 1; width: auto !important; height: auto !important;
}
.layout_core_menu_mini #core_menu_mini_menu > ul > li.core_mini_language > a.show_icons span._linktxt { display: block !important; }
.layout_core_menu_mini #core_menu_mini_menu > ul > li.tmx-lang-li > a.dropdown-toggle::after { margin-left: 0; align-self: center; vertical-align: middle; }

/* Footer left-align on SE pages (a bundled stylesheet sets body{text-align:center}). */
#global_footer { text-align: left; }

