
/* ============================================================
   AYITI MARKET — V15 PRODUCTION UI
   Single final UI layer. Intentionally small and targeted.
   ============================================================ */

:root {
  --am-navy:#071f46;
  --am-navy-2:#0b2b5c;
  --am-red:#e31c3d;
  --am-red-dark:#bd1532;
  --am-blue:#1d4f91;
  --am-bg:#f6f7f9;
  --am-card:#ffffff;
  --am-text:#111827;
  --am-muted:#667085;
  --am-border:#e4e7ec;
  --am-soft:#f2f4f7;
  --am-success:#16a34a;
  --am-radius:16px;
  --am-shadow:0 8px 30px rgba(15,23,42,.07);
  --am-shadow-sm:0 3px 14px rgba(15,23,42,.055);
}

html { box-sizing:border-box; scroll-behavior:smooth; }
*, *::before, *::after { box-sizing:inherit; }
html, body { max-width:100%; overflow-x:hidden; }
body {
  margin:0;
  background:var(--am-bg);
  color:var(--am-text);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-style:normal;
}
img { max-width:100%; }
button, input, textarea, select { font:inherit; }
button, a { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
h1,h2,h3,h4,h5,h6,.logo,.brand,.seller-name,.page-title {
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-style:normal;
}
main,.wrap,.container,.page-wrap,.page-container,.admin-main { min-width:0; }

/* ---------- Brand / favicon-like identity ---------- */
.am-brand {
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-width:0;
  text-decoration:none;
}
.am-brand-logo,.drawer-brand img,.logo img {
  width:34px;
  height:34px;
  border-radius:10px;
  object-fit:cover;
  flex:0 0 auto;
  box-shadow:0 2px 8px rgba(7,31,70,.16);
}
.am-brand-name,.drawer-brand strong {
  color:var(--am-navy);
  font-weight:900;
  letter-spacing:-.02em;
}
.am-brand-market,.drawer-brand strong span { color:var(--am-red); }

/* ---------- Shared surfaces ---------- */
.card,.acc-card,.stat-kard,.stat-card,.seller-card,.admin-card,
.testi-card,.conv-item,.conversation-item,.empty-box,.rating-summary,
.review-form-card,.review-card {
  background:var(--am-card);
  border:1px solid var(--am-border);
  border-radius:var(--am-radius);
  box-shadow:var(--am-shadow-sm);
}
.card:hover,.acc-card:hover,.seller-card:hover {
  box-shadow:var(--am-shadow);
}
.sec-head,.table-header {
  gap:12px;
}
.sec-head h2,.sec-title,.acc-card-title,.table-title,.page-title {
  color:var(--am-navy);
  font-weight:850;
  letter-spacing:-.025em;
}

/* ---------- Buttons ---------- */
.btn,.btn-primary,.btn-ghost,.btn-secondary,.action-btn,
.chat-send-btn,.chat-attach-btn,.btn-share,.btn-wa,.btn-contact {
  min-height:42px;
  border-radius:12px;
  font-weight:750;
  line-height:1.1;
  transition:transform .14s ease, box-shadow .14s ease, background .14s ease, border-color .14s ease;
}
.btn:active,.action-btn:active,.chat-send-btn:active { transform:scale(.98); }
.btn-primary,.primary-btn {
  background:var(--am-red);
  border-color:var(--am-red);
  color:#fff;
  box-shadow:0 6px 15px rgba(227,28,61,.18);
}
.btn-primary:hover,.primary-btn:hover {
  background:var(--am-red-dark);
  border-color:var(--am-red-dark);
}
.btn-ghost,.btn-secondary,.secondary-btn {
  background:#fff;
  color:var(--am-navy);
  border:1px solid #d0d5dd;
  box-shadow:none;
}
.btn-danger { border-radius:10px; }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible {
  outline:3px solid rgba(29,79,145,.2);
  outline-offset:2px;
}

/* ---------- Forms ---------- */
.field label,.form-group label {
  display:block;
  color:#344054;
  font-size:.82rem;
  font-weight:750;
  margin-bottom:7px;
}
.field input,.field textarea,.field select,
.form-group input,.form-group textarea,.form-group select,
.search-input,.table-search,.messages-search input {
  width:100%;
  min-height:44px;
  background:#fff;
  color:var(--am-text);
  border:1px solid #d0d5dd;
  border-radius:12px;
  outline:none;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.field textarea,.form-group textarea { min-height:116px; resize:vertical; }
.field input:focus,.field textarea:focus,.field select:focus,
.form-group input:focus,.form-group textarea:focus,.form-group select:focus,
.search-input:focus,.table-search:focus,.messages-search input:focus {
  border-color:#4b73a9;
  box-shadow:0 0 0 3px rgba(29,79,145,.12);
}
.form-row-2,.field-row { gap:14px; }

/* ---------- Main navigation ---------- */
.nav {
  background:#fff;
  border-bottom:1px solid var(--am-border);
  box-shadow:0 2px 12px rgba(15,23,42,.035);
}
.nav .logo,.nav .am-brand { color:var(--am-navy); }
.nav-cta .btn-primary { border-radius:11px; }

/* ---------- Mobile drawer ---------- */
.mobile-drawer {
  background:#fff;
  border-right:1px solid var(--am-border);
  box-shadow:18px 0 45px rgba(15,23,42,.15);
}
.mobile-drawer .drawer-brand {
  display:flex;
  align-items:center;
  gap:11px;
  padding:18px 18px 14px;
  border-bottom:1px solid var(--am-border);
}
.mobile-drawer .drawer-brand small {
  display:block;
  margin-top:3px;
  color:var(--am-muted);
  font-size:.7rem;
  font-weight:600;
}
.mobile-drawer > a:not(.btn) {
  display:flex;
  align-items:center;
  gap:12px;
  min-height:48px;
  margin:3px 10px;
  padding:10px 12px;
  border-radius:12px;
  color:#344054;
  font-weight:700;
  text-decoration:none;
}
.mobile-drawer > a:not(.btn):hover { background:#f8fafc; color:var(--am-navy); }
.mobile-drawer .drawer-ico {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:10px;
  background:#f2f4f7;
  color:var(--am-navy);
}
.mobile-drawer .drawer-ico svg { width:18px; height:18px; }
.mobile-drawer .drawer-section-label {
  padding:17px 20px 5px;
  color:#98a2b3;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.66rem;
  font-weight:850;
}
.mobile-drawer .close-x {
  width:38px;
  height:38px;
  border-radius:11px;
  border:1px solid var(--am-border);
  background:#fff;
  color:#344054;
}
.mobile-drawer > .btn { margin:10px 12px 0; width:calc(100% - 24px); }

/* ---------- Bottom navigation ---------- */
.bottom-nav {
  background:rgba(255,255,255,.98);
  border-top:1px solid var(--am-border);
  box-shadow:0 -8px 28px rgba(15,23,42,.08);
  backdrop-filter:blur(12px);
}
.bottom-nav .bn-item {
  min-width:0;
  min-height:54px;
  padding:7px 3px 5px;
  color:#667085;
  font-size:.64rem;
  font-weight:750;
}
.bottom-nav .bn-item svg { width:21px; height:21px; }
.bottom-nav .bn-item.active { color:var(--am-red); }

/* ---------- Home / listing cards ---------- */
.katye,.recent-card,.sim-card {
  background:#fff;
  border:1px solid var(--am-border);
  border-radius:15px;
  box-shadow:var(--am-shadow-sm);
  overflow:hidden;
}
.katye:hover,.recent-card:hover,.sim-card:hover {
  transform:translateY(-2px);
  box-shadow:var(--am-shadow);
}
.cat-pill,.chip,.fa-chip {
  border-radius:999px;
}
.hero h1,.hero-title {
  color:var(--am-navy);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-weight:900;
  letter-spacing:-.04em;
}

/* ---------- Publish modal ---------- */
#publishModal {
  padding:14px;
}
#publishModal .modal {
  width:min(680px,100%);
  max-height:calc(100dvh - 28px);
  background:#fff;
  border:1px solid var(--am-border);
  border-radius:20px;
  box-shadow:0 24px 80px rgba(15,23,42,.24);
  overflow:hidden;
}
#publishModal .modal-head {
  position:sticky;
  top:0;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:17px 20px;
  background:#fff;
  border-bottom:1px solid var(--am-border);
}
#publishModal .modal-head h2 {
  color:var(--am-navy);
  font-size:1.12rem;
  font-weight:850;
  margin:0;
}
#publishModal .modal-close {
  width:38px;
  height:38px;
  border-radius:11px;
  background:#f2f4f7;
  border:0;
  color:#475467;
}
#publishModal .modal-body {
  max-height:calc(100dvh - 96px);
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:20px;
  padding-bottom:34px;
  scrollbar-gutter:stable;
}
#publishModal .field { margin-bottom:15px; }
#publishModal .field-row { display:grid; grid-template-columns:1fr 1fr; }
#publishModal .btn-full { width:100%; min-height:48px; border-radius:13px; }

