/* XAMA Core — interface pública
   Paleta: #FF0050 #171717 #FFFFFF #212821 */

:root {
  --xama-lime: #d6fa40;
  --xama-flame: #ff0050;
  --xama-forest: #212821;
  --xama-black: #171717;
  --xama-cream: #f8f8f8;
  --xama-white: #ffffff;
  --xama-muted: #5f6368;
  --xama-line: #e8eaed;
  --xama-radius: 28px;
  --xama-radius-sm: 12px;
  --xama-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

html {
  scrollbar-gutter: stable;
  overflow-x: clip;
}

.xama-app {
  --xama-layout-max-width: 1200px;
  --xama-content-max-width: 720px;
  --xama-wide-max-width: 920px;
  --xama-page-gutter: 20px;
  --xama-content-offset: 7.125rem;
  --xama-header-gap: 16px;
  --xama-header-height: 78px;
  --xama-shell-max: var(--xama-layout-max-width);
  --xama-shell-pad: var(--xama-page-gutter);
  --xama-brand-slot: var(--xama-content-offset);
  --xama-search-max: var(--xama-content-max-width);
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--xama-white);
  color: var(--xama-black);
  font-family: var(--xama-font);
  font-size: 16px;
  line-height: 1.5;
  overflow-x: clip;
}

.xama-app *,
.xama-app *::before,
.xama-app *::after {
  box-sizing: border-box;
}

/* Emojis nativos e imagens de smileys: dimensionamento estrito inline, sem quebras */
img.wp-smiley,
img.emoji,
.xama-app img.wp-smiley,
.xama-app img.emoji,
.xama-result img.wp-smiley,
.xama-result img.emoji,
.xama-result__title img.wp-smiley,
.xama-result__title img.emoji {
  display: inline !important;
  border: none !important;
  box-shadow: none !important;
  height: 1.12em !important;
  width: 1.12em !important;
  max-width: 1.12em !important;
  max-height: 1.12em !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 0.15em !important;
  vertical-align: -0.15em !important;
  background: transparent !important;
  padding: 0 !important;
  object-fit: contain !important;
}

.xama-skip {
  position: absolute;
  left: 12px;
  top: -40px;
  z-index: 100000;
  padding: 8px 12px;
  background: var(--xama-forest);
  color: var(--xama-white);
  border-radius: 8px;
}

.xama-skip:focus {
  top: 12px;
}

.xama-toast {
  position: fixed;
  left: 50%;
  bottom: 24px;
  z-index: 80;
  transform: translateX(-50%) translateY(12px);
  margin: 0;
  padding: 10px 16px;
  border-radius: 999px;
  background: var(--xama-forest);
  color: var(--xama-white);
  font-size: 0.9rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.xama-toast.is-on {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

a {
  color: var(--xama-forest);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

:focus-visible {
  outline: 2px solid var(--xama-forest);
  outline-offset: 3px;
}

.xama-header {
  position: relative;
  background: var(--xama-white);
  z-index: 40;
}

.xama-app:not(.xama-route-home) .xama-header {
  position: sticky;
  top: 0;
}

.xama-header--search,
.xama-header--page {
  border-bottom: 1px solid var(--xama-line);
}

.xama-header--home {
  border-bottom: 0;
}

.xama-header__inner {
  display: flex;
  align-items: center;
  gap: var(--xama-header-gap, 16px);
  max-width: var(--xama-shell-max, 1200px);
  margin: 0 auto;
  padding: 12px var(--xama-shell-pad, 20px);
}

@media (min-width: 768px) {
  .xama-header__inner {
    min-height: var(--xama-header-height);
  }
}

.xama-header__logo {
  flex: 0 0 var(--xama-brand-slot, 7.125rem);
  width: var(--xama-brand-slot, 7.125rem);
}

.xama-header__search {
  flex: 1;
  min-width: 0;
  max-width: var(--xama-search-max, 720px);
}

.xama-header__tools {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-left: auto;
  position: relative;
}

.xama-header__share {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
}

.xama-wordmark {
  display: inline-flex;
  align-items: center;
  gap: 0.08em;
  color: var(--xama-black);
  text-decoration: none;
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
  white-space: nowrap;
}

.xama-wordmark:hover {
  text-decoration: none;
}

.xama-wordmark__flame {
  display: block;
  flex-shrink: 0;
  height: 1.18em;
  width: auto;
}

.xama-wordmark__flame img {
  display: block;
  height: 100%;
  width: auto;
}

.xama-wordmark__lockup {
  display: inline-flex;
  align-items: baseline;
}

.xama-wordmark__text {
  font-weight: 800;
  letter-spacing: -0.045em;
}

.xama-wordmark__tld {
  color: var(--xama-flame);
  font-weight: 800;
  font-size: 0.72em;
  letter-spacing: -0.04em;
  margin-left: 0.02em;
}

.xama-wordmark--sm {
  font-size: 1.28rem;
  gap: 0.06em;
}

.xama-wordmark--lg {
  font-size: clamp(1.85rem, 10vw, 4.4rem);
  gap: 0.05em;
}

.xama-icon-btn {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--xama-forest);
  cursor: pointer;
}

.xama-icon-btn:hover,
.xama-popover[open] > .xama-icon-btn {
  background: var(--xama-cream);
}

.xama-popover {
  position: relative;
}

.xama-popover > summary {
  list-style: none;
}

.xama-popover > summary::-webkit-details-marker {
  display: none;
}

.xama-apps,
.xama-account-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  z-index: 50;
  background: var(--xama-white);
  border: 1px solid var(--xama-line);
  border-radius: 16px;
  box-shadow: 0 8px 28px rgba(23, 23, 23, 0.1);
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

.xama-apps {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 14px 14px;
  min-width: 240px;
  width: min(280px, calc(100vw - 32px));
  max-height: min(80vh, 480px);
  overflow-y: auto;
  overflow-x: hidden;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

.xama-apps-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.xama-apps__card {
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: 12px;
  transition: transform 0.15s cubic-bezier(0.2, 0, 0, 1), box-shadow 0.15s ease, opacity 0.15s ease;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
}

.xama-apps__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 12px 6px;
  border-radius: 12px;
  color: var(--xama-black);
  text-align: center;
  font-size: 0.75rem;
  width: 100%;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
}

.xama-apps__item:hover {
  background: var(--xama-cream);
  text-decoration: none;
}

.xama-apps__item--disabled {
  color: var(--xama-muted);
  cursor: default;
}

.xama-apps__item--disabled:hover {
  background: transparent;
}

.xama-apps__label {
  overflow-wrap: anywhere;
  line-height: 1.4;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  pointer-events: none;
}

.xama-apps__icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: #f1f3f4;
  color: var(--xama-forest);
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  pointer-events: none;
}

.xama-apps input,
.xama-apps textarea {
  -webkit-user-select: text !important;
  -moz-user-select: text !important;
  -ms-user-select: text !important;
  user-select: text !important;
}

.xama-account-menu {
  width: min(280px, calc(100vw - 32px));
  padding: 12px;
}

.xama-account-menu__head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 8px 12px;
  border-bottom: 1px solid var(--xama-line);
  margin-bottom: 8px;
}

.xama-account-menu__name {
  margin: 0;
  font-weight: 650;
}

.xama-account-menu a {
  display: block;
  padding: 10px 12px;
  border-radius: 8px;
  color: var(--xama-forest);
}

.xama-account-menu a:hover {
  background: var(--xama-cream);
  text-decoration: none;
}

.xama-account-menu__name a {
  display: inline;
  padding: 0;
  font-weight: 650;
  color: var(--xama-black);
}

.xama-account-menu__name a:hover {
  background: transparent;
  color: var(--xama-flame);
}

/* Progresso de Faixa no Dropdown da Conta */
.xama-account-menu__belt-card {
  display: block;
  margin: 0 4px 10px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #fbfbfc;
  border: 1px solid var(--xama-line);
  color: var(--xama-forest);
  text-decoration: none;
  transition: all 0.16s ease;
}

.xama-account-menu__belt-card:hover {
  background: #f4f5f6;
  border-color: #d1d5db;
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.xama-account-menu__belt-card:focus-visible {
  outline: 2px solid var(--xama-flame);
  outline-offset: 1px;
}

.xama-account-menu__belt-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 7px;
}

.xama-account-menu__belt-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.xama-account-menu__belt-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: 1px solid currentColor;
  flex-shrink: 0;
}

.xama-account-menu__belt-name {
  font-size: 0.82rem;
  font-weight: 650;
  color: #171717;
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.xama-account-menu__belt-pct {
  font-size: 0.74rem;
  font-weight: 600;
  color: #71717a;
  flex-shrink: 0;
  font-variant-numeric: tabular-nums;
}

.xama-account-menu__belt-bar {
  width: 100%;
  height: 4px;
  background: #e5e7eb;
  border-radius: 999px;
  overflow: hidden;
  margin-bottom: 7px;
}

.xama-account-menu__belt-bar-fill {
  display: block;
  height: 100%;
  border-radius: 999px;
  transition: width 0.3s ease;
}

.xama-account-menu__belt-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.xama-account-menu__belt-text {
  font-size: 0.72rem;
  color: #71717a;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.xama-account-menu__belt-arrow {
  color: #a1a1aa;
  flex-shrink: 0;
  transition: transform 0.16s ease, color 0.16s ease;
}

.xama-account-menu__belt-card:hover .xama-account-menu__belt-arrow {
  color: var(--xama-flame);
  transform: translateX(2px);
}

.xama-popover[open] > .xama-avatar {
  filter: brightness(0.97);
}

.xama-avatar {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  overflow: hidden;
  background: var(--xama-cream);
  color: var(--xama-forest);
  cursor: pointer;
  text-decoration: none;
}

.xama-avatar:hover {
  text-decoration: none;
  filter: brightness(0.97);
}

.xama-avatar img,
.xama-avatar__img {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}

.xama-account-menu__head img,
.xama-account-menu__head .xama-avatar__img {
  width: 48px;
  height: 48px;
}

.xama-main {
  flex: 1;
  width: 100%;
  outline: none;
}

.xama-route-home .xama-main,
.xama-route-search .xama-main {
  display: flex;
  flex-direction: column;
}

.xama-hero {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px 20px 40px;
  text-align: center;
}

.xama-hero__logo {
  margin: 0 0 12px;
  font-size: inherit;
  font-weight: inherit;
}

.xama-hero__tagline {
  margin: 0 0 28px;
  color: var(--xama-muted);
  font-size: 1.05rem;
}

.xama-search {
  position: relative;
  width: min(100%, 640px);
}

.xama-suggest {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  z-index: 60;
  margin: 0;
  padding: 6px;
  list-style: none;
  background: var(--xama-white);
  border: 1px solid var(--xama-line);
  border-radius: 16px;
  box-shadow: 0 8px 28px rgba(23, 23, 23, 0.08);
  text-align: left;
  max-height: min(70vh, 360px);
  overflow-y: auto;
}

.xama-suggest__item {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 10px;
  align-items: start;
  padding: 10px 12px;
  border-radius: 12px;
  cursor: pointer;
}

.xama-suggest__icon {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: #f4f1e8;
  color: var(--xama-forest);
}

.xama-suggest__body {
  min-width: 0;
}

.xama-suggest__item:hover,
.xama-suggest__item.is-active {
  background: #f7f4ec;
}

.xama-suggest__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.xama-suggest__title {
  color: var(--xama-black);
  font-weight: 600;
}

.xama-suggest__type {
  flex-shrink: 0;
  color: var(--xama-flame);
  font-size: 0.75rem;
  font-weight: 650;
  letter-spacing: 0.02em;
}

.xama-suggest__excerpt {
  display: block;
  margin-top: 2px;
  color: var(--xama-muted);
  font-size: 0.85rem;
}

.xama-related {
  margin-top: 28px;
  padding-top: 8px;
  border-top: 1px solid var(--xama-line);
}

.xama-related__note {
  color: var(--xama-muted);
  font-size: 0.9rem;
}

.xama-related h2 {
  font-size: 1rem;
  margin: 18px 0 8px;
}

.xama-related__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.xama-related__list li {
  margin: 8px 0;
}

.xama-related__type {
  display: inline-block;
  margin-right: 8px;
  color: var(--xama-muted);
  font-size: 0.8rem;
}

.xama-explore {
  margin: 36px 0 8px;
  padding-top: 20px;
  border-top: 1px solid var(--xama-line);
}

.xama-explore h2 {
  margin: 0 0 16px;
  color: var(--xama-muted);
  font-size: 0.95rem;
  font-weight: 650;
}

.xama-explore__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px 24px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.xama-explore__item {
  min-width: 0;
}

.xama-explore__media {
  display: block;
  width: 72px;
  height: 54px;
  margin: 0 0 10px;
  overflow: hidden;
  border-radius: 8px;
  background: var(--xama-cream);
}

.xama-explore__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.xama-explore__origin {
  margin: 0 0 4px;
  color: var(--xama-muted);
  font-size: 0.78rem;
}

.xama-explore__name {
  margin: 0 0 4px;
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.3;
}

.xama-explore__name a {
  color: var(--xama-black);
}

.xama-explore__name a:hover {
  color: var(--xama-flame);
}

.xama-explore__name a:focus-visible {
  outline: 2px solid var(--xama-flame);
  outline-offset: 2px;
}

.xama-explore__excerpt {
  margin: 0;
  color: var(--xama-muted);
  font-size: 0.88rem;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (max-width: 699px) {
  .xama-explore__list {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .xama-explore__item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
  }

  .xama-explore__media {
    flex-shrink: 0;
    margin: 0;
  }
}

.xama-pager {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4px 10px;
  margin: 48px 0 12px;
  padding-top: 8px;
}

.xama-pager a,
.xama-pager__current,
.xama-pager__ellipsis,
.xama-pager__step {
  min-width: 28px;
  padding: 8px 6px;
  text-align: center;
  color: var(--xama-forest);
  font-size: 0.95rem;
}

.xama-pager a:hover {
  text-decoration: none;
  color: var(--xama-flame);
}

.xama-pager__current {
  color: var(--xama-flame);
  font-weight: 700;
}

.xama-pager__ellipsis {
  color: var(--xama-muted);
}

.xama-brand-pager {
  margin: 36px 0 4px;
}

.xama-brand-pager__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px 18px;
}

.xama-brand-pager__step {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  color: var(--xama-muted);
  font-size: 0.88rem;
}

.xama-brand-pager__step:hover {
  color: var(--xama-flame);
  text-decoration: none;
}

.xama-brand-pager__status {
  display: none;
  margin: 0;
  color: var(--xama-muted);
  font-size: 0.95rem;
}

.xama-brand-pager__mark {
  display: flex;
  align-items: flex-start;
  gap: 1px;
}

.xama-brand-pager__lead,
.xama-brand-pager__tail {
  color: var(--xama-black);
  font-size: 1.7rem;
  font-weight: 750;
  letter-spacing: -0.05em;
  line-height: 1;
  padding-top: 4px;
}

.xama-brand-pager__tld {
  color: var(--xama-flame);
}

.xama-brand-pager__pages {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}

.xama-brand-pager__page a,
.xama-brand-pager__hit {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 28px;
  padding: 4px 5px;
  color: var(--xama-black);
  text-decoration: none;
}

.xama-brand-pager__letter {
  font-size: 1.7rem;
  font-weight: 750;
  letter-spacing: -0.05em;
  line-height: 1;
}

.xama-brand-pager__num {
  margin-top: 6px;
  color: var(--xama-muted);
  font-size: 0.78rem;
  font-weight: 500;
}

.xama-brand-pager__page a:hover {
  text-decoration: none;
}

.xama-brand-pager__page a:hover .xama-brand-pager__letter,
.xama-brand-pager__page a:hover .xama-brand-pager__num,
.xama-brand-pager__page.is-on .xama-brand-pager__letter,
.xama-brand-pager__page.is-on .xama-brand-pager__num {
  color: var(--xama-flame);
}

.xama-brand-pager__page a:focus-visible {
  outline: 2px solid var(--xama-flame);
  outline-offset: 3px;
}

@media (max-width: 767px) {
  .xama-brand-pager__mark {
    display: none;
  }

  .xama-brand-pager__status {
    display: block;
  }

  .xama-brand-pager__row {
    gap: 8px 16px;
  }
}

.xama-search__bar {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 56px;
  padding: 6px 6px 6px 16px;
  border: 1px solid #d8d4c8;
  border-radius: var(--xama-radius);
  background: var(--xama-white);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.xama-search__bar:hover {
  border-color: #bdb8aa;
}

.xama-search__bar:focus-within {
  border-color: transparent;
  box-shadow: 0 1px 6px rgba(32, 33, 36, 0.28);
}

.xama-search__icon {
  color: var(--xama-muted);
  display: flex;
  flex-shrink: 0;
}

.xama-search__bar input[type="search"] {
  flex: 1;
  min-width: 0;
  border: 0;
  background: transparent;
  font: inherit;
  color: var(--xama-black);
  padding: 10px 4px;
}

.xama-search__bar input[type="search"]::placeholder {
  color: #9a9a9a;
}

.xama-search__bar input[type="search"]:focus {
  outline: none;
}

.xama-search__bar input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

.xama-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 18px;
  border: 0;
  border-radius: 999px;
  background: var(--xama-forest);
  color: var(--xama-white);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
}

.xama-btn:hover {
  text-decoration: none;
  filter: brightness(1.08);
}

.xama-btn--ghost {
  background: transparent;
  color: var(--xama-forest);
  border: 1px solid var(--xama-line);
}

.xama-btn--search {
  flex-shrink: 0;
  min-height: 44px;
}

.xama-search--compact {
  width: 100%;
}

.xama-search--compact .xama-search__bar {
  min-height: 46px;
  padding: 4px 4px 4px 16px;
  box-shadow: 0 1px 6px rgba(32, 33, 36, 0.12);
}

.xama-search--compact .xama-search__icon {
  display: none;
}

.xama-search--compact .xama-btn--search {
  width: 40px;
  min-height: 40px;
  padding: 0;
  background: transparent;
  color: var(--xama-muted);
}

.xama-search--compact .xama-btn--search:hover {
  background: var(--xama-cream);
  filter: none;
}

.xama-suggestions {
  margin-top: 28px;
  max-width: 640px;
}

.xama-suggestions__label {
  margin: 0 0 8px;
  color: var(--xama-muted);
  font-size: 0.85rem;
}

.xama-suggestions ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 14px;
}

.xama-suggestions a {
  color: var(--xama-muted);
  font-size: 0.95rem;
}

.xama-suggestions a:hover {
  color: var(--xama-black);
}

