/* CLIEAIR — Your Rights at Public Meetings */

.pm-lede {
  color: #a9b6cb;
  font-size: 0.96rem;
  font-style: italic;
  margin: 0 0 1rem;
  line-height: 1.55;
}
.pm-lede em { color: #c9a227; font-style: italic; }
.pm-block p { margin: 0 0 0.8rem; line-height: 1.65; color: #d9d3c4; font-size: 0.95rem; }
.pm-block p:last-child { margin-bottom: 0; }
.pm-block strong { color: #f0e6d2; }
.pm-block em { color: #c9a227; font-style: italic; }
.pm-block a, .pm-link {
  color: #c9a227;
  text-decoration: none;
  border-bottom: 1px dotted rgba(201, 162, 39, 0.45);
  word-break: break-word;
}
.pm-block a:hover, .pm-link:hover, .pm-link:focus { border-bottom-style: solid; color: #ffd54a; outline: none; }
.pm-disclaimer, .pm-disclaimer-final {
  font-size: 0.84rem;
  color: #758496;
  font-style: italic;
}
.pm-disclaimer-final { border-top: 1px dashed rgba(201,162,39,0.18); padding-top: 0.7rem; margin-top: 0.4rem; }

.pm-row { margin: 0 0 0.4rem; font-size: 0.88rem; line-height: 1.55; color: #d9d3c4; }
.pm-row strong { color: #f0e6d2; }

/* ---------- Know your rights ---------- */
.pm-kyr { display: grid; gap: 0.85rem; grid-template-columns: 1fr; }
@media (min-width: 760px) { .pm-kyr { grid-template-columns: 1fr 1fr; } }
.pm-kyr-card {
  background: #1a2738;
  border-radius: 8px;
  border-left: 4px solid #6ad17a;
  padding: 0.95rem 1.1rem;
}
.pm-kyr-card__sit { margin: 0 0 0.55rem; font-size: 1rem; color: #f3eddc; font-weight: 700; }
.pm-kyr-card__body { display: flex; flex-direction: column; gap: 0.35rem; }
.pm-kyr-card__auth { margin: 0.3rem 0 0; font-size: 0.82rem; color: #8a9bb0; }
.pm-kyr-card__auth strong { color: #6ad17a; }

/* ---------- State picker ---------- */
.pm-picker { display: flex; flex-direction: column; gap: 0.3rem; }
.pm-picker__label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: #8a9bb0; }
.pm-picker__select {
  background: #0a1422; color: #f0e6d2; border: 1px solid rgba(201,162,39,0.3);
  border-radius: 6px; padding: 0.55rem 0.7rem; font-size: 1rem; font-family: inherit; outline: none;
}
.pm-picker__select:focus { border-color: #c9a227; box-shadow: 0 0 0 2px rgba(201,162,39,0.18); }
.pm-state-chips { display: flex; flex-wrap: wrap; gap: 0.32rem; margin-top: 0.45rem; }
.pm-state-chip {
  background: #0a1422; color: #a9b6cb; border: 1px solid rgba(201,162,39,0.22);
  border-radius: 999px; padding: 0.22rem 0.65rem; font-size: 0.78rem;
  font-family: ui-monospace, "SF Mono", monospace; cursor: pointer; letter-spacing: 0.05em; font-weight: 600;
}
.pm-state-chip:hover, .pm-state-chip:focus { background: rgba(201,162,39,0.14); color: #ffd54a; border-color: #c9a227; outline: none; }
.pm-state-chip--on { background: rgba(201,162,39,0.22); color: #ffd54a; border-color: #c9a227; }

.pm-law-result { margin-top: 1rem; }
.pm-law-card {
  background: #1a2738; border-radius: 8px; border-left: 4px solid #c9a227; padding: 0.95rem 1.1rem;
}
.pm-law__head { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 0.6rem; flex-wrap: wrap; }
.pm-law__title { margin: 0; font-size: 1.05rem; color: #f3eddc; font-weight: 700; }
.pm-law__body { display: flex; flex-direction: column; gap: 0.4rem; }
.pm-badge {
  font-size: 0.7rem; letter-spacing: 0.06em; text-transform: uppercase;
  padding: 0.16rem 0.6rem; border-radius: 999px; font-weight: 700;
}
.pm-badge--yes { color: #6ad17a; background: rgba(106,209,122,0.1); border: 1px solid rgba(106,209,122,0.4); }
.pm-badge--disc { color: #ffd966; background: rgba(255,217,102,0.1); border: 1px solid rgba(255,217,102,0.4); }

/* ---------- Cases ---------- */
.pm-cat-filter { display: flex; flex-wrap: wrap; gap: 0.45rem; margin-bottom: 1rem; }
.pm-cat {
  background: #0a1422; color: #d9d3c4; border: 1px solid rgba(201,162,39,0.25);
  border-radius: 999px; padding: 0.32rem 0.85rem; font-size: 0.82rem; font-family: inherit; cursor: pointer;
}
.pm-cat:hover, .pm-cat:focus { border-color: #c9a227; color: #ffd54a; outline: none; }
.pm-cat--on { background: rgba(201,162,39,0.18); color: #ffd54a; border-color: #c9a227; }

.pm-cases { display: grid; gap: 0.85rem; grid-template-columns: 1fr; }
@media (min-width: 760px) { .pm-cases { grid-template-columns: 1fr 1fr; } }
.pm-case {
  background: #1a2738; border-radius: 8px; border-left: 4px solid #7cb8ff; padding: 0.9rem 1.1rem;
}
.pm-case__head { display: flex; align-items: flex-start; gap: 0.5rem; margin-bottom: 0.45rem; flex-wrap: wrap; }
.pm-case__cat {
  font-size: 0.66rem; letter-spacing: 0.06em; text-transform: uppercase; color: #7cb8ff;
  background: rgba(124,184,255,0.08); border: 1px solid rgba(124,184,255,0.35);
  padding: 0.12rem 0.5rem; border-radius: 999px; flex: none;
}
.pm-case__cat--forum_doctrine     { color: #7cb8ff; border-color: rgba(124,184,255,0.4); background: rgba(124,184,255,0.08); }
.pm-case__cat--decorum_disruption { color: #ffd966; border-color: rgba(255,217,102,0.4); background: rgba(255,217,102,0.08); }
.pm-case__cat--retaliatory_arrest { color: #ff9fb6; border-color: rgba(255,159,182,0.4); background: rgba(255,159,182,0.08); }
.pm-case__cat--recording          { color: #6ad17a; border-color: rgba(106,209,122,0.4); background: rgba(106,209,122,0.08); }
.pm-case__name { margin: 0; font-size: 0.96rem; color: #f3eddc; font-weight: 700; flex: 1 1 100%; line-height: 1.35; }
.pm-case__cite { margin: 0 0 0.5rem; font-family: ui-monospace, "SF Mono", monospace; font-size: 0.8rem; color: #8a9bb0; }
.pm-case__body { display: flex; flex-direction: column; gap: 0.35rem; }

/* ---------- Patterns ---------- */
.pm-patterns { display: grid; gap: 0.85rem; grid-template-columns: 1fr; }
.pm-pattern {
  background: #1a2738; border-radius: 8px; border-left: 4px solid #ffd966; padding: 0.95rem 1.1rem;
}
.pm-pattern__name { margin: 0 0 0.5rem; font-size: 1.02rem; color: #f3eddc; font-weight: 700; }
.pm-pattern__body { display: flex; flex-direction: column; gap: 0.45rem; }
.pm-pattern__desc { margin: 0; color: #e8e2d3; font-size: 0.92rem; line-height: 1.55; }
.pm-pattern__framing {
  margin: 0; font-size: 0.86rem; line-height: 1.55; color: #c9d6e8;
  background: #0a1422; border-radius: 6px; padding: 0.6rem 0.75rem; border-left: 2px solid rgba(106,209,122,0.4);
}
.pm-pattern__framing strong { color: #6ad17a; }

/* ---------- Timeline ---------- */
.pm-timeline { display: flex; flex-direction: column; gap: 0; position: relative; }
.pm-tl-item {
  display: grid; grid-template-columns: 92px 1fr; gap: 0.85rem;
  padding: 0.7rem 0; border-left: 2px solid rgba(201,162,39,0.25); padding-left: 1rem; margin-left: 0.3rem;
}
.pm-tl-date {
  font-family: ui-monospace, "SF Mono", monospace; font-size: 0.8rem; color: #c9a227; font-weight: 700;
  padding-top: 0.1rem;
}
.pm-tl-event { margin: 0 0 0.4rem; color: #e8e2d3; font-size: 0.9rem; line-height: 1.55; }
.pm-tl-sig { margin: 0 0 0.4rem; color: #a9b6cb; font-size: 0.84rem; line-height: 1.5; }
.pm-tl-sig strong { color: #c9a227; }
@media (max-width: 560px) {
  .pm-tl-item { grid-template-columns: 1fr; gap: 0.3rem; }
}

/* ---------- Channels ---------- */
.pm-channels { display: grid; gap: 0.85rem; grid-template-columns: 1fr; }
@media (min-width: 760px) { .pm-channels { grid-template-columns: 1fr 1fr; } }
.pm-channel {
  background: #1a2738; border-radius: 8px; border-left: 4px solid #c9a227; padding: 0.9rem 1.1rem;
}
.pm-channel__name { margin: 0 0 0.5rem; font-size: 0.98rem; color: #f3eddc; font-weight: 700; }
.pm-channel__body { display: flex; flex-direction: column; gap: 0.35rem; }

/* ---------- Playbook ---------- */
.pm-playbook { display: grid; gap: 1rem; grid-template-columns: 1fr; }
@media (min-width: 820px) { .pm-playbook { grid-template-columns: 1fr 1fr 1fr; } }
.pm-play h3 {
  margin: 0 0 0.6rem; font-size: 1rem; color: #c9a227; font-weight: 700;
  border-bottom: 1px solid rgba(201,162,39,0.2); padding-bottom: 0.35rem;
}
.pm-play ul { margin: 0; padding-left: 1.2rem; }
.pm-play li { margin-bottom: 0.5rem; color: #d9d3c4; font-size: 0.88rem; line-height: 1.5; }
.pm-play strong { color: #f0e6d2; }
.pm-play em { color: #c9a227; font-style: italic; }
.pm-play a { color: #c9a227; text-decoration: none; border-bottom: 1px dotted rgba(201,162,39,0.45); }
.pm-play a:hover { border-bottom-style: solid; }

/* ---------- Print ---------- */
@media print {
  body { background: #fff !important; color: #000 !important; font-size: 10pt; }
  .rg-hero { background: none !important; padding: 0.5rem 0; }
  .rg-hero__title { color: #000; font-size: 16pt; }
  .rg-hero__sub { color: #000; }
  .rg-hero__sub strong { color: #000; }
  .rg-hero__eyebrow, .rg-hero__cta { display: none; }
  .pm-lede { color: #333; }
  .pm-picker, .pm-state-chips, .pm-cat-filter { display: none !important; }
  .rg-section__title { color: #000; }
  .rg-card, .pm-kyr-card, .pm-law-card, .pm-case, .pm-pattern, .pm-channel {
    background: none !important; border-left-color: #000 !important; page-break-inside: avoid;
  }
  .pm-kyr, .pm-cases, .pm-channels { grid-template-columns: 1fr !important; }
  .pm-kyr-card__sit, .pm-law__title, .pm-case__name, .pm-pattern__name, .pm-channel__name,
  .pm-row, .pm-block p, .pm-play li, .pm-tl-event { color: #000; }
  .pm-badge, .pm-case__cat { background: #eee !important; color: #000 !important; border-color: #000 !important; }
  .pm-pattern__framing { background: #f3f3f3 !important; color: #000; }
  a { color: #000 !important; text-decoration: underline; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 8pt; color: #444; }
}
