.publication-follow { display:flex; flex-direction:column; align-items:stretch; gap:1rem; margin:0; font-size:.95rem; min-width:0; }
.publication-follow[hidden] { display:none !important; }
.publication-follow label { display:flex; align-items:flex-start; gap:.5rem; margin:0; cursor:pointer; }
.publication-follow input[type=checkbox], .publication-following-preferences input[type=checkbox] { width:1rem; height:1rem; flex:none; margin-top:.2em; }
.publication-follow-options { display:flex; flex-direction:column; align-items:stretch; gap:.8rem; border-top:1px solid #ccd5da; padding-top:1rem; }
.publication-follow-options button { border:1px solid #b7c7ce; background:#f5faff; border-radius:.35rem; padding:.5rem .7rem; text-align:start; }
.publication-follow-result { font-size:.85rem; }
.publication-follow-result:empty { display:none; }
.publication-following-page { max-width:55rem; margin:auto; }
.publication-following-preferences { display:flex; flex-direction:column; align-items:flex-start; gap:.8rem; border:1px solid #b7c7ce; background:#f5faff; padding:1rem; margin:1rem 0; border-radius:.5rem; }
.publication-following-preferences label { display:flex; align-items:center; gap:.5rem; }
.publication-following-item, .topic-following-item { padding:1rem 0; border-bottom:1px solid #ccd5da; overflow-wrap:anywhere; }
.publication-following-item > a, .topic-following-item > a { display:block; margin-bottom:.5rem; }
.publication-follow-controls, .topic-follow-controls { display:inline-flex; flex:none; min-width:0; max-width:100%; }
.follow-settings-button { display:inline-flex; align-items:center; justify-content:center; width:2.25rem; height:2.25rem; padding:.35rem; border:1px solid #b7c7ce; border-radius:.35rem; color:#536772; background:transparent; }
.follow-settings-button svg { width:1.35rem; height:1.35rem; pointer-events:none; }
.follow-settings-button:hover { background:#e3edf3; }
.follow-settings-button:focus-visible, .publication-follow-options button:focus-visible { outline:2px solid #6f1d2a; outline-offset:2px; }
.follow-settings-active > .follow-settings-button,
[data-follow-controls]:has(form[data-email="true"]) > .follow-settings-button,
[data-follow-controls]:has(form[data-events]:not([data-events="0"])) > .follow-settings-button { color:#075b9b; background:#e3f2ff; border-color:#075b9b; }
.follow-settings-context { overflow-wrap:anywhere; font-weight:600; }
.follow-settings-modal .modal-body { overflow-wrap:anywhere; }
.forum-topic-posts [data-embedded-topic] > .topic-follow-controls { display:none; }
@media (max-width:575.98px) {
    .follow-settings-modal .modal-dialog { margin:.5rem; }
    .follow-settings-modal .modal-content { max-height:calc(100dvh - 1rem); }
}
