/* Base de leitura compartilhada pelas páginas do site. */
:root {
  --home-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --events-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --home-muted: #58686d;
  --events-muted: #58686d;
  --contact-muted: #58686d;
  --about-muted: #58686d;
  --login-muted: #58686d;
}

body {
  color: #29373c;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;
}

body :is(input, select, textarea, button) {
  font-family: inherit;
}

body :is(small, .small, .form-text) {
  font-size: 0.875rem;
  line-height: 1.5;
}

.home-eyebrow,
.home-section__kicker,
.home-btn,
.home-text-link,
.home-hero-poster--fallback span,
.home-hero__seal,
.home-event-card__online,
.home-manifesto blockquote footer,
.home-manifesto__words span,
.home-search__control input,
.home-search__control button,
.home-search-card__media > span,
.home-search-empty strong,
.home-notice,
.home-notice blockquote footer,
.contact-eyebrow,
.contact-section-kicker,
.events-eyebrow,
.events-section-kicker,
.login-brand__eyebrow,
.login-panel__eyebrow {
  font-size: 0.875rem;
}

.home-search__control input { font-size: 1rem; }

/* Parágrafos e informações de apoio mantêm tamanho confortável em telas estreitas. */
.home-modern p,
.about-modern p,
.contact-modern p,
.events-content p,
.login-page p {
  line-height: 1.7;
}

.home-search__intro p,
.home-search__hint,
.home-section__header p,
.home-insights__summary p,
.home-event-card__meta,
.home-event-card__category,
.home-stat-card span,
.home-chart-card__heading p,
.home-culture-areas__list > div,
.home-cta p,
.home-search-result-header > span,
.home-search-card__body > small,
.home-search-card__body > div,
.home-search-empty p,
.home-footer {
  font-size: 0.875rem;
}

.home-event-card h4,
.home-search-card h5 { font-size: 0.95rem; line-height: 1.5; }

.events-filter-panel__heading p,
.events-hero__count span,
.events-filter-field label,
.events-date-range > span,
.events-input-wrap .form-control,
.events-input-wrap .custom-select,
.events-filter-button,
.events-agenda-link,
.events-loading,
.cultural-event-card__category,
.event-flag,
.cultural-event-card__location,
.cultural-event-card__description,
.event-details dt,
.event-details dd,
.event-schedule-control span,
.event-in-agenda,
.events-empty p,
.events-footer {
  font-size: 0.875rem;
}

.events-input-wrap .form-control,
.events-input-wrap .custom-select { font-size: 1rem; }
.cultural-event-card__description { max-height: 9rem; }

.contact-aside > p,
.contact-hero__highlights,
.contact-hero__symbol small,
.contact-steps strong,
.contact-aside__login small,
.contact-aside__login a,
.contact-support,
.contact-support small,
.contact-form-card__header p,
.contact-feedback,
.contact-form__section legend > div,
.contact-form__section legend small,
.contact-field label,
.contact-field__label,
.contact-field__hint,
.contact-choice strong,
.contact-choice small,
.contact-inline-choices span,
.contact-form__submit p,
.contact-submit,
.contact-form .invalid-feedback {
  font-size: 0.875rem;
}

.contact-form__section legend > div { font-size: 0.95rem; }
.contact-steps small { font-size: 0.875rem; }
.contact-field__hint,
.contact-choice small { line-height: 1.5; }
.contact-field input[type="text"],
.contact-field input[type="email"],
.contact-field input[type="password"] { font-size: 1rem; }
.contact-field input::placeholder { color: #687a7e; }

.about-question-card p,
.about-pillar-card p,
.about-footer p { font-size: 1rem; }

.login-brand__benefits li,
.login-brand__note,
.login-form__response:not(:empty),
.login-notice,
.login-form__group > label,
.login-form__label-row label,
.login-form__label-row a,
.login-form__password-toggle,
.login-form .invalid-feedback,
.login-register,
.login-privacy,
.login-site-footer p,
.login-site-footer a { font-size: 0.95rem; }

.login-form__control .form-control { font-size: 1rem; }

@media (max-width: 575.98px) {
  .contact-hero__content > p,
  .events-hero p { font-size: 1rem; }
}
