:root {
  --g3-ink: #24152b;
  --g3-muted: #74687a;
  --g3-paper: #fffafc;
  --g3-card: #ffffff;
  --g3-line: #eadfe9;
  --g3-pink: #ef3d8f;
  --g3-pink-dark: #c51e70;
  --g3-purple: #8418a2;
  --g3-green: #17785c;
  --g3-shadow: 0 16px 44px rgba(70, 31, 73, .10);
  --g3-radius: 24px;
}

.g3-body,
.g3-admin-body {
  margin: 0;
  color: var(--g3-ink);
  background:
    radial-gradient(circle at 2% 4%, rgba(239, 61, 143, .08), transparent 24rem),
    radial-gradient(circle at 96% 18%, rgba(132, 24, 162, .07), transparent 28rem),
    var(--g3-paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.g3-body *,
.g3-admin-body * { box-sizing: border-box; }

.g3-body a,
.g3-admin-body a { color: inherit; }

.g3-body button,
.g3-body input,
.g3-body textarea,
.g3-body select,
.g3-admin-body button,
.g3-admin-body input,
.g3-admin-body textarea,
.g3-admin-body select { font: inherit; }

.g3-body button,
.g3-admin-body button { cursor: pointer; }

.g3-body :focus-visible,
.g3-admin-body :focus-visible {
  outline: 3px solid rgba(239, 61, 143, .42);
  outline-offset: 3px;
}

.g3-topbar {
  position: sticky;
  z-index: 50;
  top: 0;
  border-bottom: 1px solid rgba(234, 223, 233, .85);
  background: rgba(255, 250, 252, .92);
  backdrop-filter: blur(18px);
}

.g3-topbar .topbar-inner {
  display: flex;
  align-items: center;
  gap: 28px;
  min-height: 70px;
  max-width: 1180px;
  margin: 0 auto;
  padding: 10px 22px;
}

.g3-topbar .brand {
  display: inline-flex;
  flex-direction: column;
  text-decoration: none;
  line-height: 1;
}

.g3-topbar .brand span {
  font-size: 1.38rem;
  font-weight: 900;
  letter-spacing: .08em;
  color: var(--g3-purple);
}

.g3-topbar .brand small {
  margin-top: 5px;
  font-size: .58rem;
  font-weight: 800;
  letter-spacing: .13em;
  color: var(--g3-muted);
}

.g3-main-links {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-left: auto;
}

.g3-main-links a {
  border-bottom: 2px solid transparent;
  padding: 9px 1px;
  text-decoration: none;
  font-weight: 750;
}

.g3-main-links a[aria-current="page"] { border-color: var(--g3-pink); }

.g3-topbar .language-switcher { position: relative; }

.g3-topbar .language-switcher summary {
  list-style: none;
  border: 1px solid var(--g3-line);
  border-radius: 999px;
  padding: 9px 12px;
  background: #fff;
  cursor: pointer;
  font-weight: 750;
}

.g3-topbar .language-switcher summary::-webkit-details-marker { display: none; }

.g3-topbar .language-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  min-width: 170px;
  overflow: hidden;
  border: 1px solid var(--g3-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--g3-shadow);
}

.g3-topbar .language-menu a {
  display: block;
  padding: 11px 15px;
  text-decoration: none;
}

.g3-topbar .language-menu a:hover,
.g3-topbar .language-menu a.active { background: #fff0f7; color: var(--g3-pink-dark); }

.g3-main {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
  padding: 38px 0 76px;
}

.g3-journal-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  padding: 34px 38px;
  overflow: hidden;
  border: 1px solid rgba(239, 61, 143, .16);
  border-radius: 30px;
  background:
    linear-gradient(115deg, rgba(255, 255, 255, .92), rgba(255, 236, 246, .9)),
    repeating-linear-gradient(135deg, transparent 0 18px, rgba(132, 24, 162, .04) 18px 20px);
  box-shadow: var(--g3-shadow);
}

.g3-eyebrow {
  margin: 0 0 10px;
  color: var(--g3-pink-dark);
  font-size: .75rem;
  font-weight: 900;
  letter-spacing: .15em;
}

.g3-journal-hero h1,
.g3-article-header h1,
.g3-privacy-card h1,
.g3-admin-title h1,
.g3-login-card h1 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 750;
  line-height: 1.02;
  letter-spacing: -.035em;
}