/* ---------- Detail sheet ---------- */
.detail-sheet {
  background:#fff;
  border-left:1px solid var(--am-border);
  box-shadow:-20px 0 60px rgba(15,23,42,.16);
}
.detail-hero {
  position:relative;
  background:#eef2f6;
}
.detail-body {
  padding:22px;
  padding-bottom:18px;
  background:#fff;
}
.detail-price {
  color:var(--am-red);
  font-size:1.45rem;
  font-weight:900;
  letter-spacing:-.025em;
}
.detail-title {
  color:var(--am-navy);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-weight:850;
  line-height:1.25;
  letter-spacing:-.025em;
}
.detail-meta {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin-top:15px;
}
.detail-meta-item {
  min-width:0;
  padding:10px 11px;
  background:#f8fafc;
  border:1px solid var(--am-border);
  border-radius:11px;
}
.detail-desc,.review-section,.similar-section {
  border-color:var(--am-border);
}
.detail-actions {
  position:sticky;
  bottom:0;
  z-index:4;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) 46px;
  gap:9px;
  padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.97);
  border-top:1px solid var(--am-border);
  box-shadow:0 -8px 24px rgba(15,23,42,.07);
  backdrop-filter:blur(10px);
}
.detail-actions .btn {
  min-width:0;
  width:100%;
  min-height:46px;
  border-radius:12px;
}
.detail-actions .btn-wa {
  background:#20bd5a;
  border-color:#20bd5a;
  color:#fff;
}
.detail-actions .btn-contact {
  background:var(--am-navy);
  border-color:var(--am-navy);
  color:#fff;
}
.detail-actions .btn-share {
  width:46px;
  min-width:46px;
  padding:0;
  display:grid;
  place-items:center;
  background:#fff;
  color:var(--am-navy);
  border:1px solid #d0d5dd;
}
.similar-section { padding-bottom:24px; }
.similar-title {
  color:var(--am-navy);
  font-weight:850;
}
.similar-grid { gap:12px; }

