/* Self-contained: does not change existing Rillr styles. */
.rillr-emoji-wrap{position:relative;display:inline-flex;align-items:center;isolation:isolate}
.rillr-emoji-toggle{display:inline-flex;align-items:center;gap:.4em;cursor:pointer;border:1px solid currentColor;border-radius:9px;padding:8px 11px;background:transparent;color:inherit;font:inherit;font-size:.87rem;line-height:1.15;opacity:.82}
.rillr-emoji-toggle:hover,.rillr-emoji-toggle:focus-visible{opacity:1}
.rillr-emoji-panel{position:absolute;z-index:1000;bottom:calc(100% + 8px);left:0;width:min(310px,calc(100vw - 32px));max-height:340px;overflow:auto;box-sizing:border-box;padding:12px;border-radius:14px;border:1px solid var(--border,rgba(128,128,128,.3));background:var(--surface,var(--card-bg,#fff));color:var(--text,#222);box-shadow:0 12px 40px rgba(0,0,0,.18);font-family:inherit}
html[data-theme="dark"] .rillr-emoji-panel{background:var(--surface,var(--card-bg,#242426));color:var(--text,#f4f4f4)}
.rillr-emoji-search{display:block;box-sizing:border-box;width:100%;padding:9px 11px;border:1px solid rgba(128,128,128,.35);border-radius:8px;background:transparent;color:inherit;font:inherit;font-size:.87rem}
.rillr-emoji-content{margin-top:10px}
.rillr-emoji-section{font-size:.72rem;font-weight:700;letter-spacing:.04em;opacity:.65;margin:11px 0 5px}
.rillr-emoji-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.rillr-emoji-option{padding:5px 0;min-height:33px;cursor:pointer;font-size:1.32rem;border:0;border-radius:7px;background:transparent;text-align:center;line-height:1.2}
.rillr-emoji-option:hover,.rillr-emoji-option:focus-visible{background:rgba(128,128,128,.15)}
.rillr-emoji-empty{padding:14px 0;font-size:.85rem;opacity:.65}
@media(max-width:480px){.rillr-emoji-panel{left:-6px;width:min(300px,calc(100vw - 36px))}}
/* Align comment action buttons */

.comment-compose > div:has(.rillr-emoji-wrap),
.reply-form > div:has(.rillr-emoji-wrap) {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    flex-wrap: wrap;
}

/* Prevent individual margins from affecting spacing */
.comment-compose .rillr-emoji-wrap,
.reply-form .rillr-emoji-wrap {
    margin: 0;
    flex: 0 0 auto;
}

/* Keep action buttons consistently aligned */
.comment-compose > div > .btn,
.reply-form > div > .btn {
    margin: 0;
    flex: 0 0 auto;
}

@media (max-width: 480px) {
    .comment-compose > div:has(.rillr-emoji-wrap),
    .reply-form > div:has(.rillr-emoji-wrap) {
        gap: 10px;
    }
}
