/* EalingPulse v1.18.2 — portal-wide readable typography.
   Loaded last so legacy 7–11px component labels receive a safe minimum size. */

:root {
  --muted: #5b7181;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  font-size: 16px;
  line-height: 1.5;
}

button,
input,
select,
textarea {
  font-size: 16px;
}

input::placeholder,
textarea::placeholder {
  font-size: 15px;
  opacity: 1;
}

/* Shared resident and administrator screens */
.main-content p,
.main-content li {
  font-size: 15px !important;
  line-height: 1.6 !important;
}

.main-content small,
.main-content time,
.main-content figcaption,
.main-content em:not(.ui-icon) {
  font-size: 13px !important;
  line-height: 1.45 !important;
}

.main-content label,
.main-content legend,
.main-content label > span,
.main-content .form-field > span {
  font-size: 14px !important;
  line-height: 1.4 !important;
}

.main-content button,
.main-content .primary-button,
.main-content .secondary-button,
.main-content .coral-button,
.main-content .outline-button {
  font-size: 15px !important;
  line-height: 1.3;
}

.main-content input,
.main-content select,
.main-content textarea {
  font-size: 16px !important;
  line-height: 1.5;
}

.main-content [class*="meta"],
.main-content [class*="count"],
.main-content [class*="date"] {
  font-size: 13px !important;
  line-height: 1.45;
}

.main-content [class*="badge"],
.main-content [class*="status-chip"],
.main-content [class*="kicker"],
.main-content [class*="eyebrow"],
.main-content [class*="category-tag"] {
  font-size: 12px !important;
  line-height: 1.35;
}

.topbar-title {
  font-size: 20px;
}

.location-chip,
.avatar-button,
.language-button small {
  font-size: 13px !important;
}

.section-heading a,
.back-link {
  font-size: 14px !important;
}

.bottom-nav .nav-item,
.bottom-nav--actionable .nav-item {
  font-size: 12px !important;
  line-height: 1.15;
}

/* Homepage */
.ep-shell {
  --ep-muted: #5b7181;
  font-size: 16px;
}

.ep-shell p {
  font-size: 15px !important;
  line-height: 1.55 !important;
}

.ep-shell small,
.ep-shell time,
.ep-shell figcaption {
  font-size: 13px !important;
  line-height: 1.4 !important;
}

.ep-brand-copy small,
.ep-location-copy small,
.ep-hub-content small,
.ep-quick-card small,
.ep-news-copy small,
.ep-now-copy small,
.ep-now-copy em,
.ep-now-events-head small,
.ep-now-event-copy small,
.ep-now-event-copy em,
.ep-admin-command-copy small,
.ep-admin-command-copy em,
.ep-admin-command-stats small,
.ep-admin-live-copy small,
.ep-admin-live-copy em,
.ep-admin-live-count small,
.ep-disability-feature-copy small,
.ep-disability-feature-copy em {
  font-size: 13px !important;
  line-height: 1.4 !important;
}

.ep-section-heading p,
.ep-now-heading p {
  font-size: 14px !important;
}

.ep-hub-content strong,
.ep-quick-card strong,
.ep-alert-copy strong,
.ep-news-copy strong,
.ep-now-copy strong,
.ep-now-event-copy strong,
.ep-admin-command-copy strong,
.ep-admin-live-copy strong {
  font-size: 15px !important;
  line-height: 1.3 !important;
}

.ep-hub-open,
.ep-row-heading a,
.ep-now-heading > a,
.ep-now-events-head > a {
  font-size: 13px !important;
}

.ep-alert-copy small,
.ep-now-heading small,
.ep-news-alert-label,
.ep-news-source,
.ep-admin-command-stats i,
.ep-disability-feature-copy small {
  font-size: 12px !important;
  line-height: 1.35 !important;
}

.ep-language-button,
.ep-language-code,
.ep-language-list strong,
.ep-language-dialog-head small {
  font-size: 13px !important;
}

.ep-bottom-nav a,
.ep-bottom-nav--actionable .ep-nav-item {
  font-size: 12px !important;
  line-height: 1.15;
}

