/* matrimoniale3x.ro — designul nou ("clasic modernizat").
   Structura veche ramane (meniu sus, coloana stanga cu cautare, continut),
   identitatea la fel: albastrul #3F89C3, sagetile portocalii, omuletii albastru/roz.
   Mobile-first; fara framework, fara fonturi externe. */

:root {
  --brand: #3F89C3;
  --brand-strong: #2A6CA3;   /* linkuri, text albastru pe alb (AA) */
  --brand-deep: #1D4F7A;     /* titluri */
  --brand-tint: #EDF5FB;     /* fundalul vechi al campurilor */
  --brand-line: #CFE0EE;
  --accent: #C9590C;         /* portocaliul sagetilor, inchis pentru AA pe butoane */
  --accent-bright: #E8822A;  /* sagetile/iconitele, nu text */
  --rose: #C93F75;           /* femei */
  --ink: #1E2A36;
  --muted: #5E6E7E;
  --bg: #F5F8FB;
  --surface: #FFFFFF;
  --line: #DCE6EF;
  --ok: #217A46;
  --ok-tint: #E8F5EC;
  --err: #B3261E;
  --err-tint: #FCEDEC;
  --warn-tint: #FFF6E5;

  --r-sm: 6px;
  --r: 10px;
  --r-lg: 16px;
  --shell: 1180px;
  --side: 272px;
  --tabbar: 0px;

  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
}

/* ---------- baza ---------- */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

body.m3x {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font: 16px/1.5 var(--font);
  padding-bottom: var(--tabbar);
}

.m3x img { max-width: 100%; height: auto; border: 0; }
.m3x a { color: var(--brand-strong); text-decoration: none; }
.m3x a:hover { text-decoration: underline; }
.m3x :focus-visible { outline: 3px solid rgba(63,137,195,.55); outline-offset: 2px; border-radius: 4px; }

.m3x h1, .m3x h2, .m3x h3 { color: var(--brand-deep); line-height: 1.25; margin: 0 0 .5em; font-weight: 700; }
.m3x h1 { font-size: 1.5rem; letter-spacing: -.01em; }
.m3x h2 { font-size: 1.25rem; }
.m3x h3 { font-size: 1.0625rem; }
.m3x p { margin: 0 0 1em; }
.m-muted { color: var(--muted); }
.m-small { font-size: .875rem; }
.m-center { text-align: center; }
.m-hide { display: none !important; }
.m-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

@media (min-width: 900px) {
  body.m3x { font-size: 15px; }
  .m3x h1 { font-size: 1.75rem; }
}

/* ---------- antet ---------- */

.m-header {
  background: var(--surface);
  border-bottom: 1px solid var(--line);
}
.m-header__in {
  max-width: var(--shell);
  margin: 0 auto;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.m-logo { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); }
.m-logo:hover { text-decoration: none; }
.m-logo svg { width: 46px; height: 40px; flex: none; }
.m-logo__word { font-size: 1.25rem; font-weight: 800; letter-spacing: -.02em; color: var(--brand-deep); }
.m-logo__word b { color: var(--accent-bright); font-weight: 800; }
.m-logo__tag { display: none; font-size: .8125rem; color: var(--muted); margin-top: -2px; }

.m-header__actions { margin-left: auto; display: flex; align-items: center; gap: 8px; }
/* membrii au pe mobil bara de jos si meniul de membri; antetul ramane doar cu logo */
@media (max-width: 899px) { .m-logged .m-header__actions { display: none; } }
.m-header__promo { display: none; }

@media (min-width: 900px) {
  .m-header__in { padding: 14px 20px; }
  .m-logo svg { width: 56px; height: 48px; }
  .m-logo__word { font-size: 1.5rem; }
  .m-logo__tag { display: block; }
  .m-header__promo { display: block; margin-left: auto; max-width: 620px; overflow: hidden; }
  .m-header__promo + .m-header__actions { margin-left: 16px; }
}

/* meniul principal: o banda sub antet; pe mobil se deruleaza orizontal */
.m-nav {
  background: var(--surface);
  border-bottom: 2px solid var(--brand);
}
.m-nav ul {
  max-width: var(--shell);
  margin: 0 auto;
  padding: 0 8px;
  list-style: none;
  display: flex;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.m-nav ul::-webkit-scrollbar { display: none; }
.m-nav a {
  display: block;
  white-space: nowrap;
  padding: 11px 12px;
  color: var(--ink);
  font-weight: 600;
  font-size: .9375rem;
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
}
.m-nav a:hover { color: var(--brand-strong); text-decoration: none; }
.m-nav a[aria-current="page"] { color: var(--brand-strong); border-bottom-color: var(--brand); }
@media (min-width: 900px) { .m-nav ul { padding: 0 12px; } .m-nav a { padding: 12px 14px; } }

/* ---------- butoane ---------- */

.m3x .m-btn, .m3x input[type=submit], .m3x input[type=button], .m3x button {
  -webkit-appearance: none;
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid var(--brand-strong);
  border-radius: var(--r-sm);
  background: var(--brand-strong);
  color: #fff;
  font: 600 1rem/1 var(--font);
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
}
.m3x .m-btn:hover, .m3x input[type=submit]:hover, .m3x button:hover { background: var(--brand-deep); border-color: var(--brand-deep); text-decoration: none; color: #fff; }
.m3x .m-btn--accent { background: var(--accent); border-color: var(--accent); }
.m3x .m-btn--accent:hover { background: #A84A09; border-color: #A84A09; }
.m3x .m-btn--ghost { background: transparent; color: var(--brand-strong); border-color: var(--brand-line); }
.m3x .m-btn--ghost:hover { background: var(--brand-tint); color: var(--brand-deep); border-color: var(--brand); }
.m3x .m-btn--sm { min-height: 36px; padding: 0 12px; font-size: .9375rem; }
.m3x .m-btn--block { display: flex; width: 100%; }
@media (min-width: 900px) { .m3x .m-btn, .m3x input[type=submit], .m3x input[type=button], .m3x button { font-size: .9375rem; min-height: 40px; } }

/* ---------- formulare ---------- */

.m3x input[type=text], .m3x input[type=password], .m3x input[type=email], .m3x input[type=number],
.m3x input[type=file], .m3x input:not([type]), .m3x select, .m3x textarea {
  font: 16px/1.3 var(--font);   /* 16px: fara zoom automat pe iOS */
  color: var(--ink);
  background: var(--surface);
  border: 1px solid #B9CCDD;
  border-radius: var(--r-sm);
  padding: 9px 11px;
  min-height: 44px;
  max-width: 100%;
}
.m3x select { padding-right: 32px; -webkit-appearance: none; appearance: none;
  background: var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%232A6CA3' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 11px center; }
.m3x textarea { min-height: 120px; width: 100%; resize: vertical; }
.m3x input:focus, .m3x select:focus, .m3x textarea:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px rgba(63,137,195,.25); }
.m3x input[type=checkbox], .m3x input[type=radio] { width: 20px; height: 20px; accent-color: var(--brand-strong); vertical-align: middle; margin: 0 6px 0 0; }
@media (min-width: 900px) {
  .m3x input[type=text], .m3x input[type=password], .m3x input[type=email], .m3x input:not([type]), .m3x select, .m3x textarea { font-size: .9375rem; min-height: 40px; padding: 7px 10px; }
  .m3x select { padding-right: 30px; }
}

.m-form { display: grid; gap: 14px; }
.m-field { display: grid; gap: 6px; }
.m-field > label, .m-label { font-weight: 600; font-size: .9375rem; }
.m-field input:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]), .m-field select, .m-field textarea { width: 100%; }
.m-field__hint { font-size: .875rem; color: var(--muted); }
.m-row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.m-row > select { flex: 1 1 0; min-width: 0; }
.m-check { display: flex; align-items: center; gap: 4px; font-size: .9375rem; }
.m-actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-top: 4px; }

/* ---------- carcasa: coloana stanga + continut ---------- */

.m-page { max-width: var(--shell); margin: 0 auto; padding: 16px; }
.m-page > .m-shell { margin: -16px; }

.m-shell { display: block; }
.m-side { padding: 0 16px 8px; }
.m-main { padding: 16px; min-width: 0; overflow-x: clip; overflow-wrap: break-word; }

