/* Frizzy: camada global de legibilidade do aplicativo do cliente. */
:root {
  --frizzy-readable-text: #2f241e;
  --frizzy-readable-muted: #675b53;
}

body.app-body,
body.auth-page {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* Base funcional. */
body.app-body main p,
body.auth-page main p {
  font-size: .875rem !important;
  line-height: 1.5 !important;
}

body.app-body main small,
body.auth-page main small {
  font-size: .75rem !important;
  line-height: 1.45 !important;
}

body.app-body main label,
body.auth-page main label {
  font-size: .8125rem !important;
  line-height: 1.35 !important;
}

body.app-body main button,
body.app-body main input,
body.app-body main select,
body.app-body main textarea,
body.auth-page main button,
body.auth-page main input,
body.auth-page main select,
body.auth-page main textarea {
  font-size: .875rem !important;
}

body.app-body .app-nav a,
body.app-body .app-nav button,
body.app-body .booking-history-link {
  font-size: .8125rem !important;
}

body.app-body .booking-progress-copy,
body.app-body .booking-progress-copy strong,
body.app-body .booking-summary span:first-child,
body.app-body .pick-item .price.pkg-tag,
body.app-body .hist-grid .box small,
body.app-body .hist-status,
body.app-body .form-app label {
  font-size: .8125rem !important;
  line-height: 1.4 !important;
}

/* Cabeçalhos, identidade e perfil. */
body.app-body .client-kicker,
body.app-body .booking-intro > span,
body.app-body .app-plan-kicker,
body.app-body .client-plans-head span,
body.app-body .plan-schedule-head span,
body.auth-page .auth-brand-copy > span {
  font-size: .6875rem !important;
  line-height: 1.35 !important;
}

body.app-body .client-hero__brand > div > span { font-size: .625rem !important; }

body.app-body .client-hero__brand > div > strong,
body.app-body .booking-brand strong {
  font-size: .75rem !important;
  line-height: 1.4 !important;
}

body.app-body .client-hero__account > span,
body.app-body .client-page-hero__stats span,
body.app-body .booking-brand small,
body.app-body .client-hero__signals span {
  font-size: .6875rem !important;
  line-height: 1.4 !important;
}

body.app-body .client-hero__account small,
body.app-body .client-page-hero__copy p,
body.app-body .profile-hero__copy > p,
body.app-body .profile-form-card__head p,
body.app-body .booking-intro p {
  font-size: .8125rem !important;
  line-height: 1.5 !important;
}

body.app-body .profile-hero__action,
body.app-body .profile-avatar-edit { font-size: .8125rem !important; }

/* Confiança, suporte e mensagens auxiliares. */
body.app-body .booking-assurance__head p,
body.app-body .booking-assurance__list strong,
body.app-body .booking-assurance__list small,
body.app-body .booking-assurance__link {
  font-size: .8125rem !important;
  line-height: 1.5 !important;
}

/* Jornada de agendamento. */
body.app-body .booking-mode strong,
body.app-body .booking-flow-head strong,
body.app-body .booking-step .txt strong,
body.app-body .booking-step .txt .value {
  font-size: .875rem !important;
  line-height: 1.35 !important;
}

body.app-body .booking-mode small,
body.app-body .booking-flow-head span,
body.app-body .booking-step-status,
body.app-body .booking-flow-note {
  font-size: .75rem !important;
  line-height: 1.45 !important;
}

body.app-body .booking-plan-callout > span,
body.app-body .booking-summary-kicker,
body.app-body .pick-section-title {
  font-size: .6875rem !important;
  line-height: 1.4 !important;
}

body.app-body .booking-plan-callout p,
body.app-body .booking-plan-benefits strong,
body.app-body .booking-plan-benefits b,
body.app-body .booking-plan-benefits small,
body.app-body .booking-summary p,
body.app-body .booking-summary small {
  font-size: .8125rem !important;
  line-height: 1.5 !important;
}

body.app-body .booking-summary strong { font-size: .875rem !important; }
body.app-body .cal-grid .dow,
body.app-body .cal-legend { font-size: .8125rem !important; }

/* Vitrine, contratação e acompanhamento de planos. */
body.app-body .app-plan-group > header span,
body.app-body .app-plan-new,
body.app-body .app-plan-popular,
body.app-body .client-plan-payment,
body.app-body .client-plan-numbers span {
  font-size: .6875rem !important;
  line-height: 1.35 !important;
}

body.app-body .app-plan-group > header p,
body.app-body .app-plan-card > p,
body.app-body .app-plan-card__price span,
body.app-body .app-plan-footnote,
body.app-body .app-plan-contract-note,
body.app-body .client-plan-alert,
body.app-body .client-plan-progress-copy,
body.app-body .client-plan-items span,
body.app-body .client-plan-items small,
body.app-body .client-plan-next,
body.app-body .client-plan-empty span {
  font-size: .8125rem !important;
  line-height: 1.5 !important;
}

body.app-body .app-plan-card > a,
body.app-body .app-plan-card > button,
body.app-body .client-plan-action,
body.app-body .client-plan-done {
  min-height: 44px;
  font-size: .875rem !important;
}

body.app-body .app-plan-contract-form > div > label,
body.app-body .client-plan-items strong { font-size: .875rem !important; }
body.app-body .client-plans-head > a { font-size: .8125rem !important; }

/* Agendamento das sessões restantes do plano. */
body.app-body .plan-schedule-head p,
body.app-body .plan-schedule-summary p,
body.app-body .plan-schedule-step > header p,
body.app-body .plan-barber-list button small,
body.app-body .plan-session-card__title small,
body.app-body .plan-session-message,
body.app-body .plan-schedule-progress > div:first-child,
body.app-body .plan-schedule-confirm .app-plan-contract-note,
body.app-body .client-plan-bookings span,
body.app-body .client-plan-bookings b,
body.app-body .client-plan-bookings small {
  font-size: .75rem !important;
  line-height: 1.45 !important;
}

body.app-body .plan-schedule-summary span,
body.app-body .plan-session-fields label {
  font-size: .6875rem !important;
  line-height: 1.35 !important;
}

body.app-body .plan-barber-list button strong,
body.app-body .plan-session-card__title strong,
body.app-body .client-plan-bookings > strong { font-size: .875rem !important; }
body.app-body .plan-session-card__title > span { font-size: .75rem !important; }

body.app-body .plan-session-fields input,
body.app-body .plan-session-fields select {
  min-height: 44px;
  font-size: .875rem !important;
}

/* Login e recuperação de senha. */
body.auth-page .auth-tagline,
body.auth-page .auth-brand-copy > p,
body.auth-page .auth-brand-copy b,
body.auth-page .auth-card p,
body.auth-page .auth-helper,
body.auth-page .auth-support,
body.auth-page .auth-benefit strong,
body.auth-page .auth-benefit span {
  font-size: .8125rem !important;
  line-height: 1.5 !important;
}

body.auth-page main input,
body.auth-page main select,
body.auth-page main textarea,
body.auth-page main button {
  min-height: 46px;
  font-size: 1rem !important;
}

@media (max-width: 720px) {
  body.app-body main p,
  body.auth-page main p { font-size: .875rem !important; }
  body.app-body main small,
  body.auth-page main small { font-size: .75rem !important; }
  body.app-body .client-page-hero__copy p,
  body.app-body .profile-hero__copy > p,
  body.app-body .booking-command-hero .client-hero__account small {
    font-size: .8125rem !important;
  }
  body.app-body .booking-command-hero .client-hero__account strong {
    font-size: .875rem !important;
  }
  body.app-body .profile-hero .profile-avatar-edit {
    min-height: 36px;
    padding: 6px 10px;
    font-size: .75rem !important;
  }
}