.xama-shell,
.xama-page-shell,
.xama-content-container,
.xama-page,
.xama-results,
.xama-entry,
.xama-comments {
  display: grid;
  grid-template-columns: var(--xama-content-offset) minmax(0, var(--xama-content-max-width)) minmax(0, 1fr);
  column-gap: var(--xama-header-gap);
  align-content: start;
  max-width: var(--xama-layout-max-width);
  margin: 0 auto;
  padding: 24px var(--xama-page-gutter) 48px;
  width: 100%;
}

.xama-shell > *,
.xama-page-shell > *,
.xama-content-container > *,
.xama-page > *,
.xama-results > *,
.xama-entry > *,
.xama-comments > * {
  grid-column: 2;
  min-width: 0;
}

.xama-results {
  padding-top: 0;
}

.xama-results--images,
.xama-forums,
.xama-archive,
.xama-page--wide {
  --xama-content-max-width: var(--xama-wide-max-width);
}

.xama-route-search .xama-filters {
  align-self: start;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  padding-left: 12px;
  border-bottom: 0;
  box-shadow: inset 0 -1px 0 var(--xama-line);
}

.xama-route-search .xama-filters::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.xama-route-search .xama-filters__item {
  margin-bottom: 0;
}

.xama-page {
  flex: 1;
}

.xama-page h1 {
  font-size: 1.6rem;
  font-weight: 650;
  margin: 0 0 20px;
}

.xama-entry {
  flex: 1;
  padding-bottom: 28px;
}

.xama-entry--split,
.xama-entry--video {
  --xama-content-max-width: var(--xama-wide-max-width);
}

.xama-crumbs {
  margin: 8px 0 18px;
  color: var(--xama-muted);
  font-size: 0.82rem;
}

.xama-crumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 0;
  list-style: none;
  margin: 0;
  padding: 0;
}

.xama-crumbs li {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.xama-crumbs li:not(:last-child)::after {
  content: "/";
  margin: 0 8px;
  color: var(--xama-line);
}

.xama-crumbs a {
  color: var(--xama-muted);
}

.xama-crumbs a:hover {
  color: var(--xama-black);
}

.xama-crumbs [aria-current="page"] {
  color: var(--xama-black);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 42ch;
}

.xama-archive__head {
  margin-bottom: 12px;
}

.xama-archive__title {
  font-size: 1.6rem;
  font-weight: 650;
  line-height: 1.25;
  margin: 0;
}

.xama-entry__title {
  font-size: 1.28rem;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.015em;
  margin: 0;
}

.xama-entry__origin {
  margin: 0 0 8px;
  font-size: 0.82rem;
}

.xama-entry__origin a {
  color: var(--xama-muted);
}

.xama-entry__origin a:hover {
  color: var(--xama-flame);
}

.xama-entry__title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 10px;
}

.xama-entry__by {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 20px;
}

.xama-entry__avatar-link {
  flex-shrink: 0;
}

.xama-entry__avatar {
  display: block;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
}

.xama-entry__byline {
  margin: 0;
  color: var(--xama-muted);
  font-size: 0.92rem;
}

.xama-entry__byline a {
  color: var(--xama-muted);
}

.xama-entry__byline a:hover {
  color: var(--xama-black);
}

.xama-entry__share {
  margin-left: auto;
  flex-shrink: 0;
}

.xama-archive__intro {
  color: var(--xama-muted);
  margin: 0 0 8px;
}

.xama-entry__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin: 4px 0 0;
  color: var(--xama-muted);
  font-size: 0.9rem;
}

.xama-entry__meta a {
  color: var(--xama-muted);
}

.xama-entry__stage {
  display: grid;
  grid-template-columns: minmax(0, 420px) minmax(0, 1fr);
  gap: 16px 24px;
  align-items: start;
  margin: 0 0 28px;
}

.xama-entry--video .xama-entry__stage {
  grid-template-columns: minmax(0, 420px);
}

.xama-entry__player {
  max-width: 420px;
}

.xama-entry__side {
  min-width: 0;
  padding-top: 2px;
}

.xama-entry__intro {
  color: var(--xama-black);
  font-size: 1rem;
  line-height: 1.55;
}

.xama-entry__intro > *:first-child {
  margin-top: 0;
}

.xama-entry__intro > *:last-child {
  margin-bottom: 0;
}

.xama-entry__materials {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
}

.xama-entry__materials a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--xama-muted);
  font-size: 0.9rem;
}

.xama-entry__materials a:hover {
  color: var(--xama-black);
}

.xama-entry__media {
  margin: 0 0 28px;
  overflow: hidden;
  border-radius: 16px;
  background: var(--xama-cream);
}

.xama-entry__img {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: middle;
}

.xama-entry--media-portrait .xama-entry__img {
  aspect-ratio: 1;
  object-fit: cover;
  object-position: center 18%;
}

.xama-entry--media-wide .xama-entry__img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center 30%;
}

@media (max-width: 839px) {
  .xama-entry__stage {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

@media (max-width: 639px) {
  .xama-entry--media-portrait .xama-entry__img {
    aspect-ratio: 16 / 9;
    max-height: 240px;
    object-position: center 16%;
  }

  .xama-entry__by {
    flex-wrap: wrap;
  }

  .xama-entry__stage {
    align-items: start;
  }
}

.xama-entry__body {
  font-size: 1.05rem;
  line-height: 1.7;
  overflow-wrap: anywhere;
}

.xama-entry__body > *:first-child {
  margin-top: 0;
}

.xama-entry__body > *:last-child {
  margin-bottom: 0;
}

.xama-entry__body p {
  margin: 0 0 1.1em;
}

.xama-entry__body h2,
.xama-entry__body h3,
.xama-entry__body h4 {
  color: var(--xama-black);
  line-height: 1.3;
  font-weight: 650;
}

.xama-entry__body h2 {
  font-size: 1.35rem;
  margin: 1.6em 0 0.55em;
}

.xama-entry__body h3 {
  font-size: 1.15rem;
  margin: 1.35em 0 0.45em;
}

.xama-entry__body ul,
.xama-entry__body ol {
  margin: 0 0 1.1em;
  padding-left: 1.25em;
}

.xama-entry__body li + li {
  margin-top: 0.35em;
}

.xama-entry__body blockquote,
.xama-entry__body .wp-block-quote {
  margin: 0 0 1.2em;
  padding: 12px 16px;
  border-left: 3px solid var(--xama-flame);
  background: var(--xama-cream);
  border-radius: 0 12px 12px 0;
  color: var(--xama-muted);
}

.xama-entry__body pre,
.xama-entry__body .wp-block-code,
.xama-entry__body code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.xama-entry__body pre,
.xama-entry__body .wp-block-code {
  margin: 0 0 1.2em;
  padding: 14px 16px;
  border-radius: 12px;
  background: #171717;
  color: #f5f5f5;
  overflow-x: auto;
  font-size: 0.9rem;
}

.xama-entry__body :not(pre) > code {
  padding: 0.1em 0.35em;
  border-radius: 6px;
  background: var(--xama-cream);
  font-size: 0.92em;
}

.xama-entry__body figcaption {
  margin-top: 8px;
  color: var(--xama-muted);
  font-size: 0.85rem;
}

.xama-entry__body img,
.xama-entry__body video,
.xama-entry__body figure,
.xama-entry__body .wp-block-image img,
.xama-entry__body .wp-block-video video {
  max-width: 100%;
  height: auto;
}

.xama-entry__body figure,
.xama-entry__body .wp-block-image,
.xama-entry__body .wp-block-embed {
  margin: 0 0 1.2em;
}

.xama-entry__body iframe,
.xama-entry__body embed,
.xama-entry__body .wp-block-embed__wrapper iframe {
  max-width: 100%;
}

.xama-entry__body .alignfull,
.xama-entry__body .alignwide {
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.xama-entry__body a {
  color: var(--xama-flame);
}

.xama-entry__body a:hover {
  text-decoration: underline;
}

.xama-player {
  position: relative;
  aspect-ratio: 16 / 9;
  border-radius: var(--xama-radius-sm);
  overflow: hidden;
  background: var(--xama-black);
}

.xama-player__play {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.xama-player__poster {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.xama-player__play::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(23, 23, 23, 0.22);
}

.xama-player__btn {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: var(--xama-flame);
  color: #fff;
}

.xama-player__play:hover .xama-player__btn,
.xama-player__play:focus-visible .xama-player__btn {
  transform: translate(-50%, -50%) scale(1.05);
}

.xama-player__play:focus-visible {
  outline: 2px solid var(--xama-flame);
  outline-offset: 3px;
}

.xama-player__frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.xama-pager--entry {
  margin-top: 28px;
}

.xama-results {
  flex: 1;
}

.xama-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  margin: 0 0 16px;
  border-bottom: 1px solid var(--xama-line);
}

.xama-filters__item {
  padding: 12px 4px 10px;
  border-bottom: 3px solid transparent;
  color: var(--xama-muted);
  font-size: 0.9rem;
  margin-bottom: -1px;
}

.xama-filters__item:hover {
  text-decoration: none;
  color: var(--xama-black);
}

.xama-filters__item.is-active {
  color: var(--xama-flame);
  border-bottom-color: var(--xama-flame);
  font-weight: 650;
}

.xama-empty {
  color: var(--xama-muted);
}

.xama-empty p + p {
  margin-top: 8px;
}

.xama-empty__links {
  display: flex;
  gap: 16px;
}

.xama-results__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.xama-result {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 10px 0;
}

.xama-result__body {
  min-width: 0;
  flex: 1;
}

.xama-result__type {
  margin: 0 0 2px;
  color: var(--xama-muted);
  font-size: 0.78rem;
}

.xama-result__title {
  margin: 0 0 3px;
  font-size: 1.15rem;
  font-weight: 500;
}

.xama-result__thumb {
  flex-shrink: 0;
  width: 80px;
  height: 80px;
  border-radius: 8px;
  overflow: hidden;
  background: var(--xama-cream);
}

.xama-result__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.xama-result--media .xama-result__excerpt {
  padding-right: 0;
}

.xama-visuals {
  margin: 0 0 14px;
}

.xama-visuals__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.xama-visuals__list a {
  display: block;
  overflow: hidden;
  border-radius: 8px;
  background: var(--xama-cream);
  aspect-ratio: 4 / 3;
}

.xama-visuals__list img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.xama-visuals__more {
  margin: 8px 0 0;
  font-size: 0.88rem;
}

.xama-visuals__more a {
  color: var(--xama-flame);
}

.xama-images {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 10px;
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
}

.xama-images a {
  display: block;
  color: var(--xama-muted);
  text-decoration: none;
}

.xama-images img {
  display: block;
  width: 100%;
  height: 140px;
  object-fit: cover;
  border-radius: 8px;
  background: var(--xama-cream);
}

.xama-images__cap {
  display: block;
  margin-top: 6px;
  font-size: 0.8rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 639px) {
  .xama-visuals__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .xama-result__thumb {
    width: 64px;
    height: 64px;
  }

  .xama-images img {
    height: 120px;
  }
}

.xama-result__title a {
  color: var(--xama-black);
}

.xama-result__title a:hover {
  text-decoration: underline;
}

.xama-result__excerpt,
.xama-result__meta,
.xama-results__count {
  color: var(--xama-muted);
  margin: 0;
}

.xama-account__name {
  font-size: 1.2rem;
  font-weight: 600;
  margin: 0 0 8px;
}

.xama-account__hint {
  color: var(--xama-muted);
}

.xama-account__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}

.xama-copy-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 0 0 20px;
}

.xama-copy-row input {
  flex: 1 1 180px;
  min-width: 0;
  border: 1px solid var(--xama-line);
  border-radius: 12px;
  padding: 10px 12px;
  font: inherit;
  background: var(--xama-cream);
  color: var(--xama-muted);
}

.xama-footer {
  margin-top: auto;
  background: #f2f2f2;
  color: var(--xama-muted);
  border-top: 1px solid var(--xama-line);
}

.xama-footer--results {
  background: transparent;
  border-top: 1px solid var(--xama-line);
}

.xama-footer__inner {
  max-width: var(--xama-layout-max-width);
  margin: 0 auto;
  padding: 14px var(--xama-page-gutter);
  display: flex;
  flex-wrap: wrap;
  gap: 8px 28px;
  justify-content: center;
}

.xama-footer--home .xama-footer__inner {
  justify-content: space-between;
}

.xama-footer--home .xama-footer__links--end {
  margin-left: auto;
}

.xama-footer--home .xama-place {
  color: inherit;
}

.xama-footer__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 22px;
  margin: 0;
  font-size: 0.82rem;
}

.xama-footer a {
  color: var(--xama-muted);
  padding: 6px 0;
}

.xama-footer a:hover {
  color: var(--xama-black);
}

.xama-place {
  flex-basis: 100%;
  margin: 4px 0 0;
  text-align: center;
  font-size: 0.82rem;
}

.xama-place summary {
  cursor: pointer;
  color: var(--xama-muted);
  list-style: none;
}

.xama-place summary::-webkit-details-marker {
  display: none;
}

.xama-place summary:hover,
.xama-place__line .xama-text-btn:hover {
  color: var(--xama-black);
}

.xama-place__line {
  margin: 0;
}

.xama-place__line .xama-text-btn {
  color: var(--xama-muted);
  font: inherit;
}

.xama-place__form {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px 12px;
  margin: 10px auto 0;
  max-width: 520px;
}

.xama-place__form label {
  color: var(--xama-muted);
}

.xama-place__form input {
  min-height: 36px;
  max-width: 180px;
  padding: 4px 8px;
  border: 0;
  border-bottom: 1px solid var(--xama-line);
  background: transparent;
  font: inherit;
  color: var(--xama-black);
}

.xama-place__form input#xama-place-state {
  max-width: 72px;
}

.xama-place__actions {
  flex-basis: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 16px;
  margin: 4px 0 0;
}

.xama-place__msg {
  flex-basis: 100%;
  margin: 8px 0 0;
  color: var(--xama-muted);
  font-size: 0.78rem;
}

.xama-local {
  margin: 0 0 28px;
}

.xama-local__title {
  margin: 0 0 12px;
  font-size: 0.95rem;
  font-weight: 650;
}

.xama-local__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.xama-local__item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 10px 0;
  border-bottom: 1px solid var(--xama-line);
}

.xama-local__item:last-child {
  border-bottom: 0;
}

.xama-local__body {
  flex: 1;
  min-width: 0;
}

.xama-local__name {
  margin: 0;
  font-size: 1rem;
  font-weight: 650;
}

.xama-local__cat,
.xama-local__where,
.xama-local__excerpt {
  margin: 2px 0 0;
  color: var(--xama-muted);
  font-size: 0.88rem;
}

.xama-local__photo img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 50%;
}

@media (max-width: 1024px) {
  .xama-app {
    --xama-page-gutter: 16px;
  }
}

@media (max-width: 767px) {
  .xama-header:not(.xama-header--home) .xama-header__inner {
    flex-wrap: wrap;
  }

  .xama-header:not(.xama-header--home) .xama-header__logo {
    flex: 0 0 auto;
    width: auto;
  }

  .xama-header:not(.xama-header--home) .xama-header__search {
    order: 3;
    flex-basis: 100%;
    max-width: none;
  }

  .xama-shell,
  .xama-page-shell,
  .xama-content-container,
  .xama-page,
  .xama-results,
  .xama-results--images,
  .xama-entry,
  .xama-comments {
    display: block;
    max-width: none;
    padding-left: var(--xama-page-gutter);
    padding-right: var(--xama-page-gutter);
  }

  .xama-shell > *,
  .xama-page-shell > *,
  .xama-content-container > *,
  .xama-page > *,
  .xama-results > *,
  .xama-entry > *,
  .xama-comments > * {
    grid-column: auto;
  }

  .xama-footer--home .xama-footer__inner {
    justify-content: center;
  }
}

@media (max-width: 480px) {
  .xama-search__bar {
    padding: 6px;
    gap: 4px;
  }

  .xama-search__icon {
    display: none;
  }

  .xama-btn--search {
    padding: 0 14px;
  }

  .xama-apps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    right: -8px;
  }
}

.xama-notice {
  margin: 0 0 16px;
  padding: 10px 14px;
  border-radius: 10px;
  font-size: 0.95rem;
}

.xama-notice--ok {
  background: #eef8e8;
  color: #215c21;
}

.xama-notice--error {
  background: #fdecef;
  color: #8a1030;
}

.xama-hub {
  margin: 0 0 8px;
}

.xama-hub__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 4px;
}

.xama-hub__title,
.xama-archive__head.xama-hub__top .xama-archive__title {
  margin: 0 0 6px;
}

.xama-hub__lead {
  margin: 0;
  color: var(--xama-muted);
  font-size: 0.95rem;
}

.xama-btn--new {
  flex-shrink: 0;
  background: var(--xama-flame);
  min-height: 40px;
  padding: 0 16px;
  white-space: nowrap;
}

.xama-hub__section {
  margin: 28px 0 4px;
  font-size: 1.05rem;
  font-weight: 650;
}

.xama-cat-list,
.xama-topic-list {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
}

.xama-cat {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  gap: 10px 12px;
  padding: 14px 0;
  border-bottom: 1px solid var(--xama-line);
  align-items: start;
}

.xama-cat__icon {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--xama-cream);
  color: var(--xama-forest);
}

.xama-cat__title {
  margin: 0;
  font-size: 1.02rem;
  font-weight: 650;
}

.xama-cat__title a {
  color: var(--xama-black);
}

.xama-cat__title a:hover {
  color: var(--xama-flame);
  text-decoration: none;
}

.xama-cat__intro,
.xama-cat__forums,
.xama-cat__activity,
.xama-cat__count {
  margin: 4px 0 0;
  color: var(--xama-muted);
  font-size: 0.85rem;
}

.xama-cat__forums a,
.xama-cat__activity a {
  color: var(--xama-forest);
}

.xama-cat__subs {
  color: var(--xama-muted);
}

.xama-cat__count {
  margin: 0;
  text-align: right;
  white-space: nowrap;
}

.xama-topic-row {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  gap: 10px 14px;
  padding: 14px 0;
  border-bottom: 1px solid var(--xama-line);
  align-items: start;
}

.xama-topic-row__avatar img,
.xama-topic-row__avatar .xama-avatar__img,
.xama-topic-row__avatar .xama-avatar__initials {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
}

.xama-topic-row__flags:not(:has(.xama-badge)) {
  display: none;
}

.xama-topic-row__flags {
  margin: 0 0 4px;
}

.xama-badge {
  display: inline-block;
  margin-right: 8px;
  color: var(--xama-flame);
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.xama-badge--muted {
  color: var(--xama-muted);
}

.xama-topic-row__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 650;
}

.xama-topic-row__title a {
  color: var(--xama-black);
}

.xama-topic-row__title a:hover {
  color: var(--xama-flame);
  text-decoration: none;
}

