/* Emoji-Auswahl fuer Kommentarfelder (static/js/pn-emoji.js), 09/2026.
   Knopf im Stil des "Bild"-Knopfs (Pille), Fenster klappt unter bzw. ueber
   dem Knopf auf. Reine Touch-Geraete (Handy/Tablet ohne Maus) sehen den Knopf
   nicht: deren Tastatur hat Emojis. */
body.pn-ui .pn-emoji { position: relative; display: inline-flex; min-width: 0; }
body.pn-ui .pn-emoji .pn-emoji__btn {
  width: auto; height: auto;
  padding: 0 0.8rem;
  background: var(--bg, #F5F5F4); color: var(--bsn, #2A333F);
  border-color: transparent;
  border-radius: 999px;
}
body.pn-ui .pn-emoji .pn-emoji__btn:hover,
body.pn-ui .pn-emoji.is-open .pn-emoji__btn { border-color: var(--border, #E5E7EB); }
/* Symbolknopf im Chat (/nachrichten): Groesse/Form kommen von .msg-icon-btn */
body.pn-ui .pn-emoji--icon { flex: none; align-self: flex-end; }
body.pn-ui .pn-emoji__btn--icon { cursor: pointer; }
body.pn-ui .pn-emoji__btn--icon svg { width: 22px; height: 22px; }
body.pn-ui .pn-emoji__btn--icon:focus-visible { outline: 2px solid var(--accent, #FF7A00); outline-offset: 2px; }
@media (hover: none) and (pointer: coarse) {
  body.pn-ui .pn-emoji { display: none; }
}
/* Zeile unter dem Textfeld (Termin-Kommentar, Bearbeiten): Emoji links, Senden rechts */
body.pn-ui .pn-emoji-row { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-top: 0.5rem; }
body.pn-ui .pn-emoji-row > .pn-btn--dark { margin-left: auto; }
body.pn-ui .event-detail__comments .pn-emoji-row { margin-top: 0; }
@media (max-width: 360px) {
  body.pn-ui .pn-emoji__label { display: none; }
}

body.pn-ui .pn-emoji__panel {
  /* top/left setzt pn-emoji.js (fixed: kein Abschneiden durch overflow:hidden) */
  position: fixed; z-index: 1000;
  top: 0; left: 0;
  width: 320px; max-width: calc(100vw - 16px);
  display: flex; flex-direction: column;
  background: var(--card, #fff);
  border: 1px solid var(--border, #E5E7EB);
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(17, 24, 39, 0.16);
  overflow: hidden;
}
body.pn-ui .pn-emoji__panel[hidden] { display: none; }

body.pn-ui .pn-emoji__nav {
  display: flex; gap: 2px;
  padding: 4px;
  border-bottom: 1px solid var(--border, #E5E7EB);
}
body.pn-ui .pn-emoji__tab {
  flex: 1 1 0;
  min-width: 0; height: 36px;
  padding: 0;
  background: transparent; border: 0; border-radius: 8px;
  font-size: 1.15rem; line-height: 1;
  cursor: pointer;
}
body.pn-ui .pn-emoji__tab[hidden] { display: none; }
body.pn-ui .pn-emoji__tab:hover { background: var(--bg, #F5F5F4); }
body.pn-ui .pn-emoji__tab:focus-visible { outline: 2px solid var(--accent, #FF7A00); outline-offset: -2px; }

body.pn-ui .pn-emoji__scroll {
  position: relative;
  max-height: 248px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0 6px 6px;
}
body.pn-ui .pn-emoji__section[hidden] { display: none; }
body.pn-ui .pn-emoji__heading {
  position: sticky; top: 0; z-index: 1;
  margin: 0;
  padding: 8px 4px 4px;
  background: var(--card, #fff);
  font-size: 0.75rem; font-weight: 600;
  color: var(--muted, #6B7280);
}
body.pn-ui .pn-emoji__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(34px, 1fr));
  gap: 2px;
}
body.pn-ui .pn-emoji__cell {
  width: 100%; height: 36px;
  padding: 0;
  background: transparent; border: 0; border-radius: 8px;
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
  font-size: 1.35rem; line-height: 1;
  cursor: pointer;
}
body.pn-ui .pn-emoji__cell:hover { background: var(--bg, #F5F5F4); }
body.pn-ui .pn-emoji__cell:focus-visible { outline: 2px solid var(--accent, #FF7A00); outline-offset: -2px; }
@media (prefers-reduced-motion: no-preference) {
  body.pn-ui .pn-emoji__scroll { scroll-behavior: smooth; }
}