@media (min-width: 900px) {
  .m-page { padding: 24px 20px; }
  .m-page > .m-shell { margin: -24px -20px; }
  .m-shell { display: grid; grid-template-columns: var(--side) minmax(0, 1fr); }
  /* in HTML coloana stanga vine dupa continut (pe mobil apare sub pagina) */
  .m-side { grid-column: 1; grid-row: 1; }
  .m-main { grid-column: 2; grid-row: 1; }
  /* linia albastra de 1px dintre coloane, ca in designul vechi */
  .m-side { padding: 24px 20px 24px; border-right: 1px solid var(--brand); }
  .m-main { padding: 24px 0 24px 28px; }
}

/* ---------- panouri (casetele din stanga) ---------- */

.m-panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r);
  padding: 16px;
  margin-bottom: 16px;
}
.m-panel__title {
  display: flex; align-items: center; gap: 8px;
  margin: 0 0 12px;
  font-size: 1rem; font-weight: 700; color: var(--brand-strong);
}
.m-panel__title svg { width: 18px; height: 18px; flex: none; }
.m-panel--flat { background: transparent; border: 0; padding: 0; }

.m-field--inline { grid-template-columns: 76px minmax(0, 1fr); align-items: center; }
.m-field--inline > span:first-child { color: var(--muted); font-size: .9375rem; }
.m-field--inline select { width: 100%; }
.m-row--age { display: grid; grid-template-columns: 1fr auto 1fr; gap: 8px; align-items: center; }
.m-row--age select { width: 100%; min-width: 0; }

/* lista cu sagetile portocalii (bullet.gif-ul vechi) */
.m-list { list-style: none; margin: 0; padding: 0; }
.m-list li { position: relative; padding: 5px 0 5px 22px; }
.m-list li::before {
  content: ""; position: absolute; left: 0; top: calc(5px + .75em - 7px);
  width: 14px; height: 14px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Crect width='14' height='14' rx='3' fill='%23E8822A'/%3E%3Cpath d='M4 7h6M7.5 4.5 10 7l-2.5 2.5' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat;
}

.m-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.m-stat { min-width: 0; background: var(--brand-tint); border-radius: var(--r-sm); padding: 10px; }
.m-stat b { display: block; font-size: 1.0625rem; color: var(--brand-deep); font-variant-numeric: tabular-nums; }
.m-stat span { font-size: .8125rem; color: var(--muted); }

/* ---------- meniul de membri ---------- */

.m-account {
  display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center;
  background: var(--surface); border: 1px solid var(--line); border-left: 4px solid var(--brand);
  border-radius: var(--r-sm); padding: 10px 14px; margin-bottom: 14px; font-size: .9375rem;
}
.m-account b { color: var(--brand-deep); }
.m-account .m-account__warn { color: var(--err); font-weight: 600; }
.m-account a.m-btn { margin-left: auto; }

.m-mnav { margin: 0 -16px 18px; }
.m-mnav__scroll { display: flex; gap: 6px; overflow-x: auto; padding: 0 16px 4px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.m-mnav__scroll::-webkit-scrollbar { display: none; }
.m-mnav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 6px; flex: none; }
.m-mnav a {
  display: inline-flex; align-items: center; gap: 6px; white-space: nowrap;
  min-height: 38px; padding: 0 13px; border-radius: 999px;
  background: var(--surface); border: 1px solid var(--line);
  color: var(--ink); font-size: .875rem; font-weight: 500;
}
.m-mnav a:hover { border-color: var(--brand); color: var(--brand-strong); text-decoration: none; }
.m-mnav a[aria-current="page"] { background: var(--brand-tint); border-color: var(--brand); color: var(--brand-deep); }
.m-mnav .m-mnav__f { color: var(--rose); }
.m-mnav .m-mnav__b { color: var(--brand-strong); }
.m-mnav__sec { padding-left: 6px; border-left: 1px solid var(--line); }
@media (min-width: 900px) {
  .m-mnav { margin: 0 0 18px; }
  .m-mnav__scroll { flex-wrap: wrap; overflow: visible; padding: 0; }
  .m-mnav ul { flex-wrap: wrap; flex: initial; }
  .m-mnav__sec { padding-left: 0; border-left: 0; }
  .m-mnav__out { display: none; }
}

.m-badge {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px;
  background: var(--err); color: #fff; font-size: .75rem; font-weight: 700; line-height: 1;
}
.m-badge--soft { background: var(--brand-tint); color: var(--brand-deep); }

.m-invite {
  border: 1px solid var(--accent-bright); background: var(--warn-tint);
  border-radius: var(--r); padding: 12px 14px; margin-bottom: 16px;
}
.m-invite a.m-invite__who { font-weight: 700; color: var(--accent); margin-right: 12px; }

/* bara de jos pentru membri, pe mobil (degetul mare ajunge usor) */
.m-tabbar { display: none; }
body.m3x.m-logged { --tabbar: 64px; }
body.m3x.m-logged .m-tabbar {
  display: grid; grid-template-columns: repeat(5, 1fr);
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 50;
  height: calc(64px + env(safe-area-inset-bottom));
  padding-bottom: env(safe-area-inset-bottom);
  background: var(--surface); border-top: 1px solid var(--line);
  box-shadow: 0 -2px 12px rgba(29,79,122,.08);
}
.m-tabbar a {
  position: relative;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
  color: var(--muted); font-size: .6875rem; font-weight: 600;
}
.m-tabbar a:hover { text-decoration: none; }
.m-tabbar svg { width: 24px; height: 24px; }
.m-tabbar a[aria-current="page"] { color: var(--brand-strong); }
.m-tabbar .m-badge { position: absolute; top: 6px; left: calc(50% + 4px); }
@media (min-width: 900px) {
  body.m3x.m-logged { --tabbar: 0px; }
  body.m3x.m-logged .m-tabbar { display: none; }
}

/* ---------- oameni: grila de poze ---------- */