.xama-topic-row__excerpt,
.xama-topic-row__meta,
.xama-topic-row__stats {
  margin: 4px 0 0;
  color: var(--xama-muted);
  font-size: 0.85rem;
}

.xama-topic-row__stats {
  margin: 0;
  text-align: right;
  white-space: nowrap;
}

.xama-form--topic {
  margin-top: 8px;
}

@media (max-width: 640px) {
  .xama-hub__top,
  .xama-archive__head.xama-hub__top {
    flex-direction: column;
  }

  .xama-cat,
  .xama-topic-row {
    grid-template-columns: 36px minmax(0, 1fr);
  }

  .xama-cat__count,
  .xama-topic-row__stats {
    grid-column: 2;
    text-align: left;
    white-space: normal;
  }
}

.xama-entry__badges {
  margin: 0 0 16px;
  color: var(--xama-flame);
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.xama-comments {
  padding-top: 0;
  border-top: 0;
}

.xama-comments > .xama-comments__bar {
  border-top: 1px solid var(--xama-line);
  padding-top: 28px;
}

.xama-entry--split + .xama-comments,
.xama-entry--video + .xama-comments {
  --xama-content-max-width: 720px;
}

.xama-comments__bar {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 16px;
}

.xama-comments h2,
.xama-comments__bar h2 {
  font-size: 1.15rem;
  margin: 0;
}

.xama-comments__count {
  margin: 0;
  color: var(--xama-muted);
  font-size: 0.92rem;
}

.xama-comments__list,
.xama-comment__children {
  list-style: none;
  margin: 0;
  padding: 0;
}

.xama-comment {
  padding: 18px 0;
  border-top: 1px solid var(--xama-line);
}

.xama-comment__card {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 2px 12px;
  align-items: start;
}

.xama-comment__main {
  min-width: 0;
}

.xama-comment__children {
  margin: 4px 0 0 20px;
  padding: 0 0 0 16px;
  border-left: 2px solid var(--xama-line);
}

.xama-comment__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  margin: 0 0 6px;
}

.xama-comment__by {
  min-width: 0;
}

.xama-comment__avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
}

.xama-comment__author {
  margin: 0;
  font-weight: 650;
  line-height: 1.3;
}

.xama-solution-badge {
  display: inline-block;
  margin-left: 8px;
  padding: 1px 8px;
  border-radius: 999px;
  background: #d6fa40;
  color: var(--xama-black);
  font-size: 0.7rem;
  font-weight: 700;
  vertical-align: middle;
}

.xama-comment--solution .xama-comment__card {
  box-shadow: inset 3px 0 0 #d6fa40;
}

.xama-comment__author a {
  color: var(--xama-black);
}

.xama-app .xama-comment__author a {
  color: var(--xama-black);
}

.xama-comment__author a:hover {
  color: var(--xama-flame);
}

.xama-comment__head time,
.xama-comment__actions,
.xama-form__hint {
  color: var(--xama-muted);
  font-size: 0.82rem;
}

.xama-comment__head time {
  display: block;
  margin-top: 2px;
}

.xama-comment__body {
  font-size: 1rem;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.xama-comment__body p {
  margin: 0 0 0.7em;
}

.xama-comment__body p:last-child {
  margin-bottom: 0;
}

.xama-comment__body blockquote {
  margin: 0 0 12px;
  padding: 8px 12px;
  border-left: 3px solid var(--xama-flame);
  background: var(--xama-cream);
  border-radius: 0 10px 10px 0;
  color: var(--xama-muted);
}

.xama-comment__body blockquote p {
  margin: 0 0 0.4em;
}

.xama-comment__body blockquote p:last-child {
  margin-bottom: 0;
}

.xama-comment__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 4px;
  margin: 8px 0 0;
  align-items: center;
}

.xama-text-btn,
.xama-link-btn,
.xama-inline-form button,
.xama-mod-bar button {
  border: 0;
  background: none;
  padding: 6px 8px;
  margin: 0;
  min-height: 36px;
  border-radius: 8px;
  color: var(--xama-muted);
  cursor: pointer;
  font: inherit;
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
}

.xama-text-btn:hover,
.xama-link-btn:hover,
.xama-inline-form button:hover,
.xama-mod-bar button:hover {
  color: var(--xama-flame);
  background: transparent;
  text-decoration: none;
}

.xama-text-btn:focus-visible,
.xama-more__btn:focus-visible,
.xama-more__menu a:focus-visible,
.xama-more__menu button:focus-visible,
.xama-form textarea:focus-visible,
.xama-btn:focus-visible {
  outline: 2px solid var(--xama-flame);
  outline-offset: 2px;
}

.xama-more {
  position: relative;
  flex-shrink: 0;
}

.xama-more > summary {
  list-style: none;
}

.xama-more > summary::-webkit-details-marker {
  display: none;
}

.xama-more__btn {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--xama-muted);
  cursor: pointer;
  font-size: 1.15rem;
  line-height: 1;
}

.xama-more[open] > .xama-more__btn,
.xama-more__btn:hover {
  background: var(--xama-cream);
  color: var(--xama-black);
}

.xama-more__menu {
  position: absolute;
  right: 0;
  top: calc(100% + 4px);
  z-index: 40;
  min-width: 168px;
  padding: 6px;
  background: var(--xama-white);
  border: 1px solid var(--xama-line);
  border-radius: 12px;
  box-shadow: 0 8px 28px rgba(23, 23, 23, 0.1);
}

.xama-more__menu a,
.xama-more__menu button {
  display: block;
  width: 100%;
  text-align: left;
  padding: 8px 10px;
  border: 0;
  background: none;
  border-radius: 8px;
  font: inherit;
  font-size: 0.9rem;
  color: var(--xama-black);
  cursor: pointer;
  text-decoration: none;
}

.xama-more__menu a:hover,
.xama-more__menu button:hover {
  background: var(--xama-cream);
  text-decoration: none;
}

.xama-more__menu .is-danger {
  color: var(--xama-flame);
}

.xama-more__form {
  margin: 0;
}

.xama-reply {
  margin: 0 0 20px;
  padding-top: 0;
}

.xama-reply .xama-empty {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
}

.xama-reply .xama-empty .xama-btn {
  text-decoration: none;
}

.xama-reply__context,
.xama-reply__quote {
  margin: 0 0 10px;
  color: var(--xama-muted);
  font-size: 0.9rem;
}

.xama-reply__context.is-on,
.xama-reply__quote:not([hidden]) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.xama-reply__quote {
  flex-direction: column;
  align-items: flex-start;
  padding: 10px 12px;
  border-left: 3px solid var(--xama-flame);
  background: var(--xama-cream);
  border-radius: 0 10px 10px 0;
}

.xama-reply__quote-label {
  margin: 0;
}

.xama-reply__quote blockquote {
  margin: 0;
  color: var(--xama-black);
}

.xama-form--reply textarea,
.xama-form--edit textarea {
  min-height: 48px;
  max-height: 280px;
  resize: none;
  overflow: hidden;
  border-radius: 14px;
  padding: 12px 14px;
}

.xama-form__bar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
}

.xama-form--reply .xama-btn,
.xama-form--edit .xama-btn {
  justify-self: end;
}

.xama-btn--flame {
  background: var(--xama-flame);
  color: var(--xama-white);
}

.xama-btn:disabled {
  opacity: 0.65;
  cursor: wait;
}

.xama-form {
  display: grid;
  gap: 8px;
  margin: 16px 0 0;
}

.xama-form label {
  font-weight: 600;
  font-size: 0.92rem;
}

.xama-form input[type="text"],
.xama-form input[type="url"],
.xama-form select,
.xama-form textarea {
  width: 100%;
  border: 1px solid var(--xama-line);
  border-radius: 12px;
  padding: 10px 12px;
  font: inherit;
  background: var(--xama-white);
  color: var(--xama-black);
}

.xama-form .xama-btn {
  justify-self: start;
}

.xama-form--reply .xama-btn,
.xama-form--edit .xama-btn {
  justify-self: end;
}

.xama-mod-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  margin-top: 18px;
  padding-top: 12px;
  border-top: 1px solid var(--xama-line);
}

.xama-account__photo {
  margin-bottom: 12px;
}

.xama-account__photo .xama-avatar__img,
.xama-account__photo .xama-avatar__initials,
.xama-comment__avatar.xama-avatar__initials {
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  background: var(--xama-cream);
  color: var(--xama-forest);
  font-weight: 700;
}

.xama-account__photo .xama-avatar__img,
.xama-account__photo .xama-avatar__initials {
  width: 96px;
  height: 96px;
  font-size: 1.6rem;
}

.xama-comment__avatar.xama-avatar__initials {
  width: 40px;
  height: 40px;
  font-size: 0.8rem;
}

.xama-avatar__initials {
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--xama-cream);
  color: var(--xama-forest);
  font-size: 0.75rem;
  font-weight: 700;
}

.xama-hp {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

@media (max-width: 767px) {
  .xama-comment__children {
    margin-left: 8px;
    padding-left: 10px;
  }

  .xama-comment__card {
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 2px 10px;
  }

  .xama-comment__avatar,
  .xama-comment__avatar.xama-avatar__initials {
    width: 32px;
    height: 32px;
  }
}

@media (prefers-color-scheme: dark) {
  .xama-footer--home {
    background: #171717;
    border-top-color: #2b2b2b;
  }

  .xama-footer--home a {
    color: #b0b0b0;
  }

  .xama-footer--home a:hover {
    color: #ffffff;
  }
}

.xama-krp {
  margin: 28px 0 8px;
  padding-top: 20px;
  border-top: 1px solid var(--xama-line);
}

.xama-krp h2 {
  margin: 0 0 12px;
  font-size: 1.15rem;
}

.xama-krp h3 {
  margin: 18px 0 8px;
  font-size: 0.95rem;
  font-weight: 650;
}

.xama-krp__balance {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}

.xama-krp__balance strong {
  color: var(--xama-flame);
  font-size: 1.45rem;
  font-weight: 700;
}

.xama-krp__icon {
  display: grid;
  place-items: center;
}

.xama-krp__icon img {
  display: block;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
}

.xama-krp__hint,
.xama-krp__empty,
.xama-krp__when {
  color: var(--xama-muted);
  font-size: 0.88rem;
}

.xama-krp__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.xama-krp__list li {
  display: grid;
  grid-template-columns: 5.2rem minmax(0, 1fr) auto;
  gap: 8px;
  padding: 8px 0;
  border-bottom: 1px solid var(--xama-line);
  font-size: 0.9rem;
}

.xama-krp__amt {
  font-weight: 650;
}

.xama-handle-field {
  display: flex;
  align-items: center;
  gap: 4px;
}

.xama-handle-field span {
  color: var(--xama-muted);
  font-weight: 650;
}

.xama-form__prefs {
  border: 1px solid var(--xama-line);
  border-radius: 12px;
  padding: 12px 14px;
  margin: 8px 0;
  display: grid;
  gap: 8px;
}

.xama-form__prefs legend {
  font-weight: 650;
  padding: 0 6px;
}

.xama-form__prefs label {
  font-weight: 500;
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.xama-profile__head {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  margin-bottom: 20px;
}

.xama-profile__avatar .xama-avatar__img {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}

.xama-profile__id h1 {
  margin: 0 0 4px;
  font-size: 1.7rem;
}

.xama-profile__handle {
  margin: 0 0 6px;
  color: var(--xama-flame);
  font-weight: 650;
}

.xama-profile__joined,
.xama-profile__meta,
.xama-profile__empty,
.xama-profile__item-meta,
.xama-profile__hint {
  color: var(--xama-muted);
  margin: 0 0 6px;
  font-size: 0.9rem;
}

.xama-profile__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.xama-profile__bio {
  margin: 0 0 22px;
  line-height: 1.5;
}

.xama-profile__questions {
  display: grid;
  gap: 12px;
  margin: 0 0 22px;
}

.xama-profile__block {
  border: 1px solid var(--xama-line);
  border-radius: 16px;
  padding: 14px 16px;
}

.xama-profile__block h2 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 8px;
  font-size: 1rem;
}

.xama-profile__block p {
  margin: 0;
  line-height: 1.45;
}

.xama-profile__ico {
  color: var(--xama-forest);
  display: grid;
  place-items: center;
}

.xama-profile__contrib h2 {
  margin: 28px 0 12px;
  font-size: 1.15rem;
}

.xama-profile__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.xama-profile__list li {
  padding: 12px 0;
  border-bottom: 1px solid var(--xama-line);
}

.xama-profile__list a {
  font-weight: 650;
  color: var(--xama-black);
}

.xama-profile__list p {
  margin: 4px 0 0;
  color: var(--xama-muted);
  font-size: 0.9rem;
}

@media (max-width: 640px) {
  .xama-profile__head {
    flex-direction: column;
    align-items: flex-start;
  }

  .xama-profile__actions {
    width: 100%;
  }

  .xama-krp__list li {
    grid-template-columns: 1fr auto;
  }

  .xama-krp__when {
    grid-column: 1 / -1;
  }
}

.xama-app .screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.xama-panel__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px 24px;
  margin-bottom: 8px;
}

.xama-panel__head h1 {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 650;
}

.xama-panel__nav {
  margin: 0;
}

.xama-panel__periods {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 3px;
  background: var(--xama-cream);
  border: 1px solid var(--xama-line);
  border-radius: var(--xama-radius-sm);
  margin: 0 0 24px;
}

.xama-panel__periods a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 14px;
  font-size: 0.84rem;
  font-weight: 500;
  color: var(--xama-muted);
  text-decoration: none;
  border-radius: 6px;
  transition: all 0.15s ease;
}

.xama-panel__periods a:hover {
  color: var(--xama-black);
  text-decoration: none;
}

.xama-panel__periods a.is-on {
  background: #fff;
  color: var(--xama-black);
  font-weight: 600;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.07);
}

.xama-panel__lead,
.xama-panel h2 {
  margin: 28px 0 10px;
  font-size: 1rem;
  font-weight: 650;
}

.xama-panel__lead {
  margin-top: 0;
  font-weight: 400;
  color: var(--xama-muted);
}

.xama-panel__stats {
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.xama-panel__stats--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.xama-panel__stats li,
.xama-panel-stat-card {
  margin: 0;
  min-width: 0;
  padding: 18px 20px;
  border-radius: var(--xama-radius-sm);
  border: 1px solid var(--xama-line);
  background: #fff;
  display: flex;
  flex-direction: column;
  transition: border-color 0.15s ease;
}

.xama-panel__stats li:hover,
.xama-panel-stat-card:hover {
  border-color: #cfcac0;
}

.xama-panel__stats strong {
  display: block;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.1;
  color: var(--xama-black);
}

.xama-panel__stats span {
  display: block;
  margin-top: 6px;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--xama-black);
}

.xama-panel__stats small {
  display: block;
  margin-top: 4px;
  color: var(--xama-muted);
  font-size: 0.82rem;
  line-height: 1.4;
}

/* Recent registrations elevated card */
.xama-panel-recent-section {
  margin-top: 8px;
}

.xama-panel-recent-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.xama-panel-recent-header h2 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 650;
  color: var(--xama-black);
}

.xama-panel-recent-count {
  font-size: 0.82rem;
  color: var(--xama-muted);
}

.xama-panel-recent-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-radius: var(--xama-radius-sm);
  border: 1px solid var(--xama-line);
  background: #fff;
  overflow: hidden;
}

.xama-panel-recent-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 18px;
  border-bottom: 1px solid var(--xama-line);
  transition: background 0.15s ease;
}

.xama-panel-recent-list li:last-child {
  border-bottom: 0;
}

.xama-panel-recent-list li:hover {
  background: #faf9f6;
}

.xama-recent-member-profile {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.xama-recent-member-avatar {
  flex-shrink: 0;
}

.xama-recent-member-avatar img,
.xama-recent-member-avatar .avatar,
.xama-recent-member-avatar .xama-avatar__initials {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  font-weight: 600;
}

.xama-recent-member-meta {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.xama-recent-member-name {
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--xama-black);
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.xama-recent-member-name:hover {
  color: var(--xama-flame);
  text-decoration: none;
}

.xama-recent-member-handle {
  font-size: 0.8rem;
  color: var(--xama-muted);
}

.xama-recent-member-date {
  font-size: 0.84rem;
  color: var(--xama-muted);
  flex-shrink: 0;
  white-space: nowrap;
}

@media (max-width: 900px) {
  .xama-panel__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .xama-panel__stats {
    grid-template-columns: 1fr;
  }

  .xama-panel-recent-list li {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}

.xama-panel__bars {
  list-style: none;
  margin: 0;
  padding: 0;
}

.xama-panel__bars li {
  display: grid;
  grid-template-columns: 3.2rem minmax(0, 1fr) 2rem;
  gap: 8px;
  align-items: center;
  margin: 6px 0;
  color: var(--xama-muted);
  font-size: 0.82rem;
}

.xama-panel__bars i {
  display: block;
  height: 6px;
  background: var(--xama-black);
  border-radius: 99px;
}

.xama-panel__list,
.xama-panel__tree,
.xama-panel__ops {
  list-style: none;
  margin: 0;
  padding: 0;
}

.xama-panel__list li,
.xama-panel__ops li,
.xama-panel__forum {
  padding: 12px 0;
  border-bottom: 1px solid var(--xama-line);
}

.xama-panel__list li,
.xama-panel__forum > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 4px 16px;
}

.xama-panel__list span,
.xama-panel__forum span {
  color: var(--xama-muted);
  font-size: 0.88rem;
}

.xama-panel__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  margin: 8px 0 0;
}

.xama-panel__actions form {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
}

.xama-panel__ops p {
  margin: 0;
  font-weight: 600;
}

.xama-panel__ops small {
  display: block;
  margin-top: 4px;
  color: var(--xama-muted);
}

.xama-panel__tree {
  margin-top: 24px;
}

.xama-panel__forum {
  padding-left: calc(var(--xama-depth, 0) * 16px);
}

.xama-panel__forum ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.xama-panel__find {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0 20px;
}

.xama-panel__find input,
.xama-panel__find select {
  flex: 1 1 10rem;
  min-width: 0;
  border: 1px solid var(--xama-line);
  border-radius: 12px;
  padding: 10px 12px;
  font: inherit;
  background: var(--xama-white);
}

.xama-panel__pages {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.xama-panel__pages a.is-active {
  color: var(--xama-flame);
}

.xama-form input[type="number"],
.xama-form input[type="search"],
.xama-form input[type="email"] {
  width: 100%;
  border: 1px solid var(--xama-line);
  border-radius: 12px;
  padding: 10px 12px;
  font: inherit;
  background: var(--xama-white);
  color: var(--xama-black);
}

@media (min-width: 768px) {
  .xama-panel__stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .xama-panel__stats--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .xama-panel__stats,
  .xama-panel__stats--3 {
    grid-template-columns: 1fr 1fr;
  }

  .xama-panel__stats strong {
    font-size: 1.4rem;
  }

  .xama-panel__find {
    flex-direction: column;
  }
}

.xama-biz-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin: 0 0 24px;
}

.xama-biz-steps__item {
  color: var(--xama-muted);
  text-decoration: none;
}

.xama-biz-steps__item.is-active {
  color: var(--xama-flame);
}

.xama-biz-edit__live {
  margin: 0 0 16px;
}

.xama-biz__head {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin: 0 0 16px;
}

.xama-biz__head h1 {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 600;
}

.xama-biz__logo {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 12px;
  flex: 0 0 auto;
}

.xama-biz__meta,
.xama-biz__region,
.xama-biz__hours,
.xama-biz__address,
.xama-biz__owner {
  margin: 0 0 12px;
  color: var(--xama-muted);
}

.xama-biz__desc {
  margin: 0 0 16px;
}

.xama-biz__services {
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}

.xama-biz__services li {
  padding: 2px 0;
}

.xama-biz__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  margin: 8px 0 20px;
}