.g3-journal-hero h1 { max-width: 760px; font-size: clamp(2.25rem, 6vw, 5rem); }
.g3-journal-hero p:not(.g3-eyebrow) { max-width: 690px; margin: 18px 0 0; color: var(--g3-muted); font-size: 1.08rem; line-height: 1.65; }

.g3-primary,
.g3-secondary,
.g3-danger,
.g3-share {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: 999px;
  padding: 10px 18px;
  text-decoration: none;
  font-weight: 850;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}

.g3-primary {
  border: 1px solid var(--g3-pink);
  color: #fff !important;
  background: linear-gradient(135deg, var(--g3-pink), var(--g3-purple));
  box-shadow: 0 9px 24px rgba(197, 30, 112, .22);
}

.g3-secondary,
.g3-share {
  border: 1px solid var(--g3-line);
  color: var(--g3-ink);
  background: #fff;
}

.g3-danger {
  border: 1px solid #f4b8be;
  color: #9d1d2a;
  background: #fff4f5;
}

.g3-primary:hover,
.g3-secondary:hover,
.g3-danger:hover,
.g3-share:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(70, 31, 73, .13); }

.g3-feed {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
  margin-top: 32px;
}

.g3-story-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--g3-line);
  border-radius: var(--g3-radius);
  background: var(--g3-card);
  box-shadow: 0 10px 34px rgba(70, 31, 73, .07);
}

.g3-story-content { padding: 24px; }
.g3-story-content h2 { margin: 9px 0 10px; font-size: clamp(1.35rem, 2vw, 1.75rem); line-height: 1.18; }
.g3-story-content h2 a { text-decoration: none; }
.g3-story-content > p:not(.g3-story-meta) { margin: 0 0 15px; color: var(--g3-muted); line-height: 1.62; }

.g3-story-meta {
  margin: 0;
  color: var(--g3-muted);
  font-size: .8rem;
  font-weight: 680;
  letter-spacing: .025em;
}

.g3-story-actions,
.g3-article-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 19px;
}

.g3-read,
.g3-back {
  color: var(--g3-pink-dark) !important;
  font-weight: 850;
  text-decoration: none;
}

.g3-back { display: inline-flex; margin-bottom: 25px; }

.g3-ai-note {
  display: block;
  margin: 13px 0 0;
  color: var(--g3-green);
  font-size: .78rem;
  line-height: 1.5;
}
.g3-ai-note a { color: inherit; font-weight: 850; }

/* Adaptive editorial mosaics. Each saved article keeps its stable variant. */
.g3-collage {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 4px;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #eee6ed;
  text-decoration: none;
}

.g3-story-card > .g3-collage { border-radius: 0; }
.g3-article-gallery .g3-collage { border-radius: 26px; }

.g3-collage img {
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  object-fit: cover;
  transition: transform .35s ease;
}

a.g3-collage:hover img { transform: scale(1.018); }

.g3-count-1 img:first-child { grid-column: 1 / -1; grid-row: 1 / -1; }
.g3-count-2 { grid-template-columns: repeat(2, 1fr); grid-template-rows: 1fr; }
.g3-count-3 img:first-child { grid-row: 1 / -1; }
.g3-count-4 { grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(2, 1fr); }

.g3-count-5,
.g3-count-6 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

.g3-count-5 img:first-child { grid-column: span 2; }

.g3-count-7,
.g3-count-8 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

.g3-count-7 img:first-child { grid-column: span 2; }

.g3-variant-1.g3-count-2,
.g3-variant-7.g3-count-2 { grid-template-columns: 1fr; grid-template-rows: repeat(2, 1fr); }

.g3-variant-2.g3-count-3 img:first-child,
.g3-variant-8.g3-count-3 img:first-child {
  grid-column: 1 / -1;
  grid-row: auto;
}

.g3-variant-2.g3-count-3,
.g3-variant-8.g3-count-3 { grid-template-rows: 1.25fr .75fr; }