/* Listings, jobs, profiles and conversations */
.ep-social-page {
  --ep-muted: #5b7181;
  font-size: 16px;
}

.ep-social-page p,
.ep-social-page li {
  font-size: 15px !important;
  line-height: 1.58 !important;
}

.ep-social-page small,
.ep-social-page time,
.ep-social-page figcaption,
.ep-social-page em:not(.ep-listing-topic) {
  font-size: 13px !important;
  line-height: 1.4 !important;
}

.ep-social-page label,
.ep-social-page legend,
.ep-social-page .ep-help {
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.ep-social-page input,
.ep-social-page select,
.ep-social-page textarea {
  font-size: 16px !important;
  line-height: 1.5;
}

.ep-social-page button,
.ep-social-page .ep-button,
.ep-post-button,
.ep-search-submit {
  font-size: 14px !important;
}

.ep-classifieds-title span,
.ep-listing-category-badge,
.ep-listing-topic,
.ep-detail-badges span,
.ep-status-badge,
.ep-view-toggle button,
.ep-sort-form select {
  font-size: 12px !important;
  line-height: 1.25 !important;
}

.ep-category-tile small,
.ep-category-option small,
.ep-category-dropdown__copy small,
.ep-category-dropdown__heading small,
.ep-listing-card__top small,
.ep-listing-card__date small,
.ep-listing-location,
.ep-detail-meta,
.ep-detail-meta span,
.ep-attribute-grid dt,
.ep-owner-note {
  font-size: 13px !important;
  line-height: 1.4 !important;
}

.ep-category-tile strong,
.ep-category-option strong,
.ep-listing-card h3,
.ep-listing-grid.is-list-view .ep-listing-card h3,
.ep-listing-grid.is-grid-view .ep-listing-card h3 {
  font-size: 15px !important;
  line-height: 1.3 !important;
}

.ep-social-top nav a,
.ep-social-bottom a {
  font-size: 13px !important;
}

/* News list and articles */
.epn-shell {
  --epn-muted: #5b7181;
  font-size: 16px;
}

.epn-shell small,
.epn-shell time,
.epn-shell figcaption {
  font-size: 13px !important;
  line-height: 1.45 !important;
}

.epn-shell p {
  font-size: 16px;
  line-height: 1.65;
}

.epn-deck {
  font-size: 18px !important;
  line-height: 1.6 !important;
}

.epn-content,
.epn-content p,
.epn-content li {
  font-size: 17px !important;
  line-height: 1.78 !important;
}

.epn-meta,
.epn-badge,
.epn-story-copy small,
.epn-source-policy,
.epn-ad-feed__label {
  font-size: 13px !important;
  line-height: 1.4 !important;
}

.epn-story-copy h2 {
  font-size: 18px !important;
  line-height: 1.3 !important;
}

.epn-story-copy p {
  font-size: 14px !important;
  line-height: 1.5 !important;
}

.epn-language select,
.epn-section-tabs a {
  font-size: 14px !important;
}

/* Discover, events and council feeds */
.epd-body {
  --epd-muted: #5b7181;
  font-size: 16px;
}

.epd-body p,
.epd-body li {
  font-size: 15px !important;
  line-height: 1.6 !important;
}

.epd-body small,
.epd-body time,
.epd-body figcaption {
  font-size: 13px !important;
  line-height: 1.4 !important;
}

.epd-body label,
.epd-body .epd-label,
.epd-kicker,
.epd-eyebrow {
  font-size: 14px !important;
}

.epd-body input,
.epd-body select,
.epd-body textarea,
.epd-button {
  font-size: 16px !important;
}

.epd-tabs a,
.epd-action-card b {
  font-size: 14px !important;
}

/* Editorial workspace — the screen with the smallest legacy typography */
body[data-page="editorial"] {
  --editorial-muted: #566f7d;
}

body[data-page="editorial"] small {
  font-size: 12px !important;
  line-height: 1.45 !important;
}

body[data-page="editorial"] p,
body[data-page="editorial"] li {
  font-size: 14px !important;
  line-height: 1.6 !important;
}

.editorial-page-head .back-link {
  font-size: 14px !important;
}

.editorial-page-head p,
.editorial-install-card p {
  font-size: 14px !important;
}

.editorial-team-link strong,
.editorial-field b,
.editorial-image-field__copy b,
.editorial-upload b,
.editorial-byline legend,
.editorial-empty strong,
.admin-invite-result strong,
.admin-team-card strong,
.admin-pending-list strong {
  font-size: 14px !important;
  line-height: 1.35 !important;
}

.editorial-steps b,
.editorial-byline-option b,
.editorial-review-list strong,
.editorial-prepared-text summary,
.invite-permissions b {
  font-size: 13px !important;
  line-height: 1.35 !important;
}

.editorial-steps small,
.editorial-byline-option small,
.editorial-field small,
.editorial-field > em,
.editorial-image-field__copy p,
.editorial-upload small,
.editorial-remove-image,
.editorial-review-button small,
.editorial-ai-privacy,
.editorial-legal-disclaimer,
.editorial-article-row small,
.editorial-article-row p,
.editorial-editing-note,
.editorial-library .editorial-section__head p,
.editorial-empty p,
.admin-invite-panel__copy p,
.admin-invite-result p,
.admin-team-card p,
.admin-team-card small,
.admin-pending-list p,
.admin-pending-list small,
.editorial-security-note p {
  font-size: 12px !important;
  line-height: 1.5 !important;
}

.editorial-compose__head h2,
.editorial-section__head h2,
.editorial-preview-card header h2 {
  font-size: 20px !important;
}

.editorial-review-report header h2,
.editorial-review-placeholder h2,
.editorial-approval-card h2 {
  font-size: 19px !important;
}

.editorial-field input,
.editorial-field select,
.editorial-field textarea,
.editorial-name-field input,
.editorial-reject-form textarea,
.admin-invite-form input,
.admin-invite-result input,
.invite-account-form input {
  min-height: 50px;
  font-size: 16px !important;
}

.editorial-field textarea,
.editorial-reject-form textarea {
  line-height: 1.65;
}

.editorial-byline-option > span {
  min-height: 112px;
  padding: 12px;
}

.editorial-byline-option b {
  margin-top: 8px;
}

.editorial-byline-option small {
  margin-top: 5px;
}

.editorial-upload b,
.editorial-review-button b,
.editorial-reject-form button,
.admin-team-card form button,
.admin-pending-list form button,
.admin-invite-result button {
  font-size: 14px !important;
}

.editorial-preview-card > header > span,
.editorial-preview-image small,
.editorial-preview-copy > span,
.editorial-status,
.editorial-section__head > a,
.editorial-section__head > span,
.admin-team-card > b {
  font-size: 12px !important;
  line-height: 1.3 !important;
}

.editorial-preview-copy h3 {
  font-size: 22px !important;
  line-height: 1.2 !important;
}

.editorial-preview-copy p,
.editorial-ai-mode,
.editorial-review-list li,
.editorial-prepared-text p,
.editorial-review-placeholder p,
.editorial-approval-card p,
.editorial-return-note,
.editorial-form-error {
  font-size: 13px !important;
  line-height: 1.58 !important;
}

.editorial-article-row strong {
  font-size: 14px !important;
}

.editorial-reuse-form button,
.editorial-library-nav a {
  font-size: 14px !important;
}

@media (min-width: 1024px) {
  .desktop-primary-nav a,
  .ep-desktop-nav a,
  .epn-desktop-nav a {
    font-size: 15px !important;
  }

  .main-content {
    font-size: 16px;
  }

  body[data-page="editorial"] .editorial-compose {
    padding: 24px;
  }
}

@media (max-width: 680px) {
  .bottom-nav,
  .ep-bottom-nav,
  .ep-social-bottom {
    min-height: 80px;
  }

  .ep-listing-card h3,
  .ep-listing-grid.is-list-view .ep-listing-card h3,
  .ep-listing-grid.is-grid-view .ep-listing-card h3 {
    font-size: 14px !important;
  }

  .editorial-steps b {
    font-size: 12px !important;
  }
}