.m-people {
  list-style: none; margin: 0 0 24px; padding: 0;
  display: grid; gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (min-width: 600px) { .m-people { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .m-people { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; } }
.m-people--wide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 600px) { .m-people--wide { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.m-person { min-width: 0; }
.m-person a { display: block; color: var(--ink); }
.m-person a:hover { text-decoration: none; }
.m-person__ph {
  display: block; position: relative; aspect-ratio: 3 / 4; overflow: hidden;
  border-radius: var(--r-sm); background: var(--brand-tint);
}
.m-person__ph img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .2s; }
.m-person a:hover .m-person__ph img { transform: scale(1.03); }
.m-person__name { display: block; margin-top: 6px; font-weight: 600; font-size: .9375rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.m-person a:hover .m-person__name { color: var(--brand-strong); }
.m-person__meta { display: block; font-size: .8125rem; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.m-person__dot { position: absolute; right: 6px; bottom: 6px; width: 12px; height: 12px; border-radius: 50%; background: #2DB45D; border: 2px solid #fff; }

.m-sec-title { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 8px 0 12px; }
.m-sec-title h2 { margin: 0; }
.m-sec-title a { font-size: .9375rem; font-weight: 600; white-space: nowrap; }

/* ---------- mesaje, alerte ---------- */

.m-alert { border-radius: var(--r-sm); padding: 12px 14px; margin: 0 0 16px; border: 1px solid; }
.m-alert--err { background: var(--err-tint); border-color: #F1C2BF; color: #7A1A14; }
.m-alert--ok { background: var(--ok-tint); border-color: #BFE1CB; color: #164F2E; }
.m-alert--info { background: var(--brand-tint); border-color: var(--brand-line); color: var(--brand-deep); }
.m-alert--warn { background: var(--warn-tint); border-color: #F3D59E; color: #6B4300; }

.m-cookie {
  position: fixed; left: 12px; right: 12px; bottom: calc(12px + var(--tabbar)); z-index: 60;
  max-width: 560px; margin: 0 auto;
  background: var(--ink); color: #fff; border-radius: var(--r);
  padding: 12px 14px; display: flex; gap: 12px; align-items: center; font-size: .875rem;
  box-shadow: 0 6px 24px rgba(0,0,0,.2);
}
.m-cookie p { margin: 0; flex: 1; }
.m-cookie button { min-height: 36px; background: #fff; color: var(--ink); border-color: #fff; }
.m-cookie button:hover { background: var(--brand-tint); color: var(--ink); }

/* ---------- carduri de continut, tabele ---------- */

.m-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); padding: 16px; margin-bottom: 16px; }
@media (min-width: 900px) { .m-card { padding: 20px 24px; } }
.m-card > :last-child { margin-bottom: 0; }

.m-table { width: 100%; border-collapse: collapse; font-size: .9375rem; }
.m-table th { text-align: left; font-weight: 600; color: var(--muted); font-size: .8125rem; padding: 8px 10px; border-bottom: 1px solid var(--line); }
.m-table td { padding: 10px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.m-table tr:last-child td { border-bottom: 0; }
.m-table tr.m-unread td { font-weight: 700; background: #F7FBFE; }
@media (max-width: 640px) {
  .m-table--stack thead { display: none; }
  .m-table--stack tr { display: grid; grid-template-columns: auto 1fr; gap: 2px 12px; padding: 10px 0; border-bottom: 1px solid var(--line); }
  .m-table--stack td { border: 0; padding: 0; }
  .m-table--stack td[data-l]::before { content: attr(data-l) ": "; color: var(--muted); font-weight: 400; }
}

.m-dl { display: grid; grid-template-columns: minmax(110px, 38%) 1fr; gap: 8px 16px; margin: 0; }
.m-dl dt { color: var(--muted); }
.m-dl dd { margin: 0; font-weight: 500; overflow-wrap: anywhere; }

.m-pager { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 16px 0; }
.m-pager a, .m-pager span { min-width: 40px; min-height: 40px; padding: 0 10px; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--r-sm); border: 1px solid var(--line); background: var(--surface); }
.m-pager span[aria-current] { background: var(--brand-strong); border-color: var(--brand-strong); color: #fff; font-weight: 700; }

.m-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--line); margin-bottom: 16px; overflow-x: auto; }
.m-tabs a { padding: 10px 14px; font-weight: 600; color: var(--muted); border-bottom: 3px solid transparent; margin-bottom: -1px; white-space: nowrap; }
.m-tabs a[aria-current="page"] { color: var(--brand-strong); border-bottom-color: var(--brand); }

/* ---------- prima pagina (vizitatori) ---------- */

.m-hero {
  position: relative;
  border-radius: var(--r-lg);
  background: var(--surface);
  border: 1px solid var(--line);
  overflow: hidden;
  margin-bottom: 24px;
}
.m-hero__in { position: relative; z-index: 1; padding: 22px 18px; display: grid; gap: 20px; }
.m-hero h1 { font-size: 1.75rem; margin-bottom: .35em; }
.m-hero__lead { color: var(--muted); max-width: 46ch; margin-bottom: 0; }
.m-hero__photo { display: none; }
@media (min-width: 760px) {
  .m-hero__in { grid-template-columns: minmax(0, 1fr) minmax(280px, 340px); align-items: center; padding: 32px; }
  .m-hero h1 { font-size: 2.25rem; }
  /* fata zambitoare din designul vechi ramane, dar estompata spre stanga */
  .m-hero__photo {
    display: block; position: absolute; inset: 0 0 0 auto; width: 62%;
    background: url(/images/woman_bg.jpg) no-repeat right top / cover;
    opacity: .65;
    -webkit-mask-image: linear-gradient(to right, transparent, #000 60%);
            mask-image: linear-gradient(to right, transparent, #000 60%);
  }
}
.m-login { background: rgba(255,255,255,.96); border: 1px solid var(--line); border-radius: var(--r); padding: 18px; box-shadow: 0 8px 28px rgba(29,79,122,.10); }
.m-login h2 { font-size: 1.125rem; margin-bottom: 12px; }
.m-login__links { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; font-size: .9375rem; margin-top: 4px; }

.m-online-line { margin: 8px 0 0; color: var(--muted); font-size: .9375rem; }

/* ---------- subsol ---------- */

.m-footer { border-top: 1px solid var(--line); background: var(--surface); margin-top: 24px; }
.m-footer__in { max-width: var(--shell); margin: 0 auto; padding: 18px 16px; display: flex; flex-wrap: wrap; gap: 8px 20px; align-items: center; font-size: .875rem; color: var(--muted); }
.m-footer__in nav { display: flex; flex-wrap: wrap; gap: 6px 16px; }
.m-footer__in nav a { color: var(--muted); }
.m-footer__copy { margin-left: auto; }
.m-kw { max-width: var(--shell); margin: 0 auto; padding: 0 16px 20px; display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: .8125rem; }
.m-kw a { color: var(--muted); }

/* ---------- continut vechi (template-uri nerescrise, HTML generat in cod) ----------
   Tabelele de layout vechi au latimi fixe (990, 770...). Le facem fluide si
   le dam tipografia noua, ca paginile nerescrise sa ramana utilizabile. */

.m-main table, .m-page table { max-width: 100%; }
.m-main table[width], .m-page table[width] { width: 100% !important; }
.m-main td, .m-main th, .m-page td { font-family: var(--font); font-size: inherit; color: inherit; }
.m-main td[width], .m-page td[width] { width: auto; }
.m-main font[size="1"], .m-main .s, .m-main .mn { font-size: .8125rem; }
.m-main font[face] { font-family: inherit; }
.m-main .b { font-weight: 700; }
.m-main .red { color: var(--err); }
.m-main .w, .m-main .ptext { color: var(--brand-strong); }
.m-main .bw { color: #fff; }
.m-main .trs, .m-main .trtc { background: var(--brand-tint); }
.m-main .trth { background: #F0F8F3; }
.m-main a.w, .m-main a.m, .m-main a.n { font-size: inherit; font-family: inherit; }
.m-main hr { border: 0; border-top: 1px solid var(--line); margin: 16px 0; }
.m-main td[bgcolor="#3F89C3"], .m-main table[bgcolor="#3F89C3"] { background: var(--line) !important; }

@media (max-width: 700px) {
  /* tabelele de layout se aseaza pe verticala; tabelele de date (.m-keep) nu */
  .m-main .m-legacy table:not(.m-keep), .m-main .m-legacy tbody, .m-main .m-legacy tr, .m-main .m-legacy td {
    display: block; width: auto !important; height: auto !important;
  }
}

/* banda cu profile din antet ($_SESSION["neplatitori"], HTML generat in index.php) */
.m-strip table { width: auto !important; background: transparent !important; }
.m-strip td { font-size: .75rem; padding: 0 4px; text-align: center; }
.m-strip img { border-radius: 4px; }

/* ---------- miscare redusa ---------- */
@media (prefers-reduced-motion: reduce) {
  .m3x *, .m3x *::before, .m3x *::after { transition: none !important; animation: none !important; }
}
.m-panel .m-label { font-weight: 500; color: var(--muted); }

.m-promo__card { display: grid; grid-template-columns: 84px 1fr; gap: 12px; align-items: start; color: var(--ink); }
.m-promo__card:hover { text-decoration: none; }
.m-promo__card img { width: 84px; aspect-ratio: 3 / 4; object-fit: cover; border-radius: var(--r-sm); }
.m-promo__card b { display: block; color: var(--brand-strong); }
.m-promo__card span span { display: block; margin-top: 2px; }
/* ---------- grupul "cont": zona de membri, profilul meu, contul, inscrierea ----------
   Mobile-first; desktop de la 900px. Foloseste tokenii din m3x.css. */

/* formulare de autentificare / inscriere: o coloana ingusta */
.m-auth { max-width: 520px; }
.m-auth--wide { max-width: 640px; }
.m-auth > .m-card { margin-bottom: 16px; }
.m-auth .m-login { box-shadow: none; }

.m-or { display: flex; align-items: center; gap: 10px; margin: 0; color: var(--muted); font-size: .875rem; }
.m-or::before, .m-or::after { content: ""; flex: 1; border-top: 1px solid var(--line); }

.m-check--terms { align-items: flex-start; gap: 8px; line-height: 1.4; }
.m-check--terms input { flex: none; margin-top: 1px; }

/* pagini de confirmare (email trimis, profil completat) */
.m-done { border-top: 4px solid var(--ok); }
.m-done h1 { font-size: 1.375rem; }

/* erori de formular (form_errors) */
.m-errors__t { margin: 0 0 6px; }
.m-errors__list { line-height: 1.6; }

/* ---------- formularele de profil ---------- */

.m-pform__head { margin-bottom: 16px; }
.m-pform__title { display: flex; flex-direction: column; gap: 2px; margin-bottom: 4px; }
.m-pform__title .m-small { font-weight: 600; }

.m-steps { list-style: none; margin: 14px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; counter-reset: none; }
.m-steps li { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-width: 0; padding-top: 8px; border-top: 4px solid var(--line); color: var(--muted); font-size: .8125rem; }
.m-steps__n { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: var(--line); color: var(--ink); font-weight: 700; font-size: .8125rem; }
.m-steps__t { display: none; }
.m-steps .m-steps__done { border-top-color: var(--brand); }
.m-steps .m-steps__done .m-steps__n { background: var(--brand-tint); color: var(--brand-deep); }
.m-steps .m-steps__cur { border-top-color: var(--accent-bright); color: var(--ink); font-weight: 600; }
.m-steps .m-steps__cur .m-steps__n { background: var(--accent); color: #fff; }
.m-steps .m-steps__cur .m-steps__t { display: block; }

.m-fgrid { display: grid; gap: 14px; }
.m-fhead { margin: 10px 0 0; padding-top: 14px; border-top: 1px solid var(--line); }
.m-fhead:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.m-fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.m-fieldset > legend { padding: 0; margin-bottom: 8px; }
.m-field > label > .m-muted { font-weight: 400; }

.m-row--dob { display: grid; grid-template-columns: 1fr 1.6fr 1.2fr; gap: 8px; }
.m-row--dob label, .m-row--lang label { min-width: 0; }
.m-row--dob select, .m-row--lang select { width: 100%; }
.m-row--lang { display: grid; grid-template-columns: 1.3fr 1fr; gap: 8px; margin-bottom: 8px; }
.m-row--age-txt { grid-template-columns: 1fr auto 1fr auto; }
.m-row--age-txt label { min-width: 0; }
.m-row--age-txt select { width: 100%; }

/* casutele (tip relatie, interese): fiecare cu eticheta, zona de atins mare */
.m-checks { display: grid; grid-template-columns: 1fr; gap: 6px; }
.m-check--box {
	min-height: 44px; padding: 8px 10px; gap: 8px;
	border: 1px solid var(--line); border-radius: var(--r-sm); background: var(--surface);
	cursor: pointer; line-height: 1.3;
}
.m-check--box:hover { border-color: var(--brand); }
.m-check--box input { flex: none; margin: 0; }
.m-check--box:has(input:checked) { border-color: var(--brand); background: var(--brand-tint); }

.m-actions--form { padding-top: 14px; border-top: 1px solid var(--line); }
.m-actions--form input[type=submit] { flex: 1 1 auto; }
.m-actions--form .m-btn--ghost { flex: 1 1 auto; }

@media (min-width: 600px) {
	.m-checks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.m-steps__t { display: block; }
	.m-pform__title { flex-direction: row; align-items: baseline; gap: 10px; }
}
@media (min-width: 900px) {
	.m-fgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 20px; }
	.m-checks { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.m-actions--form { flex-direction: row-reverse; justify-content: flex-end; }
	.m-actions--form input[type=submit], .m-actions--form .m-btn--ghost { flex: 0 0 auto; }
	.m-langs { max-width: 520px; }
}

/* ---------- profilul meu / acasa ---------- */

.m-me__who { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.m-me__ph { width: 72px; height: 72px; flex: none; object-fit: cover; border-radius: 50%; background: var(--brand-tint); border: 2px solid var(--surface); box-shadow: 0 0 0 1px var(--line); }
.m-me__name { margin: 0; font-size: 1.125rem; font-weight: 700; color: var(--brand-deep); }
.m-me__who .m-muted { margin: 0; }
.m-me__status { margin-bottom: 8px; }

.m-home__hi { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.m-home__hi h1 { margin-bottom: .15em; overflow-wrap: anywhere; }
.m-home__hi p { margin: 0; }
.m-home__todo { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.m-home__todo p { margin: 0; flex: 1 1 260px; }

.m-kpis { list-style: none; margin: 0 0 24px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.m-kpi {
	display: flex; flex-direction: column; align-items: flex-start; gap: 2px; height: 100%;
	padding: 12px; border: 1px solid var(--line); border-radius: var(--r); background: var(--surface);
	color: var(--ink);
}
.m3x a.m-kpi { color: var(--ink); }
.m-kpi:hover { border-color: var(--brand); text-decoration: none; }
.m-kpi svg { width: 22px; height: 22px; color: var(--brand-strong); margin-bottom: 4px; }
.m-kpi b { font-size: 1.375rem; line-height: 1.1; color: var(--brand-deep); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.m-kpi span { font-size: .8125rem; color: var(--muted); line-height: 1.3; }
.m-kpi--hot { border-color: var(--accent-bright); background: var(--warn-tint); }
.m-kpi--hot b, .m-kpi--hot svg { color: var(--accent); }

.m-tiles { list-style: none; margin: 0 0 24px; padding: 0; display: grid; grid-template-columns: 1fr; gap: 8px; }
.m-tile {
	display: grid; grid-template-columns: 24px 1fr; gap: 2px 12px; align-items: center;
	min-height: 56px; padding: 12px 14px;
	border: 1px solid var(--line); border-radius: var(--r); background: var(--surface);
}
.m3x a.m-tile { color: var(--ink); }
.m-tile:hover { border-color: var(--brand); text-decoration: none; background: #FAFCFE; }
.m-tile svg { grid-row: 1 / span 2; width: 24px; height: 24px; color: var(--brand-strong); }
.m-tile b { color: var(--brand-deep); }
.m-tile span { grid-column: 2; font-size: .875rem; color: var(--muted); line-height: 1.35; }
.m-tile--main { border-color: var(--brand); border-left-width: 4px; }

@media (min-width: 600px) {
	.m-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
	.m-kpi { padding: 14px 16px; }
	.m-kpi b { font-size: 1.625rem; }
}
@media (min-width: 1100px) {
	.m-home .m-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* stergerea contului: ascunsa intr-un <details>, ca sa nu fie apasata din greseala */
.m-danger { margin-top: 8px; border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); padding: 0 16px; }
.m-danger summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; color: var(--err); font-weight: 600; }
.m-danger[open] { padding-bottom: 16px; border-color: #F1C2BF; }
.m3x .m-btn--danger { background: var(--err); border-color: var(--err); color: #fff; }
.m3x .m-btn--danger:hover { background: #8E1D17; border-color: #8E1D17; }

/* ---------- intimitate: optiuni cu eticheta mare ---------- */

.m-switch { display: flex; align-items: flex-start; gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--line); cursor: pointer; line-height: 1.4; }
.m-switch input { flex: none; margin: 1px 0 0; }

/* ---------- pozele mele ---------- */

.m-photos { list-style: none; margin: 0 0 24px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 600px) { .m-photos { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .m-photos { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.m-photo { min-width: 0; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); overflow: hidden; }
.m-photo__ph { position: relative; display: block; aspect-ratio: 3 / 4; background: var(--brand-tint); }
.m-photo__ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.m-photo__tag { position: absolute; left: 6px; top: 6px; padding: 2px 8px; border-radius: 999px; background: rgba(30,42,54,.8); color: #fff; font-size: .75rem; font-weight: 600; }
.m-photo__tag--main { background: var(--brand-strong); }
.m-photo__acts { display: flex; flex-direction: column; align-items: stretch; gap: 6px; padding: 10px; font-size: .875rem; }
.m-photo__nud { display: flex; align-items: center; min-height: 36px; color: var(--err); }
.m3x a.m-photo__nud { color: var(--err); }

.m-upload input[type=file] { width: 100%; background: var(--brand-tint); border-style: dashed; }

/* ---------- email platit prin SMS ---------- */

.m-email__head { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.m-email__head h1 { margin: 0; overflow-wrap: anywhere; }

/* ===== cautare ===== */
/* ---------- grupul "cautare": cautare, rezultate, trecere in revista,
   cine e online, top, vot, potrivire de caracter ---------- */

/* --- formularul de cautare --- */
.m-search-jump { margin-bottom: 16px; }
.m-search-pair { display: grid; gap: 14px; }
.m-search-inline { display: flex; gap: 8px; }
.m-search-inline input[type=text] { flex: 1 1 auto; min-width: 0; width: auto; }
.m-search-inline input[type=submit] { flex: none; }

.m-search-grid { display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr); }
.m-search-fs { padding-top: 14px; border-top: 1px solid var(--line); }
.m-search-fs:first-child { padding-top: 0; border-top: 0; }
.m-search-fs > legend { font-weight: 700; color: var(--brand-deep); float: left; width: 100%; margin-bottom: 10px; }
.m-search-fs > legend + * { clear: both; }
.m-search-multi { margin: 10px 0 0; }
.m3x .m-search-grid select[multiple] { min-height: 96px; padding-right: 11px; background-image: none; }

/* butonul de cautare ramane la vedere pe telefon, la capatul formularului lung */
.m-search-submit {
  position: sticky; bottom: calc(var(--tabbar) + 8px); z-index: 5;
  background: var(--surface); padding: 8px 0; margin-bottom: -8px;
}
.m-search-submit input[type=submit] { width: 100%; }

@media (min-width: 600px) {
  .m-search-pair { grid-template-columns: 1fr 1fr; }
  .m-search-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
  .m-search-submit { position: static; padding: 0; margin-bottom: 0; }
  .m-search-submit input[type=submit] { width: auto; min-width: 180px; }
}
@media (min-width: 1100px) {
  .m-search-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* --- firul de navigare (trecere in revista) --- */
.m-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; margin: 0 0 16px; font-size: .9375rem; }
.m-crumbs > * { display: inline-flex; align-items: center; min-height: 32px; }
.m-crumbs > * + *::before { content: "›"; color: var(--accent-bright); font-weight: 700; margin: 0 8px; }
.m-crumbs span { color: var(--muted); }

/* --- trecere in revista: liste de alegere --- */
.m-browse-cols { display: grid; gap: 16px; }
@media (min-width: 700px) { .m-browse-cols { grid-template-columns: 1fr 1fr; } }
.m-browse-f { color: var(--rose); }
.m-browse-b { color: var(--brand-strong); }
.m-browse-list { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 6px; }
.m-browse-list a {
  display: flex; align-items: center; min-height: 44px; padding: 8px 12px;
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-sm);
  color: var(--ink); font-weight: 500;
}
.m-browse-list a::after { content: "›"; margin-left: auto; padding-left: 10px; color: var(--accent-bright); font-weight: 700; }
.m-browse-list a:hover { border-color: var(--brand); color: var(--brand-strong); text-decoration: none; }
.m-browse-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }

/* --- cine e online: randuri vechi (din fisierul generat) intr-un tabel nou --- */
.m-online { margin-bottom: 16px; }
.m-online .m-table td { vertical-align: middle; }
.m-online img { border-radius: var(--r-sm); max-width: 72px; height: auto; }
@media (max-width: 700px) {
  .m-online .m-table thead { display: none; }
  .m-main .m-online .m-table, .m-main .m-online tbody { display: block; width: auto !important; }
  .m-main .m-online tr {
    display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px;
    padding: 10px 0; border-bottom: 1px solid var(--line); background: none !important;
  }
  .m-main .m-online td { display: block; width: auto !important; padding: 0; border: 0; }
  .m-main .m-online td:empty { display: none; }
}

/* --- top femei / barbati (HTML generat in afara site-ului) --- */
.m-top img { border-radius: var(--r-sm); }

/* --- vot --- */
.m-vote { display: grid; gap: 16px; margin-bottom: 24px; }
.m-vote__photo { margin: 0; text-align: center; }
.m-vote__photo > a:first-child { position: relative; display: inline-block; max-width: 100%; }
.m-vote__photo img { display: block; width: 100%; max-width: 420px; max-height: 70vh; object-fit: contain; border-radius: var(--r); background: var(--brand-tint); }
.m-vote__photo figcaption { margin-top: 8px; font-size: 1.125rem; font-weight: 700; }
.m-vote__priv {
  position: absolute; left: 8px; top: 8px; padding: 2px 8px; border-radius: 999px;
  background: rgba(30,42,54,.75); color: #fff; font-size: .8125rem; font-weight: 600;
}
.m-vote__admin { margin-top: 8px; }
.m-vote__side { display: grid; gap: 12px; align-content: start; }
.m-vote__form { margin-bottom: 0; }
.m-vote__note > legend { font-weight: 600; margin-bottom: 8px; }
.m-vote__scale { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.m-vote__scale label { position: relative; display: block; }
.m-vote__scale input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.m-vote__scale span {
  display: flex; align-items: center; justify-content: center; min-height: 44px;
  border: 1px solid var(--brand-line); border-radius: var(--r-sm); background: var(--surface);
  font-weight: 700; color: var(--brand-strong); font-variant-numeric: tabular-nums;
}
.m-vote__scale label:hover span { border-color: var(--brand); background: var(--brand-tint); }
.m-vote__scale input:focus-visible + span { outline: 3px solid rgba(63,137,195,.55); outline-offset: 2px; }
.m-vote__scale input:checked + span { background: var(--accent); border-color: var(--accent); color: #fff; }
.m-vote__note .m-field__hint { margin: 8px 0 0; }
.m3x .m-vote__side .m-btn svg { width: 18px; height: 18px; }
.m-vote__side .m-btn { white-space: normal; text-align: center; padding-top: 8px; padding-bottom: 8px; }

.m-vote__thumbs { list-style: none; margin: 0 0 24px; padding: 0; display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); }
.m-vote__thumbs li { min-width: 0; text-align: center; font-size: .8125rem; color: var(--muted); }
.m-vote__thumbs img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--r-sm); background: var(--brand-tint); margin-bottom: 4px; }
.m-vote__thumbs a { display: block; }
.m-vote-login { max-width: 420px; }

@media (min-width: 600px) { .m-vote__scale { grid-template-columns: repeat(10, minmax(0, 1fr)); } }
@media (min-width: 900px) {
  .m-vote { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: start; }
  .m-vote__scale { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (min-width: 1100px) { .m-vote__scale { grid-template-columns: repeat(10, minmax(0, 1fr)); } }

/* --- potrivire de caracter --- */
.m-mf-state {
  display: inline-flex; align-items: center; padding: 2px 10px; border-radius: 999px;
  background: var(--line); color: var(--muted); font-size: .8125rem; font-weight: 700;
}
.m-mf-state--on { background: var(--ok-tint); color: var(--ok); }

/* --- scorul profilului --- */
.m-rank__nr { color: var(--accent); font-size: 1.25em; }

/* ===== mesaje ===== */
/* ---------- mesagerie si relatii intre membri (grupul "mesaje") ---------- */

/* antetul unei pagini: titlu + legatura/actiune in dreapta */
.m-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; margin-bottom: 12px; }
.m-head h1 { margin: 0; }
.m-head p { margin: 0; width: 100%; }

/* avatar rotund mic (inbox, liste) */
.m-av {
  flex: none; position: relative;
  width: 48px; height: 48px; border-radius: 50%; overflow: hidden;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--brand-tint); color: var(--brand-strong);
}
.m-av img { width: 100%; height: 100%; object-fit: cover; display: block; }
.m-av svg { width: 26px; height: 26px; }
.m-av--sm { width: 40px; height: 40px; }
.m-av--sm svg { width: 22px; height: 22px; }

/* ---------- inbox ---------- */

.m-inbox-bar {
  position: sticky; top: 0; z-index: 5;
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  background: var(--surface); border: 1px solid var(--line); border-bottom: 0;
  border-radius: var(--r) var(--r) 0 0; padding: 6px 8px 6px 4px;
}
.m-inbox-bar .m-check { min-height: 44px; padding: 0 8px; cursor: pointer; }
.m3x .m-inbox-bar .m-btn { min-height: 40px; }
.m-inbox-bar .m-btn[disabled] { opacity: .5; cursor: default; }

.m-inbox {
  list-style: none; margin: 0 0 16px; padding: 0;
  background: var(--surface); border: 1px solid var(--line); border-radius: 0 0 var(--r) var(--r);
}
.m-inbox--solo { border-radius: var(--r); }
.m-msg { display: flex; align-items: center; gap: 4px; border-top: 1px solid var(--line); position: relative; }
.m-inbox > .m-msg:first-child { border-top: 0; }
.m-msg.m-sel { background: var(--brand-tint); }

.m-msg__sel { flex: none; display: flex; align-items: center; justify-content: center; width: 44px; align-self: stretch; cursor: pointer; }
.m3x .m-msg__sel input { margin: 0; }
.m-msg > .m-av, .m-msg > a.m-av { margin: 10px 0; }
.m-msg__body { flex: 1; min-width: 0; display: block; padding: 12px 12px 12px 8px; color: var(--ink); }
.m3x a.m-msg__body { color: var(--ink); }
.m3x a.m-msg__body:hover { text-decoration: none; }
.m3x a.m-msg__body:hover .m-msg__subj { color: var(--brand-strong); }
.m-msg__top { display: flex; align-items: baseline; gap: 8px; }
.m-msg__from { flex: 1; min-width: 0; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.m-msg__date { flex: none; font-size: .8125rem; color: var(--muted); font-variant-numeric: tabular-nums; }
.m-msg__subj { display: block; color: var(--muted); font-size: .9375rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.m-msg__gone { font-size: .8125rem; font-weight: 400; color: var(--muted); font-style: italic; }

/* necitit: fundal usor, text bold, punct albastru */
.m-msg--unread { background: #F7FBFE; }
.m-msg--unread .m-msg__from, .m-msg--unread .m-msg__subj { font-weight: 700; color: var(--ink); }
.m-msg--unread .m-msg__date { color: var(--brand-strong); font-weight: 700; }
.m-msg--unread .m-msg__from::before {
  content: ""; display: inline-block; width: 9px; height: 9px; border-radius: 50%;
  background: var(--brand); margin-right: 6px; vertical-align: 1px;
}

.m-empty { text-align: center; padding: 32px 16px; }
.m-empty svg { width: 44px; height: 44px; color: var(--brand); margin-bottom: 8px; }
.m-empty p { color: var(--muted); }

/* ---------- citire mesaj ---------- */

.m-read__head { display: flex; align-items: center; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--line); margin-bottom: 14px; }
.m-read__who { flex: 1; min-width: 0; }
.m-read__who b { display: block; font-size: 1.0625rem; overflow-wrap: anywhere; }
.m-read__subj { margin: 0 0 12px; font-size: 1.125rem; overflow-wrap: anywhere; }
.m-read__text { font-size: 1rem; line-height: 1.6; overflow-wrap: anywhere; white-space: normal; margin-bottom: 18px; }
.m-read__text img { vertical-align: middle; }
.m-read__more { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 14px; font-size: .875rem; }
.m3x .m-read__more a { color: var(--muted); }
.m3x .m-read__more a.m-danger { color: var(--err); }

/* ---------- formular de mesaj ---------- */

.m-to { display: flex; align-items: center; gap: 10px; font-weight: 600; }
.m3x .m-compose textarea { min-height: 220px; }
.m-emo { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.m3x .m-emo button {
  min-height: 40px; min-width: 40px; padding: 0 8px;
  background: var(--surface); border-color: var(--line);
}
.m3x .m-emo button:hover { background: var(--brand-tint); border-color: var(--brand); }
.m-emo img { width: 18px; height: 18px; }
@media (max-width: 899px) {
  .m-compose .m-actions .m-btn--accent, .m-compose .m-actions input[type=submit] { width: 100%; }
}

/* ---------- liste de persoane (agenda, favoriti, blocati) ---------- */

.m-ulist { list-style: none; margin: 0 0 16px; padding: 0; background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); }
.m-ulist li { display: flex; align-items: center; gap: 12px; padding: 8px 8px 8px 12px; border-top: 1px solid var(--line); }
.m-ulist li:first-child { border-top: 0; }
.m-ulist__who { flex: 1; min-width: 0; }
.m-ulist__who a { font-weight: 600; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.m-ulist__who span { display: block; font-size: .8125rem; color: var(--muted); }
.m-ulist__act { flex: none; display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }

/* prieteni: cardul de persoana cu actiuni dedesubt */
.m-person__acts { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.m-person__acts .m-btn { flex: 1 1 auto; }
.m-person__st { display: block; font-size: .8125rem; margin-top: 2px; }
.m-person__st--ok { color: var(--ok); }
.m-person__st--wait { color: #8A5A00; }
.m-person__ph--priv { display: flex; align-items: center; justify-content: center; color: var(--brand-strong); font-size: .8125rem; font-weight: 600; flex-direction: column; gap: 4px; }
.m-person__ph--priv svg { width: 28px; height: 28px; }

/* ---------- text lung (politica de confidentialitate) ---------- */

.m-prose { max-width: 72ch; }
.m-prose h2 { margin-top: 1.4em; font-size: 1.125rem; }
.m-prose ul { padding-left: 1.2em; margin: 0 0 1em; }
.m-prose li { margin-bottom: .3em; }

/* ---------- popup-ul de chat privat (im.php, ~420px) ---------- */

body.m-im { background: var(--surface); padding: 0; }
.m-im__wrap { padding: 12px; display: flex; flex-direction: column; gap: 10px; min-height: 100vh; }
.m-im__who { display: flex; align-items: center; gap: 12px; }
.m-im__who b { display: block; font-size: 1.0625rem; }
.m-im__who span { font-size: .875rem; color: var(--muted); }
.m-im__log { width: 100%; height: 220px; border: 1px solid var(--line); border-radius: var(--r-sm); background: var(--bg); display: block; }
.m-im__form { display: grid; gap: 8px; }
.m3x .m-im__form textarea { min-height: 88px; }
.m-im__form .m-emo { margin-top: 0; }

/* continutul iframe-ului (im_show2.php) */
body.m-imlog { background: var(--bg); padding: 8px 10px; font-size: .9375rem; line-height: 1.45; overflow-wrap: anywhere; }
body.m-imlog b { color: var(--brand-deep); }
body.m-imlog img { vertical-align: middle; }

.m-im__note { padding: 24px 16px; text-align: center; }

/* ===== statice ===== */
/* ---------- pagini statice: profilul (/profile/N.html), /prieteni, /revista ---------- */

/* bannerul keywords de deasupra profilului */
.m-kwban { margin-bottom: 16px; font-size: .875rem; }

/* --- profilul --- */
.m-prof h1 { margin-bottom: 4px; overflow-wrap: anywhere; }
.m-prof__top { display: grid; gap: 18px; }
.m-prof__gal { min-width: 0; }
.m-prof__ph {
  display: block; aspect-ratio: 3 / 4; max-width: 420px; margin: 0 auto;
  border-radius: var(--r); overflow: hidden; background: var(--brand-tint);
}
/* poza intreaga (contain), nu decupata: e poza principala a profilului */
.m-prof__ph img { width: 100%; height: 100%; object-fit: contain; display: block; }
.m-prof__galnav { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 10px; font-variant-numeric: tabular-nums; }
.m3x .m-prof__galnav .m-btn { min-width: 44px; min-height: 44px; padding: 0; font-size: 1.5rem; line-height: 1; }
.m-prof__nrpoze { text-align: center; margin: 8px 0 0; }

.m-prof__info { min-width: 0; }
.m-prof__meta { margin: 0 0 4px; font-size: 1.0625rem; }
.m-prof__meta.m-muted { font-size: .9375rem; }
.m-prof__activ { margin: 10px 0 0; color: var(--muted); }
.m-prof__online { display: inline-flex; align-items: center; gap: 6px; color: var(--ok); font-weight: 700; }
.m-prof__online::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: #2DB45D; }

.m-prof__contact { margin-top: 16px; }
.m-prof__contact .m-btn { flex: 1 1 auto; }
.m-prof__more { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 18px; }
.m-prof__more a { display: inline-flex; align-items: center; min-height: 44px; }
.m3x .m-prof__report { color: var(--err); }

.m-prof__cols { display: grid; gap: 0; }
.m3x .m-prof__sub { margin: 18px 0 10px; }
.m-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.m-chips li { background: var(--brand-tint); color: var(--brand-deep); border-radius: 999px; padding: 4px 12px; font-size: .875rem; }

.m-prof__desc p { white-space: pre-line; overflow-wrap: anywhere; }

.m-prof__people { margin-bottom: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 600px) { .m-prof__people { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.m-comments { list-style: none; margin: 0 0 16px; padding: 0; }
.m-comment { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.m-comment:first-child { padding-top: 0; }
.m-comment__ph img { width: 48px; height: 48px; object-fit: cover; border-radius: 50%; background: var(--brand-tint); }
.m-comment__who { font-weight: 600; }
.m-comment p { margin: 2px 0 0; overflow-wrap: anywhere; }

.m-prof__addc summary { list-style: none; }
.m-prof__addc summary::-webkit-details-marker { display: none; }
.m-prof__addc[open] summary { margin-bottom: 14px; }
.m-prof__frame { position: absolute; width: 1px; height: 1px; border: 0; overflow: hidden; clip: rect(0 0 0 0); }

@media (min-width: 760px) {
  .m-prof__top { grid-template-columns: minmax(220px, 300px) minmax(0, 1fr); align-items: start; gap: 24px; }
  .m-prof__ph { max-width: none; }
  .m-prof__contact .m-btn { flex: 0 0 auto; }
}
@media (min-width: 1100px) {
  .m-prof__cols { grid-template-columns: 1fr 1fr; gap: 0 16px; align-items: start; }
}

/* --- HTML vechi din paginile statice (in .m-legacy) --- */
.m-static--revista td.title, .m-static--prieteni td.title { padding: 0 0 4px; }
.m-static--revista td.title font { font-size: 1.5rem; color: var(--brand-deep); }
.m-static--revista h3 { margin: 4px 0; }
.m-static--revista hr { margin: 12px 0; }
/* listele de categorii/judete: linkuri cu zona de atins mare */
.m-static--revista td > a, .m-static--revista td > b > a { display: inline-flex; align-items: center; min-height: 40px; }
/* cardurile de profil (randuri alternate trs/trtc) */
.m-static--revista tr[height] > td { border-radius: var(--r-sm); padding: 8px; }
.m-static--revista tr[height] td td { background: transparent; }
.m-static--revista img { border-radius: var(--r-sm); }
.m-static--prieteni img { border-radius: var(--r-sm); }
.m-static--prieteni td[align=center] { padding: 8px 4px; }

@media (max-width: 700px) {
  /* poza din cardurile de profil ale revistei: sub text, aliniata la stanga */
  .m-static--revista td[align=right] { text-align: left; }
  .m-static--prieteni td[align=center] { text-align: left; }
}

/* ===== diverse ===== */
/* ---------- diverse: plati, pagini informative, afiliere, chat ----------
   Grupul "diverse" (billing*, informatii_plata, parola_epayment, promovare_profil,
   tombola, promotie, afiliati, faq, termeni, chat, pagini de sine statatoare). */

/* titlul paginii cu un rand de context sub el */
.m-lead { color: var(--muted); max-width: 62ch; }

/* ---------- pachete de plata ---------- */

.m-benefits { margin: 0 0 18px; }
.m-benefits li { padding-top: 6px; padding-bottom: 6px; }
.m-benefits .m-explain { font-size: .8125rem; margin-left: 4px; white-space: nowrap; }

.m-plans { display: grid; gap: 16px; margin: 0 0 16px; }
@media (min-width: 760px) { .m-plans { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; } }

.m-plan {
  display: flex; flex-direction: column; gap: 12px;
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--r);
  padding: 16px; margin: 0;
}
.m-plan h2 { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 1.125rem; }
.m-plan h2 svg { width: 22px; height: 22px; flex: none; color: var(--brand); }
.m-plan__note { margin: -6px 0 0; font-size: .875rem; color: var(--muted); }
.m-plan__logos { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.m-plan__logos img { height: 28px; width: auto; }
.m-plan__foot { margin-top: auto; display: grid; gap: 8px; }
.m-plan__foot .m-small { margin: 0; }

/* o optiune (radio) din pachet */
.m-opt {
  position: relative;
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 4px 12px; align-items: start;
  border: 2px solid var(--line); border-radius: var(--r-sm);
  padding: 12px; cursor: pointer; background: var(--surface);
}
.m-opt + .m-opt { margin-top: 8px; }
.m-opt:hover { border-color: var(--brand-line); }
.m-opt input[type=radio] { margin: 2px 0 0; }
.m-opt__name { display: block; font-weight: 700; color: var(--ink); }
.m-opt__desc { display: block; font-size: .875rem; color: var(--muted); margin-top: 2px; }
.m-opt__net { display: block; font-size: .8125rem; color: var(--brand-strong); margin-top: 4px; }
.m-opt__price { text-align: right; white-space: nowrap; }
.m-opt__price b { display: block; font-size: 1.375rem; line-height: 1.1; color: var(--brand-deep); font-variant-numeric: tabular-nums; }
.m-opt__price span { display: block; font-size: .8125rem; color: var(--muted); }
.m-opt:has(input:checked) { border-color: var(--brand); background: var(--brand-tint); }
@media (max-width: 420px) {
  .m-opt { grid-template-columns: auto minmax(0, 1fr); }
  .m-opt__price { grid-column: 2; text-align: left; }
}

/* lista de beneficii dintr-o optiune */
.m-opt__list { margin: 6px 0 0; padding: 0; list-style: none; font-size: .875rem; color: var(--muted); }
.m-opt__list li { padding-left: 18px; position: relative; }
.m-opt__list li::before { content: ""; position: absolute; left: 2px; top: .55em; width: 8px; height: 5px; border: solid var(--ok); border-width: 0 0 2px 2px; transform: rotate(-45deg); }

/* confirmare comanda / tranzactie reusita */
.m-result { text-align: center; padding: 28px 16px; }
.m-result__icon {
  width: 56px; height: 56px; margin: 0 auto 12px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: var(--ok-tint); color: var(--ok);
}
.m-result__icon svg { width: 28px; height: 28px; }
.m-result--err .m-result__icon { background: var(--err-tint); color: var(--err); }
.m-result h1, .m-result h2 { margin-bottom: .35em; }
.m-result .m-actions { justify-content: center; margin-top: 16px; }

/* instructiuni pas cu pas (SMS, parola) */
.m-howto { counter-reset: m-step; list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 12px; }
.m-howto > li { position: relative; padding-left: 40px; min-height: 28px; }
.m-howto > li::before {
  counter-increment: m-step; content: counter(m-step);
  position: absolute; left: 0; top: 0;
  width: 28px; height: 28px; border-radius: 50%;
  background: var(--brand-strong); color: #fff; font-weight: 700; font-size: .875rem;
  display: flex; align-items: center; justify-content: center;
}
.m-sms { font-size: 1.125rem; }
.m-sms b { color: var(--accent); }
.m-code-in { display: flex; gap: 10px; flex-wrap: wrap; align-items: flex-end; }
.m-code-in .m-field { flex: 1 1 200px; }

/* alegerea pozei (promovare profil, tombola) */
.m-pick { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (min-width: 600px) { .m-pick { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.m-pick label { display: block; border: 2px solid var(--line); border-radius: var(--r-sm); padding: 6px; text-align: center; cursor: pointer; background: var(--surface); }
.m-pick img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 4px; margin-bottom: 6px; }
.m-pick label:has(input:checked) { border-color: var(--brand); background: var(--brand-tint); }

/* ---------- text lung: regulament, ajutor, afiliere ---------- */

.m-prose { max-width: 72ch; }
.m-prose h2 { font-size: 1.125rem; margin: 1.5em 0 .5em; }
.m-prose h2:first-child { margin-top: 0; }
.m-prose ul:not(.m-list) { padding-left: 1.25em; margin: 0 0 1em; }
.m-prose li { margin-bottom: .35em; }
.m-prose p, .m-prose li { overflow-wrap: anywhere; }
.m-prose .m-list { margin-bottom: 1em; }

.m-faq { display: grid; gap: 8px; }
.m-faq details { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-sm); }
.m-faq summary {
  list-style: none; cursor: pointer; padding: 12px 40px 12px 14px; min-height: 44px;
  font-weight: 600; color: var(--brand-deep); position: relative;
}
.m-faq summary::-webkit-details-marker { display: none; }
.m-faq summary::after {
  content: ""; position: absolute; right: 16px; top: 50%; width: 8px; height: 8px; margin-top: -6px;
  border: solid var(--brand-strong); border-width: 0 2px 2px 0; transform: rotate(45deg); transition: transform .15s;
}
.m-faq details[open] summary::after { transform: rotate(-135deg); margin-top: -2px; }
.m-faq__a { padding: 0 14px 14px; overflow-wrap: anywhere; }

/* ---------- afiliere ---------- */

.m-afkpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 0 16px; }
.m-afkpi { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-sm); padding: 12px; min-width: 0; }
.m-afkpi b { display: block; font-size: 1.375rem; color: var(--brand-deep); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.m-afkpi span { font-size: .8125rem; color: var(--muted); }
.m-copy { width: 100%; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important; font-size: .8125rem !important; }
.m3x textarea.m-copy { min-height: 96px; }
.m-banners { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.m-banners li { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-sm); padding: 12px; min-width: 0; }
.m-banners img { display: block; margin: 0 auto 10px; }
.m-date { display: grid; grid-template-columns: 1fr 1fr 1.3fr; gap: 8px; }
.m-date select { width: 100%; min-width: 0; }
.m-table td.m-num, .m-table th.m-num { text-align: right; font-variant-numeric: tabular-nums; }
.m-table tfoot td { font-weight: 700; border-top: 1px solid var(--line); border-bottom: 0; }
.m-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* ---------- chat ---------- */

body.m-chatpage { padding-bottom: 0; }
.m-chathead { background: var(--surface); border-bottom: 2px solid var(--brand); }
.m-chathead__in { max-width: var(--shell); margin: 0 auto; padding: 8px 16px; display: flex; align-items: center; gap: 12px; }
.m-chathead .m-logo svg { width: 40px; height: 34px; }
.m-chathead h1 { margin: 0; font-size: 1.25rem; }
.m-chathead__back { margin-left: auto; }

.m-chat { max-width: var(--shell); margin: 0 auto; padding: 12px 16px 16px; display: grid; gap: 12px; }
@media (min-width: 900px) {
  .m-chat { grid-template-columns: minmax(0, 1fr) 220px; padding-top: 16px; }
  .m-chat__notes, .m-chat__ad, .m-chat__foot { grid-column: 1 / -1; }
}
.m-chat__notes:empty, .m-chat__ad:empty { display: none; }
.m-chat__notes { font-size: .9375rem; }
.m-chat__notes table { width: auto !important; max-width: 100%; }
.m-chat__notes center { text-align: left; }
.m-chat__notes font { font-size: inherit; font-family: inherit; }
.m-chat__ad { text-align: center; overflow: hidden; }
.m-chat__ad > div { max-width: 100%; margin: 0 auto; }

.m-chat__log {
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--r);
  padding: 12px 14px; height: 52vh; min-height: 260px; overflow-y: auto;
  font-size: .9375rem; line-height: 1.5; overflow-wrap: anywhere;
}
@media (min-width: 900px) { .m-chat__log { height: 440px; } }
.m-chat__log font { font-size: inherit; font-family: inherit; }
.m-chat__log img { vertical-align: middle; }
.m-chat__log iframe { display: block; width: 100%; height: 100%; border: 0; }
.m-chat__log--frame { padding: 0; overflow: hidden; }

.m-chat__users {
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--r);
  padding: 12px 14px; font-size: .9375rem; max-height: 240px; overflow-y: auto;
}
.m-chat__users font { font-size: inherit; font-family: inherit; }
.m-chat__users a { display: inline-block; padding: 3px 0; }
@media (min-width: 900px) { .m-chat__users { max-height: none; grid-column: 2; grid-row: span 2; align-self: start; } }

.m-chat__form { display: grid; gap: 8px; }
.m-chat__form textarea { min-height: 72px; }
.m-chat__send { display: flex; gap: 10px; align-items: flex-start; flex-wrap: wrap; }
.m-chat__send textarea { flex: 1 1 260px; }
.m-chat__emo summary { cursor: pointer; color: var(--brand-strong); font-weight: 600; font-size: .9375rem; min-height: 36px; display: inline-flex; align-items: center; }
.m-emolist { display: flex; flex-wrap: wrap; gap: 4px; padding: 6px 0; }
.m3x .m-emobtn {
  min-height: 40px; min-width: 40px; padding: 4px;
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-sm); color: inherit;
}
.m3x .m-emobtn:hover { background: var(--brand-tint); border-color: var(--brand-line); }
.m3x .m-emobtn img { max-width: none; }
.m-chat__foot { font-size: .8125rem; color: var(--muted); }

/* documentul din iframe-ul de VIP chat */
body.m-chatframe { background: var(--surface); padding: 8px 10px; font-size: .9375rem; overflow-wrap: anywhere; }
body.m-chatframe font { font-size: inherit; font-family: inherit; }

/* ---------- pagini de sine statatoare (dezabonare, reamintire parola, poza) ---------- */

.m-solo { max-width: 560px; margin: 0 auto; padding: 24px 16px; }
.m-solo__logo { display: flex; justify-content: center; margin-bottom: 16px; }
.m-solo .m-card { text-align: center; }
.m-popphoto { max-width: var(--shell); margin: 0 auto; padding: 16px; text-align: center; }
.m-popphoto img { border-radius: var(--r-sm); max-height: 85vh; width: auto; }
.m-popphoto .m-actions { justify-content: center; margin-top: 12px; }

/* ---------- pagini de cuvinte cheie (/pagini/...) ---------- */

.m-kwpage .m-legacy table { width: 100% !important; background: transparent !important; border-collapse: collapse; }
.m-kwpage .m-legacy td { padding: 12px 10px; border-bottom: 1px solid var(--line); vertical-align: top; background: var(--surface) !important; }
.m-kwpage .m-legacy td:first-child { width: 120px; text-align: center; }
.m-kwpage .m-legacy img { border-radius: var(--r-sm); }
@media (max-width: 700px) {
  .m-kwpage .m-legacy td:first-child { width: auto; text-align: left; }
}

/* clasele de buton si pe input/button (input[type=submit] e mai specific decat .m-btn--x) */
.m3x input.m-btn--accent, .m3x button.m-btn--accent { background: var(--accent); border-color: var(--accent); color: #fff; }
.m3x input.m-btn--accent:hover, .m3x button.m-btn--accent:hover { background: #A84A09; border-color: #A84A09; }
.m3x input.m-btn--ghost, .m3x button.m-btn--ghost { background: transparent; color: var(--brand-strong); border-color: var(--brand-line); }
.m3x input.m-btn--ghost:hover, .m3x button.m-btn--ghost:hover { background: var(--brand-tint); color: var(--brand-deep); border-color: var(--brand); }
.m3x input.m-btn--sm, .m3x button.m-btn--sm { min-height: 36px; padding: 0 12px; font-size: .9375rem; }
.m3x input.m-btn--block, .m3x button.m-btn--block { display: flex; width: 100%; }

/* antetul vizitatorilor pe ecrane inguste: ramane doar "Inregistrare" (intrarea e in meniu) */
.m-logo { min-width: 0; }
@media (max-width: 459px) {
  .m-header__actions .m-btn--ghost { display: none; }
  .m-logo__word { font-size: 1.125rem; }
  .m-logo svg { width: 40px; height: 35px; }
}

/* ===== modalul pentru poze (nou/js/m3x.js) ===== */
.m-lb-open, .m-lb-open body { overflow: hidden; }
.m-lb {
  position: fixed; inset: 0; z-index: 1000;
  display: flex; align-items: center; justify-content: center;
  background: rgba(12, 24, 38, .95);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  padding: env(safe-area-inset-top) 0 env(safe-area-inset-bottom);
}
.m-lb[hidden] { display: none; }
.m-lb__fig { margin: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 56px 12px 40px; }
.m-lb__img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: var(--r-sm); box-shadow: 0 10px 40px rgba(0,0,0,.45); background: #1d2a38; }
.m-lb__cnt { margin-top: 10px; color: #dfe9f3; font-size: .875rem; font-variant-numeric: tabular-nums; min-height: 1.2em; }
.m3x .m-lb button {
  position: absolute; min-height: 0; padding: 0; border: 0; border-radius: 50%;
  width: 48px; height: 48px; font-size: 2rem; line-height: 1;
  background: rgba(255,255,255,.14); color: #fff;
}
.m3x .m-lb button:hover { background: rgba(255,255,255,.28); color: #fff; }
.m3x .m-lb button[hidden] { display: none; }
.m3x .m-lb .m-lb__x { top: calc(8px + env(safe-area-inset-top)); right: 8px; }
.m3x .m-lb .m-lb__prev { left: 8px; top: 50%; transform: translateY(-50%); }
.m3x .m-lb .m-lb__next { right: 8px; top: 50%; transform: translateY(-50%); }
@media (max-width: 599px) {
  /* pe telefon sagetile coboara sub poza, la indemana degetului */
  .m3x .m-lb .m-lb__prev, .m3x .m-lb .m-lb__next { top: auto; bottom: calc(8px + env(safe-area-inset-bottom)); transform: none; }
  .m-lb__fig { padding-bottom: 72px; }
}
@media (min-width: 900px) { .m-lb__fig { padding: 48px 80px; } }
.m-prof__ph, a[data-zoom] { cursor: zoom-in; }
.m-pager .m-pager__gap { border: 0; background: transparent; min-width: 20px; padding: 0 2px; color: var(--muted); }
@media (max-width: 599px) { .m-pager { gap: 4px; } .m-pager a, .m-pager span { min-width: 34px; padding: 0 6px; } .m-pager .m-pager__gap { min-width: 14px; padding: 0; } }