.g3-variant-3.g3-count-5 img:first-child,
.g3-variant-9.g3-count-5 img:first-child { grid-column: auto; grid-row: 1 / -1; }

.g3-variant-4.g3-count-5 img:nth-child(2),
.g3-variant-10.g3-count-5 img:nth-child(2) { grid-column: span 2; }

.g3-variant-5.g3-count-7 img:first-child,
.g3-variant-11.g3-count-7 img:first-child { grid-column: auto; grid-row: 1 / -1; }

.g3-more-media,
.g3-video-badge {
  position: absolute;
  right: 12px;
  bottom: 12px;
  border-radius: 999px;
  padding: 7px 11px;
  color: #fff;
  background: rgba(27, 18, 30, .8);
  font-size: .76rem;
  font-weight: 850;
  backdrop-filter: blur(8px);
}

.g3-video-badge { right: auto; left: 12px; }

.g3-reactions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 17px;
}

.g3-reaction-form { margin: 0; }
.g3-reaction-form button {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 34px;
  border: 1px solid var(--g3-line);
  border-radius: 999px;
  padding: 5px 9px;
  color: var(--g3-ink);
  background: #fff9fc;
}
.g3-reaction-form button:hover { border-color: #e994bc; background: #fff0f7; }
.g3-reaction-form b { font-size: .75rem; }

.g3-empty {
  margin: 48px 0;
  border: 1px dashed #d9c6d7;
  border-radius: var(--g3-radius);
  padding: 60px 24px;
  text-align: center;
  background: rgba(255, 255, 255, .72);
}
.g3-empty > span { color: var(--g3-pink); font-size: 2rem; }

.g3-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 34px;
}
.g3-pagination a { border: 1px solid var(--g3-line); border-radius: 50%; padding: 8px 13px; text-decoration: none; background: #fff; }

.g3-article-main { width: min(900px, calc(100% - 32px)); }
.g3-article { border: 1px solid var(--g3-line); border-radius: 30px; padding: clamp(22px, 5vw, 54px); background: #fff; box-shadow: var(--g3-shadow); }
.g3-article-header { margin-bottom: 28px; }
.g3-article-header h1 { max-width: 820px; font-size: clamp(2.25rem, 6vw, 4.8rem); }
.g3-lead { margin: 20px 0; color: #5f5264; font-size: clamp(1.08rem, 2.1vw, 1.35rem); line-height: 1.62; }
.g3-article-gallery { margin: 30px 0 36px; }
.g3-article-gallery > video { display: block; width: 100%; max-height: 620px; margin-top: 12px; border-radius: 20px; background: #171219; }
.g3-article-body { color: #382d3d; font-family: Georgia, "Times New Roman", serif; font-size: 1.08rem; line-height: 1.82; }
.g3-article-body h2 { margin: 2.1em 0 .65em; color: var(--g3-ink); font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-size: clamp(1.45rem, 3vw, 2rem); line-height: 1.2; }
.g3-article-body h3 { margin: 1.8em 0 .55em; color: var(--g3-ink); font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
.g3-article-body p { margin: 0 0 1.15em; }
.g3-article-body li { margin: .35em 0; }
.g3-article-footer { flex-wrap: wrap; border-top: 1px solid var(--g3-line); padding-top: 22px; }
.g3-article-footer .g3-reactions { margin: 0; }

.g3-slider {
  position: relative;
  display: block;
  aspect-ratio: 16 / 10;
  border-radius: 26px;
  background: #eee6ed;
}
.g3-slider img { position: absolute; inset: 0; opacity: 0; pointer-events: none; }
.g3-slider img.g3-slide-active { opacity: 1; pointer-events: auto; }
.g3-slider-controls { position: absolute; z-index: 3; inset: 50% 12px auto; display: flex; justify-content: space-between; transform: translateY(-50%); pointer-events: none; }
.g3-slider-controls button { width: 43px; height: 43px; border: 0; border-radius: 50%; color: #fff; background: rgba(30, 20, 32, .72); pointer-events: auto; }
.g3-slider-dots { position: absolute; z-index: 3; right: 16px; bottom: 14px; border-radius: 999px; padding: 6px 10px; color: #fff; background: rgba(30, 20, 32, .72); font-size: .78rem; font-weight: 800; }

.g3-discussion { margin-top: 28px; border: 1px solid var(--g3-line); border-radius: 30px; padding: clamp(22px, 5vw, 42px); background: rgba(255, 255, 255, .9); }
.g3-discussion-title { display: flex; justify-content: space-between; gap: 25px; align-items: flex-start; }
.g3-discussion-title h2 { margin: 0; font-size: clamp(1.65rem, 4vw, 2.5rem); }
.g3-discussion-title > p { max-width: 390px; margin: 0; color: var(--g3-muted); font-size: .9rem; line-height: 1.5; }

.g3-comment-form,
.g3-editor-form,
.g3-admin-card form,
.g3-login-card { display: grid; gap: 15px; }
.g3-comment-form { margin: 28px 0 36px; border-radius: 22px; padding: clamp(18px, 4vw, 28px); background: #fbf5f9; }
.g3-comment-form label,
.g3-admin-card label,
.g3-login-card label { display: grid; gap: 7px; color: #4c3d50; font-weight: 760; }
.g3-comment-form label > span,
.g3-admin-card label > span,
.g3-login-card label > span { font-size: .88rem; }
.g3-comment-form input[type="text"],
.g3-comment-form input[name="author_name"],
.g3-comment-form input[type="email"],
.g3-comment-form input[name="captcha_answer"],
.g3-comment-form textarea,
.g3-admin-card input:not([type="checkbox"]):not([type="file"]),
.g3-admin-card textarea,
.g3-admin-card select,
.g3-login-card input {
  width: 100%;
  border: 1px solid #d9cbd7;
  border-radius: 13px;
  padding: 11px 13px;
  color: var(--g3-ink);
  background: #fff;
}
.g3-comment-form textarea,
.g3-admin-card textarea { resize: vertical; }
.g3-comment-form small,
.g3-admin-card small { color: var(--g3-muted); font-weight: 500; }
.g3-check { display: flex !important; grid-template-columns: auto 1fr; align-items: flex-start; gap: 10px !important; font-weight: 500 !important; }
.g3-check input { margin-top: 4px; }
.g3-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.g3-comment-identity { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; border: 1px solid #dcc8db; border-radius: 14px; padding: 12px 14px; background: #fff; }
.g3-comment-identity span { color: var(--g3-muted); font-size: .88rem; }
.g3-captcha { display: grid; gap: 8px; border: 1px solid #e0d1df; border-radius: 14px; padding: 14px; background: #fff; }
.g3-captcha > span { color: #4c3d50; font-size: .88rem; font-weight: 760; }
.g3-captcha input { max-width: 180px; }

.g3-emoji-picker { display: flex; gap: 4px; overflow-x: auto; padding: 4px 1px 8px; scrollbar-width: thin; }
.g3-emoji-picker button { flex: 0 0 auto; width: 37px; height: 37px; border: 1px solid var(--g3-line); border-radius: 10px; padding: 0; background: #fff; }
.g3-emoji-picker button:hover { background: #ffebf4; }
.g3-replying { display: flex; align-items: center; justify-content: space-between; gap: 10px; border-radius: 12px; padding: 9px 12px; color: var(--g3-purple); background: #f4e7f7; }
.g3-replying button { border: 0; background: transparent; font-size: 1.2rem; }

.g3-comments-list { display: grid; gap: 14px; }
.g3-comment { border-left: 3px solid #e5c7dc; border-radius: 0 16px 16px 0; padding: 17px 17px 17px 20px; background: #fff; }
.g3-comment-depth-1 { margin-left: 28px; border-color: #d8acd0; }
.g3-comment-depth-2,
.g3-comment-depth-3 { margin-left: 56px; border-color: #bd7cb6; }
.g3-comment header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 9px; }
.g3-user-badge { margin-right: auto; border-radius: 999px; padding: 3px 7px; color: #6f2077; background: #f2e5f4; font-size: .66rem; font-weight: 900; letter-spacing: .06em; }
.g3-comment header time { color: var(--g3-muted); font-size: .75rem; }
.g3-comment-body { margin: 11px 0; color: #433747; line-height: 1.58; }
.g3-comment-body p { margin: .55em 0; }
.g3-comment-media { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 13px 0; }
.g3-comment-media img,
.g3-comment-media video { display: block; width: 100%; height: 150px; border-radius: 12px; object-fit: cover; background: #eee; }
.g3-file { display: inline-flex; padding: 10px 12px; border-radius: 10px; background: #f6eff5; text-decoration: none; }
.g3-comment-actions { margin-top: 9px; }
.g3-link-button { border: 0; padding: 0; color: var(--g3-pink-dark); background: transparent; font-weight: 800; }

.g3-success,
.g3-error { margin: 15px 0; border-radius: 14px; padding: 12px 15px; line-height: 1.5; }
.g3-success { border: 1px solid #a9d9ca; color: #145945; background: #effbf7; }
.g3-error { border: 1px solid #efb9c0; color: #8d1725; background: #fff2f4; }

.g3-privacy { width: min(850px, calc(100% - 32px)); }
.g3-privacy-card { border: 1px solid var(--g3-line); border-radius: 28px; padding: clamp(24px, 6vw, 54px); background: #fff; box-shadow: var(--g3-shadow); }
.g3-privacy-card h1 { font-size: clamp(2.1rem, 5vw, 4rem); }
.g3-privacy-card h2 { margin: 1.8em 0 .45em; }
.g3-privacy-card p { color: #514456; line-height: 1.7; }
.g3-privacy-card ul { display: grid; gap: 8px; margin: 12px 0 0; padding-left: 21px; color: #514456; line-height: 1.65; }
.g3-privacy-card .g3-policy-meta { border-left: 4px solid var(--g3-pink); margin: 22px 0; padding: 12px 16px; background: #fff7fb; }
.g3-privacy-card :target { scroll-margin-top: 24px; }

.g3-footer {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 28px;
  max-width: 1120px;
  margin: 0 auto 28px;
  border-top: 1px solid var(--g3-line);
  padding: 34px 22px;
  color: var(--g3-muted);
}
.g3-footer div { display: flex; flex-direction: column; gap: 7px; }
.g3-footer p { margin: 0; }
.g3-footer a { text-decoration: none; }

/* Administration */
.g3-admin-body { min-height: 100vh; background-color: #f8f3f7; }
.g3-admin-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--g3-line); padding: 15px max(20px, calc((100% - 1220px) / 2)); background: #fff; }
.g3-admin-header > a { color: var(--g3-purple); font-weight: 950; letter-spacing: .08em; text-decoration: none; }
.g3-admin-header nav { display: flex; flex-wrap: wrap; gap: 18px; }
.g3-admin-header nav a { text-decoration: none; font-weight: 700; }
.g3-admin-main { width: min(1220px, calc(100% - 32px)); margin: 0 auto; padding: 32px 0 70px; }
.g3-admin-login { display: grid; min-height: calc(100vh - 70px); place-items: center; }
.g3-login-card { width: min(440px, 100%); }
.g3-admin-title { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 24px; }
.g3-admin-title h1 { font-size: clamp(2rem, 5vw, 4rem); }
.g3-admin-title p:not(.g3-eyebrow) { margin: 12px 0 0; color: var(--g3-muted); }
.g3-admin-card { margin-bottom: 24px; border: 1px solid var(--g3-line); border-radius: 22px; padding: clamp(18px, 3vw, 28px); background: #fff; box-shadow: 0 8px 30px rgba(65, 25, 67, .06); }
.g3-admin-card h2,
.g3-admin-card h3 { margin-top: 0; }
.g3-admin-card hr { width: 100%; border: 0; border-top: 1px solid var(--g3-line); margin: 10px 0; }
.g3-admin-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 24px; }
.g3-admin-stats div { display: grid; gap: 4px; border: 1px solid var(--g3-line); border-radius: 18px; padding: 20px; background: #fff; }
.g3-admin-stats b { color: var(--g3-purple); font-size: 1.65rem; }
.g3-admin-stats span { color: var(--g3-muted); font-size: .84rem; }
.g3-admin-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.g3-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.g3-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.g3-card-heading h2 { margin: 0; }
.g3-card-heading > a { color: var(--g3-pink-dark); text-decoration: none; font-weight: 800; }
.g3-language-tabs [role="tablist"] { display: flex; gap: 7px; border-bottom: 1px solid var(--g3-line); margin: 10px 0 18px; }
.g3-language-tabs [role="tab"] { border: 0; border-bottom: 3px solid transparent; padding: 10px 15px; color: var(--g3-muted); background: transparent; font-weight: 850; }
.g3-language-tabs [role="tab"][aria-selected="true"] { border-color: var(--g3-pink); color: var(--g3-pink-dark); }
.g3-language-tabs fieldset { display: grid; gap: 15px; min-width: 0; border: 0; padding: 0; }
.g3-language-tabs legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.g3-ai-box { margin-top: 24px; border: 1px solid #ddc2e4; border-radius: 18px; padding: 20px; background: linear-gradient(135deg, #fbf1fd, #fff7fb); }
.g3-admin-media { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.g3-admin-media div { min-width: 0; overflow: hidden; border-radius: 12px; background: #f3ebf2; }
.g3-admin-media img { display: block; width: 100%; height: 112px; object-fit: cover; }
.g3-admin-media span { display: block; padding: 12px; font-size: .75rem; overflow-wrap: anywhere; }
.g3-media-delete { margin-top: 22px; }
.g3-media-delete form { display: flex; grid-template-columns: 1fr auto; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--g3-line); padding: 10px 0; }
.g3-admin-table-wrap { overflow-x: auto; }
.g3-admin-table { width: 100%; border-collapse: collapse; }
.g3-admin-table th,
.g3-admin-table td { border-bottom: 1px solid var(--g3-line); padding: 12px 10px; text-align: left; vertical-align: top; }
.g3-admin-table th { color: var(--g3-muted); font-size: .78rem; letter-spacing: .05em; text-transform: uppercase; }
.g3-admin-table td small { display: block; margin-top: 4px; color: var(--g3-muted); }
.g3-status { display: inline-block; border-radius: 999px; padding: 5px 9px; background: #eee7ed; font-size: .74rem; font-weight: 850; }
.g3-status-published,
.g3-status-approved { color: #145945; background: #ddf4eb; }
.g3-status-pending,
.g3-status-draft { color: #805717; background: #fff0ca; }
.g3-status-rejected,
.g3-status-spam,
.g3-status-archived { color: #79212b; background: #fae0e3; }
.g3-status-hidden { color: #4d4650; background: #e9e6ea; }
.g3-moderation-list { display: grid; gap: 14px; }
.g3-moderation-item { border: 1px solid var(--g3-line); border-radius: 15px; padding: 16px; }
.g3-moderation-item header { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.g3-moderation-item header time { margin-left: auto; color: var(--g3-muted); font-size: .78rem; }
.g3-moderation-item > div { margin: 12px 0; line-height: 1.55; }
.g3-moderation-item form { display: flex; flex-wrap: wrap; gap: 8px; }
.g3-comment-admin-meta { display: flex; flex-wrap: wrap; gap: 7px 14px; color: var(--g3-muted); font-size: .8rem; }
.g3-comment-admin-meta code { overflow-wrap: anywhere; }
.g3-moderation-controls { border-top: 1px solid var(--g3-line); padding-top: 12px; }
.g3-moderation-controls .g3-check { align-items: center; border-radius: 9px; padding: 6px 8px; background: #faf6f9; }
.g3-comment-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.g3-comment-filters a { border: 1px solid var(--g3-line); border-radius: 999px; padding: 7px 11px; text-decoration: none; font-size: .82rem; font-weight: 760; }
.g3-comment-filters a[aria-current="page"] { border-color: var(--g3-purple); color: #fff; background: var(--g3-purple); }
.g3-ban-list { display: grid; gap: 10px; margin-top: 18px; }
.g3-ban-row { display: grid; grid-template-columns: 110px minmax(0, 1fr) auto; align-items: center; gap: 12px; border-top: 1px solid var(--g3-line); padding-top: 10px; }
.g3-admin-comment-media { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.g3-admin-comment-media img,
.g3-admin-comment-media video { display: block; width: 100%; height: 150px; border-radius: 12px; object-fit: cover; background: #eee; }
.g3-admin-comment-media > a:not(:has(img)) { display: flex; align-items: center; min-height: 70px; border-radius: 12px; padding: 12px; background: #f5eef4; overflow-wrap: anywhere; }

/* CTA inserted into the existing Marketplace home page. */
.g3-home-teaser {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  width: min(1120px, calc(100% - 32px));
  margin: 26px auto 42px;
  border: 1px solid #ead6e6;
  border-radius: 24px;
  padding: 24px 28px;
  color: #24152b;
  background: linear-gradient(120deg, #fff, #fff0f7);
  box-shadow: 0 10px 30px rgba(70, 31, 73, .08);
}
.g3-home-teaser h2 { margin: 4px 0 8px; font-size: clamp(1.4rem, 3vw, 2.1rem); }
.g3-home-teaser p { margin: 0; color: #74687a; line-height: 1.5; }
.g3-home-teaser .g3-home-kicker { color: #c51e70; font-size: .72rem; font-weight: 900; letter-spacing: .12em; }
.g3-home-teaser > a { flex: 0 0 auto; border-radius: 999px; padding: 11px 18px; color: #fff; background: linear-gradient(135deg, #ef3d8f, #8418a2); text-decoration: none; font-weight: 850; }
.g3-home-copy { display: none; }
.g3-home-link { display: none; }
html[lang^="pl"] .g3-home-copy-pl,
html[lang^="ru"] .g3-home-copy-ru,
html[lang^="uk"] .g3-home-copy-uk,
html[lang^="ua"] .g3-home-copy-uk,
html[lang^="en"] .g3-home-copy-en { display: block; }
html[lang^="pl"] .g3-home-link-pl,
html[lang^="ru"] .g3-home-link-ru,
html[lang^="uk"] .g3-home-link-uk,
html[lang^="ua"] .g3-home-link-uk,
html[lang^="en"] .g3-home-link-en { display: inline-flex; }

@media (max-width: 780px) {
  .g3-topbar .topbar-inner { gap: 12px; padding-inline: 15px; }
  .g3-topbar .brand small { display: none; }
  .g3-main-links { gap: 10px; font-size: .85rem; }
  .g3-main-links a:first-child { display: none; }
  .g3-journal-hero { align-items: flex-start; flex-direction: column; padding: 26px 23px; }
  .g3-feed { grid-template-columns: 1fr; }
  .g3-story-content { padding: 20px; }
  .g3-count-5,
  .g3-count-6,
  .g3-count-7,
  .g3-count-8 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .g3-discussion-title { display: block; }
  .g3-discussion-title > p { margin-top: 10px; }
  .g3-comment-depth-1 { margin-left: 14px; }
  .g3-comment-depth-2,
  .g3-comment-depth-3 { margin-left: 26px; }
  .g3-comment-media { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .g3-footer { grid-template-columns: 1fr; }
  .g3-admin-title { align-items: flex-start; flex-direction: column; }
  .g3-admin-stats { grid-template-columns: repeat(2, 1fr); }
  .g3-admin-columns,
  .g3-form-grid { grid-template-columns: 1fr; }
  .g3-admin-media { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .g3-admin-comment-media { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .g3-ban-row { grid-template-columns: 1fr; }
  .g3-home-teaser { align-items: flex-start; flex-direction: column; padding: 21px; }
}

@media (max-width: 480px) {
  .g3-topbar .brand span { font-size: 1.05rem; }
  .g3-main { width: min(100% - 20px, 1120px); padding-top: 18px; }
  .g3-journal-hero { border-radius: 22px; }
  .g3-collage { aspect-ratio: 4 / 3; }
  .g3-article { border-radius: 22px; padding: 20px 16px 26px; }
  .g3-discussion { border-radius: 22px; padding: 20px 14px; }
  .g3-reaction-form button { min-height: 32px; padding-inline: 8px; }
  .g3-comment-media { grid-template-columns: 1fr; }
  .g3-comment-media img,
  .g3-comment-media video { height: 210px; }
  .g3-admin-stats { gap: 8px; }
  .g3-admin-stats div { padding: 14px; }
  .g3-admin-media { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  .g3-body *,
  .g3-admin-body * { scroll-behavior: auto !important; transition: none !important; }
}
