:root { --majaa-soft-green:var(--majaa-color-sage); }
.majaa-social-action, .majaa-request-trigger {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: var(--majaa-button-height); min-width: 44px; padding: 8px var(--majaa-button-padding-x);
  border: 1px solid var(--majaa-color-gold-soft); border-radius: var(--majaa-button-radius);
  background: #fff; color: var(--majaa-color-ink); font: inherit;
  text-decoration: none; cursor: pointer;
}
.majaa-social-action:hover, .majaa-request-trigger:hover { background: #f8f3e9; }
.majaa-social-action:focus-visible, .majaa-request-trigger:focus-visible,
.majaa-request-dialog button:focus-visible, .majaa-request-dialog textarea:focus-visible {
  outline: 3px solid var(--majaa-color-gold-dark); outline-offset: 2px;
}
.majaa-social-action:disabled, .majaa-request-trigger[aria-disabled="true"] {
  opacity: .65; cursor: default;
}
#item-header #profile-header #item-buttons.action { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
#item-header #profile-header #item-buttons.action .activity-button.mention { display: none !important; }
#item-body .majaa-social-status {
  margin: 0 0 18px; padding: 10px 14px;
  color: var(--majaa-color-ink); background: #fbf8f2;
  border: 1px solid #dfd8ce; border-radius: 10px;
}
#item-body .majaa-social-status[hidden] { display: none; }
#item-body .majaa-social-status span { display: inline-block; margin-right: 12px; }
#item-header #profile-header #item-buttons.action .majaa-pending-action {
  font-size: 14px; line-height: 1.3; flex: 0 1 auto;
}
.majaa-request-quota { margin: 0 0 12px; color: var(--majaa-color-ink); }
.majaa-request-dialog { box-sizing: border-box; width: min(92vw, 540px); max-height: min(85vh, 720px);
  border: 1px solid var(--majaa-dialog-border); border-radius: var(--majaa-dialog-radius); padding: clamp(18px, 4vw, 32px);
  background: var(--majaa-dialog-bg); box-shadow: var(--majaa-dialog-shadow); color: var(--majaa-color-ink); }
.majaa-request-dialog::backdrop { background: var(--majaa-dialog-backdrop); }
.majaa-request-dialog h2 { font-size: 1.45rem; margin: 0 0 14px; }
.majaa-request-dialog label { display: block; font-weight: 600; margin: 16px 0 6px; }
.majaa-request-dialog textarea { display: block; width: 100%; min-height: 155px; box-sizing: border-box;
  padding: 12px; border: 1px solid var(--majaa-color-gold-dark); border-radius: 8px; resize: vertical; }
