/* Shared paper/orange identity, deliberately scoped to the discovery modules. */
.community-search, .notification-bell {
  --discovery-paper: #fffaf0;
  --discovery-ink: #483326;
  --discovery-accent: #a94c26;
  --discovery-line: #dcc9ac;
  color: var(--discovery-ink);
}
.community-search { padding: clamp(16px, 3vw, 32px); border: 1px solid var(--discovery-line); border-radius: 8px 24px 8px 8px; background: linear-gradient(120deg, #fffaf0, #f6ecd9); }
.community-search header { margin-bottom: 20px; }
.community-search h2, .notification-panel h2 { font-family: var(--font-hand, Georgia, serif); font-size: 1.7rem; line-height: 1.3; }
.community-search header p, .notification-panel__hint { font-size: .93rem; margin-top: 8px; }
.community-search form { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.2fr) minmax(0, .7fr) auto; gap: 12px; align-items: end; }
.community-search label { display: grid; gap: 6px; font-size: .9rem; min-width: 0; }
.community-search input, .community-search select { width: 100%; min-width: 0; min-height: 44px; font: inherit; padding: 10px; background: #fffdf7; color: inherit; border: 1px solid #a58b69; border-radius: 6px; }
.community-search button, .notification-bell button { min-height: 44px; min-width: 44px; padding: 8px 14px; border: 1px solid var(--discovery-line); border-radius: 6px; background: #fffdf7; font: inherit; color: inherit; cursor: pointer; }
.community-search button[type=submit] { background: var(--discovery-accent); color: #fffaf0; border-color: var(--discovery-accent); }
.community-search :is(button, input, select, a):focus-visible, .notification-bell :is(button, a):focus-visible { outline: 3px solid var(--discovery-accent); outline-offset: 3px; }
.community-search button:disabled, .notification-bell button:disabled { opacity: .65; cursor: wait; }
.community-discovery-status { min-height: 1.5em; margin: 16px 0; font-size: .95rem; }
.community-search-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.community-search-card { min-width: 0; padding: 20px; background: var(--discovery-paper); border-bottom: 3px solid var(--discovery-line); overflow-wrap: anywhere; }
.community-search-card h3 { font-size: 1.15rem; margin: 0 0 8px; }
.community-search-card a { display: block; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; }
.community-search-card p { margin: 10px 0 0; }
.community-search-card__place { color: #87502b; font-size: .92rem; }
.community-search-card__author { font-size: .85rem; }
.community-search-controls { display: flex; justify-content: center; gap: 12px; margin-top: 20px; }
.notification-bell { position: relative; flex: 0 0 auto; }
.notification-bell .notification-bell__toggle { position: relative; display: flex; align-items: center; justify-content: center; padding: 10px; border-radius: 50%; background: #fff6e4; }
.notification-bell__badge { position: absolute; top: -5px; right: -7px; min-width: 20px; padding: 1px 4px; border-radius: 20px; background: #a33b20; color: #fffaf0; font-size: .75rem; font-weight: 700; }
.notification-panel { position: absolute; z-index: 80; top: calc(100% + 12px); right: 0; width: min(380px, calc(100vw - 24px)); padding: 18px; max-height: min(75vh, 650px); overflow: auto; overscroll-behavior: contain; background: linear-gradient(145deg, #fffdf7, #f7ecd8); border: 1px solid var(--discovery-line); border-radius: 8px; box-shadow: 0 12px 30px #48332626; }
.notification-panel header { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.notification-panel__hint { margin-bottom: 12px; }
.notification-list { list-style: none; padding: 0; margin: 0; }
.notification-list li { padding: 12px; border-top: 1px solid var(--discovery-line); overflow-wrap: anywhere; }
.notification-list li.is-unread { background: #f8e5c8; border-left: 3px solid var(--discovery-accent); }
.notification-list a { display: flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 3px; }
.notification-list button { margin-top: 8px; font-size: .86rem; }
.notification-list__read { display: block; font-size: .85rem; margin-top: 6px; }
.notification-panel__controls { display: grid; gap: 8px; margin-top: 12px; }
.community-search [hidden], .notification-bell[hidden], .notification-bell [hidden] { display: none !important; }
@media (max-width: 750px) {
  .community-search form { grid-template-columns: 1fr 1fr; }
  .community-search label:first-child { grid-column: 1 / -1; }
  .community-search form > button { grid-column: 1 / -1; }
  .community-search-results { grid-template-columns: 1fr; }
  .notification-panel { position: fixed; top: 90px; right: 12px; max-height: calc(100dvh - 110px); }
}
@media (max-width: 430px) {
  .community-search form { grid-template-columns: minmax(0, 1fr); }
  .community-search label:first-child, .community-search form > button { grid-column: auto; }
}