.xama-biz-map {
  margin: 16px 0 0;
}

.xama-biz-map__canvas {
  width: 100%;
  height: 280px;
  border-radius: 12px;
}

.xama-biz-map__attr {
  margin: 6px 0 0;
  color: var(--xama-muted);
  font-size: 0.75rem;
}

.xama-biz-hit {
  display: flex;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--xama-line);
}

.xama-biz-hit__logo {
  flex: 0 0 auto;
}

.xama-biz-hit__logo img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 8px;
}

.xama-biz-hit__body {
  min-width: 0;
}

.xama-biz-hit .xama-result__title {
  margin: 0;
  font-size: 1.05rem;
}

.xama-biz-hit__meta,
.xama-biz-hit__act {
  margin: 2px 0 0;
  color: var(--xama-muted);
  font-size: 0.9rem;
}

.xama-biz-search__toggle {
  margin: 12px 0;
}

@media (min-width: 900px) {
  .xama-biz-search--map {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 38%);
    gap: 24px;
    align-items: start;
  }

  .xama-biz-search--map .xama-biz-search__toggle {
    display: none;
  }

  .xama-biz-search--map .xama-biz-map {
    position: sticky;
    top: calc(var(--xama-header-height) + 12px);
  }

  .xama-biz-search--map .xama-biz-map__canvas {
    height: 420px;
  }
}

.xama-route-invite .xama-main {
  display: block;
}

.xama-invite {
  padding-top: 40px;
  padding-bottom: 80px;
}

.xama-invite__hero h1 {
  margin: 0 0 22px;
  font-size: clamp(2.15rem, 5.4vw, 3.25rem);
  font-weight: 560;
  letter-spacing: -0.028em;
  line-height: 1.1;
}

.xama-invite__lead,
.xama-invite__block p,
.xama-invite__legal,
.xama-invite__hold {
  margin: 0 0 16px;
  color: var(--xama-muted);
}

.xama-invite__line {
  margin: 0 0 32px;
  font-size: 1.2rem;
}

.xama-invite__cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 18px;
  margin: 0 0 16px;
}

.xama-invite__go {
  background: var(--xama-flame);
  color: var(--xama-white);
}

.xama-invite__go:hover,
.xama-invite__go:focus-visible {
  filter: none;
  color: var(--xama-white);
}

.xama-invite__cta span,
.xama-invite__equiv {
  color: var(--xama-muted);
}

.xama-invite__member,
.xama-invite__links {
  margin: 0;
}

.xama-invite__member a,
.xama-invite__links a {
  color: var(--xama-muted);
  margin-right: 16px;
}

.xama-invite__notice {
  margin: 0 0 32px;
}

.xama-invite__notice strong {
  display: block;
  margin-bottom: 4px;
  font-weight: 560;
}

.xama-invite__block {
  margin: 64px 0 0;
}

.xama-invite__block h2,
.xama-invite__offer h2 {
  margin: 0 0 12px;
  font-size: 1.4rem;
  font-weight: 560;
  letter-spacing: -0.02em;
}

.xama-invite__asks,
.xama-invite__mods {
  margin: 28px 0 0;
}

.xama-invite__asks > div,
.xama-invite__mods > div {
  padding: 16px 0;
  border-top: 1px solid var(--xama-line);
}

.xama-invite__asks dt {
  margin: 0 0 6px;
  font-size: 1.2rem;
  font-weight: 560;
}

.xama-invite__mods dt {
  margin: 0 0 4px;
  font-weight: 560;
}

.xama-invite__asks dd,
.xama-invite__mods dd {
  margin: 0;
  color: var(--xama-muted);
}

.xama-invite__offer {
  margin: 72px 0 0;
  scroll-margin-top: calc(var(--xama-header-height) + 12px);
}

.xama-invite__price {
  margin: 0 0 8px;
  font-size: 2rem;
  font-weight: 560;
  letter-spacing: -0.03em;
}

.xama-invite__offer ul {
  margin: 16px 0 24px;
  padding: 0;
  list-style: none;
}

.xama-invite__offer li {
  padding: 4px 0;
}

@media (max-width: 640px) {
  .xama-invite {
    padding-top: 20px;
    padding-bottom: 56px;
  }

  .xama-invite__block,
  .xama-invite__offer {
    margin-top: 44px;
  }
}

/* ==========================================================================
   XAMA YouTube Integration & Search
   ========================================================================== */

.xama-result__thumb--video {
  width: 120px;
  height: 68px;
  aspect-ratio: 16 / 9;
  position: relative;
  background: var(--xama-black);
}

.xama-result__thumb--video img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.xama-result__badge {
  position: absolute;
  right: 4px;
  bottom: 4px;
  padding: 1px 4px;
  background: rgba(0, 0, 0, 0.78);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 500;
  line-height: 1.2;
  border-radius: 3px;
  font-variant-numeric: tabular-nums;
  pointer-events: none;
}

.xama-channel-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 20px;
}

.xama-channel-filter {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  font-size: 0.85rem;
  color: var(--xama-muted);
  background: var(--xama-cream, #f8f8f8);
  border: 1px solid var(--xama-line, #eee);
  border-radius: 999px;
  text-decoration: none;
  transition: all 0.15s ease;
}

.xama-channel-filter:hover {
  color: var(--xama-black);
  border-color: #ccc;
  text-decoration: none;
}

.xama-channel-filter.is-active {
  color: #fff;
  background: var(--xama-black, #171717);
  border-color: var(--xama-black, #171717);
}

/* Video single presentation */
.xama-video-page .xama-entry__stage {
  margin: 20px 0 16px;
}

.xama-video-badge {
  display: inline-flex;
  align-items: center;
  color: #e02424;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.xama-video-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 14px 0 28px;
}

.xama-video-official-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.9rem;
  color: var(--xama-muted);
  text-decoration: none;
}

.xama-video-official-link:hover {
  color: var(--xama-pink, #FF0050);
  text-decoration: underline;
}

.xama-video-description {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--xama-line);
}

.xama-video-section-title {
  margin: 0 0 12px;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--xama-black);
}

.xama-video-text {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #333;
  word-break: break-word;
}

/* Panel YouTube administration */
.xama-panel-youtube {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.xama-panel-status-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 20px;
  border-radius: var(--xama-radius-sm);
  border: 1px solid var(--xama-line);
  background: #fff;
}

.xama-panel-status-body {
  display: flex;
  align-items: center;
  gap: 12px;
}

.xama-status-indicator {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #999;
  flex-shrink: 0;
}

.xama-panel-status--connected .xama-status-indicator {
  background: #10b981;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.16);
}

.xama-panel-status--config_needed .xama-status-indicator,
.xama-panel-status--quota_exceeded .xama-status-indicator {
  background: #f59e0b;
}

.xama-panel-status--auth_failed .xama-status-indicator,
.xama-panel-status--api_error .xama-status-indicator {
  background: #ef4444;
}

.xama-panel-status-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
}

.xama-panel-status-sync-time {
  margin: 2px 0 0;
  font-size: 0.85rem;
  color: var(--xama-muted);
}

.xama-panel-status-sync-time span {
  color: var(--xama-black);
}

.xama-sync-action-form {
  margin: 0;
  flex-shrink: 0;
}

.xama-youtube-channels-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.xama-youtube-channel-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px;
  border-radius: var(--xama-radius-sm);
  border: 1px solid var(--xama-line);
  background: #fff;
  transition: border-color 0.15s ease;
}

.xama-youtube-channel-card:hover {
  border-color: #cfcac0;
}

.xama-youtube-channel-avatar {
  flex-shrink: 0;
}

.xama-youtube-channel-avatar img {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}

.xama-youtube-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--xama-cream);
  color: #e02424;
}

.xama-youtube-channel-info {
  flex: 1;
  min-width: 0;
}

.xama-youtube-channel-name {
  margin: 0 0 2px;
  font-size: 0.95rem;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.xama-youtube-channel-name a {
  color: var(--xama-black);
  text-decoration: none;
}

.xama-youtube-channel-name a:hover {
  text-decoration: underline;
}

.xama-youtube-channel-count {
  margin: 0;
  font-size: 0.84rem;
  color: var(--xama-muted);
}

.xama-youtube-channel-count strong {
  color: var(--xama-black);
  font-weight: 600;
}

@media (max-width: 820px) {
  .xama-youtube-channels-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .xama-result__thumb--video {
    width: 96px;
    height: 54px;
  }

  .xama-panel-status-card {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }

  .xama-sync-action-form {
    width: 100%;
  }

  .xama-sync-action-form .xama-btn {
    width: 100%;
  }
}

/* ==========================================================================
   XAMA Unified Identity — Estilos Minimalistas Apple-Inspired
   ========================================================================== */

.xama-account-page {
  max-width: 760px;
  margin: 0 auto;
  padding-bottom: 48px;
}

/* Cabeçalho da Conta */
.xama-acc-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  padding: 24px 0 20px;
  border-bottom: 1px solid var(--xama-line);
  margin-bottom: 20px;
}

.xama-acc-header__main {
  display: flex;
  align-items: center;
  gap: 18px;
}

.xama-acc-avatar-wrap {
  position: relative;
  width: 88px;
  height: 88px;
  border-radius: 50%;
  flex-shrink: 0;
}

.xama-acc-avatar__img {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}

.xama-acc-avatar-badge {
  position: absolute;
  right: -2px;
  bottom: -2px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--xama-black, #171717);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  transition: transform 0.15s ease, background-color 0.15s ease;
}