.majaa-request-controls { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.majaa-request-controls button { min-height: var(--majaa-button-height); padding: 8px var(--majaa-button-padding-x); border-radius: var(--majaa-button-radius); cursor: pointer; }
.majaa-request-controls [type="submit"] {
  background: var(--mc-action-fill, var(--majaa-color-cream));
  color: var(--mc-action-text, var(--majaa-color-ink));
  border: 1px solid var(--mc-action-border, var(--majaa-color-gold-dark));
}
.majaa-request-controls [type="submit"]:hover {
  border-color: var(--mc-gold, var(--majaa-color-gold-dark));
}
/* Schriften und Button-Maße aus den zentralen Tokens (majaa-core). */
#majaa-request-dialog.majaa-request-dialog { padding:clamp(20px,4vw,32px);border:1px solid #d7d1d8;border-radius:16px;background:var(--majaa-color-paper);color:var(--majaa-color-text);font:400 16px/1.55 var(--majaa-font-body);outline:0; }
#majaa-request-dialog #majaa-request-form { margin:0;padding:0;border:0;box-shadow:none;background:transparent; }
#majaa-request-dialog #majaa-request-title { display:flex;align-items:flex-start;gap:12px;margin:0 0 16px;color:var(--majaa-color-ink);font:400 24px/1.3 var(--majaa-font-heading);letter-spacing:normal;text-transform:none; }
#majaa-request-dialog #majaa-request-title-label { min-width:0;overflow-wrap:anywhere; }
#majaa-request-dialog p { margin:0 0 20px;font:inherit;color:inherit; }
#majaa-request-dialog .majaa-request-kindness { display:block;margin-top:8px; }
#majaa-request-dialog label { margin:24px 0 10px;color:var(--majaa-color-ink);font:400 21px/1.3 var(--majaa-font-heading); }
#majaa-request-dialog #majaa-request-message { min-height:156px;padding:14px 16px;border:1px solid var(--majaa-soft-green,var(--majaa-color-sage));border-color:var(--majaa-soft-green,var(--majaa-color-sage)) !important;border-radius:10px !important;background:#fff !important;outline:0 !important;box-shadow:none !important;color:var(--majaa-color-ink);font:400 16px/1.55 var(--majaa-font-body); }
/* Keyboard focus strengthens this same frame without adding a second ring. */
#majaa-request-dialog #majaa-request-message:focus { border:2px solid var(--majaa-soft-green,var(--majaa-color-sage));border-color:var(--majaa-soft-green,var(--majaa-color-sage)) !important;padding:13px 15px; }
#majaa-request-dialog #majaa-request-counter { margin:10px 6px 0;text-align:right;color:var(--majaa-color-text);font-size:13px; }
#majaa-request-dialog .majaa-request-quota { margin:14px 0 0;font-size:13px; }
#majaa-request-dialog #majaa-request-feedback { margin:14px 0 0; }
#majaa-request-dialog #majaa-request-feedback:empty { display:none; }
#majaa-request-dialog .majaa-request-controls { gap:12px;margin-top:24px; }
#majaa-request-dialog .majaa-request-controls button { display:inline-flex;align-items:center;justify-content:center;gap:var(--majaa-button-gap);box-sizing:border-box;min-height:var(--majaa-button-height);padding:10px var(--majaa-button-padding-x);border:1px solid rgba(242,233,216,.5);border-radius:var(--majaa-button-radius);background:var(--majaa-color-cream);color:var(--majaa-color-ink);box-shadow:none;font:400 14px/1.4 var(--majaa-font-body);text-transform:none;letter-spacing:normal; }
#majaa-request-dialog .majaa-request-controls [data-majaa-close] { background:var(--majaa-color-sage);border-color:rgba(230,235,230,.5);color:#514c43; }
#majaa-request-dialog .majaa-request-controls button[type="submit"],
#majaa-request-dialog .majaa-request-controls button[type="submit"]:hover { background:var(--majaa-warm-fill,var(--majaa-color-warm));background-clip:padding-box;color:var(--majaa-warm-ink,var(--majaa-color-ink));border-color:rgba(219,185,129,.5); }
@supports (color:rgb(from white r g b / .5)) {
  #majaa-request-dialog .majaa-request-controls button[type="submit"],
  #majaa-request-dialog .majaa-request-controls button[type="submit"]:hover { border-color:rgb(from var(--majaa-warm-fill,var(--majaa-color-warm)) r g b / .5); }
}
#majaa-request-dialog .majaa-request-controls button:hover { filter:brightness(.98); }
#majaa-request-dialog .majaa-request-connect-icon { display:block;flex:none;width:18px;height:18px;background:currentColor;mask:url("request-person-plus.svg") center/contain no-repeat; }
#majaa-request-dialog .majaa-request-heading-icon { width:26px;height:26px;margin-top:4px;color:var(--majaa-warm-fill,var(--majaa-color-warm)); }
@media(max-width:380px) { #majaa-request-dialog #majaa-request-title { font-size:24px; } #majaa-request-dialog .majaa-request-controls button { flex:1 1 100%; } }
#majaa-request-limit.majaa-request-dialog { padding:clamp(20px,4vw,32px);border:1px solid #d7d1d8;border-radius:16px;background:var(--majaa-color-paper);color:var(--majaa-color-text);font:400 var(--majaa-type-control,16px)/1.55 var(--majaa-font-body,var(--majaa-font-body)); }
#majaa-request-limit::backdrop { background: var(--majaa-dialog-backdrop); }
#majaa-request-limit h2 { margin:0 0 20px;color:var(--majaa-color-ink);font:400 24px/1.3 var(--majaa-font-heading);letter-spacing:normal;text-transform:none; }
#majaa-request-limit p { margin:0 0 16px;font:inherit;color:inherit; }
#majaa-request-limit #majaa-request-limit-unsent { margin:20px 0 0;font-size:var(--majaa-type-label,14px); }
#majaa-request-limit .majaa-request-controls { gap:12px;margin-top:24px; }
#majaa-request-limit .majaa-request-limit-upgrade { display:inline-flex;max-width:100%; }
#majaa-request-limit .majaa-request-controls :is(button,a) { display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;max-width:100%;min-height:var(--majaa-button-height);padding:10px var(--majaa-button-padding-x);border:1px solid rgb(230 235 230 / 50%);border-radius:var(--majaa-button-radius);background:var(--majaa-color-sage);color:var(--majaa-warm-ink,var(--majaa-color-ink));font:400 var(--majaa-type-control,16px)/1.4 var(--majaa-font-body,var(--majaa-font-body));text-transform:none;letter-spacing:normal;text-decoration:none;box-shadow:none; }
#majaa-request-limit .majaa-request-limit-upgrade a { background:var(--majaa-warm-fill,var(--majaa-color-warm));background-clip:padding-box;border-color:rgb(219 185 129 / 50%); }
#majaa-request-limit .majaa-request-limit-upgrade a { gap:8px;transition:background-color .2s ease,border-color .2s ease,color .2s ease; }
#majaa-request-limit .majaa-request-limit-upgrade a::before { content:"";display:block;flex:none;width:1.125em;height:1.125em;background:currentColor;pointer-events:none;-webkit-mask:url("community-support.svg") center/contain no-repeat;mask:url("community-support.svg") center/contain no-repeat; }
@supports (color:rgb(from white r g b / .5)) {
  #majaa-request-limit .majaa-request-limit-upgrade a { border-color:rgb(from var(--majaa-warm-fill,var(--majaa-color-warm)) r g b / .5); }
}
#majaa-request-limit .majaa-request-limit-unavailable { margin:16px 0 0;font-size:var(--majaa-type-label,14px); }
@media(max-width:480px) {
  #majaa-request-limit .majaa-request-controls > * { flex:1 1 100%;width:100%; }
  #majaa-request-limit .majaa-request-limit-upgrade a { width:100%; }
}
#buddypress #item-body #subnav.majaa-friends-nav { margin-top: 0 !important; margin-bottom: 18px !important; }
/* !important: das Theme setzt overflow sichtbar; sonst ragen die Reiter am Handy über den Rand. */
#buddypress #item-body #subnav.majaa-friends-nav .primary-list-tabs { min-width: 0; max-width: 100%; overflow-x: auto !important; overflow-y: hidden !important; scrollbar-width: none; }
#buddypress #item-body #subnav.majaa-friends-nav .primary-list-tabs::-webkit-scrollbar { display: none; }
@media (max-width: 480px) {
  #buddypress #item-body #subnav.majaa-friends-nav .item-list-tabs-ul { gap: 2px !important; }
}
#buddypress #item-body #subnav.majaa-friends-nav .item-list-tabs-ul {
  display: flex !important; flex-flow: row nowrap !important; justify-content: flex-start !important;
  width: max-content !important; max-width: none !important; gap: 8px !important;
  margin: 0 !important; padding: 0 !important;
}
#buddypress #item-body #subnav.majaa-friends-nav .item-list-tabs-ul > li {
  display: block !important; float: none !important; flex: 0 0 auto !important;
  width: auto !important; min-width: 0 !important; margin: 0 !important;
}
#buddypress #item-body #subnav.majaa-friends-nav .item-list-tabs-ul > li > .majaa-profile-link {
  display: inline-flex !important; flex-flow: row nowrap !important; align-items: center !important;
  justify-content: flex-start !important; gap: 6px !important; width: auto !important;
  min-height: 48px !important; padding: 8px 2px !important;
  white-space: nowrap !important; text-align: left !important; font-size: 15px !important;
  line-height: 1.3 !important;
}
#buddypress #item-body #subnav.majaa-friends-nav .majaa-nav-icon {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  flex: 0 0 28px !important; width: 28px !important; height: 28px !important;
  position: static !important; inset: auto !important; transform: translateY(-2px) !important;
  margin: 0 !important; padding: 0 !important; line-height: 1 !important;
}
#buddypress #item-body #subnav.majaa-friends-nav .majaa-nav-icon svg {
  display: block !important; width: 24px !important; height: 24px !important;
}
#buddypress #item-body #subnav.majaa-friends-nav .majaa-icon-heart-handshake svg {
  width: 28px !important; height: 28px !important;
}
#buddypress #item-body #subnav.majaa-friends-nav .majaa-nav-label {
  display: inline-block !important; position: static !important; inset: auto !important;
  transform: none !important; margin: 0 !important; padding: 0 !important;
  white-space: nowrap !important; line-height: 1.3 !important;
}
#item-body .majaa-smiles-page #members-order-select { display: none; }
.majaa-smiles { max-width: 780px; padding-bottom: 18px; }
.majaa-smiles-tabs { display: flex; gap: 8px; margin: 0 0 24px; }
.majaa-smiles-tabs a { display: inline-flex; align-items: center; justify-content: center;
  box-sizing: border-box; min-height: 44px; padding: 6px 15px;
  border: 1px solid var(--majaa-color-gold-soft); border-radius: 24px; font-size: 14px;
  color: var(--majaa-color-ink); background: #fff; text-decoration: none; }
.majaa-smiles-tabs a[aria-current="page"] { background: var(--majaa-color-warm); border-color: var(--majaa-color-gold-dark); color: var(--majaa-color-ink); }
.majaa-smiles-tabs a:focus-visible, .majaa-smiles-person:focus-visible, .majaa-smiles-email button:focus-visible {
  outline: 3px solid var(--majaa-color-gold-dark); outline-offset: 2px; }
.majaa-smiles-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 24px; max-width: 450px; }
.majaa-smiles-list li { margin: 0; padding: 0; }
.majaa-smiles-person { display: flex; flex-direction: column; align-items: center; gap: 18px; padding: 32px 18px 22px;
  border: 1px solid #dfd8ce; border-radius: 12px; background: #fbf8f2;
  color: #373331; text-decoration: none; }
.majaa-smiles-person:hover { border-color: var(--majaa-color-gold-soft); color: #373331; text-decoration: none; }
.majaa-smiles-locked { width: 100%; font: inherit; cursor: pointer; }
.majaa-smiles-mosaic { position: absolute; inset: 0; display: block;
  background: linear-gradient(125deg, #b5a18c 10%, #ded0bd 10% 25%, #978876 25% 39%, #d5bca8 39% 55%, #aa9784 55% 73%, #e5d5c2 73%);
  filter: blur(14px); transform: scale(1.12); }
.majaa-smiles-mosaic::after { content: ''; position: absolute; inset: 13% 20%;
  border-radius: 50% 50% 38% 38%; background: #b49b83; opacity: .55; }
.majaa-smiles-locked .majaa-smiles-image::after { content: ''; position: absolute; inset: 0;
  background: rgba(255, 255, 255, .25); pointer-events: none; }
.majaa-smiles-unlock { position: absolute; z-index: 1; top: 50%; left: 50%;
  transform: translate(-50%, -50%); display: inline-flex; align-items: center; justify-content: center;
  min-height: var(--majaa-button-height); min-width: max-content; padding: 8px var(--majaa-button-padding-x); box-sizing: border-box;
  border-radius: var(--majaa-button-radius); background: var(--majaa-color-warm); color: var(--majaa-color-ink); font-size: 15px; font-weight: 600;
  box-shadow: 0 5px 18px #3d352d33; pointer-events: none; }
.majaa-smiles-upgrade { position: relative; text-align: center; padding: 54px 24px 26px; }
.majaa-smiles-upgrade-copy { margin: 0 0 19px; font-size: 18px; line-height: 1.45; font-weight: 400; }
.majaa-smiles-upgrade-copy strong { font-weight: 700; }
.majaa-smiles-upgrade-heart, .majaa-smiles-upgrade-smile { display: inline-flex; align-items: center;
  vertical-align: middle; position: relative; top: -2px; color: var(--majaa-color-gold-soft); }
.majaa-smiles-upgrade-heart { margin: 0 2px 0 5px; }
.majaa-smiles-upgrade-heart svg, .majaa-smiles-upgrade-smile svg { display: block; width: 1em; height: 1em; }
.majaa-smiles-upgrade-smile { margin-left: 2px; }
.majaa-smiles-upgrade-action a { display: inline-flex; align-items: center; justify-content: center;
  min-height: var(--majaa-button-height); padding: 9px var(--majaa-button-padding-x); border-radius: var(--majaa-button-radius);
  border: 1px solid var(--majaa-color-gold-dark); background: var(--majaa-button-primary-bg); box-shadow: var(--majaa-button-shadow); color: var(--majaa-color-ink); font: inherit;
  font-weight: 600; text-decoration: none; }
.majaa-smiles-upgrade-action a:hover { background: var(--majaa-color-gold-dark); color: var(--majaa-color-ink); text-decoration: none; }
.majaa-smiles-upgrade .majaa-smiles-upgrade-close { position: absolute; top: 8px; right: 8px;
  display: flex; align-items: center; justify-content: center; width: 44px; height: 44px;
  padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--majaa-color-ink);
  cursor: pointer; }
.majaa-smiles-upgrade-close svg { display: block; width: 20px; height: 20px; }
.majaa-smiles-locked:focus-visible, .majaa-smiles-upgrade-action a:focus-visible,
.majaa-smiles-upgrade-close:focus-visible { outline: 3px solid var(--majaa-color-gold-dark); outline-offset: 2px; }
.majaa-smiles-avatar { position: relative; display: block; flex: none; width: min(100%, 280px); padding: 16px;
  border: 1px solid var(--majaa-color-gold-soft); border-radius: 24px 8px 24px 8px; background: var(--majaa-color-paper); }
.majaa-smiles-avatar::before { content: ''; position: absolute; top: -1px; left: calc(50% - 20px);
  width: 40px; height: 3px; background: var(--majaa-color-paper); }
.majaa-smiles-lotus { position: absolute; top: -24px; left: calc(50% - 18px); z-index: 1;
  display: flex; align-items: center; justify-content: center; width: 36px; height: 36px;
  color: var(--majaa-color-gold-soft); background: var(--majaa-color-paper); border-radius: 50%; }
.majaa-smiles-lotus svg { display: block; width: 38px; height: 38px; flex: none; }
.majaa-smiles-image { position: relative; display: block; width: 100%; aspect-ratio: 4 / 5;
  overflow: hidden; border-radius: 18px 4px 18px 4px; background: #eee7df; }
.majaa-smiles-image img { position: absolute; inset: 0; display: block; width: 100%; height: 100%;
  max-width: none; max-height: none; object-fit: cover; border: 0; border-radius: 0; padding: 0; margin: 0; }
.majaa-smiles-caption { display: block; text-align: center; line-height: 1.45; }
.majaa-smiles-caption-icon { display: inline-flex; vertical-align: middle; color: var(--majaa-color-gold-soft); }
.majaa-smiles-caption-icon svg { display: block; width: 25px; height: 25px; }
.majaa-smiles-empty { padding: 24px; background: #fbf8f2; border-radius: 12px; }
.majaa-smiles-email { margin-top: 36px; padding-top: 20px; border-top: 1px solid #dfd8ce;
  display: flex; align-items: center; flex-wrap: wrap; gap: 12px 18px; }
.majaa-smiles-email label { display: inline-flex; gap: 8px; align-items: center; margin: 0; }
.majaa-smiles-email button { min-height: var(--majaa-button-height); padding: 8px var(--majaa-button-padding-x); border-radius: var(--majaa-button-radius);
  background: var(--majaa-color-warm); color: var(--majaa-color-ink); border: 1px solid var(--majaa-color-gold-dark); cursor: pointer; }
.majaa-request-messages { margin: 12px 0 22px; padding: 16px; background: #fbf8f2; border-radius: 12px; }
.majaa-request-messages ul { list-style: none; padding: 0; }
.majaa-request-messages li { margin-top: 12px; }
.majaa-request-messages blockquote { margin: 5px 0 0; white-space: normal; }
@media(max-width: 599.98px) {
  /* Reiter in voller Breite, Sortierung („Zuletzt aktiv“) darunter rechts (05.11.2026). */
  #buddypress #item-body #subnav.majaa-friends-nav { display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 4px; }
  #buddypress #item-body #subnav.majaa-friends-nav #members-order-select { align-self: flex-end; margin: 0 !important; }
  #buddypress #item-body #subnav.majaa-friends-nav .primary-list-tabs { width: 100%; }
  #item-header #profile-header #item-buttons.action { gap: 10px; }
  .majaa-social-action, .majaa-request-trigger { flex: 1 1 145px; }
  .majaa-request-controls button { flex: 1 1 120px; }
  .majaa-smiles-avatar { width: min(100%, 270px); }
}

/* Aufsteigendes Lächeln (Standard-Schwingung aus majaa-core/assets/flight.js). */
/* 50 % größer als das Herz (33 px) und als weißer runder Button mit Aubergine-Lächeln,
 * damit es auf jedem Foto sichtbar bleibt. */
.majaa-smile-flight-shape { box-sizing:border-box;display:flex!important;align-items:center;justify-content:center;
  border-radius:50%;background:#fff;color:var(--majaa-color-ink);box-shadow:0 3px 10px rgb(57 48 60 / 25%); }
.majaa-smile-flight-shape svg { display:block;width:28px;height:28px; } /* Gesicht ca. 21 px im 33-px-Kreis */