/* ---------- Profile / account ---------- */
.acc-header,.profile-header {
  background:linear-gradient(135deg,var(--am-navy),#0d3873);
  color:#fff;
  border-radius:0 0 22px 22px;
}
.acc-tabs,.profile-tabs {
  gap:6px;
  background:#fff;
  border:1px solid var(--am-border);
  border-radius:14px;
  padding:5px;
  box-shadow:var(--am-shadow-sm);
}
.acc-tab {
  min-height:40px;
  border-radius:10px;
  color:#667085;
  font-weight:750;
}
.acc-tab.active {
  background:var(--am-navy);
  color:#fff;
}
.stat-kard {
  padding:16px;
}
.stat-kard-val {
  color:var(--am-navy);
  font-weight:900;
}
.acc-card { overflow:hidden; }
.acc-card-actions {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.account-avatar,.profile-avatar {
  border:3px solid rgba(255,255,255,.9);
  box-shadow:0 8px 24px rgba(7,31,70,.18);
}

/* ---------- Seller ---------- */
.seller-hero {
  background:linear-gradient(135deg,var(--am-navy),#0d3873);
  color:#fff;
}
.seller-hero-inner {
  gap:18px;
}
.seller-avatar {
  border:4px solid rgba(255,255,255,.9);
  box-shadow:0 10px 25px rgba(0,0,0,.14);
}
.seller-name { color:#fff; }
.seller-bio { color:rgba(255,255,255,.82); }
.seller-stats {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.stat-box {
  background:#fff;
  border:1px solid var(--am-border);
  border-radius:14px;
  box-shadow:var(--am-shadow-sm);
}
.listings-grid { gap:16px; }

/* ---------- Admin ---------- */
.admin-nav {
  background:var(--am-navy);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.09);
  box-shadow:0 5px 18px rgba(7,31,70,.14);
}
.admin-nav .brand {
  color:#fff;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-weight:900;
}
.admin-wrap { gap:20px; }
.sidebar {
  background:#fff;
  border:1px solid var(--am-border);
  border-radius:16px;
  box-shadow:var(--am-shadow-sm);
}
.sidebar-item {
  border-radius:10px;
  font-weight:700;
}
.sidebar-item.active {
  background:#edf3fb;
  color:var(--am-navy);
}
.stats-grid { gap:14px; }
.stat-card { padding:17px; }
.stat-label { color:var(--am-muted); font-weight:700; }
.stat-val { color:var(--am-navy); font-weight:900; }
.table-wrap {
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  background:#fff;
  border:1px solid var(--am-border);
  border-radius:16px;
  box-shadow:var(--am-shadow-sm);
}
.table-header {
  padding:14px;
  border-bottom:1px solid var(--am-border);
}
table { width:100%; border-collapse:collapse; }
th {
  background:#f8fafc;
  color:#667085;
  font-size:.69rem;
  font-weight:850;
  letter-spacing:.05em;
  text-transform:uppercase;
  white-space:nowrap;
}
td,th { padding:11px 12px; border-bottom:1px solid #eef0f3; }
tbody tr:hover { background:#fbfcfe; }
.action-btn { min-height:34px; border-radius:9px; }

/* ---------- Messages ---------- */
.messages-page {
  background:var(--am-bg);
}
.messages-toolbar {
  background:#fff;
  border-bottom:1px solid var(--am-border);
}
.chat-layout {
  background:#fff;
  border:1px solid var(--am-border);
  border-radius:18px;
  box-shadow:var(--am-shadow);
  overflow:hidden;
}
.conv-list {
  background:#fff;
  border-right:1px solid var(--am-border);
}
.conv-item {
  margin:4px 7px;
  padding:11px;
  border:0;
  box-shadow:none;
}
.conv-item:hover,.conv-item.active { background:#f3f6fa; }
.conv-avatar {
  width:44px;
  height:44px;
  border-radius:13px;
}
.conv-name { color:var(--am-navy); font-weight:800; }
.conv-preview { color:var(--am-muted); }
.chat-header {
  background:#fff;
  border-bottom:1px solid var(--am-border);
}
.chat-msgs {
  background:#f7f8fa;
  overscroll-behavior:contain;
}
.message-bubble,.bubble {
  max-width:min(78%,560px);
  border-radius:16px;
  box-shadow:0 2px 8px rgba(15,23,42,.045);
}
.chat-input-row {
  background:#fff;
  border-top:1px solid var(--am-border);
}
.chat-input-row textarea,.chat-input-row input {
  border:1px solid #d0d5dd;
  border-radius:14px;
}
.chat-send-btn {
  width:44px;
  height:44px;
  min-height:44px;
  border-radius:13px;
  background:var(--am-red);
  color:#fff;
  border:0;
}
.empty-box {
  text-align:center;
  color:var(--am-muted);
  padding:28px 18px;
}

/* ---------- Light consistency even when legacy dark token is selected ---------- */
:root[data-theme="dark"] body { background:#111827; color:#e5e7eb; }
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .acc-card,
:root[data-theme="dark"] .stat-card,
:root[data-theme="dark"] .stat-kard,
:root[data-theme="dark"] .seller-card,
:root[data-theme="dark"] .table-wrap,
:root[data-theme="dark"] .chat-layout,
:root[data-theme="dark"] .conv-list,
:root[data-theme="dark"] .chat-header,
:root[data-theme="dark"] .chat-input-row,
:root[data-theme="dark"] #publishModal .modal,
:root[data-theme="dark"] #publishModal .modal-head,
:root[data-theme="dark"] #publishModal .modal-body,
:root[data-theme="dark"] .detail-sheet,
:root[data-theme="dark"] .detail-body {
  background:#171c25;
  border-color:#293140;
  color:#e5e7eb;
}
:root[data-theme="dark"] .field input,
:root[data-theme="dark"] .field textarea,
:root[data-theme="dark"] .field select,
:root[data-theme="dark"] .form-group input,
:root[data-theme="dark"] .form-group textarea,
:root[data-theme="dark"] .form-group select {
  background:#111620;
  color:#e5e7eb;
  border-color:#354052;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 900px) {
  .seller-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-wrap { gap:12px; }
  .detail-meta { grid-template-columns:1fr 1fr; }
}

@media (max-width: 720px) {
  body { padding-bottom:calc(70px + env(safe-area-inset-bottom)); }
  .wrap,.container,.page-wrap,.page-container { padding-left:14px; padding-right:14px; }

  .bottom-nav {
    height:calc(64px + env(safe-area-inset-bottom));
    padding:4px 4px env(safe-area-inset-bottom);
    z-index:1200;
  }
  .bottom-nav .bn-item {
    min-height:54px;
    gap:2px;
  }

  .mobile-drawer {
    width:min(86vw,360px);
    max-width:360px;
    height:100dvh;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding-bottom:calc(22px + env(safe-area-inset-bottom));
  }

  #publishModal {
    align-items:flex-end;
    padding:0;
  }
  #publishModal .modal {
    width:100%;
    max-width:none;
    max-height:94dvh;
    border-radius:22px 22px 0 0;
    border-left:0;
    border-right:0;
    border-bottom:0;
  }
  #publishModal .modal-body {
    max-height:calc(94dvh - 73px);
    padding:17px 15px calc(96px + env(safe-area-inset-bottom));
  }
  #publishModal .field-row { grid-template-columns:1fr; gap:0; }

  .detail-sheet {
    width:100%;
    max-width:none;
    height:100dvh;
    border-left:0;
  }
  .detail-body {
    padding:17px 15px 14px;
  }
  .detail-meta {
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .detail-actions {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  }
  .detail-actions .btn { min-height:44px; font-size:.79rem; }
  .detail-actions .btn-share { width:44px; min-width:44px; }

  .acc-tabs,.profile-tabs {
    display:flex;
    overflow-x:auto;
    white-space:nowrap;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .acc-tabs::-webkit-scrollbar,.profile-tabs::-webkit-scrollbar { display:none; }
  .acc-tab { flex:0 0 auto; padding-inline:13px; }

  .acc-card-actions { display:grid; grid-template-columns:1fr 1fr; }
  .acc-card-actions .btn { width:100%; }

  .seller-hero-inner { align-items:flex-start; }
  .seller-stats { grid-template-columns:1fr 1fr; }

  .sidebar {
    border-radius:14px;
  }
  .table-wrap { border-radius:14px; }

  .chat-layout {
    border-radius:0;
    border-left:0;
    border-right:0;
    min-height:calc(100dvh - 130px);
  }
  .chat-msgs {
    padding-bottom:92px;
    scroll-padding-bottom:92px;
  }
  .chat-input-row {
    position:sticky;
    bottom:0;
    z-index:5;
    padding-bottom:calc(9px + env(safe-area-inset-bottom));
  }
}

@media (max-width: 420px) {
  .detail-meta { grid-template-columns:1fr; }
  .detail-actions {
    grid-template-columns:1fr 1fr;
  }
  .detail-actions .btn-share {
    grid-column:1/-1;
    width:100%;
  }
  .seller-stats { gap:8px; }
  .acc-card-actions { grid-template-columns:1fr; }
}

/* Accessibility / reduced motion */
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after {
    scroll-behavior:auto;
    transition-duration:.01ms;
    animation-duration:.01ms;
    animation-iteration-count:1;
  }
}

/* ============================================================
   V15.2 — HOME + MESSAGES BUGFIX
   ============================================================ */

/* HOME: old drawer rules used 1.7rem links and translateX(100%).
   With a narrow drawer that could leave part of it visible while closed. */
body:not(.messages-page) .mobile-drawer {
  left:0;
  right:auto;
  width:min(86vw,360px);
  max-width:360px;
  height:100dvh;
  padding:16px 16px calc(22px + env(safe-area-inset-bottom));
  transform:translateX(-105%);
  visibility:hidden;
  pointer-events:none;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
}
body:not(.messages-page) .mobile-drawer.open {
  transform:translateX(0);
  visibility:visible;
  pointer-events:auto;
}
body:not(.messages-page) .mobile-drawer .drawer-brand {
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  min-height:58px;
  margin:0 42px 8px 0;
  padding:2px 0 14px;
  border-bottom:1px solid var(--am-border);
}
body:not(.messages-page) .mobile-drawer .drawer-brand img {
  width:42px;
  height:42px;
  border-radius:11px;
}
body:not(.messages-page) .mobile-drawer .drawer-brand strong {
  display:block;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:.98rem;
  line-height:1.05;
  font-weight:900;
}
body:not(.messages-page) .mobile-drawer .drawer-brand small {
  display:block;
  margin-top:4px;
  font-size:.67rem;
  line-height:1.25;
  color:var(--am-muted);
}
body:not(.messages-page) .mobile-drawer .close-x {
  position:absolute;
  top:15px;
  right:14px;
  align-self:auto;
  margin:0;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid var(--am-border);
  border-radius:11px;
  background:#f8fafc;
  color:#344054;
  font-family:Arial,sans-serif;
  font-size:1.45rem;
  line-height:1;
}
body:not(.messages-page) .mobile-drawer > a:not(.btn) {
  display:flex;
  align-items:center;
  gap:11px;
  min-height:47px;
  margin:2px 0;
  padding:9px 9px;
  border:0;
  border-radius:11px;
  color:#253247;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:.91rem;
  line-height:1.2;
  font-weight:740;
}
body:not(.messages-page) .mobile-drawer > a:not(.btn):hover {
  background:#f4f7fb;
}
body:not(.messages-page) .mobile-drawer .drawer-ico {
  width:32px;
  height:32px;
  flex:0 0 32px;
  border-radius:9px;
  background:#f2f4f7;
}
body:not(.messages-page) .mobile-drawer .drawer-section-label {
  padding:14px 8px 5px;
  margin-top:3px;
  border-top:1px solid var(--am-border);
}
body:not(.messages-page) .mobile-drawer .theme-toggle-row {
  min-height:50px;
  margin:7px 0 3px;
  padding:8px 7px;
  border-top:1px solid var(--am-border);
  border-bottom:1px solid var(--am-border);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:.88rem;
  font-weight:750;
}
body:not(.messages-page) .mobile-drawer > .btn {
  width:100%;
  min-height:46px;
  margin:8px 0 0;
  padding:10px 14px;
  border-radius:11px;
  border-bottom:0;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:.86rem;
  line-height:1.15;
  font-weight:800;
}

/* Home bottom nav: compact and prevent the middle action from looking oversized. */
body:not(.messages-page) .bottom-nav {
  min-height:64px;
}
body:not(.messages-page) .bottom-nav .bn-item {
  min-height:52px;
  padding:5px 2px 4px;
  border-radius:10px;
  font-size:.64rem;
  line-height:1;
}
body:not(.messages-page) .bottom-nav #bnPibliye {
  color:var(--am-red);
  font-weight:850;
}
body:not(.messages-page) .bottom-nav #bnPibliye svg {
  width:23px;
  height:23px;
}

/* MESSAGES: do not apply homepage's extra fixed-nav body padding.
   The messages bottom nav is already part of the flex layout. */
body.messages-page {
  padding-bottom:0;
  min-height:100dvh;
  height:100dvh;
  overflow:hidden;
}
body.messages-page > header {
  flex:0 0 auto;
  background:#fff;
}
body.messages-page > header .nav {
  min-height:62px;
  padding:10px 14px;
}
body.messages-page > header .am-brand-logo {
  width:36px;
  height:36px;
}
body.messages-page > header .am-brand-name {
  font-size:.9rem;
  white-space:nowrap;
}
body.messages-page > header .btn-ghost {
  min-height:38px;
  padding:8px 11px;
  border-radius:10px;
  font-size:.75rem;
}

/* Search bar that was missing its complete styling after V15 cleanup. */
body.messages-page .messages-toolbar {
  display:block;
  flex:0 0 auto;
  padding:8px 14px 11px;
  background:#fff;
  border-bottom:1px solid var(--am-border);
}
body.messages-page .messages-search {
  display:flex;
  align-items:center;
  gap:9px;
  width:min(100%,760px);
  height:42px;
  margin:0 auto;
  padding:0 12px;
  background:#f7f8fa;
  border:1px solid #e1e5ea;
  border-radius:12px;
}
body.messages-page .messages-search svg {
  width:18px;
  height:18px;
  flex:0 0 auto;
  color:#667085;
}
body.messages-page .messages-search input {
  min-width:0;
  width:100%;
  height:40px;
  min-height:40px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  outline:0;
  color:#101828;
  font-size:.84rem;
}

/* Let flexbox, not hard min-heights, decide the chat height. */
body.messages-page main {
  flex:1 1 auto;
  min-height:0;
  height:auto;
  overflow:hidden;
}
body.messages-page .chat-layout {
  flex:1 1 auto;
  min-height:0;
  height:100%;
  overflow:hidden;
}
body.messages-page .conv-list,
body.messages-page .chat-area {
  min-height:0;
}
body.messages-page .conv-list {
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
body.messages-page .conv-item {
  margin:0;
  padding:12px 14px;
  border-radius:0;
  border-bottom:1px solid #eef1f4;
  box-shadow:none;
}
body.messages-page .chat-msgs {
  flex:1 1 0;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding:16px 14px 20px;
  scroll-padding-bottom:22px;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
body.messages-page .chat-input-row {
  position:relative;
  bottom:auto;
  flex:0 0 auto;
  z-index:5;
  padding:10px 12px max(10px,env(safe-area-inset-bottom));
  background:#fff;
  border-top:1px solid var(--am-border);
  box-shadow:0 -5px 18px rgba(15,23,42,.055);
}
body.messages-page .chat-input-row input {
  min-width:0;
  height:44px;
  min-height:44px;
  padding:0 14px;
  border-radius:13px;
  background:#f8fafc;
}
body.messages-page .chat-attach-btn,
body.messages-page .chat-send-btn {
  width:44px;
  height:44px;
  min-height:44px;
  flex:0 0 44px;
  border-radius:13px;
}

/* Mobile messages: top stays visible in conversation list,
   but disappears inside an active chat so the whole visual viewport is usable. */
@media (max-width:760px) {
  body.messages-page {
    height:var(--am-chat-vh,100dvh);
    min-height:var(--am-chat-vh,100dvh);
  }
  body.messages-page > header {
    background:var(--am-navy);
    border-bottom:0;
  }
  body.messages-page > header .am-brand-name,
  body.messages-page > header .logo {
    color:#fff;
  }
  body.messages-page > header .btn-ghost {
    color:#fff;
    border-color:rgba(255,255,255,.25);
    background:rgba(255,255,255,.08);
  }
  body.messages-page .messages-toolbar {
    background:var(--am-navy);
    padding-top:0;
    border-bottom:0;
  }
  body.messages-page .messages-search {
    background:#fff;
    border-color:#fff;
  }
  body.messages-page .chat-layout {
    min-height:0;
    height:100%;
    border:0;
    border-radius:0;
    box-shadow:none;
  }
  body.messages-page .bottom-nav {
    flex:0 0 auto;
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    min-height:64px;
    padding:5px 4px max(5px,env(safe-area-inset-bottom));
  }
  body.messages-page.show-chat {
    height:var(--am-chat-vh,100dvh);
    min-height:var(--am-chat-vh,100dvh);
    padding-bottom:0;
  }
  body.messages-page.show-chat > header,
  body.messages-page.show-chat .messages-toolbar,
  body.messages-page.show-chat .bottom-nav {
    display:none;
  }
  body.messages-page.show-chat main,
  body.messages-page.show-chat .chat-layout,
  body.messages-page.show-chat .chat-area {
    height:100%;
    min-height:0;
  }
  body.messages-page.show-chat .chat-input-row {
    position:relative;
    bottom:auto;
  }
  body.messages-page.show-chat .chat-msgs {
    padding-bottom:18px;
    scroll-padding-bottom:18px;
  }
}

@media (max-width:420px) {
  body.messages-page > header .btn-ghost {
    padding:7px 9px;
    font-size:.7rem;
  }
  body:not(.messages-page) .mobile-drawer {
    width:min(90vw,350px);
  }
}

/* ============================================================
   V15.4 — STABLE DESKTOP HEADER
   ============================================================ */
@media (min-width:1001px) {
  body:not(.messages-page) .nav {
    min-height:76px;
    padding:0 20px;
    overflow:visible;
  }

  body:not(.messages-page) .nav > .wrap,
  body:not(.messages-page) .nav .wrap {
    width:100%;
    max-width:1320px;
    min-height:76px;
    margin:0 auto;
    padding:0;
    display:flex;
    align-items:center;
    gap:16px;
    flex-wrap:nowrap;
  }

  /* Brand gets a fixed safe lane and may not invade search/nav. */
  body:not(.messages-page) .nav .logo {
    flex:0 1 360px;
    min-width:250px;
    max-width:360px;
    display:flex;
    align-items:center;
    gap:9px;
    overflow:hidden;
    white-space:nowrap;
  }
  body:not(.messages-page) .nav .logo img {
    width:38px;
    height:38px;
    flex:0 0 38px;
    object-fit:cover;
    border-radius:10px;
  }
  body:not(.messages-page) .nav .logo-text {
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:1rem;
    line-height:1.1;
  }

  /* Search: force a real horizontal width; this fixes the vertical pill bug. */
  body:not(.messages-page) .nav .search-box,
  body:not(.messages-page) .nav .search,
  body:not(.messages-page) .nav .nav-search,
  body:not(.messages-page) .nav .search-wrap {
    position:relative;
    inset:auto;
    transform:none;
    flex:1 1 270px;
    width:auto;
    min-width:210px;
    max-width:330px;
    height:44px;
    margin:0;
    padding:0;
    display:flex;
    align-items:center;
    overflow:visible;
  }
  body:not(.messages-page) .nav .search-box input,
  body:not(.messages-page) .nav .search input,
  body:not(.messages-page) .nav .nav-search input,
  body:not(.messages-page) .nav .search-wrap input {
    display:block;
    width:100%;
    min-width:0;
    height:44px;
    margin:0;
    padding:0 42px 0 42px;
    border:1px solid #d9d0bd;
    border-radius:999px;
    background:#fff;
  }
  body:not(.messages-page) .nav .search-box > svg:first-of-type,
  body:not(.messages-page) .nav .search-box .search-icon {
    position:absolute;
    left:14px;
    top:50%;
    transform:translateY(-50%);
    width:18px;
    height:18px;
    pointer-events:none;
  }
  body:not(.messages-page) .nav .search-box > button,
  body:not(.messages-page) .nav .search-box .camera-btn {
    position:absolute;
    right:7px;
    top:50%;
    transform:translateY(-50%);
    width:32px;
    height:32px;
    min-width:32px;
    min-height:32px;
    padding:0;
    display:grid;
    place-items:center;
    border:0;
    background:transparent;
    border-radius:50%;
  }

  /* Main links get their own lane. */
  body:not(.messages-page) .nav-links {
    flex:0 0 auto;
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:2px;
    white-space:nowrap;
  }
  body:not(.messages-page) .nav-links > a {
    flex:0 0 auto;
    padding:9px 7px;
    font-size:.75rem;
    line-height:1.1;
    border-radius:9px;
  }

  body:not(.messages-page) .nav .theme-toggle,
  body:not(.messages-page) .nav .nav-user,
  body:not(.messages-page) .nav .user-menu-btn {
    flex:0 0 auto;
  }
  body:not(.messages-page) .nav .theme-toggle {
    width:42px;
    height:42px;
    min-width:42px;
  }
  body:not(.messages-page) .nav .nav-user,
  body:not(.messages-page) .nav .user-menu-btn {
    max-width:130px;
  }
  body:not(.messages-page) .nav .nav-cta,
  body:not(.messages-page) .nav .btn-primary {
    flex:0 0 auto;
    min-height:44px;
    padding:10px 16px;
    white-space:nowrap;
    font-size:.77rem;
  }

  /* Category row independent from header sizing. */
  body:not(.messages-page) .catbar {
    min-height:70px;
    padding:9px 0;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
  }
  body:not(.messages-page) .catbar::-webkit-scrollbar { display:none; }
  body:not(.messages-page) .catbar .wrap,
  body:not(.messages-page) .catbar-inner {
    width:max-content;
    min-width:100%;
    max-width:none;
    margin:0;
    padding:0 16px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    flex-wrap:nowrap;
  }
  body:not(.messages-page) .cat-pill {
    flex:0 0 auto;
    min-height:46px;
    padding:0 15px;
    white-space:nowrap;
  }
  body:not(.messages-page) .cat-pill:empty,
  body:not(.messages-page) .catbar button:empty,
  body:not(.messages-page) .catbar a:empty {
    display:none;
  }
}

/* Laptop widths: hide less-important links before ever collapsing search. */
@media (min-width:1001px) and (max-width:1220px) {
  body:not(.messages-page) .nav { padding-inline:12px; }
  body:not(.messages-page) .nav .wrap { gap:9px; }
  body:not(.messages-page) .nav .logo {
    flex-basis:270px;
    min-width:210px;
    max-width:270px;
  }
  body:not(.messages-page) .nav .logo-text { font-size:.88rem; }
  body:not(.messages-page) .nav .search-box,
  body:not(.messages-page) .nav .search,
  body:not(.messages-page) .nav .nav-search,
  body:not(.messages-page) .nav .search-wrap {
    min-width:200px;
    max-width:260px;
  }
  body:not(.messages-page) .nav-links > a {
    padding-inline:5px;
    font-size:.69rem;
  }
  body:not(.messages-page) .nav .nav-cta,
  body:not(.messages-page) .nav .btn-primary {
    padding-inline:11px;
    font-size:.7rem;
  }
}

/* On compact desktop, preserve search + actions and hide secondary textual links. */
@media (min-width:1001px) and (max-width:1100px) {
  body:not(.messages-page) .nav-links > a:nth-of-type(n+3) {
    display:none;
  }
}

/* ============================================================
   V15.5 — MOBILE HOME UI FIX
   Fixes header visibility, hero spacing, trust strip,
   bottom-nav clearance and mobile clipping.
   ============================================================ */
@media (max-width:1000px) {
  body:not(.messages-page) {
    padding-bottom:calc(78px + env(safe-area-inset-bottom));
    overflow-x:hidden;
  }

  /* Mobile header must remain visible and compact. */
  body:not(.messages-page) .nav {
    position:sticky;
    top:0;
    z-index:1100;
    min-height:64px;
    height:auto;
    padding:0;
    background:rgba(255,255,255,.98);
    border-bottom:1px solid var(--am-border);
    box-shadow:0 3px 16px rgba(15,23,42,.06);
    backdrop-filter:blur(12px);
  }
  body:not(.messages-page) .nav .wrap {
    width:100%;
    min-height:64px;
    margin:0;
    padding:8px 13px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
  }
  body:not(.messages-page) .nav .logo {
    min-width:0;
    max-width:calc(100% - 54px);
    display:flex;
    align-items:center;
    gap:8px;
    overflow:hidden;
    white-space:nowrap;
  }
  body:not(.messages-page) .nav .logo img {
    width:38px;
    height:38px;
    flex:0 0 38px;
    border-radius:10px;
    object-fit:cover;
  }
  body:not(.messages-page) .nav .logo-text {
    min-width:0;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.92rem;
    line-height:1.05;
    font-weight:900;
  }
  body:not(.messages-page) .nav .logo-text .tagline,
  body:not(.messages-page) .nav .tagline,
  body:not(.messages-page) .nav .logo-sub,
  body:not(.messages-page) .nav .brand-subtitle {
    display:none;
  }

  /* Desktop controls do not reserve blank space on mobile. */
  body:not(.messages-page) .nav .search-box,
  body:not(.messages-page) .nav .search,
  body:not(.messages-page) .nav .nav-search,
  body:not(.messages-page) .nav .search-wrap,
  body:not(.messages-page) .nav .nav-links,
  body:not(.messages-page) .nav .nav-user,
  body:not(.messages-page) .nav .nav-cta {
    display:none;
  }
  body:not(.messages-page) .hamburger,
  body:not(.messages-page) .menu-btn,
  body:not(.messages-page) .mobile-menu-btn {
    display:grid;
    place-items:center;
    flex:0 0 42px;
    width:42px;
    height:42px;
    min-width:42px;
    min-height:42px;
    margin-left:auto;
    padding:0;
    border:1px solid #d9dee7;
    border-radius:12px;
    background:#fff;
    color:var(--am-navy);
  }

  /* Categories: one-line horizontal scroller, never a tall blank band. */
  body:not(.messages-page) .catbar {
    min-height:58px;
    height:auto;
    padding:7px 0;
    background:#fffaf1;
    border-bottom:1px solid #eee5d6;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  body:not(.messages-page) .catbar::-webkit-scrollbar { display:none; }
  body:not(.messages-page) .catbar .wrap,
  body:not(.messages-page) .catbar-inner {
    width:max-content;
    min-width:100%;
    max-width:none;
    margin:0;
    padding:0 10px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:7px;
    flex-wrap:nowrap;
  }
  body:not(.messages-page) .cat-pill {
    flex:0 0 auto;
    min-height:42px;
    padding:0 13px;
    border-radius:999px;
    font-size:.72rem;
    white-space:nowrap;
  }

  /* Hero: remove desktop reserved height and make all content flow naturally. */
  body:not(.messages-page) .hero {
    min-height:0;
    height:auto;
    padding:34px 0 28px;
    overflow:hidden;
  }
  body:not(.messages-page) .hero .wrap,
  body:not(.messages-page) .hero-inner,
  body:not(.messages-page) .hero-grid {
    width:100%;
    max-width:none;
    min-height:0;
    margin:0 auto;
    padding-left:15px;
    padding-right:15px;
    display:block;
  }
  body:not(.messages-page) .hero-copy,
  body:not(.messages-page) .hero-content {
    width:100%;
    max-width:620px;
    margin:0;
  }
  body:not(.messages-page) .hero h1,
  body:not(.messages-page) .hero-title {
    max-width:100%;
    margin-top:16px;
    font-size:clamp(2rem,10vw,3.2rem);
    line-height:1.02;
    letter-spacing:-.045em;
  }
  body:not(.messages-page) .hero p,
  body:not(.messages-page) .hero-desc {
    max-width:620px;
    font-size:.94rem;
    line-height:1.55;
  }
  body:not(.messages-page) .hero-actions {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    width:100%;
    max-width:500px;
  }
  body:not(.messages-page) .hero-actions .btn {
    width:100%;
    min-width:0;
    min-height:47px;
  }
  body:not(.messages-page) .hero-stats,
  body:not(.messages-page) .stats-row {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    width:100%;
    max-width:500px;
    margin-top:24px;
  }
  body:not(.messages-page) .hero-stats > *,
  body:not(.messages-page) .stats-row > * {
    min-width:0;
  }

  /* Desktop floating mock listings caused empty/offscreen space on phones.
     Hide them and let the real marketplace cards below take over. */
  body:not(.messages-page) .hero-visual,
  body:not(.messages-page) .hero-cards,
  body:not(.messages-page) .floating-cards {
    display:none;
  }

  /* Ticker becomes a clean, finite-height horizontal rail. */
  body:not(.messages-page) .ticker,
  body:not(.messages-page) .marquee,
  body:not(.messages-page) .ticker-wrap {
    min-height:44px;
    height:44px;
    overflow:hidden;
  }

  /* Trust/value strip from the video: stack into readable cards. */
  body:not(.messages-page) .trust-strip,
  body:not(.messages-page) .trust-grid,
  body:not(.messages-page) .benefits,
  body:not(.messages-page) .features-strip {
    height:auto;
    min-height:0;
  }
  body:not(.messages-page) .trust-strip .wrap,
  body:not(.messages-page) .trust-grid,
  body:not(.messages-page) .benefits-grid,
  body:not(.messages-page) .features-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
    width:100%;
    padding:0;
  }
  body:not(.messages-page) .trust-item,
  body:not(.messages-page) .benefit-item,
  body:not(.messages-page) .feature-item {
    min-width:0;
    min-height:104px;
    padding:16px 14px;
    align-items:flex-start;
    border-bottom:1px solid var(--am-border);
  }

  /* Generic section safety. */
  body:not(.messages-page) section {
    max-width:100%;
  }
  body:not(.messages-page) .section,
  body:not(.messages-page) .recent-section,
  body:not(.messages-page) .categories-section {
    min-height:0;
    height:auto;
  }

  /* Fixed bottom navigation clearance. */
  body:not(.messages-page) main,
  body:not(.messages-page) .page-content {
    padding-bottom:20px;
  }
  body:not(.messages-page) .bottom-nav {
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:1250;
    width:100%;
    min-height:66px;
    height:calc(66px + env(safe-area-inset-bottom));
    padding:5px 4px env(safe-area-inset-bottom);
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    align-items:center;
    background:rgba(255,255,255,.98);
    border-top:1px solid var(--am-border);
    box-shadow:0 -7px 22px rgba(15,23,42,.09);
  }
  body:not(.messages-page) .bottom-nav .bn-item {
    width:100%;
    min-width:0;
    min-height:54px;
    margin:0;
    padding:5px 1px 3px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    overflow:hidden;
    font-size:.62rem;
    line-height:1;
    white-space:nowrap;
  }
  body:not(.messages-page) .bottom-nav .bn-item svg {
    width:21px;
    height:21px;
    flex:0 0 21px;
  }

  /* Modals/drawers must not disappear behind nav or keyboard. */
  body:not(.messages-page) #publishModal .modal-body {
    padding-bottom:calc(34px + env(safe-area-inset-bottom));
  }
}

@media (max-width:560px) {
  body:not(.messages-page) .hero {
    padding-top:26px;
  }
  body:not(.messages-page) .hero h1,
  body:not(.messages-page) .hero-title {
    font-size:clamp(2rem,11.5vw,2.85rem);
  }
  body:not(.messages-page) .hero-actions {
    grid-template-columns:1fr;
  }
  body:not(.messages-page) .trust-strip .wrap,
  body:not(.messages-page) .trust-grid,
  body:not(.messages-page) .benefits-grid,
  body:not(.messages-page) .features-grid {
    grid-template-columns:1fr;
  }
  body:not(.messages-page) .trust-item,
  body:not(.messages-page) .benefit-item,
  body:not(.messages-page) .feature-item {
    min-height:82px;
  }
}

@media (max-width:360px) {
  body:not(.messages-page) .nav .logo-text { font-size:.82rem; }
  body:not(.messages-page) .hero-stats,
  body:not(.messages-page) .stats-row { grid-template-columns:1fr; }
}

/* ============================================================
   V16 — MATCH REFERENCE MOCKUP
   ============================================================ */

:root{
  --v16-navy:#0b2d63;
  --v16-red:#ef1739;
  --v16-orange:#f38b2d;
  --v16-bg:#fbfaf7;
  --v16-card:#ffffff;
  --v16-border:#e8e5de;
  --v16-muted:#667085;
  --v16-shadow:0 8px 28px rgba(15,23,42,.08);
}

/* HEADER */
body:not(.messages-page) .nav{
  background:#fff;
  border-bottom:1px solid var(--v16-border);
  box-shadow:0 3px 14px rgba(15,23,42,.045);
}
body:not(.messages-page) .nav .wrap{
  max-width:1440px;
}
body:not(.messages-page) .nav .logo{
  flex:0 0 auto;
  min-width:max-content;
  max-width:none;
  overflow:visible;
}
body:not(.messages-page) .nav .logo img{
  width:42px;
  height:42px;
  border-radius:11px;
}
body:not(.messages-page) .nav .logo-text{
  display:flex;
  align-items:center;
  min-width:max-content;
  overflow:visible;
  text-overflow:clip;
  font-size:1.05rem;
  font-weight:900;
  letter-spacing:-.03em;
}
body:not(.messages-page) .nav .logo-text::after,
body:not(.messages-page) .nav .tagline,
body:not(.messages-page) .nav .logo-sub,
body:not(.messages-page) .nav .brand-subtitle{
  display:none;
}

/* Force only AYITI MARKET in the logo text */
body:not(.messages-page) .nav .logo-text{
  font-size:0;
}
body:not(.messages-page) .nav .logo-text::before{
  content:"AYITI";
  font-size:1.05rem;
  color:var(--v16-navy);
  font-weight:900;
}
body:not(.messages-page) .nav .logo-text::after{
  content:"MARKET";
  display:inline;
  font-size:1.05rem;
  color:var(--v16-red);
  font-weight:900;
}

/* Search */
body:not(.messages-page) .nav .search-box,
body:not(.messages-page) .nav .search,
body:not(.messages-page) .nav .nav-search,
body:not(.messages-page) .nav .search-wrap{
  max-width:360px;
  min-width:260px;
}
body:not(.messages-page) .nav .search-box input,
body:not(.messages-page) .nav .search input,
body:not(.messages-page) .nav .nav-search input,
body:not(.messages-page) .nav .search-wrap input{
  height:44px;
  background:#fff;
  border:1px solid #dedede;
  box-shadow:0 2px 8px rgba(15,23,42,.025);
}

/* Header links/actions */
body:not(.messages-page) .nav-links > a{
  color:#111827;
  font-weight:750;
}
body:not(.messages-page) .nav .theme-toggle,
body:not(.messages-page) .nav .user-menu-btn,
body:not(.messages-page) .nav .nav-user{
  border-radius:13px;
}
body:not(.messages-page) .nav .btn-primary,
body:not(.messages-page) .nav .nav-cta{
  background:var(--v16-red);
  border-color:var(--v16-red);
  border-radius:12px;
  box-shadow:0 6px 16px rgba(239,23,57,.18);
}

/* CATEGORY STRIP */
body:not(.messages-page) .catbar{
  background:#fff;
  border-bottom:0;
  padding:14px 0 8px;
}
body:not(.messages-page) .catbar .wrap,
body:not(.messages-page) .catbar-inner{
  width:min(1440px,calc(100% - 36px));
  min-width:0;
  max-width:1440px;
  margin:0 auto;
  padding:0;
  gap:8px;
  overflow-x:auto;
  scrollbar-width:none;
}
body:not(.messages-page) .cat-pill{
  min-height:46px;
  border:1px solid #e8e8e8;
  background:#fff;
  color:#1f2937;
  box-shadow:0 3px 10px rgba(15,23,42,.035);
  border-radius:13px;
}
body:not(.messages-page) .cat-pill.active,
body:not(.messages-page) .cat-pill:first-child{
  background:#fff1f3;
  border-color:#ffd7de;
  color:var(--v16-red);
}

/* PAGE BACKGROUND */
body:not(.messages-page){
  background:var(--v16-bg);
}

/* HERO */
body:not(.messages-page) .hero{
  background:
    radial-gradient(circle at 86% 42%,rgba(239,23,57,.025),transparent 28%),
    linear-gradient(180deg,#fff 0%,#fcfbf8 100%);
  padding:50px 0 28px;
}
body:not(.messages-page) .hero .wrap,
body:not(.messages-page) .hero-grid,
body:not(.messages-page) .hero-inner{
  width:min(1440px,calc(100% - 36px));
  max-width:1440px;
  margin:0 auto;
}
body:not(.messages-page) .hero-grid,
body:not(.messages-page) .hero-inner{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);
  align-items:center;
  gap:52px;
}
body:not(.messages-page) .hero-copy,
body:not(.messages-page) .hero-content{
  max-width:680px;
}
body:not(.messages-page) .hero h1,
body:not(.messages-page) .hero-title{
  color:var(--v16-navy);
  font-size:clamp(3rem,5.2vw,5rem);
  line-height:.98;
  letter-spacing:-.055em;
  font-weight:900;
}
body:not(.messages-page) .hero h1 .red,
body:not(.messages-page) .hero-title .red,
body:not(.messages-page) .hero .accent-red{
  color:var(--v16-red);
}
body:not(.messages-page) .hero h1 .orange,
body:not(.messages-page) .hero-title .orange,
body:not(.messages-page) .hero .accent-orange{
  color:var(--v16-orange);
}
body:not(.messages-page) .hero p,
body:not(.messages-page) .hero-desc{
  max-width:600px;
  color:#4b5563;
  font-size:1rem;
  line-height:1.65;
}
body:not(.messages-page) .hero-actions{
  display:flex;
  gap:14px;
  margin-top:26px;
}
body:not(.messages-page) .hero-actions .btn{
  min-height:52px;
  border-radius:12px;
  padding-inline:22px;
}
body:not(.messages-page) .hero-actions .btn-primary{
  background:var(--v16-red);
  border-color:var(--v16-red);
}
body:not(.messages-page) .hero-actions .btn-ghost{
  background:#fff;
  border-color:#d8dce3;
}

/* Hero stats */
body:not(.messages-page) .hero-stats,
body:not(.messages-page) .stats-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin-top:34px;
  max-width:720px;
}
body:not(.messages-page) .hero-stats > *,
body:not(.messages-page) .stats-row > *{
  padding-right:18px;
  border-right:1px solid #ece8e0;
}
body:not(.messages-page) .hero-stats > *:last-child,
body:not(.messages-page) .stats-row > *:last-child{
  border-right:0;
}
body:not(.messages-page) .hero-stats strong,
body:not(.messages-page) .stats-row strong{
  color:var(--v16-navy);
  font-size:1.55rem;
  font-weight:900;
}
body:not(.messages-page) .hero-stats span,
body:not(.messages-page) .stats-row span{
  color:var(--v16-muted);
  font-size:.78rem;
}

/* Hero cards */
body:not(.messages-page) .hero-visual,
body:not(.messages-page) .hero-cards,
body:not(.messages-page) .floating-cards{
  display:block;
  position:relative;
  min-height:470px;
}
body:not(.messages-page) .hero-card,
body:not(.messages-page) .floating-card,
body:not(.messages-page) .mock-card{
  background:#fff;
  border:1px solid #ede8df;
  border-radius:18px;
  box-shadow:0 14px 40px rgba(15,23,42,.11);
}

/* TRUST STRIP */
body:not(.messages-page) .trust-strip,
body:not(.messages-page) .benefits,
body:not(.messages-page) .features-strip{
  padding:0 0 26px;
}
body:not(.messages-page) .trust-strip .wrap,
body:not(.messages-page) .trust-grid,
body:not(.messages-page) .benefits-grid,
body:not(.messages-page) .features-grid{
  width:min(1440px,calc(100% - 36px));
  max-width:1440px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  background:#fff;
  border:1px solid #ece8e0;
  border-radius:16px;
  box-shadow:0 6px 18px rgba(15,23,42,.045);
  overflow:hidden;
}
body:not(.messages-page) .trust-item,
body:not(.messages-page) .benefit-item,
body:not(.messages-page) .feature-item{
  min-height:104px;
  padding:20px;
  border-right:1px solid #ece8e0;
  border-bottom:0;
}
body:not(.messages-page) .trust-item:last-child,
body:not(.messages-page) .benefit-item:last-child,
body:not(.messages-page) .feature-item:last-child{
  border-right:0;
}

/* POPULAR ADS SECTION */
body:not(.messages-page) .section,
body:not(.messages-page) .recent-section,
body:not(.messages-page) .categories-section{
  background:transparent;
}
body:not(.messages-page) .section .wrap,
body:not(.messages-page) .recent-section .wrap,
body:not(.messages-page) .categories-section .wrap{
  width:min(1440px,calc(100% - 36px));
  max-width:1440px;
  margin:0 auto;
}

/* MOBILE */
@media (max-width:1000px){
  body:not(.messages-page) .nav .logo-text::before,
  body:not(.messages-page) .nav .logo-text::after{
    font-size:.93rem;
  }

  body:not(.messages-page) .hero{
    padding:28px 0 24px;
  }
  body:not(.messages-page) .hero .wrap,
  body:not(.messages-page) .hero-grid,
  body:not(.messages-page) .hero-inner{
    width:100%;
    padding-left:15px;
    padding-right:15px;
  }
  body:not(.messages-page) .hero-grid,
  body:not(.messages-page) .hero-inner{
    display:block;
  }
  body:not(.messages-page) .hero h1,
  body:not(.messages-page) .hero-title{
    font-size:clamp(2.25rem,11vw,3.1rem);
  }
  body:not(.messages-page) .hero-visual,
  body:not(.messages-page) .hero-cards,
  body:not(.messages-page) .floating-cards{
    display:none;
  }
  body:not(.messages-page) .hero-stats,
  body:not(.messages-page) .stats-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }
  body:not(.messages-page) .hero-stats > *,
  body:not(.messages-page) .stats-row > *{
    border-right:0;
  }
  body:not(.messages-page) .trust-strip .wrap,
  body:not(.messages-page) .trust-grid,
  body:not(.messages-page) .benefits-grid,
  body:not(.messages-page) .features-grid{
    width:calc(100% - 24px);
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:560px){
  body:not(.messages-page) .hero-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  body:not(.messages-page) .trust-strip .wrap,
  body:not(.messages-page) .trust-grid,
  body:not(.messages-page) .benefits-grid,
  body:not(.messages-page) .features-grid{
    grid-template-columns:1fr;
  }
  body:not(.messages-page) .trust-item,
  body:not(.messages-page) .benefit-item,
  body:not(.messages-page) .feature-item{
    border-right:0;
    border-bottom:1px solid #ece8e0;
  }
}

/* ============================================================
   V16.1 — MOBILE PROFESSIONAL POLISH
   Home + ticker + messages
   ============================================================ */

/* --- TICKER: compact, balanced, no giant empty black band --- */
body:not(.messages-page) .ticker,
body:not(.messages-page) .marquee,
body:not(.messages-page) .ticker-wrap {
  min-height:42px !important;
  height:42px !important;
  max-height:42px !important;
  background:#101820;
  overflow:hidden !important;
}
body:not(.messages-page) .ticker-track,
body:not(.messages-page) .marquee-track {
  height:42px;
  display:flex;
  align-items:center;
  gap:34px;
  white-space:nowrap;
  font-size:.72rem;
  line-height:1;
  letter-spacing:.055em;
}

/* --- HOME MOBILE --- */
@media (max-width:1000px) {
  body:not(.messages-page) .nav {
    min-height:62px;
    height:62px;
  }
  body:not(.messages-page) .nav .wrap {
    min-height:62px;
    height:62px;
    padding:7px 13px;
  }
  body:not(.messages-page) .nav .logo {
    max-width:calc(100% - 54px);
    min-width:0;
    gap:8px;
  }
  body:not(.messages-page) .nav .logo img {
    width:38px;
    height:38px;
    flex-basis:38px;
  }

  /* V16 generated brand only: AYITI MARKET. Hide original slogan/text entirely. */
  body:not(.messages-page) .nav .logo-text {
    display:inline-flex !important;
    align-items:center;
    width:auto;
    min-width:0;
    max-width:220px;
    overflow:hidden;
    white-space:nowrap;
    font-size:0 !important;
    line-height:1;
  }
  body:not(.messages-page) .nav .logo-text > *,
  body:not(.messages-page) .nav .logo-text .tagline {
    display:none !important;
  }
  body:not(.messages-page) .nav .logo-text::before {
    content:"AYITI";
    display:inline !important;
    flex:0 0 auto;
    font-size:.92rem !important;
    color:#0b2d63;
    font-weight:900;
    letter-spacing:-.025em;
  }
  body:not(.messages-page) .nav .logo-text::after {
    content:"MARKET";
    display:inline !important;
    flex:0 0 auto;
    font-size:.92rem !important;
    color:#ef1739;
    font-weight:900;
    letter-spacing:-.025em;
  }

  body:not(.messages-page) .catbar {
    min-height:56px;
    padding:7px 0;
    background:#fffaf3;
  }
  body:not(.messages-page) .catbar .wrap,
  body:not(.messages-page) .catbar-inner {
    padding:0 12px;
    gap:7px;
  }
  body:not(.messages-page) .cat-pill {
    min-height:40px;
    padding:0 13px;
    border-radius:12px;
    font-size:.7rem;
    box-shadow:none;
  }

  body:not(.messages-page) .hero {
    padding:25px 0 18px !important;
    min-height:0 !important;
  }
  body:not(.messages-page) .hero h1,
  body:not(.messages-page) .hero-title {
    margin:14px 0 14px;
    max-width:620px;
    font-size:clamp(2.15rem,10.4vw,3rem) !important;
    line-height:1.015 !important;
    letter-spacing:-.052em;
  }
  body:not(.messages-page) .hero p,
  body:not(.messages-page) .hero-desc {
    display:none;
  }
  body:not(.messages-page) .hero-actions {
    margin-top:22px;
    gap:10px;
  }
  body:not(.messages-page) .hero-actions .btn {
    min-height:50px;
    border-radius:12px;
    font-size:.88rem;
  }
  body:not(.messages-page) .hero-stats,
  body:not(.messages-page) .stats-row {
    margin-top:24px !important;
    margin-bottom:0 !important;
    padding-bottom:0 !important;
    gap:16px 24px;
  }
  body:not(.messages-page) .hero-stats strong,
  body:not(.messages-page) .stats-row strong {
    font-size:1.35rem;
  }
  body:not(.messages-page) .hero-stats span,
  body:not(.messages-page) .stats-row span {
    display:block;
    margin-top:4px;
    font-size:.72rem;
    line-height:1.25;
  }
  body:not(.messages-page) .hero::after {
    display:none !important;
  }

  /* Avoid the huge blank area after the stats seen in screenshot. */
  body:not(.messages-page) .hero-copy,
  body:not(.messages-page) .hero-content {
    padding-bottom:0 !important;
    margin-bottom:0 !important;
  }
}

/* --- MESSAGES: professional compact inbox --- */
body.messages-page {
  background:#f5f7fa;
}
body.messages-page > header {
  background:#fff !important;
  border-bottom:1px solid #e7eaf0;
  box-shadow:0 2px 12px rgba(15,23,42,.045);
}
body.messages-page > header .nav {
  min-height:62px;
  background:#fff !important;
  box-shadow:none;
}
body.messages-page > header .nav .wrap {
  min-height:62px;
}
body.messages-page > header .logo,
body.messages-page > header .am-brand {
  display:flex;
  align-items:center;
  gap:9px;
}
body.messages-page > header .logo img,
body.messages-page > header .am-brand-logo {
  width:38px;
  height:38px;
  border-radius:10px;
}
body.messages-page > header .logo-text,
body.messages-page > header .am-brand-name {
  display:inline-flex;
  align-items:center;
  font-size:0 !important;
  white-space:nowrap;
}
body.messages-page > header .logo-text::before,
body.messages-page > header .am-brand-name::before {
  content:"AYITI";
  font-size:.92rem;
  font-weight:900;
  color:#0b2d63;
  letter-spacing:-.025em;
}
body.messages-page > header .logo-text::after,
body.messages-page > header .am-brand-name::after {
  content:" MARKET";
  font-size:.92rem;
  font-weight:900;
  color:#ef1739;
  letter-spacing:-.025em;
}

body.messages-page .messages-toolbar {
  padding:9px 12px 11px;
  background:#fff !important;
  border-bottom:1px solid #e7eaf0;
}
body.messages-page .messages-search {
  height:44px;
  max-width:720px;
  background:#f5f7fa;
  border:1px solid #e2e6ec;
  border-radius:13px;
  box-shadow:none;
}
body.messages-page .messages-search input {
  height:42px;
  font-size:.82rem;
}
body.messages-page .conv-list {
  background:#fff;
}
body.messages-page .conv-item {
  min-height:88px;
  padding:12px 14px !important;
  display:flex;
  align-items:center;
  gap:12px;
  border-bottom:1px solid #edf0f3 !important;
  background:#fff;
  box-shadow:none !important;
}
body.messages-page .conv-item:hover,
body.messages-page .conv-item.active {
  background:#f7f9fc;
}
body.messages-page .conv-avatar,
body.messages-page .avatar {
  width:52px !important;
  height:52px !important;
  min-width:52px !important;
  flex:0 0 52px !important;
  border-radius:15px !important;
  display:grid;
  place-items:center;
  font-size:.9rem !important;
  font-weight:800;
  background:#28588c;
}
body.messages-page .conv-item h3,
body.messages-page .conv-name {
  margin:0 0 3px;
  color:#102a50;
  font-size:.9rem !important;
  line-height:1.2;
  font-weight:850;
}
body.messages-page .conv-item p,
body.messages-page .conv-preview,
body.messages-page .conv-subject {
  margin:2px 0 0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.75rem !important;
  line-height:1.25;
  color:#667085;
}

/* Messages mobile: white professional header, no oversized navy search band. */
@media (max-width:760px) {
  body.messages-page > header {
    display:block;
    flex:0 0 62px;
  }
  body.messages-page > header .nav {
    display:flex;
    min-height:62px;
    height:62px;
    padding:7px 13px;
    background:#fff !important;
  }
  body.messages-page > header .am-brand-name,
  body.messages-page > header .logo {
    color:#0b2d63 !important;
  }
  body.messages-page .messages-toolbar {
    padding:8px 12px 10px;
    background:#fff !important;
  }
  body.messages-page .messages-search {
    width:100%;
    height:43px;
    margin:0;
    background:#f5f7fa;
    border-color:#e1e5eb;
  }
  body.messages-page .conv-item {
    min-height:86px;
  }
  body.messages-page .bottom-nav {
    background:#fff;
    box-shadow:0 -5px 18px rgba(15,23,42,.07);
  }
}

@media (max-width:420px) {
  body:not(.messages-page) .nav .logo-text::before,
  body:not(.messages-page) .nav .logo-text::after,
  body.messages-page > header .logo-text::before,
  body.messages-page > header .logo-text::after,
  body.messages-page > header .am-brand-name::before,
  body.messages-page > header .am-brand-name::after {
    font-size:.86rem !important;
  }
}


/* V16.2 CLEAN MOBILE */
.am-brand-sub{display:none!important}
@media(max-width:1000px){
 body:not(.messages-page) .am-brand{min-width:0!important;max-width:calc(100% - 56px)!important;overflow:hidden!important}
 body:not(.messages-page) .am-brand>span{min-width:0!important;max-width:100%!important;overflow:hidden!important}
 body:not(.messages-page) .am-brand-name{display:inline-flex!important;align-items:center!important;min-width:0!important;max-width:100%!important;overflow:hidden!important;white-space:nowrap!important;font-size:.94rem!important;line-height:1!important;letter-spacing:-.035em!important}
 body:not(.messages-page) .am-brand-ayiti{color:#0b2d63!important}
 body:not(.messages-page) .am-brand-market{color:#ef1739!important}
 body:not(.messages-page) .nav .logo-text:before,body:not(.messages-page) .nav .logo-text:after{content:none!important;display:none!important}
 body:not(.messages-page) .hero{padding-bottom:14px!important}
 body:not(.messages-page) .hero-stats,body:not(.messages-page) .stats-row{margin-bottom:4px!important}
 body:not(.messages-page) .marquee-wrap{height:38px!important;min-height:38px!important;max-height:38px!important;padding:0!important;margin:0!important;display:flex!important;align-items:center!important}
 body:not(.messages-page) .marquee{height:38px!important;align-items:center!important;gap:28px!important}
 body:not(.messages-page) .marquee span{font-size:.68rem!important;line-height:38px!important}
}
body.messages-page .am-brand-name{display:inline-flex!important;align-items:center!important;font-size:.92rem!important;font-weight:900!important;letter-spacing:-.03em!important}
body.messages-page .am-brand-name:before,body.messages-page .am-brand-name:after{content:none!important;display:none!important}
body.messages-page .am-brand-ayiti{color:#0b2d63!important}
body.messages-page .am-brand-market{color:#ef1739!important}
@media(max-width:420px){body:not(.messages-page) .am-brand-name,body.messages-page .am-brand-name{font-size:.86rem!important}}

/* ============================================================
   V16.3 — MOBILE PREMIUM POLISH
   Header + categories + hero + stats + ticker + bottom nav
   ============================================================ */

@media (max-width:1000px) {
  body:not(.messages-page) {
    background:#f8f9fb;
  }

  /* Premium compact header */
  body:not(.messages-page) .nav {
    height:68px !important;
    min-height:68px !important;
    background:rgba(255,255,255,.97) !important;
    border-bottom:1px solid #e9edf2 !important;
    box-shadow:0 5px 20px rgba(15,23,42,.06) !important;
  }
  body:not(.messages-page) .nav .wrap {
    height:68px !important;
    min-height:68px !important;
    padding:9px 14px !important;
  }
  body:not(.messages-page) .am-brand-logo,
  body:not(.messages-page) .nav .logo img {
    width:40px !important;
    height:40px !important;
    border-radius:12px !important;
    box-shadow:0 4px 12px rgba(15,23,42,.08) !important;
  }
  body:not(.messages-page) .am-brand-name {
    font-size:1rem !important;
    letter-spacing:-.035em !important;
  }
  body:not(.messages-page) .hamburger,
  body:not(.messages-page) .menu-btn,
  body:not(.messages-page) .mobile-menu-btn {
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
    border:1px solid #e0e5eb !important;
    border-radius:12px !important;
    background:#fff !important;
    box-shadow:0 3px 10px rgba(15,23,42,.045) !important;
  }

  /* Category rail */
  body:not(.messages-page) .catbar {
    min-height:62px !important;
    padding:9px 0 !important;
    background:#fff !important;
    border-bottom:1px solid #edf0f3 !important;
    box-shadow:0 4px 12px rgba(15,23,42,.025) !important;
  }
  body:not(.messages-page) .catbar .wrap,
  body:not(.messages-page) .catbar-inner {
    padding:0 14px !important;
    gap:8px !important;
  }
  body:not(.messages-page) .cat-pill {
    min-height:42px !important;
    padding:0 14px !important;
    border-radius:14px !important;
    border:1px solid #e5e8ed !important;
    background:#fff !important;
    box-shadow:0 3px 10px rgba(15,23,42,.035) !important;
    font-size:.73rem !important;
    font-weight:750 !important;
  }
  body:not(.messages-page) .cat-pill:first-child,
  body:not(.messages-page) .cat-pill.active {
    color:#e51d3b !important;
    background:#fff2f5 !important;
    border-color:#ffd8e0 !important;
  }

  /* Hero */
  body:not(.messages-page) .hero {
    padding:28px 0 18px !important;
    background:
      radial-gradient(circle at 12% 16%,rgba(245,158,11,.055),transparent 30%),
      radial-gradient(circle at 88% 10%,rgba(229,29,59,.05),transparent 28%),
      linear-gradient(180deg,#fffdf9 0%,#ffffff 100%) !important;
  }
  body:not(.messages-page) .hero .wrap,
  body:not(.messages-page) .hero-grid,
  body:not(.messages-page) .hero-inner {
    padding-left:16px !important;
    padding-right:16px !important;
  }
  body:not(.messages-page) .hero-badge,
  body:not(.messages-page) .hero .badge {
    display:inline-flex !important;
    align-items:center !important;
    min-height:36px !important;
    padding:0 14px !important;
    border-radius:999px !important;
    background:#fff1f3 !important;
    color:#9f2740 !important;
    box-shadow:inset 0 0 0 1px #ffe0e6 !important;
    font-size:.7rem !important;
    font-weight:850 !important;
    letter-spacing:.06em !important;
  }
  body:not(.messages-page) .hero h1,
  body:not(.messages-page) .hero-title {
    margin:18px 0 16px !important;
    font-size:clamp(2.35rem,10.5vw,3.15rem) !important;
    line-height:1.01 !important;
    letter-spacing:-.058em !important;
  }

  /* Buttons */
  body:not(.messages-page) .hero-actions {
    gap:10px !important;
    margin-top:18px !important;
  }
  body:not(.messages-page) .hero-actions .btn {
    min-height:52px !important;
    border-radius:14px !important;
    font-size:.88rem !important;
    font-weight:850 !important;
  }
  body:not(.messages-page) .hero-actions .btn-primary {
    box-shadow:0 10px 22px rgba(229,29,59,.18) !important;
  }

  /* Stats become real mini-cards instead of floating text */
  body:not(.messages-page) .hero-stats,
  body:not(.messages-page) .stats-row {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    margin-top:22px !important;
  }
  body:not(.messages-page) .hero-stats > *,
  body:not(.messages-page) .stats-row > * {
    min-height:92px !important;
    padding:14px 14px 12px !important;
    border:1px solid #e7ebf0 !important;
    border-radius:15px !important;
    background:rgba(255,255,255,.94) !important;
    box-shadow:0 5px 16px rgba(15,23,42,.045) !important;
  }
  body:not(.messages-page) .hero-stats strong,
  body:not(.messages-page) .stats-row strong {
    display:block !important;
    color:#0b2d63 !important;
    font-size:1.45rem !important;
    line-height:1 !important;
  }
  body:not(.messages-page) .hero-stats span,
  body:not(.messages-page) .stats-row span {
    margin-top:7px !important;
    color:#667085 !important;
    font-size:.72rem !important;
    line-height:1.25 !important;
    font-weight:650 !important;
  }

  /* Ticker: shorter and cleaner */
  body:not(.messages-page) .marquee-wrap,
  body:not(.messages-page) .ticker-wrap {
    height:36px !important;
    min-height:36px !important;
    max-height:36px !important;
    background:#0f1720 !important;
    border-top:1px solid #17212c !important;
    border-bottom:1px solid #17212c !important;
  }
  body:not(.messages-page) .marquee,
  body:not(.messages-page) .ticker-track {
    height:36px !important;
    gap:26px !important;
  }
  body:not(.messages-page) .marquee span,
  body:not(.messages-page) .ticker-track span {
    line-height:36px !important;
    font-size:.66rem !important;
    letter-spacing:.045em !important;
    color:#f8fafc !important;
  }

  /* Bottom nav */
  body:not(.messages-page) .bottom-nav {
    min-height:70px !important;
    height:calc(70px + env(safe-area-inset-bottom)) !important;
    padding:6px 5px env(safe-area-inset-bottom) !important;
    background:rgba(255,255,255,.98) !important;
    border-top:1px solid #e5e9ef !important;
    box-shadow:0 -8px 28px rgba(15,23,42,.09) !important;
    backdrop-filter:blur(12px) !important;
  }
  body:not(.messages-page) .bottom-nav .bn-item {
    min-height:56px !important;
    gap:4px !important;
    border-radius:12px !important;
    font-size:.62rem !important;
    font-weight:780 !important;
  }
  body:not(.messages-page) .bottom-nav .bn-item svg {
    width:22px !important;
    height:22px !important;
  }
  body:not(.messages-page) .bottom-nav .bn-item.active {
    color:#e51d3b !important;
  }
  body:not(.messages-page) .bottom-nav #bnPibliye {
    position:relative !important;
    color:#e51d3b !important;
  }
  body:not(.messages-page) .bottom-nav #bnPibliye::before {
    content:"" !important;
    position:absolute !important;
    top:2px !important;
    width:34px !important;
    height:34px !important;
    border-radius:50% !important;
    background:#fff0f3 !important;
    z-index:-1 !important;
  }

  /* Extra breathing room above fixed nav */
  body:not(.messages-page) main {
    padding-bottom:18px !important;
  }
}

@media (max-width:420px) {
  body:not(.messages-page) .hero h1,
  body:not(.messages-page) .hero-title {
    font-size:clamp(2.2rem,10.8vw,2.85rem) !important;
  }
}