.xama-acc-avatar-badge:hover {
  background: var(--xama-pink, #ff0050);
  transform: scale(1.08);
}

.xama-acc-header__name {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--xama-black, #171717);
  margin: 0 0 2px;
  letter-spacing: -0.02em;
}

.xama-acc-header__handle {
  font-size: 0.94rem;
  color: var(--xama-smoke, #737373);
  margin: 0 0 8px;
}

.xama-acc-header__badges {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

.xama-acc-header__actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Badges e Pílulas */
.xama-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 9999px;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -0.01em;
}

.xama-badge--act {
  background: #f4f4f5;
  color: #27272a;
  border: 1px solid #e4e4e7;
}

.xama-badge--status.xama-badge--publish {
  background: #ecfdf5;
  color: #047857;
  border: 1px solid #a7f3d0;
}

.xama-badge--status.xama-badge--pending {
  background: #fffbeb;
  color: #b45309;
  border: 1px solid #fde68a;
}

.xama-badge--status.xama-badge--draft {
  background: #fef2f2;
  color: #b91c1c;
  border: 1px solid #fecaca;
}

.xama-badge--sm {
  font-size: 0.72rem;
  padding: 2px 8px;
}

/* Barra de Progresso Discreta */
.xama-acc-progress {
  margin-bottom: 28px;
}

.xama-acc-progress__bar {
  width: 100%;
  height: 4px;
  background: #f4f4f5;
  border-radius: 9999px;
  overflow: hidden;
  margin-bottom: 6px;
}

.xama-acc-progress__fill {
  height: 100%;
  background: var(--xama-black, #171717);
  border-radius: 9999px;
  transition: width 0.3s ease;
}

.xama-acc-progress__label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.82rem;
  color: #71717a;
}

.xama-acc-progress__hint {
  font-size: 0.8rem;
  color: #a1a1aa;
}

/* Cards das Seções */
.xama-acc-card {
  background: #ffffff;
  border: 1px solid #e4e4e7;
  border-radius: 16px;
  padding: 22px 24px;
  margin-bottom: 20px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.xama-acc-card:hover {
  border-color: #d4d4d8;
}

.xama-acc-card.is-editing {
  border-color: var(--xama-black, #171717);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.04);
}

.xama-acc-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.xama-acc-card__title-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.xama-acc-card__icon {
  color: #71717a;
  flex-shrink: 0;
}

.xama-acc-card__title {
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--xama-black, #171717);
  margin: 0;
  letter-spacing: -0.01em;
}

.xama-acc-card__subtitle {
  font-size: 0.85rem;
  color: #71717a;
  margin: 4px 0 0;
}

/* Botão de Edição Contextual Discreto */
.xama-acc-edit-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  border: none;
  color: #71717a;
  font-size: 0.85rem;
  font-weight: 500;
  padding: 6px 10px;
  border-radius: 8px;
  cursor: pointer;
  transition: color 0.15s ease, background-color 0.15s ease;
}

.xama-acc-edit-btn:hover {
  color: var(--xama-black, #171717);
  background: #f4f4f5;
}

/* Seletor de Tipo de Atuação (Apple Grid) */
.xama-act-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.xama-act-option {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px 18px;
  border: 1.5px solid #e4e4e7;
  border-radius: 14px;
  cursor: pointer;
  background: #ffffff;
  transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.xama-act-option:hover {
  border-color: #a1a1aa;
}

.xama-act-option.is-selected {
  border-color: var(--xama-black, #171717);
  background: #fafafa;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}

.xama-act-option__bullet {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid #d4d4d8;
  margin-top: 2px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.15s ease;
}

.xama-act-option.is-selected .xama-act-option__bullet {
  border-color: var(--xama-black, #171717);
}

.xama-act-option.is-selected .xama-act-option__bullet::after {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--xama-black, #171717);
}

.xama-act-option__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.xama-act-option__title {
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--xama-black, #171717);
}

.xama-act-option__desc {
  font-size: 0.8rem;
  color: #71717a;
  line-height: 1.4;
}

/* Lista de Dados no Modo Leitura */
.xama-acc-data-list {
  display: grid;
  gap: 14px;
  margin: 0;
}

.xama-acc-data-item dt {
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #a1a1aa;
  margin-bottom: 2px;
}

.xama-acc-data-item dd {
  font-size: 0.94rem;
  color: #27272a;
  margin: 0;
  line-height: 1.5;
}

.xama-acc-empty-val {
  color: #a1a1aa;
  font-style: italic;
  font-size: 0.88rem;
}

/* Nuvem de tags / chips */
.xama-acc-tags-list,
.xama-tags-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0;
  margin: 4px 0 0;
  list-style: none;
}

.xama-acc-tags-list li,
.xama-tags-cloud li {
  background: #f4f4f5;
  color: #27272a;
  font-size: 0.82rem;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: 9999px;
}

/* Card Comercial Prévia */
.xama-acc-biz-preview {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid #f4f4f5;
}

.xama-acc-biz-logo {
  width: 54px;
  height: 54px;
  border-radius: 12px;
  object-fit: cover;
  border: 1px solid #e4e4e7;
}

.xama-acc-biz-name {
  font-size: 1.15rem;
  font-weight: 700;
  margin: 0 0 2px;
  color: var(--xama-black, #171717);
}

.xama-acc-biz-cat {
  font-size: 0.85rem;
  color: #71717a;
  margin: 0;
}

.xama-acc-logo-box {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid #f4f4f5;
}

/* Avisos / Callouts discretos */
.xama-acc-callout {
  padding: 12px 14px;
  border-radius: 10px;
  font-size: 0.88rem;
  margin-bottom: 16px;
}

.xama-acc-callout--alert {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
}

.xama-acc-callout--alert p {
  margin: 4px 0 0;
}

.xama-acc-callout--info {
  background: #fffbeb;
  border: 1px solid #fde68a;
  color: #92400e;
}

.xama-acc-callout--info p {
  margin: 0;
}

/* Formulários de Edição Contextual */
.xama-unified-form {
  display: grid;
  gap: 14px;
}

.xama-form-group {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.xama-form-group label {
  font-size: 0.85rem;
  font-weight: 600;
  color: #3f3f46;
}

.xama-form-row {
  display: flex;
  gap: 12px;
}

.xama-form-group--grow {
  flex: 1;
}

.xama-input,
.xama-textarea,
.xama-select {
  width: 100%;
  font-family: inherit;
  font-size: 0.92rem;
  color: var(--xama-black, #171717);
  background: #ffffff;
  border: 1px solid #d4d4d8;
  border-radius: 10px;
  padding: 9px 12px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.xama-input:focus,
.xama-textarea:focus,
.xama-select:focus {
  outline: none;
  border-color: var(--xama-black, #171717);
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.06);
}

.xama-acc-form-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 6px;
  padding-top: 12px;
  border-top: 1px solid #f4f4f5;
}

.xama-acc-saved-feedback {
  font-size: 0.84rem;
  color: #059669;
  font-weight: 500;
  transition: opacity 0.2s ease;
}

.xama-acc-saved-feedback.is-error {
  color: #dc2626;
}

.xama-btn--sm {
  padding: 7px 14px;
  font-size: 0.85rem;
  border-radius: 8px;
}

.xama-text-btn--danger {
  color: #dc2626 !important;
}

.xama-text-btn--danger:hover {
  color: #b91c1c !important;
}

/* Visibilidade List */
.xama-acc-vis-list {
  display: grid;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.xama-acc-vis-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.9rem;
  color: #3f3f46;
}

.xama-acc-vis-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #d4d4d8;
  flex-shrink: 0;
}

.xama-acc-vis-dot.is-on {
  background: #10b981;
}

.xama-toggle-label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.88rem;
  color: #27272a;
  cursor: pointer;
  margin-bottom: 8px;
}

.xama-toggle-label input[type="checkbox"] {
  width: 17px;
  height: 17px;
  border-radius: 4px;
  cursor: pointer;
}

.xama-acc-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 36px;
  padding-top: 20px;
  border-top: 1px solid var(--xama-line);
}

/* Perfil Público Unificado */
.xama-profile__title-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.xama-profile__title-row h1 {
  margin: 0;
}

.xama-profile__section-heading {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--xama-black, #171717);
  margin: 32px 0 16px;
  display: flex;
  align-items: center;
  letter-spacing: -0.01em;
}

.xama-profile__pro-card,
.xama-profile__biz-card {
  background: #ffffff;
  border: 1px solid #e4e4e7;
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 24px;
}

.xama-profile__pro-role {
  font-size: 1.1rem;
  margin: 0 0 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.xama-profile__pro-services,
.xama-profile__biz-services {
  margin: 12px 0 16px;
}

.xama-profile__label {
  display: block;
  font-size: 0.82rem;
  font-weight: 600;
  color: #71717a;
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.xama-profile__pro-contacts,
.xama-profile__biz-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #f4f4f5;
}

.xama-contact-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 8px;
  background: #f4f4f5;
  color: #27272a;
  font-size: 0.86rem;
  font-weight: 500;
  text-decoration: none;
}

.xama-contact-chip--link:hover {
  background: #e4e4e7;
}

.xama-profile__biz-hero {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 14px;
}

.xama-profile__biz-logo {
  width: 64px;
  height: 64px;
  border-radius: 14px;
  object-fit: cover;
  border: 1px solid #e4e4e7;
}

.xama-profile__biz-title {
  font-size: 1.3rem;
  font-weight: 700;
  margin: 0 0 2px;
  color: var(--xama-black, #171717);
  letter-spacing: -0.02em;
}

.xama-profile__biz-cat {
  font-size: 0.88rem;
  color: #71717a;
  margin: 0;
}

.xama-profile__biz-desc {
  font-size: 0.95rem;
  color: #3f3f46;
  line-height: 1.55;
  margin: 0 0 14px;
}

/* Responsividade Apple-style */
@media (max-width: 640px) {
  .xama-acc-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .xama-acc-header__main {
    flex-direction: column;
    align-items: flex-start;
  }

  .xama-act-grid {
    grid-template-columns: 1fr;
  }

  .xama-form-row {
    flex-direction: column;
  }
}

/* ==========================================================================
   XAMA Biblioteca — Catálogo Digital Store & Cota Semanal
   ========================================================================== */

.xama-library {
  max-width: var(--xama-wide-max-width, 1080px);
  margin: 0 auto;
  padding-bottom: 60px;
}

.xama-library__header {
  margin-bottom: 28px;
}

.xama-library__header-intro {
  margin-bottom: 20px;
}

.xama-library__title {
  margin: 0 0 6px;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--xama-black, #171717);
}

.xama-library__subtitle {
  margin: 0;
  font-size: 1rem;
  color: var(--xama-muted, #71717a);
}

/* Card da Cota Semanal (Minimalista) */
.xama-library-quota-card {
  padding: 16px 20px;
  border-radius: var(--xama-radius-sm, 12px);
  border: 1px solid var(--xama-line, #e5e5e5);
  background: #fff;
  margin-top: 14px;
}

.xama-library-quota-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 16px;
  margin-bottom: 10px;
}

.xama-library-quota-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.xama-library-quota-label {
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--xama-flame, #ff0050);
}

.xama-library-quota-count {
  font-size: 1.05rem;
  font-weight: 650;
  color: var(--xama-black, #171717);
}

.xama-library-quota-reset {
  font-size: 0.84rem;
  color: var(--xama-muted, #71717a);
}

/* Barra de progresso minimalista */
.xama-quota-progress {
  width: 100%;
  height: 6px;
  border-radius: 999px;
  background: #f1efe9;
  overflow: hidden;
  margin-bottom: 14px;
}

.xama-quota-progress__bar {
  height: 100%;
  background: var(--xama-black, #171717);
  border-radius: 999px;
  transition: width 0.3s ease;
}

/* Nav Pills da Biblioteca */
.xama-library-nav-pills {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px;
  background: var(--xama-cream, #f7f5f0);
  border: 1px solid var(--xama-line, #e5e5e5);
  border-radius: 8px;
}

.xama-library-nav-pill {
  display: inline-flex;
  align-items: center;
  padding: 5px 12px;
  font-size: 0.84rem;
  font-weight: 500;
  color: var(--xama-muted, #71717a);
  text-decoration: none;
  border-radius: 6px;
  transition: all 0.15s ease;
}

.xama-library-nav-pill:hover {
  color: var(--xama-black, #171717);
  text-decoration: none;
}

.xama-library-nav-pill.is-active {
  background: #fff;
  color: var(--xama-black, #171717);
  font-weight: 600;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

/* Card para visitantes */
.xama-library-guest-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 20px;
  border-radius: var(--xama-radius-sm, 12px);
  border: 1px solid var(--xama-line, #e5e5e5);
  background: var(--xama-cream, #f7f5f0);
}

.xama-library-guest-card p {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 0.92rem;
}

.xama-library-guest-card strong {
  color: var(--xama-black, #171717);
}

.xama-library-guest-card span {
  color: var(--xama-muted, #71717a);
}

/* Barra de busca e categorias */
.xama-library-toolbar {
  margin-bottom: 24px;
}

.xama-library-search {
  display: flex;
  gap: 10px;
  margin-bottom: 14px;
}

.xama-library-search__bar {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  background: #fff;
  border: 1px solid var(--xama-line, #e5e5e5);
  border-radius: 999px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.xama-library-search__bar:focus-within {
  border-color: var(--xama-black, #171717);
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.05);
}

.xama-library-search__icon {
  color: var(--xama-muted, #a1a1aa);
  display: flex;
  align-items: center;
}

.xama-library-search__bar input {
  flex: 1;
  border: 0;
  background: transparent;
  outline: none;
  font: inherit;
  font-size: 0.94rem;
  color: var(--xama-black, #171717);
}

/* Category Chips */
.xama-library-category-chips {
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 4px;
  scrollbar-width: none;
}

.xama-library-category-chips::-webkit-scrollbar {
  display: none;
}

.xama-category-chip {
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 0.84rem;
  font-weight: 500;
  color: var(--xama-muted, #52525b);
  background: #fff;
  border: 1px solid var(--xama-line, #e5e5e5);
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.15s ease;
}

.xama-category-chip:hover {
  border-color: #a1a1aa;
  color: var(--xama-black, #171717);
  text-decoration: none;
}

.xama-category-chip.is-active {
  background: var(--xama-black, #171717);
  border-color: var(--xama-black, #171717);
  color: #fff;
  font-weight: 600;
}

/* Grade de Produtos Digitais */
.xama-library-catalog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
}

.xama-library-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--xama-line, #e5e5e5);
  border-radius: var(--xama-radius-sm, 12px);
  overflow: hidden;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.xama-library-card:hover {
  border-color: #cfcac0;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
}

.xama-library-card__cover-link {
  display: block;
  text-decoration: none;
}

.xama-library-card__cover {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  background: var(--xama-cream, #f7f5f0);
  overflow: hidden;
}

.xama-library-card__cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.xama-library-card__cover-fallback {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f4f1e8;
}

.xama-fallback-format-badge {
  font-size: 1.3rem;
  font-weight: 750;
  letter-spacing: 0.05em;
  color: #a8a29e;
}

.xama-library-card__badge-format {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 3px 8px;
  background: rgba(23, 23, 23, 0.85);
  backdrop-filter: blur(4px);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  border-radius: 6px;
}

.xama-library-card__badge-acquired {
  position: absolute;
  top: 10px;
  right: 10px;
  padding: 3px 8px;
  background: rgba(16, 185, 129, 0.95);
  backdrop-filter: blur(4px);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 650;
  border-radius: 6px;
}

.xama-library-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 16px;
}

.xama-library-card__category {
  font-size: 0.76rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--xama-muted, #71717a);
  margin-bottom: 4px;
}

.xama-library-card__title {
  margin: 0 0 6px;
  font-size: 1.05rem;
  font-weight: 650;
  line-height: 1.35;
}

.xama-library-card__title a {
  color: var(--xama-black, #171717);
  text-decoration: none;
}

.xama-library-card__title a:hover {
  color: var(--xama-flame, #ff0050);
}

.xama-library-card__excerpt {
  margin: 0 0 14px;
  font-size: 0.86rem;
  color: var(--xama-muted, #71717a);
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.xama-library-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid #f4f4f5;
}

.xama-library-card__specs {
  font-size: 0.8rem;
  color: var(--xama-muted, #71717a);
}

.xama-library-card__action .xama-btn--sm {
  padding: 6px 14px;
  font-size: 0.82rem;
}

.xama-btn--acquired {
  background: #ecfdf5;
  color: #065f46;
  border: 1px solid #a7f3d0;
}

.xama-btn--acquired:hover {
  background: #d1fae5;
  color: #047857;
}

/* Meus Downloads View */
.xama-my-downloads-head {
  margin-bottom: 18px;
}

.xama-my-downloads-head h2 {
  margin: 0 0 4px;
  font-size: 1.25rem;
  font-weight: 650;
}

.xama-my-downloads-hint {
  margin: 0;
  font-size: 0.9rem;
  color: var(--xama-muted, #71717a);
}

.xama-my-downloads-list {
  list-style: none;
  margin: 0;
  padding: 0;
  background: #fff;
  border: 1px solid var(--xama-line, #e5e5e5);
  border-radius: var(--xama-radius-sm, 12px);
  overflow: hidden;
}

.xama-my-download-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--xama-line, #e5e5e5);
  transition: background 0.15s ease;
}

.xama-my-download-item:last-child {
  border-bottom: 0;
}

.xama-my-download-item:hover {
  background: #faf9f6;
}

.xama-my-download-media {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 8px;
  overflow: hidden;
  background: var(--xama-cream, #f7f5f0);
  display: flex;
  align-items: center;
  justify-content: center;
}

.xama-my-download-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.xama-my-download-info {
  flex: 1;
  min-width: 0;
}

.xama-my-download-title {
  margin: 0 0 4px;
  font-size: 0.98rem;
  font-weight: 600;
}

.xama-my-download-title a {
  color: var(--xama-black, #171717);
  text-decoration: none;
}

.xama-my-download-title a:hover {
  color: var(--xama-flame, #ff0050);
}

.xama-my-download-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.82rem;
  color: var(--xama-muted, #71717a);
}

/* Badges e tags */
.xama-format-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 7px;
  background: #f4f4f5;
  color: #3f3f46;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  border-radius: 4px;
}

.xama-format-badge--inline {
  padding: 1px 5px;
  font-size: 0.72rem;
}

.xama-format-badge--lg {
  font-size: 0.92rem;
  padding: 4px 10px;
}

.xama-format-badge--xl {
  font-size: 1.5rem;
  padding: 8px 18px;
  letter-spacing: 0.06em;
}

.xama-acquired-badge-inline {
  display: inline-flex;
  align-items: center;
  padding: 1px 6px;
  background: #ecfdf5;
  color: #065f46;
  font-size: 0.72rem;
  font-weight: 600;
  border-radius: 4px;
}

/* ==========================================================================
   Página Individual do Material (Estilo Produto Digital)
   ========================================================================== */

.xama-resource-product {
  max-width: var(--xama-wide-max-width, 1080px);
  margin: 0 auto;
  padding-bottom: 60px;
}

.xama-resource-stage {
  display: grid;
  grid-template-columns: minmax(0, 400px) minmax(0, 1fr);
  gap: 36px;
  align-items: start;
  margin-top: 14px;
}

.xama-resource-cover {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 11;
  background: var(--xama-cream, #f7f5f0);
  border-radius: var(--xama-radius-sm, 12px);
  border: 1px solid var(--xama-line, #e5e5e5);
  overflow: hidden;
  margin-bottom: 20px;
}

.xama-resource-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.xama-resource-cover-fallback {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f4f1e8;
}

.xama-resource-badge-format {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 4px 10px;
  background: rgba(23, 23, 23, 0.88);
  backdrop-filter: blur(4px);
  color: #fff;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  border-radius: 6px;
}

.xama-resource-badge-acquired {
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 4px 10px;
  background: rgba(16, 185, 129, 0.95);
  backdrop-filter: blur(4px);
  color: #fff;
  font-size: 0.76rem;
  font-weight: 650;
  border-radius: 6px;
}

/* Specs Card */
.xama-resource-specs-card {
  padding: 16px 20px;
  border-radius: var(--xama-radius-sm, 12px);
  border: 1px solid var(--xama-line, #e5e5e5);
  background: #fff;
}

.xama-resource-specs-title {
  margin: 0 0 12px;
  font-size: 0.9rem;
  font-weight: 650;
  color: var(--xama-black, #171717);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.xama-resource-specs-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  font-size: 0.88rem;
}

.xama-resource-specs-list > div {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding-bottom: 6px;
  border-bottom: 1px solid #f4f4f5;
}

.xama-resource-specs-list > div:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.xama-resource-specs-list dt {
  color: var(--xama-muted, #71717a);
}

.xama-resource-specs-list dd {
  margin: 0;
  font-weight: 500;
  color: var(--xama-black, #171717);
}

.xama-resource-specs-list code {
  background: #f4f4f5;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 0.8rem;
}

.xama-resource-category-pill {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  background: var(--xama-cream, #f7f5f0);
  border: 1px solid var(--xama-line, #e5e5e5);
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--xama-muted, #71717a);
  text-decoration: none;
  margin-bottom: 8px;
}

.xama-resource-category-pill:hover {
  color: var(--xama-black, #171717);
  text-decoration: none;
}

.xama-resource-title {
  margin: 0 0 18px;
  font-size: 1.85rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.025em;
  color: var(--xama-black, #171717);
}

/* CTA Box */
.xama-resource-cta-box {
  padding: 20px;
  border-radius: var(--xama-radius-sm, 12px);
  border: 1px solid var(--xama-line, #e5e5e5);
  background: #faf9f6;
  margin-bottom: 24px;
}

.xama-btn--block {
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 8px;
  padding: 12px 24px;
  font-size: 1rem;
}

.xama-resource-cta-hint {
  margin: 8px 0 0;
  font-size: 0.84rem;
  color: var(--xama-muted, #71717a);
  text-align: center;
}

.xama-resource-acquired-badge-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 12px;
  color: #065f46;
  font-size: 0.94rem;
}

.xama-resource-cta-warning {
  margin: 0 0 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.88rem;
  color: #92400e;
  text-align: center;
}

.xama-resource-cta-note {
  margin: 0 0 12px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 0.9rem;
  color: var(--xama-muted, #71717a);
}

.xama-resource-cta-note strong {
  color: var(--xama-black, #171717);
}

.xama-resource-section-heading {
  margin: 0 0 12px;
  font-size: 1.15rem;
  font-weight: 650;
  color: var(--xama-black, #171717);
}

.xama-resource-content {
  font-size: 0.96rem;
  line-height: 1.65;
  color: #27272a;
}

/* Painel de administração de recursos */
.xama-panel-current-file {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: #f4f4f5;
  border-radius: 6px;
  font-size: 0.86rem;
  margin: 4px 0 8px;
}

.xama-panel-current-cover img {
  border-radius: 6px;
  object-fit: cover;
  display: block;
}

@media (max-width: 860px) {
  .xama-resource-stage {
    grid-template-columns: 1fr;
  }

  .xama-library-quota-head {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ==========================================================================
   XAMA Comunidade — Diretório, Seguir e Atividades
   Grade horizontal rigorosamente alinhada à do XAMA Search (.xama-page).
   ========================================================================== */

.xama-community {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  padding: 0 0 64px;
  margin: 0;
}

/* ==========================================================================
   Hero de Alto Impacto — Primeira Dobra da Comunidade
   Fundo escuro (#171717), tipografia monumental, contraste e contador animado.
   ========================================================================== */

.xama-community-hero {
  background-color: var(--xama-black, #171717);
  color: #ffffff;
  padding: 80px var(--xama-page-gutter, 20px) 90px;
  border-bottom: 1px solid #262626;
  position: relative;
  width: 100%;
  box-sizing: border-box;
}

.xama-community-hero__inner {
  max-width: var(--xama-layout-max-width, 1200px);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.xama-community-hero__tag {
  display: inline-flex;
  align-items: center;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #a1a1aa;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  padding: 6px 14px;
  margin-bottom: 24px;
  user-select: none;
}

.xama-community-hero__headline {
  font-size: clamp(2.2rem, 5vw, 4.2rem);
  font-weight: 850;
  color: #ffffff;
  line-height: 1.08;
  letter-spacing: -0.035em;
  margin: 0 0 36px;
  max-width: 22ch;
  text-wrap: balance;
}

/* Contador Animado de Membros */
.xama-community-counter {
  margin: 0 0 32px;
}

.xama-community-counter__display {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.xama-community-counter__number-wrap {
  display: inline-flex;
  align-items: baseline;
  font-size: clamp(3.6rem, 8.5vw, 6.5rem);
  font-weight: 850;
  line-height: 0.95;
  letter-spacing: -0.04em;
  color: var(--xama-flame, #ff0050);
  font-variant-numeric: tabular-nums;
}

.xama-community-counter__prefix {
  margin-right: 2px;
  font-weight: 800;
}

.xama-community-counter__value {
  font-variant-numeric: tabular-nums;
}

.xama-community-counter__label {
  font-size: clamp(0.92rem, 1.6vw, 1.25rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #e4e4e7;
  margin: 0;
  line-height: 1.3;
}

.xama-community-hero__desc {
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
  color: #a1a1aa;
  line-height: 1.55;
  margin: 0 0 10px;
  max-width: 58ch;
}

.xama-community-hero__sub {
  font-size: clamp(1rem, 1.6vw, 1.15rem);
  font-weight: 600;
  color: #f4f4f5;
  margin: 0 0 36px;
  line-height: 1.45;
}

.xama-community-hero__cta {
  display: flex;
  align-items: center;
  gap: 16px;
}

.xama-community-hero__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--xama-flame, #ff0050);
  color: #ffffff;
  font-size: 0.95rem;
  font-weight: 750;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  padding: 16px 30px;
  border-radius: 999px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  box-shadow: 0 4px 18px rgba(255, 0, 80, 0.28);
  transition: background-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.xama-community-hero__btn:hover {
  background: #e00045;
  color: #ffffff;
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(255, 0, 80, 0.42);
}

.xama-community-hero__btn-arrow {
  font-size: 1.15em;
  line-height: 1;
  transition: transform 0.18s ease;
}

.xama-community-hero__btn:hover .xama-community-hero__btn-arrow {
  transform: translateX(4px);
}

.xama-community-hero__btn:focus-visible {
  outline: 3px solid #ffffff;
  outline-offset: 3px;
}

/* Seção de Descoberta e Atividades (Abaixo da Hero) */
.xama-community__explore {
  max-width: var(--xama-layout-max-width, 1200px);
  margin: 0 auto;
  padding: 44px var(--xama-page-gutter, 20px) 0;
  width: 100%;
  box-sizing: border-box;
}

.xama-community__tabs {
  margin-bottom: 28px;
}

@media (max-width: 640px) {
  .xama-community-hero {
    padding: 52px var(--xama-page-gutter, 20px) 60px;
  }

  .xama-community-hero__headline {
    margin-bottom: 28px;
  }

  .xama-community-counter {
    margin-bottom: 24px;
  }

  .xama-community-hero__sub {
    margin-bottom: 28px;
  }

  .xama-community-hero__btn {
    width: 100%;
    justify-content: center;
    padding: 15px 22px;
  }

  .xama-community__explore {
    padding-top: 32px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .xama-community-hero__btn,
  .xama-community-hero__btn-arrow {
    transition: none;
    transform: none !important;
  }
}

/* Barra de Pesquisa de Membros */
.xama-community__search-bar {
  margin-bottom: 24px;
}

.xama-community__search-bar .xama-search__bar {
  display: flex;
  align-items: center;
  position: relative;
  background: #ffffff;
  border: 1.5px solid #e4e4e7;
  border-radius: 12px;
  padding: 0 14px;
  height: 46px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.xama-community__search-bar .xama-search__bar:focus-within {
  border-color: var(--xama-black, #171717);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}

.xama-community__search-bar .xama-search__icon {
  display: flex;
  align-items: center;
  color: #a1a1aa;
  margin-right: 10px;
  flex-shrink: 0;
}

.xama-community__search-input {
  flex: 1;
  min-width: 0;
  border: none;
  background: transparent;
  outline: none;
  font-size: 0.95rem;
  color: var(--xama-black, #171717);
  font-family: inherit;
}

.xama-community__search-input::placeholder {
  color: #a1a1aa;
}

.xama-community__search-clear {
  color: #a1a1aa;
  display: flex;
  align-items: center;
  padding: 4px;
  margin-left: 6px;
  border-radius: 50%;
  text-decoration: none;
  transition: color 0.15s ease;
}

.xama-community__search-clear:hover {
  color: var(--xama-black, #171717);
}

/* Grade de Membros em 4 Colunas — sensação de comunidade cheia e ativa */
.xama-community-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  list-style: none;
  margin: 0 0 32px;
  padding: 0;
}

.xama-community-card {
  position: relative;
  background: #ffffff;
  border: 1.5px solid var(--belt-border, #e2e8f0);
  border-radius: 16px;
  padding: 13px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 80px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  min-width: 0;
}

.xama-community-card:hover {
  border-color: var(--belt-color, #cbd5e1);
  box-shadow: 0 4px 20px var(--belt-glow, rgba(0, 0, 0, 0.08));
  transform: translateY(-1px);
}

.xama-community-card__avatar-link {
  flex-shrink: 0;
  display: block;
  text-decoration: none;
}

.xama-community-card__avatar-ring {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  padding: 2px;
  border: 2.5px solid var(--belt-color, #94a3b8);
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

/* Brilho da cor da faixa daquele usuário ao passar o mouse */
.xama-community-card:hover .xama-community-card__avatar-ring {
  border-color: var(--belt-color, #94a3b8);
  box-shadow: 0 0 14px var(--belt-glow, rgba(148, 163, 184, 0.7)), 0 0 2px var(--belt-color, #94a3b8);
  transform: scale(1.04);
}

.xama-community-card__avatar {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  background: #f4f4f5;
}

.xama-community-card__info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  padding-right: 4px;
}

.xama-community-card__name-line {
  display: block;
  line-height: 1.25;
}

.xama-community-card__name {
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--xama-black, #171717);
  text-decoration: none;
  line-height: 1.25;
  display: block;
  word-break: normal;
  overflow-wrap: break-word;
}

.xama-community-card__name:hover {
  text-decoration: underline;
}

.xama-community-card__belt {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 0.78rem;
  color: #64748b;
  font-weight: 400;
  line-height: 1.2;
}

.xama-community-card__belt-dot {
  font-size: 0.9em;
  line-height: 1;
  font-weight: 700;
}

.xama-community-card__belt-label {
  white-space: normal;
  line-height: 1.2;
}

/* Botão Seguir revelado discretamente ao passar o mouse sem comprimir os nomes */
.xama-community-card__action {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%) translateX(6px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease, transform 0.18s ease;
  z-index: 2;
  background: #ffffff;
  padding-left: 6px;
  border-radius: 999px;
  box-shadow: -8px 0 12px rgba(255, 255, 255, 0.95);
}

.xama-community-card:hover .xama-community-card__action,
.xama-community-card:focus-within .xama-community-card__action {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(-50%) translateX(0);
}

@media (hover: none) {
  .xama-community-card {
    padding-right: 78px;
  }

  .xama-community-card__action {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(-50%);
  }
}

.xama-btn--xs {
  padding: 3px 10px;
  font-size: 0.74rem;
  border-radius: 9999px;
  line-height: 1.3;
}

/* Botão Seguir / Seguindo Minimalista */
.xama-btn--follow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 0.84rem;
  line-height: 1;
  padding: 8px 18px;
  border-radius: 9999px;
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
  transition: all 0.15s ease;
}

.xama-btn--follow.xama-btn--ghost {
  border: 1.5px solid #d4d4d8;
  background: transparent;
  color: var(--xama-black, #171717);
}

.xama-btn--follow.xama-btn--ghost:hover {
  border-color: var(--xama-black, #171717);
  background: #fafafa;
}

.xama-btn--follow.is-following {
  border: 1.5px solid var(--xama-black, #171717);
  background: var(--xama-black, #171717);
  color: #ffffff;
}

.xama-btn--follow.is-following:hover {
  background: #27272a;
  border-color: #27272a;
}

.xama-btn--follow:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

/* Linha de Atividades (Aba Acompanhando) */
.xama-activity-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid #f4f4f5;
}

.xama-activity-row {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px 0;
  border-bottom: 1px solid #f4f4f5;
}

.xama-activity-row__avatar-link {
  display: block;
  flex-shrink: 0;
  border-radius: 50%;
  text-decoration: none;
  margin-top: 2px;
}

.xama-activity-row__avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  background: #f4f4f5;
}

.xama-activity-row__main {
  flex: 1;
  min-width: 0;
}

.xama-activity-row__header {
  font-size: 0.88rem;
  color: #52525b;
  margin: 0 0 4px;
  line-height: 1.35;
}

.xama-activity-row__author {
  font-weight: 600;
  color: var(--xama-black, #171717);
  text-decoration: none;
}

.xama-activity-row__author:hover {
  text-decoration: underline;
}

.xama-activity-row__action {
  color: #71717a;
}

.xama-activity-row__title {
  margin: 0 0 6px;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.35;
}

.xama-activity-row__title a {
  color: var(--xama-black, #171717);
  text-decoration: none;
  transition: color 0.15s ease;
}

.xama-activity-row__title a:hover {
  color: var(--xama-flame, #ff0050);
}

.xama-activity-row__meta {
  margin: 0;
  font-size: 0.8rem;
  color: #a1a1aa;
  display: flex;
  align-items: center;
  gap: 8px;
}

.xama-activity-row__section {
  font-weight: 500;
  color: #71717a;
}

.xama-activity-row__sep {
  opacity: 0.5;
}

/* Estado Vazio Minimalista */
.xama-community-empty {
  padding: 42px 20px;
  text-align: center;
  background: #fafafa;
  border: 1px dashed #e4e4e7;
  border-radius: 14px;
  margin: 24px 0;
}

.xama-community-empty p {
  font-size: 0.95rem;
  color: #71717a;
  margin: 0 0 16px;
  line-height: 1.45;
}

.xama-community-empty .xama-btn {
  display: inline-block;
}

@media (max-width: 1200px) {
  .xama-community-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 920px) {
  .xama-community-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 580px) {
  .xama-community-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .xama-community-card {
    padding: 12px 14px;
  }

  .xama-community-card__avatar-ring {
    width: 48px;
    height: 48px;
  }

  .xama-community-row {
    align-items: flex-start;
  }

  .xama-community-row__avatar {
    width: 42px;
    height: 42px;
  }

  .xama-community-row__summary {
    -webkit-line-clamp: 3;
  }

  .xama-btn--follow {
    padding: 6px 14px;
    font-size: 0.8rem;
  }
}

/* ==========================================================================
   PÁGINA DE RANKING E GRADUAÇÃO DA COMUNIDADE (/ranking/)
   Design minimalista, 4 blocos e exatamente 7 faixas oficiais
   ========================================================================== */

.xama-ranking {
  max-width: 820px;
  margin: 0 auto;
  padding: 32px 20px 72px;
}

.xama-ranking-head {
  margin-bottom: 28px;
}

.xama-ranking-head__title {
  font-size: clamp(1.75rem, 3vw, 2.2rem);
  font-weight: 750;
  letter-spacing: -0.025em;
  color: #171717;
  margin: 0 0 8px;
  line-height: 1.15;
}

.xama-ranking-head__sub {
  font-size: 0.98rem;
  color: #64748b;
  margin: 0;
  line-height: 1.5;
}

.xama-ranking-block {
  margin-bottom: 36px;
  padding-bottom: 32px;
  border-bottom: 1px solid #f1f5f9;
}

.xama-ranking-block:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.xama-ranking-block__title {
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: -0.015em;
  color: #171717;
  margin: 0 0 4px;
}

.xama-ranking-block__subtitle {
  font-size: 0.88rem;
  color: #64748b;
  margin: 0 0 16px;
}

/* BLOCO 1 — MINHA EVOLUÇÃO */
.xama-evolution-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.xama-evolution-card__info {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.xama-evolution-card__belt {
  display: flex;
  align-items: center;
  gap: 10px;
}

.xama-belt-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
  border: 1.5px solid transparent;
}

.xama-evolution-card__belt-name {
  font-size: 1.15rem;
  font-weight: 700;
  color: #171717;
}

.xama-evolution-card__points {
  font-size: 1.15rem;
  font-weight: 700;
  color: #171717;
}

.xama-evolution-card__pts-label {
  font-size: 0.82rem;
  color: #64748b;
  font-weight: 400;
  margin-left: 4px;
}

.xama-progress-bar {
  width: 100%;
  height: 6px;
  background: #f1f5f9;
  border-radius: 999px;
  overflow: hidden;
}

.xama-progress-bar__fill {
  display: block;
  height: 100%;
  border-radius: 999px;
  transition: width 0.3s ease;
}

.xama-evolution-card__status {
  font-size: 0.92rem;
  color: #475569;
  margin: 0;
  line-height: 1.45;
}

/* BLOCO 2 — O CAMINHO DAS FAIXAS (7 FAIXAS) */
.xama-path-track {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 8px;
}

.xama-path-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 6px;
  position: relative;
}

.xama-path-step__node {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  width: 100%;
}

.xama-path-step__dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  display: block;
  border: 2px solid #ffffff;
  box-shadow: 0 0 0 1px #e2e8f0;
  z-index: 2;
}

.xama-path-step.is-atual .xama-path-step__dot {
  box-shadow: 0 0 0 2px #171717;
}

.xama-path-step__badge {
  font-size: 0.62rem;
  font-weight: 700;
  color: #171717;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-top: 3px;
}

.xama-path-step__info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.xama-path-step__name {
  font-size: 0.8rem;
  font-weight: 600;
  color: #334155;
}

.xama-path-step.is-atual .xama-path-step__name {
  color: #171717;
  font-weight: 750;
}

.xama-path-step__pts {
  font-size: 0.72rem;
  color: #64748b;
}

.xama-path-step.is-bloqueada {
  opacity: 0.55;
}

/* BLOCO 3 — RANKING DA COMUNIDADE */
.xama-ranking-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden;
  background: #ffffff;
}

.xama-ranking-row {
  display: grid;
  grid-template-columns: 48px 36px 1fr 140px 90px;
  align-items: center;
  gap: 14px;
  padding: 12px 18px;
  border-bottom: 1px solid #f1f5f9;
}

.xama-ranking-row:last-child {
  border-bottom: none;
}

.xama-ranking-row.is-viewer {
  background: #fdf2f4;
  border-left: 3px solid #ff0050;
}

.xama-ranking-row__pos {
  font-size: 0.9rem;
  font-weight: 700;
  color: #64748b;
}

.xama-ranking-row__avatar {
  border-radius: 50%;
  object-fit: cover;
  display: block;
}

.xama-ranking-row__name {
  font-size: 0.92rem;
  font-weight: 600;
  color: #171717;
  text-decoration: none;
}

.xama-ranking-row__name:hover {
  color: #ff0050;
}

.xama-badge-you {
  font-size: 0.68rem;
  font-weight: 700;
  background: #ff0050;
  color: #ffffff;
  padding: 1px 6px;
  border-radius: 999px;
  margin-left: 6px;
  display: inline-block;
}

.xama-ranking-row__belt {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.82rem;
  color: #475569;
}

.xama-ranking-row__pts {
  text-align: right;
  font-size: 0.9rem;
  color: #171717;
}

.xama-ranking-row__pts span {
  font-size: 0.75rem;
  color: #64748b;
  font-weight: normal;
  margin-left: 2px;
}

.xama-my-rank-banner {
  margin-top: 12px;
  padding: 14px 18px;
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.xama-my-rank-banner__pos {
  font-size: 0.92rem;
  font-weight: 700;
  color: #171717;
}

.xama-my-rank-banner__details {
  display: flex;
  align-items: center;
  gap: 20px;
}

.xama-ranking-expand {
  text-align: center;
  margin-top: 14px;
}

.xama-btn-text {
  background: none;
  border: none;
  font-size: 0.88rem;
  font-weight: 600;
  color: #171717;
  cursor: pointer;
  text-decoration: underline;
  padding: 6px 12px;
}

.xama-btn-text:hover {
  color: #ff0050;
}

.xama-ranking-empty {
  padding: 24px;
  background: #f8fafc;
  border: 1px dashed #e2e8f0;
  border-radius: 10px;
  text-align: center;
  color: #64748b;
  font-size: 0.9rem;
}

/* BLOCO 4 — COMO EVOLUIR */
.xama-how-list {
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.xama-how-item {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 14px 16px;
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.xama-how-item__bullet {
  font-size: 0.8rem;
  font-weight: 750;
  color: #ff0050;
  background: #fff1f2;
  padding: 3px 8px;
  border-radius: 6px;
  flex-shrink: 0;
}

.xama-how-item__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.xama-how-item__text strong {
  font-size: 0.88rem;
  color: #171717;
}

.xama-how-item__text span {
  font-size: 0.8rem;
  color: #64748b;
  line-height: 1.4;
}

.xama-how-meaning {
  background: #f8fafc;
  border-radius: 10px;
  padding: 16px 20px;
}

.xama-how-meaning__title {
  font-size: 0.92rem;
  font-weight: 700;
  color: #171717;
  margin: 0 0 4px;
}

.xama-how-meaning__desc {
  font-size: 0.85rem;
  color: #475569;
  margin: 0;
  line-height: 1.5;
}

/* RESPONSIVIDADE RANKING */
@media (max-width: 720px) {
  .xama-path-track {
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
  }

  .xama-how-list {
    grid-template-columns: 1fr;
  }

  .xama-ranking-row {
    grid-template-columns: 36px 32px 1fr 70px;
    padding: 10px 14px;
    gap: 10px;
  }

  .xama-ranking-row__belt {
    display: none;
  }
}


/* ==========================================================================
   XAMA Core — INTEGRAÇÃO KURUPIRA & FERRAMENTAS COMERCIAIS
   Design minimalista, seguro e integrado com a identidade XAMA
   ========================================================================== */

/* Abas de Tipo na Biblioteca (Todos / Downloads / Ferramentas / Serviços) */
.xama-library-type-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--xama-line);
}

.xama-type-tab {
  display: inline-flex;
  align-items: center;
  padding: 6px 14px;
  font-size: 0.84rem;
  font-weight: 500;
  color: #71717a;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 999px;
  text-decoration: none;
  transition: all 0.15s ease;
}

.xama-type-tab:hover {
  color: var(--xama-black);
  background: #f4f4f5;
}

.xama-type-tab.is-active {
  color: var(--xama-white);
  background: var(--xama-black);
  font-weight: 600;
}

/* Badges e Cobertura para Ferramentas Comerciais na Biblioteca */
.xama-library-card.is-commercial {
  border-color: #e4e4e7;
}

.xama-library-card__badge-commercial {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  padding: 3px 8px;
  background: rgba(23, 23, 23, 0.88);
  backdrop-filter: blur(4px);
  color: var(--xama-white);
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.xama-cover--commercial {
  background: linear-gradient(135deg, #1f1f23 0%, #121214 100%) !important;
  color: #a1a1aa !important;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.xama-library-card__price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
}

.xama-price-val {
  font-size: 0.96rem;
  font-weight: 700;
  color: var(--xama-black);
  letter-spacing: -0.01em;
}

.xama-price-guest {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--xama-flame);
  text-decoration: none;
  transition: opacity 0.15s ease;
  line-height: 1.25;
}

.xama-price-guest:hover {
  opacity: 0.85;
  text-decoration: underline;
}

.xama-spec-pill {
  display: inline-block;
  padding: 2px 7px;
  font-size: 0.72rem;
  font-weight: 500;
  background: #f4f4f5;
  color: #52525b;
  border-radius: 4px;
}

/* Página Individual de Recurso Comercial */
.xama-resource-badge-commercial {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
  padding: 4px 10px;
  background: rgba(23, 23, 23, 0.9);
  backdrop-filter: blur(6px);
  color: #fff;
  font-size: 0.74rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-radius: 8px;
}

.xama-resource-cta-commercial {
  border-left: 3px solid var(--xama-flame);
}

.xama-resource-commercial-box {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.xama-resource-price-display {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--xama-line);
}

.xama-price-heading {
  font-size: 0.76rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #71717a;
}

.xama-price-main-row {
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.xama-price-hero {
  font-size: 1.65rem;
  font-weight: 800;
  color: var(--xama-black);
  letter-spacing: -0.02em;
}

.xama-price-period-sub {
  font-size: 0.88rem;
  font-weight: 500;
  color: #71717a;
}

.xama-resource-commercial-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* ==========================================================================
   Painel Administrativo Frontend — Kurupira.link (/painel/kurupira/)
   ========================================================================== */

.xama-panel-kurupira {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.xama-panel-status-card {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 20px 24px;
  background: #ffffff;
  border: 1px solid #e4e4e7;
  border-radius: 16px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.xama-panel-status-info {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.xama-panel-status-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.xama-panel-status-title-row h3 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--xama-black);
}

.xama-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 9px;
  font-size: 0.74rem;
  font-weight: 600;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.xama-status-badge--success {
  background: #dcfce7;
  color: #15803d;
}

.xama-status-badge--error {
  background: #fee2e2;
  color: #b91c1c;
}

.xama-status-badge--muted {
  background: #f4f4f5;
  color: #71717a;
}

.xama-status-badge--warning {
  background: #fef3c7;
  color: #b45309;
}

.xama-status-desc {
  margin: 0;
  font-size: 0.86rem;
  color: #52525b;
}

.xama-status-meta-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 4px;
}

.xama-status-meta-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8rem;
  color: #71717a;
}

.xama-status-meta-item svg {
  color: #a1a1aa;
}

.xama-panel-metrics-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.xama-panel-metric-card {
  padding: 16px 20px;
  background: #ffffff;
  border: 1px solid #e4e4e7;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.xama-panel-metric-card--alert {
  border-color: #fecaca;
  background: #fffafa;
}

.xama-metric-label {
  font-size: 0.76rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #71717a;
}

.xama-metric-number {
  font-size: 1.55rem;
  font-weight: 800;
  color: var(--xama-black);
  line-height: 1.1;
}

.xama-metric-sub {
  font-size: 0.74rem;
  color: #a1a1aa;
}

.xama-panel-admin-card {
  background: #ffffff;
  border: 1px solid #e4e4e7;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

.xama-panel-admin-card__header {
  padding: 16px 20px;
  border-bottom: 1px solid #f1f2f4;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.xama-panel-admin-card__header h3 {
  margin: 0;
  font-size: 0.98rem;
  font-weight: 700;
  color: var(--xama-black);
}

.xama-panel-admin-card__body {
  padding: 20px;
}

.xama-panel-config-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.xama-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.xama-form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.xama-form-group label {
  font-size: 0.84rem;
  font-weight: 600;
  color: var(--xama-black);
}

.xama-form-group input[type="text"],
.xama-form-group input[type="password"] {
  padding: 9px 12px;
  font-size: 0.88rem;
  border: 1px solid #d4d4d8;
  border-radius: 8px;
  font-family: inherit;
  transition: border-color 0.15s ease;
}

.xama-form-group input[type="text"]:focus,
.xama-form-group input[type="password"]:focus {
  border-color: var(--xama-black);
  outline: none;
}

.xama-form-hint {
  font-size: 0.74rem;
  color: #71717a;
  line-height: 1.35;
}

.xama-toggle-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.86rem;
  font-weight: 500;
  color: var(--xama-black);
  cursor: pointer;
}

.xama-toggle-label input[type="checkbox"] {
  accent-color: var(--xama-black);
  width: 16px;
  height: 16px;
}

/* Tabela de Curadoria de Produtos */
.xama-table-responsive {
  overflow-x: auto;
}

.xama-panel-curation-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.86rem;
  text-align: left;
}

.xama-panel-curation-table th {
  padding: 10px 14px;
  background: #fbfbfb;
  font-weight: 600;
  color: #71717a;
  border-bottom: 1px solid #e4e4e7;
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.xama-panel-curation-table td {
  padding: 12px 14px;
  border-bottom: 1px solid #f4f4f5;
  vertical-align: middle;
}

.xama-product-cell-title {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.xama-product-name {
  font-weight: 600;
  color: var(--xama-black);
  text-decoration: none;
}

.xama-product-name:hover {
  text-decoration: underline;
}

.xama-product-code {
  font-size: 0.72rem;
  color: #a1a1aa;
  font-family: monospace;
}

.xama-type-pill {
  display: inline-block;
  padding: 2px 7px;
  font-size: 0.72rem;
  font-weight: 600;
  border-radius: 4px;
  text-transform: uppercase;
}

.xama-type-pill--tool {
  background: #ede9fe;
  color: #6d28d9;
}

.xama-type-pill--service {
  background: #e0f2fe;
  color: #0369a1;
}

.xama-price-origin-tag {
  display: inline-block;
  margin-left: 4px;
  padding: 1px 5px;
  font-size: 0.66rem;
  border-radius: 3px;
  background: #f4f4f5;
  color: #71717a;
}

.xama-popover-form {
  padding: 6px 0;
}

/* Responsividade do Painel Kurupira */
@media (max-width: 900px) {
  .xama-panel-status-card {
    flex-direction: column;
    gap: 16px;
  }

  .xama-panel-metrics-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .xama-form-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .xama-panel-metrics-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   XAMA Core — MENU DE APLICATIVOS PERSONALIZÁVEL (Estilo Google Waffle)
   Experiência minimalista de arrastar e soltar, favoritos e links personalizados
   ========================================================================== */

.xama-apps-section {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.xama-apps-section--others {
  margin-top: 4px;
  padding-top: 10px;
  border-top: 1px dashed var(--xama-line);
}

.xama-apps-section__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 4px;
  min-height: 24px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.xama-apps-section__title {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #71717a;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: default;
}

.xama-apps-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: #71717a;
  cursor: pointer;
  transition: all 0.15s ease;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.xama-apps-action-btn:hover,
.xama-apps-action-btn:focus-visible {
  background: #f4f4f5;
  color: var(--xama-black);
  outline: none;
}

.xama-apps.is-editing .xama-apps-btn--edit {
  background: var(--xama-black);
  color: var(--xama-white);
}

/* Ações dos cards no modo de edição (Remover / Adicionar / Teclado) */
.xama-apps__item-actions {
  display: none;
}

.xama-apps.is-editing .xama-apps__item-actions {
  display: block;
}

.xama-apps-item-btn {
  position: absolute;
  top: 2px;
  right: 2px;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  padding: 0;
  border-radius: 50%;
  cursor: pointer;
  transition: transform 0.12s ease, background 0.12s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.xama-apps-item-btn:hover {
  transform: scale(1.15);
}

.xama-apps-item-btn--remove {
  background: #ffffff;
  border: 1px solid #e4e4e7;
  color: #71717a;
}

.xama-apps-item-btn--remove:hover {
  background: #fee2e2;
  border-color: #fca5a5;
  color: #dc2626;
}

.xama-apps-item-btn--add {
  background: var(--xama-black);
  border: none;
  color: var(--xama-white);
}

.xama-apps-item-btn--add:hover {
  background: #16a34a;
}

/* Reordenação por teclado para acessibilidade (WCAG) */
.xama-apps__keyboard-reorder {
  position: absolute;
  bottom: 4px;
  left: 50%;
  transform: translateX(-50%);
  display: none;
  gap: 4px;
  z-index: 4;
  background: rgba(255, 255, 255, 0.95);
  padding: 2px 4px;
  border-radius: 4px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.xama-apps__card:focus-within .xama-apps__keyboard-reorder {
  display: flex;
}

.xama-apps-move-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  padding: 0;
  font-size: 0.75rem;
  font-weight: 700;
  border: 1px solid #e4e4e7;
  border-radius: 4px;
  background: #ffffff;
  color: #27272a;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.xama-apps-move-btn:hover,
.xama-apps-move-btn:focus-visible {
  background: var(--xama-black);
  color: #ffffff;
  outline: none;
}

/* Estados de Arrastar e Soltar (Drag & Drop) */
.xama-apps.is-editing .xama-apps-grid--favorites .xama-apps__card {
  cursor: grab;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  touch-action: none;
  -webkit-touch-callout: none;
}

.xama-apps.is-editing .xama-apps-grid--favorites .xama-apps__card:hover {
  background: #f8f8f8;
}

.xama-apps.is-editing .xama-apps-grid--favorites .xama-apps__card a {
  pointer-events: none; /* Previne navegação acidental durante o modo de edição */
}

.xama-apps__card.is-drag-source {
  opacity: 0.25 !important;
  transform: scale(0.96);
  border: 1px dashed #a1a1aa;
}

.xama-apps__card.is-drop-target {
  outline: 2px dashed var(--xama-flame);
  outline-offset: -2px;
  border-radius: 12px;
}

/* Clone flutuante que acompanha o ponteiro */
.xama-apps-drag-ghost {
  position: fixed;
  z-index: 100000;
  pointer-events: none;
  background: #ffffff;
  border: 1px solid #e4e4e7;
  border-radius: 14px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18), 0 2px 6px rgba(0, 0, 0, 0.08);
  transform: translate(-50%, -50%) scale(1.05);
  opacity: 0.96;
  width: 110px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 12px 6px;
  text-align: center;
  font-size: 0.75rem;
  color: var(--xama-black);
  box-sizing: border-box;
}

.xama-apps-drag-ghost .xama-apps__icon {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: #f1f3f4;
  color: var(--xama-forest);
  display: grid;
  place-items: center;
}

/* Barra de Ações do Modo de Edição */
.xama-apps-edit-bar {
  margin-top: 6px;
  padding-top: 10px;
  border-top: 1px solid var(--xama-line);
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: #ffffff;
  position: sticky;
  bottom: 0;
  z-index: 6;
}

.xama-apps-edit-bar__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}

.xama-apps-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 6px 10px;
  font-family: inherit;
  font-size: 0.74rem;
  font-weight: 600;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.15s ease;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.xama-apps-btn--add-link {
  background: #f4f4f5;
  border: 1px solid #e4e4e7;
  color: var(--xama-black);
}

.xama-apps-btn--add-link:hover {
  background: #e4e4e7;
}

.xama-apps-btn--reset {
  background: transparent;
  border: none;
  color: #71717a;
  text-decoration: underline;
  padding: 4px 6px;
}

.xama-apps-btn--reset:hover {
  color: #dc2626;
}

.xama-apps-btn--done {
  width: 100%;
  padding: 8px 12px;
  background: var(--xama-black);
  color: #ffffff;
  border: none;
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.8rem;
}

.xama-apps-btn--done:hover {
  background: var(--xama-flame);
}

/* Modal / Card para Adicionar Link Personalizado */
.xama-apps-link-form-wrap {
  position: absolute;
  inset: 10px;
  z-index: 10;
  background: #ffffff;
  border-radius: 12px;
  padding: 14px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.xama-apps-link-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.xama-apps-link-form__title {
  margin: 0 0 2px 0;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--xama-black);
}

.xama-apps-form-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.xama-apps-form-field label {
  font-size: 0.72rem;
  font-weight: 600;
  color: #52525b;
}

.xama-apps-form-field input {
  padding: 6px 10px;
  font-size: 0.8rem;
  border: 1px solid #d4d4d8;
  border-radius: 6px;
  font-family: inherit;
}

.xama-apps-form-field input:focus {
  border-color: var(--xama-black);
  outline: none;
}

.xama-apps-form-hint {
  font-size: 0.66rem;
  color: #a1a1aa;
}

.xama-apps-link-form__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 6px;
}

/* ==========================================================================
   XAMA IA — Interface Conversacional & Assistente de Descobertas
   ========================================================================== */

.xama-route-ai .xama-main {
  max-width: 100%;
  padding: 0;
  background: #fbfbfb;
}

.xama-ai-container {
  display: flex;
  flex-direction: column;
  max-width: 860px;
  min-height: calc(100vh - 72px);
  margin: 0 auto;
  padding: 16px 20px 24px;
  box-sizing: border-box;
}

/* Barra superior da IA */
.xama-ai-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0 16px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  margin-bottom: 24px;
}

.xama-ai-topbar__brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.xama-ai-sparkle-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(255, 0, 80, 0.08);
  color: #FF0050;
}

.xama-ai-topbar__titles {
  display: flex;
  flex-direction: column;
}

.xama-ai-topbar__title {
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #171717;
  margin: 0;
  line-height: 1.2;
}

.xama-ai-topbar__desc {
  font-size: 0.78rem;
  color: #71717a;
}

.xama-ai-topbar__meta {
  display: flex;
  align-items: center;
  gap: 12px;
}

.xama-ai-quota-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.78rem;
  font-weight: 500;
  color: #52525b;
  background: #f4f4f5;
  padding: 5px 10px;
  border-radius: 20px;
}

.xama-ai-quota-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #10b981;
}

.xama-ai-clear-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.78rem;
  font-weight: 600;
  color: #71717a;
  background: transparent;
  border: 1px solid #e4e4e7;
  border-radius: 20px;
  padding: 5px 12px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.xama-ai-clear-btn:hover {
  color: #171717;
  border-color: #a1a1aa;
  background: #ffffff;
}

/* Área central de conteúdo */
.xama-ai-body {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Hero / Estado Inicial */
.xama-ai-hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 60px 16px 40px;
  max-width: 620px;
  margin: auto;
}

.xama-ai-hero__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  margin-bottom: 20px;
}

.xama-ai-hero__headline {
  font-size: 1.85rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #171717;
  margin: 0 0 12px;
  line-height: 1.2;
}

.xama-ai-hero__sub {
  font-size: 0.95rem;
  line-height: 1.55;
  color: #71717a;
  margin: 0 0 32px;
}

.xama-ai-suggestions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  width: 100%;
}

.xama-ai-suggestion-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: #ffffff;
  border: 1px solid #e4e4e7;
  border-radius: 24px;
  font-size: 0.85rem;
  font-weight: 500;
  color: #27272a;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
  transition: all 0.15s ease;
  font-family: inherit;
}

.xama-ai-suggestion-chip svg {
  color: #FF0050;
  flex-shrink: 0;
}

.xama-ai-suggestion-chip:hover {
  border-color: #171717;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

/* Feed de Conversa */
.xama-ai-chat-feed {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding-bottom: 20px;
}

.xama-ai-msg {
  display: flex;
  width: 100%;
}

.xama-ai-msg--user {
  justify-content: flex-end;
}

.xama-ai-msg--user .xama-ai-msg__bubble {
  max-width: 80%;
  background: #171717;
  color: #ffffff;
  padding: 12px 18px;
  border-radius: 18px 18px 4px 18px;
  font-size: 0.94rem;
  line-height: 1.5;
  word-break: break-word;
}

.xama-ai-msg--assistant {
  justify-content: flex-start;
  gap: 14px;
}

.xama-ai-msg--assistant .xama-ai-msg__avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(255, 0, 80, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}

.xama-ai-msg--assistant .xama-ai-msg__body {
  flex: 1;
  max-width: calc(100% - 46px);
}

.xama-ai-msg__content {
  font-size: 0.95rem;
  line-height: 1.65;
  color: #18181b;
}

.xama-ai-msg__content p {
  margin: 0 0 12px;
}

.xama-ai-msg__content p:last-child {
  margin-bottom: 0;
}

.xama-ai-msg__content ul,
.xama-ai-msg__content ol {
  margin: 8px 0 14px 20px;
  padding: 0;
}

.xama-ai-msg__content li {
  margin-bottom: 6px;
}

.xama-ai-msg__content strong {
  color: #09090b;
  font-weight: 600;
}

/* Área de Fontes Verificadas */
.xama-ai-sources {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #f4f4f5;
}

.xama-ai-sources__title {
  display: block;
  font-size: 0.76rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #71717a;
  margin-bottom: 8px;
}

.xama-ai-sources__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 8px;
}

.xama-ai-source-card {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: #ffffff;
  border: 1px solid #e4e4e7;
  border-radius: 8px;
  text-decoration: none;
  color: #18181b;
  font-size: 0.82rem;
  transition: all 0.15s ease;
}

.xama-ai-source-card:hover {
  border-color: #FF0050;
  box-shadow: 0 2px 8px rgba(255, 0, 80, 0.08);
}

.xama-ai-source-card__badge {
  font-size: 0.68rem;
  font-weight: 700;
  background: #f4f4f5;
  color: #52525b;
  padding: 2px 6px;
  border-radius: 4px;
  text-transform: uppercase;
  flex-shrink: 0;
}

.xama-ai-source-card__name {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 500;
}

.xama-ai-source-card__action {
  font-size: 0.74rem;
  color: #FF0050;
  font-weight: 600;
  flex-shrink: 0;
}

/* Indicador de Carregamento (Typing) */
.xama-ai-typing-indicator {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background: #ffffff;
  border: 1px solid #e4e4e7;
  border-radius: 12px;
  width: fit-content;
}

.xama-ai-typing-indicator span {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #FF0050;
  animation: xama-ai-bounce 1.4s infinite ease-in-out both;
}

.xama-ai-typing-indicator span:nth-child(1) { animation-delay: -0.32s; }
.xama-ai-typing-indicator span:nth-child(2) { animation-delay: -0.16s; }
.xama-ai-typing-indicator span:nth-child(3) { animation-delay: 0; }

.xama-ai-typing-indicator small {
  font-size: 0.78rem;
  color: #71717a;
  margin-left: 4px;
}

@keyframes xama-ai-bounce {
  0%, 80%, 100% { transform: scale(0); opacity: 0.3; }
  40% { transform: scale(1); opacity: 1; }
}

/* Barra inferior de entrada */
.xama-ai-input-bar {
  position: sticky;
  bottom: 0;
  background: linear-gradient(180deg, rgba(251, 251, 251, 0) 0%, rgba(251, 251, 251, 0.95) 20%, #fbfbfb 100%);
  padding: 16px 0 8px;
  margin-top: auto;
}

.xama-ai-input-wrapper {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  background: #ffffff;
  border: 1px solid #d4d4d8;
  border-radius: 20px;
  padding: 8px 12px 8px 18px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.xama-ai-input-wrapper:focus-within {
  border-color: #171717;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

.xama-ai-textarea {
  flex: 1;
  border: none;
  background: transparent;
  outline: none;
  resize: none;
  font-family: inherit;
  font-size: 0.95rem;
  line-height: 1.45;
  color: #18181b;
  max-height: 140px;
  min-height: 24px;
  padding: 4px 0;
}

.xama-ai-send-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #171717;
  color: #ffffff;
  border: none;
  cursor: pointer;
  flex-shrink: 0;
  transition: all 0.15s ease;
}

.xama-ai-send-btn:hover:not(:disabled) {
  background: #FF0050;
  transform: scale(1.05);
}

.xama-ai-send-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.xama-ai-disclaimer {
  text-align: center;
  margin-top: 8px;
}

.xama-ai-disclaimer small {
  font-size: 0.72rem;
  color: #a1a1aa;
}

/* ==========================================================================
   XAMA IA — Painel Administrativo (/painel/ia/)
   ========================================================================== */

.xama-panel-ia .xama-panel-status--ok .xama-status-indicator {
  background: #10b981;
}

.xama-panel-ia .xama-panel-status--warning .xama-status-indicator {
  background: #f59e0b;
}

.xama-notice-inline {
  padding: 12px 16px;
  border-radius: 8px;
  margin-bottom: 20px;
  font-size: 0.88rem;
  font-weight: 500;
}

.xama-notice-inline--success {
  background: #ecfdf5;
  color: #065f46;
  border: 1px solid #a7f3d0;
}

.xama-notice-inline--error {
  background: #fef2f2;
  color: #991b1b;
  border: 1px solid #fecaca;
}

.xama-panel-disclaimer {
  margin: 12px 0 24px;
  color: #71717a;
  line-height: 1.45;
}

/* Responsividade Mobile */
@media (max-width: 640px) {
  .xama-ai-container {
    padding: 12px 14px 16px;
    min-height: calc(100vh - 64px);
  }

  .xama-ai-hero__headline {
    font-size: 1.45rem;
  }

  .xama-ai-hero__sub {
    font-size: 0.88rem;
    margin-bottom: 24px;
  }

  .xama-ai-sources__list {
    grid-template-columns: 1fr;
  }

  .xama-ai-msg--user .xama-ai-msg__bubble {
    max-width: 90%;
  }
}

/* ==========================================================================
   XAMA Ranking & Graduation Central (/ranking/)
   Aesthetic: Apple/Google Minimalist, high contrast, clean lines, no gamey clutter
   ========================================================================== */

.xama-ranking {
  max-width: 1040px;
  margin: 0 auto;
  padding: 32px 20px 80px;
  color: #171717;
  font-family: inherit;
}

/* 1. Hero Section */
.xama-ranking-hero {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 36px;
  align-items: start;
  margin-bottom: 56px;
  padding-bottom: 40px;
  border-bottom: 1px solid #f0f0f0;
}

.xama-ranking-hero__tag {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #FF0050;
  margin-bottom: 10px;
}

.xama-ranking-hero__title {
  font-size: 2.25rem;
  line-height: 1.18;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #171717;
  margin: 0 0 14px;
}

.xama-ranking-hero__subtitle {
  font-size: 1.05rem;
  line-height: 1.55;
  color: #525252;
  margin: 0 0 24px;
  max-width: 520px;
}

.xama-ranking-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* User Evolution Card (Sua evolução) */
.xama-ranking-user-card {
  background: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.xama-ranking-user-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.xama-ranking-user-card__eyebrow {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #737373;
}

.xama-ranking-user-card__pos-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  background: #f4f4f5;
  color: #171717;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 700;
}

.xama-ranking-user-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.xama-ranking-user-card__member-info {
  display: flex;
  align-items: center;
  gap: 14px;
}

.xama-ranking-user-card__avatar-ring {
  position: relative;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2px;
  background: linear-gradient(135deg, var(--belt-color, #171717), #ffffff);
}

.xama-ranking-user-card__avatar-img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}

.xama-ranking-user-card__name {
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.25;
  color: #171717;
  margin: 0 0 4px;
}

.xama-ranking-user-card__belt-badge {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.85rem;
}

.xama-ranking-user-card__dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
  border: 1px solid transparent;
}

.xama-ranking-user-card__current-label {
  color: #737373;
}

.xama-ranking-user-card__belt-name {
  font-weight: 700;
  color: #171717;
}

.xama-ranking-user-card__score-block {
  text-align: right;
  flex-shrink: 0;
}

.xama-ranking-user-card__pts-num {
  display: block;
  font-size: 1.6rem;
  font-weight: 800;
  line-height: 1.1;
  color: #171717;
  letter-spacing: -0.02em;
}

.xama-ranking-user-card__pts-label {
  display: block;
  font-size: 0.72rem;
  color: #737373;
  margin-top: 2px;
}

.xama-ranking-user-card__progress {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.xama-ranking-user-card__bar-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}

.xama-ranking-user-card__bar {
  flex: 1;
  height: 8px;
  background: #f0f0f0;
  border-radius: 999px;
  overflow: hidden;
  position: relative;
}

.xama-ranking-user-card__bar-fill {
  display: block;
  height: 100%;
  border-radius: 999px;
  transition: width 0.4s ease;
}

.xama-ranking-user-card__pct {
  font-size: 0.8rem;
  font-weight: 700;
  color: #171717;
  min-width: 38px;
  text-align: right;
}

.xama-ranking-user-card__caption {
  font-size: 0.85rem;
  color: #525252;
  margin: 0;
  line-height: 1.4;
}

.xama-ranking-user-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 12px;
  border-top: 1px solid #f4f4f5;
  font-size: 0.8rem;
}

.xama-ranking-user-card__pos-tag {
  color: #737373;
}

.xama-ranking-user-card__link {
  color: #171717;
  font-weight: 600;
  text-decoration: none;
}

.xama-ranking-user-card__link:hover {
  text-decoration: underline;
}

.xama-ranking-user-card__privacy-tag {
  color: #737373;
  font-size: 0.78rem;
  line-height: 1.35;
}

/* 2. Timeline Section (O caminho da sua evolução) */
.xama-ranking-timeline-section {
  margin-bottom: 56px;
  padding-bottom: 48px;
  border-bottom: 1px solid #f0f0f0;
}

.xama-ranking-timeline-section__head {
  margin-bottom: 28px;
}

.xama-ranking-timeline-section__title {
  font-size: 1.6rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #171717;
  margin: 0 0 6px;
}

.xama-ranking-timeline-section__desc {
  font-size: 0.95rem;
  color: #525252;
  margin: 0;
}

.xama-ranking-timeline-wrap {
  overflow-x: auto;
  padding: 8px 4px 16px;
  -webkit-overflow-scrolling: touch;
}

.xama-ranking-timeline {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(115px, 1fr));
  gap: 12px;
  list-style: none;
  padding: 0;
  margin: 0;
  position: relative;
}

.xama-ranking-step {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  padding: 14px 12px;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  position: relative;
}

.xama-ranking-step:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
}

.xama-ranking-step.is-atual {
  border-color: #171717;
  background: #fafafa;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

.xama-ranking-step.is-bloqueada {
  opacity: 0.65;
  border-style: dashed;
}

.xama-ranking-step__node {
  margin-bottom: 10px;
  display: flex;
  align-items: center;
}

.xama-ranking-step__dot {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.xama-ranking-step__pulse {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #ffffff;
  animation: xama-pulse 2s infinite;
}

@keyframes xama-pulse {
  0% { transform: scale(0.9); opacity: 1; }
  50% { transform: scale(1.4); opacity: 0.5; }
  100% { transform: scale(0.9); opacity: 1; }
}

.xama-ranking-step__content {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.xama-ranking-step__state-badge {
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #737373;
}

.xama-ranking-step__state-badge.is-conquistada {
  color: #16a34a;
}

.xama-ranking-step__state-badge.is-atual {
  color: #171717;
  font-weight: 800;
}

.xama-ranking-step__state-badge.is-proxima {
  color: #2563eb;
}

.xama-ranking-step__name {
  font-size: 0.95rem;
  font-weight: 700;
  color: #171717;
  line-height: 1.25;
}

.xama-ranking-step__points {
  font-size: 0.75rem;
  color: #737373;
}

/* 3. Ranking Board Section */
.xama-ranking-board {
  margin-bottom: 56px;
  padding-bottom: 48px;
  border-bottom: 1px solid #f0f0f0;
}

.xama-ranking-board__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.xama-ranking-board__title {
  font-size: 1.6rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #171717;
  margin: 0 0 6px;
}

.xama-ranking-board__desc {
  font-size: 0.95rem;
  color: #525252;
  margin: 0;
}

.xama-ranking-board__count-meta {
  color: #737373;
  font-size: 0.88rem;
}

/* Sua Posição Component */
.xama-ranking-my-rank {
  background: #f9f9f9;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
  padding: 12px 18px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.xama-ranking-my-rank__label {
  font-size: 0.72rem;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #737373;
}

.xama-ranking-my-rank__val {
  display: flex;
  align-items: center;
  gap: 10px;
}

.xama-ranking-my-rank__num {
  font-size: 1.25rem;
  font-weight: 800;
  color: #171717;
}

.xama-ranking-my-rank__badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px 8px;
  background: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 600;
}

.xama-ranking-my-rank__pts {
  font-size: 0.82rem;
  color: #737373;
}

/* Ranking List */
.xama-ranking-table-wrap {
  background: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02);
}

.xama-ranking-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.xama-ranking-row {
  display: grid;
  grid-template-columns: 56px 1fr 180px 140px;
  align-items: center;
  gap: 16px;
  padding: 14px 20px;
  border-bottom: 1px solid #f0f0f0;
  transition: background-color 0.15s ease;
}

.xama-ranking-row:last-child {
  border-bottom: 0;
}

.xama-ranking-row:hover {
  background: #fafafa;
}

.xama-ranking-row.is-viewer {
  background: #fff8f9;
  border-left: 3px solid #FF0050;
}

.xama-ranking-row__pos {
  display: flex;
  align-items: center;
  justify-content: center;
}

.xama-ranking-row__pos-num {
  font-size: 0.95rem;
  font-weight: 700;
  color: #737373;
}

.xama-ranking-row__pos-badge {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
  font-weight: 800;
  color: #171717;
}

.xama-ranking-row__pos.is-gold .xama-ranking-row__pos-badge {
  background: #fef08a;
  color: #854d0e;
}

.xama-ranking-row__pos.is-silver .xama-ranking-row__pos-badge {
  background: #e4e4e7;
  color: #3f3f46;
}

.xama-ranking-row__pos.is-bronze .xama-ranking-row__pos-badge {
  background: #fed7aa;
  color: #9a3412;
}

.xama-ranking-row__user {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: inherit;
  min-width: 0;
}

.xama-ranking-row__avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

.xama-ranking-row__identity {
  min-width: 0;
}

.xama-ranking-row__name-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
}

.xama-ranking-row__name {
  font-size: 0.95rem;
  font-weight: 700;
  color: #171717;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.xama-ranking-row__user:hover .xama-ranking-row__name {
  color: #FF0050;
}

.xama-ranking-row__you-tag {
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  padding: 1px 6px;
  background: #FF0050;
  color: #ffffff;
  border-radius: 999px;
}

.xama-ranking-row__handle {
  font-size: 0.8rem;
  color: #737373;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.xama-ranking-row__belt {
  display: flex;
  align-items: center;
}

.xama-ranking-row__belt-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.85rem;
  color: #171717;
  font-weight: 600;
}

.xama-ranking-row__score {
  text-align: right;
  display: flex;
  flex-direction: column;
}

.xama-ranking-row__pts {
  font-size: 1rem;
  font-weight: 800;
  color: #171717;
}

.xama-ranking-row__pts-unit {
  font-size: 0.72rem;
  color: #737373;
}

/* Empty Ranking */
.xama-ranking-empty {
  text-align: center;
  padding: 56px 20px;
  background: #ffffff;
  border: 1px dashed #e5e5e5;
  border-radius: 16px;
}

.xama-ranking-empty__icon-wrap {
  margin-bottom: 14px;
}

.xama-ranking-empty__text {
  font-size: 1.05rem;
  font-weight: 700;
  color: #171717;
  margin: 0 0 6px;
}

.xama-ranking-empty__hint {
  font-size: 0.88rem;
  color: #737373;
  margin: 0;
}

/* Pagination */
.xama-ranking-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 24px;
}

.xama-ranking-pagination__link {
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  border: 1px solid #e5e5e5;
  background: #ffffff;
  color: #171717;
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.15s ease;
}

.xama-ranking-pagination__link:hover {
  border-color: #171717;
}

.xama-ranking-pagination__link.is-active {
  background: #171717;
  color: #ffffff;
  border-color: #171717;
}

/* 4. How to Climb Section (Como subir de faixa) */
.xama-ranking-how {
  margin-bottom: 56px;
  padding-bottom: 48px;
  border-bottom: 1px solid #f0f0f0;
}

.xama-ranking-how__head {
  margin-bottom: 28px;
}

.xama-ranking-how__title {
  font-size: 1.6rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #171717;
  margin: 0 0 6px;
}

.xama-ranking-how__intro {
  font-size: 0.95rem;
  color: #525252;
  margin: 0;
}

.xama-ranking-how__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.xama-ranking-guide-card {
  background: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02);
}

.xama-ranking-guide-card.is-negative {
  background: #fafafa;
}

.xama-ranking-guide-card__icon-wrap {
  margin-bottom: 14px;
}

.xama-ranking-guide-card__heading {
  font-size: 1.15rem;
  font-weight: 700;
  color: #171717;
  margin: 0 0 16px;
}

.xama-ranking-actions-table {
  width: 100%;
  border-collapse: collapse;
}

.xama-ranking-actions-table th {
  text-align: left;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #737373;
  padding-bottom: 10px;
  border-bottom: 1px solid #f0f0f0;
}

.xama-ranking-actions-table td {
  padding: 12px 0;
  border-bottom: 1px solid #f4f4f5;
  font-size: 0.88rem;
}

.xama-ranking-actions-table tr:last-child td {
  border-bottom: 0;
}

.xama-ranking-actions-table strong {
  display: block;
  color: #171717;
  font-weight: 600;
}

.xama-ranking-actions-table small {
  display: block;
  color: #737373;
  font-size: 0.78rem;
  margin-top: 2px;
}

.xama-ranking-badge-pts {
  display: inline-block;
  padding: 3px 8px;
  background: #f4f4f5;
  color: #171717;
  border-radius: 6px;
  font-weight: 700;
  font-size: 0.82rem;
  white-space: nowrap;
}

.xama-ranking-guide-card__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.xama-ranking-guide-card__list li {
  font-size: 0.85rem;
  line-height: 1.45;
  color: #525252;
  position: relative;
  padding-left: 14px;
}

.xama-ranking-guide-card__list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: #ef4444;
  font-weight: bold;
}

.xama-ranking-guide-card__list strong {
  color: #171717;
}

/* 5. Belt Benefits Section (O que você conquista) */
.xama-ranking-tiers {
  margin-bottom: 40px;
}

.xama-ranking-tiers__header {
  margin-bottom: 28px;
}

.xama-ranking-tiers__title {
  font-size: 1.6rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #171717;
  margin: 0 0 6px;
}

.xama-ranking-tiers__intro {
  font-size: 0.95rem;
  color: #525252;
  margin: 0;
}

.xama-ranking-tiers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
}

.xama-ranking-tier-card {
  background: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 16px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.xama-ranking-tier-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04);
}

.xama-ranking-tier-card.is-current-tier {
  border-color: #171717;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  background: #fafafa;
}

.xama-ranking-tier-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.xama-ranking-tier-card__indicator {
  display: flex;
  align-items: center;
  gap: 8px;
}

.xama-ranking-tier-card__name {
  font-size: 1.05rem;
  font-weight: 700;
  color: #171717;
  margin: 0;
}

.xama-ranking-tier-card__current-pill {
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  padding: 2px 8px;
  background: #171717;
  color: #ffffff;
  border-radius: 999px;
}

.xama-ranking-tier-card__threshold {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.xama-ranking-tier-card__points-tag {
  font-size: 0.88rem;
  font-weight: 700;
  color: #171717;
}

.xama-ranking-tier-card__badge-sub {
  font-size: 0.75rem;
  color: #737373;
}

.xama-ranking-tier-card__perks {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid #f4f4f5;
}

.xama-ranking-tier-card__perks li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.85rem;
  line-height: 1.35;
  color: #525252;
}

.xama-ranking-tier-card__perks li svg {
  flex-shrink: 0;
  margin-top: 2px;
}

/* Responsive adjustments */
@media (max-width: 860px) {
  .xama-ranking-hero {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .xama-ranking-row {
    grid-template-columns: 44px 1fr 100px;
    gap: 12px;
    padding: 12px 14px;
  }

  .xama-ranking-row__belt {
    display: none;
  }

  .xama-ranking-how__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 540px) {
  .xama-ranking {
    padding: 20px 14px 60px;
  }

  .xama-ranking-hero__title {
    font-size: 1.75rem;
  }

  .xama-ranking-timeline {
    grid-template-columns: repeat(4, 1fr);
  }

  .xama-ranking-row {
    grid-template-columns: 36px 1fr 80px;
    padding: 10px 12px;
  }

  .xama-ranking-row__avatar {
    width: 34px;
    height: 34px;
  }

  .xama-ranking-row__pts {
    font-size: 0.9rem;
  }
}

/* ==========================================================================
   XAMA Search & AI — Google Continuation Bridge
   Design: Minimalist, Apple/Google aesthetics, high contrast, clean feedback
   ========================================================================== */

/* 1. Empty Search State (Ausência de Resultados) */
.xama-search-empty {
  padding: 56px 24px;
  text-align: center;
  background: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 16px;
  margin: 32px 0;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.02);
}

.xama-search-empty__body {
  max-width: 520px;
  margin: 0 auto;
}

.xama-search-empty__title {
  font-size: 1.45rem;
  font-weight: 800;
  color: #171717;
  letter-spacing: -0.02em;
  margin: 0 0 8px;
  line-height: 1.25;
}

.xama-search-empty__subtitle {
  font-size: 1.02rem;
  color: #525252;
  margin: 0 0 24px;
  line-height: 1.5;
}

.xama-search-empty__action {
  margin: 0;
}

.xama-search-empty__biz-hint {
  margin-top: 24px;
  font-size: 0.85rem;
  color: #737373;
}

.xama-search-empty__biz-hint a {
  color: #171717;
  font-weight: 600;
  text-decoration: underline;
}

/* 2. Partial Search Results (Resultados Parciais) */
.xama-search-continuation--partial {
  margin: 28px 0 20px;
  padding: 16px 20px;
  background: #fafafa;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
}

.xama-search-continuation--partial .xama-search-continuation__body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.xama-search-continuation--partial .xama-search-continuation__text {
  margin: 0;
  font-size: 0.92rem;
  color: #525252;
  font-weight: 500;
}

/* 3. Sufficient Results (Link Discreto) */
.xama-search-continuation--discreet {
  margin: 28px 0 12px;
  text-align: center;
}

.xama-search-continuation__link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.88rem;
  font-weight: 600;
  color: #737373;
  text-decoration: none;
  padding: 8px 16px;
  border-radius: 999px;
  transition: all 0.15s ease;
}

.xama-search-continuation__link:hover {
  color: #171717;
  background: #f4f4f5;
  text-decoration: none;
}

/* 4. XAMA IA — Continuação no Google */
.xama-ai-continuation {
  margin-top: 14px;
}

.xama-ai-continuation--action {
  padding: 14px 16px;
  background: #f9f9f9;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
}

.xama-ai-continuation__prompt {
  font-size: 0.88rem;
  color: #525252;
  margin: 0 0 10px;
  line-height: 1.45;
}

.xama-ai-continuation__btn {
  display: inline-flex;
  align-items: center;
  font-size: 0.82rem;
  text-decoration: none;
}

.xama-ai-continuation--discreet {
  padding-top: 10px;
  border-top: 1px solid #f0f0f0;
}

.xama-ai-continuation--discreet .xama-ai-continuation__link {
  font-size: 0.82rem;
  color: #737373;
  text-decoration: none;
  font-weight: 600;
}

.xama-ai-continuation--discreet .xama-ai-continuation__link:hover {
  color: #171717;
  text-decoration: underline;
}

@media (max-width: 640px) {
  .xama-search-empty {
    padding: 36px 18px;
  }

  .xama-search-empty__title {
    font-size: 1.25rem;
  }

  .xama-search-continuation--partial .xama-search-continuation__body {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
}
