/**
 * Isolamento visual FAACZ Cursos.
 * Tokens, reset e neutralização de tema (Hello Elementor, Elementor, etc.).
 * Carregado por último; folhas do tema são removidas em class-faacz-style-isolation.php.
 */

body.faacz-cursos-page :is(
  .faacz-courses-archive,
  .faacz-courses-taxonomy,
  .faacz-course-single,
  .faacz-courses-shortcode,
  .faacz-lead-form
) {
  --faacz-blue: #002f86;
  --faacz-blue-dark: #001b5f;
  --faacz-yellow: #f2c300;
  --faacz-gold: #c99700;
  --faacz-white: #ffffff;
  --faacz-text: #333333;
  --faacz-muted: #6b7280;
  --faacz-bg: #f5f7fa;
  --faacz-border: #e5e7eb;
  --faacz-radius: 16px;
  --faacz-shadow: 0 8px 24px rgba(0, 27, 95, 0.08);
  --faacz-hero-overlay-a: rgba(0, 27, 95, 0.42);
  --faacz-hero-overlay-b: rgba(0, 47, 134, 0.28);
  --faacz-hero-overlay-strong: rgba(0, 27, 95, 0.5);
  --faacz-hero-cover-top: rgba(0, 27, 95, 0.12);
  --faacz-hero-cover-mid: rgba(0, 47, 134, 0.22);
  --faacz-hero-cover-bottom: rgba(0, 27, 95, 0.58);
  --faacz-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  isolation: isolate;
  contain: style;
  font-family: var(--faacz-font-sans);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: normal;
  text-transform: none;
  color: var(--faacz-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.faacz-cursos-page :is(
  .faacz-courses-archive,
  .faacz-courses-taxonomy,
  .faacz-course-single,
  .faacz-courses-shortcode,
  .faacz-lead-form
) *,
body.faacz-cursos-page :is(
  .faacz-courses-archive,
  .faacz-courses-taxonomy,
  .faacz-course-single,
  .faacz-courses-shortcode,
  .faacz-lead-form
) *::before,
body.faacz-cursos-page :is(
  .faacz-courses-archive,
  .faacz-courses-taxonomy,
  .faacz-course-single,
  .faacz-courses-shortcode,
  .faacz-lead-form
) *::after {
  box-sizing: border-box;
}

/* Neutraliza cascata de .entry-content, Elementor e containers do tema. */
body.faacz-cursos-page .entry-content :is(
  .faacz-courses-archive,
  .faacz-courses-taxonomy,
  .faacz-course-single,
  .faacz-courses-shortcode,
  .faacz-lead-form
),
body.faacz-cursos-page .elementor-widget-container :is(
  .faacz-courses-archive,
  .faacz-courses-taxonomy,
  .faacz-course-single,
  .faacz-courses-shortcode,
  .faacz-lead-form
),
body.faacz-cursos-page .elementor-element :is(
  .faacz-courses-archive,
  .faacz-courses-taxonomy,
  .faacz-course-single,
  .faacz-courses-shortcode,
  .faacz-lead-form
) {
  font-family: var(--faacz-font-sans);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--faacz-text);
}

body.faacz-cursos-page :is(
  .faacz-courses-archive,
  .faacz-courses-taxonomy,
  .faacz-course-single,
  .faacz-courses-shortcode,
  .faacz-lead-form
) :where(
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  blockquote,
  pre,
  address,
  figure,
  figcaption,
  dl,
  dd,
  dt,
  ul,
  ol,
  li
) {
  font-family: var(--faacz-font-sans);
  font-style: normal;
  letter-spacing: normal;
  text-transform: none;
  text-decoration: none;
  margin-block: 0;
  padding: 0;
}

body.faacz-cursos-page :is(
  .faacz-courses-archive,
  .faacz-courses-taxonomy,
  .faacz-course-single,
  .faacz-courses-shortcode,
  .faacz-lead-form
) :where(h1, h2, h3, h4, h5, h6) {
  line-height: 1.2;
}

body.faacz-cursos-page :is(
  .faacz-courses-archive,
  .faacz-courses-taxonomy,
  .faacz-course-single,
  .faacz-courses-shortcode,
  .faacz-lead-form
) :where(button, input, select, textarea) {
  font-family: var(--faacz-font-sans);
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: normal;
  text-transform: none;
}

body.faacz-cursos-page :is(
  .faacz-courses-archive,
  .faacz-courses-taxonomy,
  .faacz-course-single,
  .faacz-courses-shortcode,
  .faacz-lead-form
) :where(img, svg, video) {
  max-width: 100%;
  height: auto;
  border: 0;
  vertical-align: middle;
}

body.faacz-cursos-page :is(
  .faacz-courses-archive,
  .faacz-courses-taxonomy,
  .faacz-course-single,
  .faacz-courses-shortcode,
  .faacz-lead-form
) table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* Sobrescreve seletores globais comuns de temas. */
body.faacz-cursos-page :is(
  .faacz-courses-archive,
  .faacz-courses-taxonomy,
  .faacz-course-single,
  .faacz-courses-shortcode,
  .faacz-lead-form
) a:where(:not([class*="faacz-"])) {
  color: var(--faacz-blue);
  text-decoration: none;
  background: transparent;
  box-shadow: none;
}

body.faacz-cursos-page :is(
  .faacz-courses-archive,
  .faacz-courses-taxonomy,
  .faacz-course-single,
  .faacz-courses-shortcode,
  .faacz-lead-form
) a:where(:not([class*="faacz-"])):hover,
body.faacz-cursos-page :is(
  .faacz-courses-archive,
  .faacz-courses-taxonomy,
  .faacz-course-single,
  .faacz-courses-shortcode,
  .faacz-lead-form
) a:where(:not([class*="faacz-"])):focus-visible {
  color: var(--faacz-blue-dark);
}

body.faacz-cursos-page :is(
  .faacz-courses-archive,
  .faacz-courses-taxonomy,
  .faacz-course-single,
  .faacz-courses-shortcode,
  .faacz-lead-form
) :where(button:not([class*="faacz-"])) {
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: 0;
  color: var(--faacz-text);
  cursor: pointer;
  font-family: var(--faacz-font-sans);
  margin: 0;
  padding: 0;
  text-align: left;
  width: auto;
}

body.faacz-cursos-page .entry-content a[class*="faacz-"],
body.faacz-cursos-page .elementor a[class*="faacz-"],
body.faacz-cursos-page .elementor-widget-container a[class*="faacz-"] {
  text-decoration: none;
}

body.faacz-cursos-page .entry-content .faacz-btn,
body.faacz-cursos-page .elementor .faacz-btn,
body.faacz-cursos-page .elementor-widget-container .faacz-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.faacz-courses-archive .faacz-btn,
.faacz-courses-taxonomy .faacz-btn,
.faacz-course-single .faacz-btn,
.faacz-courses-shortcode .faacz-btn,
.faacz-lead-form .faacz-btn,
.faacz-courses-archive button.faacz-btn,
.faacz-courses-taxonomy button.faacz-btn,
.faacz-course-single button.faacz-btn,
.faacz-courses-shortcode button.faacz-btn,
.faacz-lead-form button.faacz-btn,
.faacz-courses-archive a.faacz-btn,
.faacz-courses-taxonomy a.faacz-btn,
.faacz-course-single a.faacz-btn,
.faacz-courses-shortcode a.faacz-btn,
.faacz-lead-form a.faacz-btn,
.faacz-courses-archive [type="submit"].faacz-btn,
.faacz-courses-taxonomy [type="submit"].faacz-btn,
.faacz-course-single [type="submit"].faacz-btn,
.faacz-courses-shortcode [type="submit"].faacz-btn,
.faacz-lead-form [type="submit"].faacz-btn,
body.faacz-cursos-page .entry-content .faacz-btn,
body.faacz-cursos-page .elementor .faacz-btn {
  appearance: none;
  -webkit-appearance: none;
  width: auto;
  margin: 0;
  font-family: var(--faacz-font-sans);
  font-size: inherit;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  letter-spacing: normal;
  user-select: none;
  white-space: normal;
  cursor: pointer;
  box-shadow: none;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.faacz-courses-archive .faacz-btn--primary,
.faacz-courses-taxonomy .faacz-btn--primary,
.faacz-course-single .faacz-btn--primary,
.faacz-courses-shortcode .faacz-btn--primary,
.faacz-lead-form .faacz-btn--primary,
.faacz-courses-archive .faacz-course-card__button,
.faacz-courses-taxonomy .faacz-course-card__button,
.faacz-courses-shortcode .faacz-course-card__button,
body.faacz-cursos-page .entry-content .faacz-btn--primary,
body.faacz-cursos-page .elementor .faacz-btn--primary {
  background: var(--faacz-yellow);
  border: 0;
  color: var(--faacz-blue-dark);
}

.faacz-courses-archive .faacz-btn--primary:hover,
.faacz-courses-taxonomy .faacz-btn--primary:hover,
.faacz-course-single .faacz-btn--primary:hover,
.faacz-courses-shortcode .faacz-btn--primary:hover,
.faacz-lead-form .faacz-btn--primary:hover,
.faacz-courses-archive .faacz-course-card__button:hover,
.faacz-courses-taxonomy .faacz-course-card__button:hover,
.faacz-courses-shortcode .faacz-course-card__button:hover,
body.faacz-cursos-page .entry-content .faacz-btn--primary:hover,
body.faacz-cursos-page .elementor .faacz-btn--primary:hover {
  background: var(--faacz-gold);
  color: var(--faacz-blue-dark);
  text-decoration: none;
}

.faacz-course-single .faacz-btn--secondary,
.faacz-courses-archive .faacz-btn--secondary,
.faacz-courses-taxonomy .faacz-btn--secondary,
.faacz-courses-shortcode .faacz-btn--secondary {
  background: transparent;
  border: 2px solid rgba(255, 255, 255, 0.85);
  color: var(--faacz-white);
}

.faacz-course-single .faacz-btn--secondary-dark,
.faacz-courses-archive .faacz-btn--secondary-dark,
.faacz-courses-taxonomy .faacz-btn--secondary-dark,
.faacz-courses-shortcode .faacz-btn--secondary-dark {
  background: transparent;
  border: 2px solid var(--faacz-blue);
  color: var(--faacz-blue-dark);
}

.faacz-course-single .faacz-btn--promo,
.faacz-courses-archive .faacz-btn--promo,
.faacz-courses-taxonomy .faacz-btn--promo,
.faacz-courses-shortcode .faacz-btn--promo {
  background: linear-gradient(180deg, var(--faacz-yellow) 0%, #e6b800 100%);
  border: 1px solid rgba(0, 27, 95, 0.08);
  color: var(--faacz-blue-dark);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.faacz-course-single .faacz-btn--promo:hover,
.faacz-course-single .faacz-btn--promo:focus-visible,
.faacz-courses-archive .faacz-btn--promo:hover,
.faacz-courses-archive .faacz-btn--promo:focus-visible,
.faacz-courses-taxonomy .faacz-btn--promo:hover,
.faacz-courses-taxonomy .faacz-btn--promo:focus-visible,
.faacz-courses-shortcode .faacz-btn--promo:hover,
.faacz-courses-shortcode .faacz-btn--promo:focus-visible {
  background: linear-gradient(180deg, var(--faacz-gold) 0%, #b88700 100%);
  color: var(--faacz-blue-dark);
  text-decoration: none;
}

.faacz-course-single .faacz-course-about__content a {
  color: var(--faacz-blue);
  text-decoration: none;
}

.faacz-course-single .faacz-course-about__content a:hover,
.faacz-course-single .faacz-course-about__content a:focus-visible {
  color: var(--faacz-blue-dark);
  text-decoration: underline;
}

.faacz-courses-archive .faacz-pagination a,
.faacz-courses-taxonomy .faacz-pagination a {
  text-decoration: none;
}

.faacz-courses-archive .faacz-breadcrumb a,
.faacz-courses-taxonomy .faacz-breadcrumb a,
.faacz-course-single .faacz-breadcrumb a {
  color: var(--faacz-white);
  text-decoration: none;
}

.faacz-courses-archive .faacz-course-card:not(.faacz-course-card--overlay) .faacz-course-card__title a,
.faacz-courses-taxonomy .faacz-course-card:not(.faacz-course-card--overlay) .faacz-course-card__title a,
.faacz-courses-shortcode .faacz-course-card:not(.faacz-course-card--overlay) .faacz-course-card__title a {
  color: var(--faacz-blue-dark);
  text-decoration: none;
}

.faacz-courses-archive .faacz-course-card__link,
.faacz-courses-taxonomy .faacz-course-card__link,
.faacz-courses-shortcode .faacz-course-card__link,
.faacz-course-single .faacz-course-card__link,
body.faacz-cursos-page .entry-content .faacz-course-card__link,
body.faacz-cursos-page .elementor .faacz-course-card__link {
  color: var(--faacz-white);
  text-decoration: none;
}

.faacz-courses-archive .faacz-course-card--overlay .faacz-course-card__title,
.faacz-courses-archive .faacz-course-card--overlay .faacz-course-card__title-text,
.faacz-courses-taxonomy .faacz-course-card--overlay .faacz-course-card__title,
.faacz-courses-taxonomy .faacz-course-card--overlay .faacz-course-card__title-text,
.faacz-courses-shortcode .faacz-course-card--overlay .faacz-course-card__title,
.faacz-courses-shortcode .faacz-course-card--overlay .faacz-course-card__title-text,
.faacz-course-single .faacz-course-card--overlay .faacz-course-card__title,
.faacz-course-single .faacz-course-card--overlay .faacz-course-card__title-text {
  color: var(--faacz-white);
  text-decoration: none;
}

.faacz-courses-archive .faacz-hero__eyebrow-link,
.faacz-courses-taxonomy .faacz-hero__eyebrow-link,
.faacz-course-single .faacz-hero__eyebrow-link {
  color: var(--faacz-white);
  text-decoration: none;
}

.faacz-lead-form input[type="text"],
.faacz-lead-form input[type="email"],
.faacz-lead-form input[type="tel"],
.faacz-lead-form input[type="search"],
.faacz-lead-form textarea,
.faacz-courses-archive .faacz-course-search__input,
.faacz-courses-taxonomy .faacz-course-search__input,
.faacz-courses-shortcode .faacz-course-search__input,
body.faacz-cursos-page .entry-content .faacz-course-search__input,
body.faacz-cursos-page .elementor .faacz-course-search__input {
  width: 100%;
  margin: 0;
  border: 1px solid var(--faacz-border);
  border-radius: 8px;
  background: var(--faacz-white);
  color: var(--faacz-text);
  font-family: var(--faacz-font-sans);
  font-size: 1rem;
  line-height: 1.5;
  box-shadow: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.faacz-lead-form input[type="text"]:focus,
.faacz-lead-form input[type="email"]:focus,
.faacz-lead-form input[type="tel"]:focus,
.faacz-lead-form input[type="search"]:focus,
.faacz-lead-form textarea:focus,
.faacz-courses-archive .faacz-course-search__input:focus,
.faacz-courses-taxonomy .faacz-course-search__input:focus,
.faacz-courses-shortcode .faacz-course-search__input:focus {
  border-color: var(--faacz-blue);
  outline: none;
  box-shadow: none;
}

.faacz-courses-archive .faacz-course-search--premium .faacz-course-search__input,
.faacz-courses-taxonomy .faacz-course-search--premium .faacz-course-search__input,
.faacz-courses-shortcode .faacz-course-search--premium .faacz-course-search__input {
  width: auto;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.faacz-courses-archive .faacz-course-search--premium .faacz-course-search__input:focus,
.faacz-courses-taxonomy .faacz-course-search--premium .faacz-course-search__input:focus,
.faacz-courses-shortcode .faacz-course-search--premium .faacz-course-search__input:focus {
  border-color: transparent;
  outline: none;
}

.faacz-courses-archive .faacz-course-search--premium .faacz-course-search__clear,
.faacz-courses-taxonomy .faacz-course-search--premium .faacz-course-search__clear,
.faacz-courses-shortcode .faacz-course-search--premium .faacz-course-search__clear {
  background: rgba(0, 47, 134, 0.06);
  color: var(--faacz-blue);
}

.faacz-lead-form button.faacz-course-search__clear,
.faacz-courses-archive button.faacz-course-search__clear,
.faacz-courses-taxonomy button.faacz-course-search__clear,
.faacz-courses-shortcode button.faacz-course-search__clear {
  width: auto;
  border: 0;
  background: transparent;
  color: var(--faacz-muted);
}

.faacz-courses-archive .faacz-category-filter__item,
.faacz-courses-taxonomy .faacz-category-filter__item,
.faacz-courses-shortcode .faacz-category-filter__item,
body.faacz-cursos-page .entry-content .faacz-category-filter__item,
body.faacz-cursos-page .elementor .faacz-category-filter__item {
  border: 1px solid var(--faacz-border);
  background: var(--faacz-white);
  color: var(--faacz-blue-dark);
  text-decoration: none;
}

.faacz-courses-archive .faacz-accordion__trigger,
.faacz-courses-taxonomy .faacz-accordion__trigger,
.faacz-course-single .faacz-accordion__trigger,
.faacz-lead-form .faacz-accordion__trigger {
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--faacz-text);
  font-family: var(--faacz-font-sans);
  text-align: left;
}

.faacz-courses-taxonomy .faacz-lead-form,
.faacz-course-single .faacz-lead-form,
.faacz-courses-taxonomy .faacz-cta-band__lead,
.faacz-course-single .faacz-cta-band__lead,
.faacz-course-single .faacz-course-cta-final__lead {
  display: block;
  width: 100%;
  max-width: 100%;
  clear: both;
}

.faacz-lead-form__form {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.faacz-courses-archive .faacz-cta-band a,
.faacz-courses-taxonomy .faacz-cta-band a {
  color: var(--faacz-white);
  text-decoration: none;
}

/* Títulos de seção: o reset :where(h2) acima zera margin-block e line-height. */
body.faacz-cursos-page .faacz-course-single .faacz-section-title {
  margin-block: 0;
}

body.faacz-cursos-page h2.faacz-section-title {
  margin-bottom: 30px;
  margin-block-end: 30px;
  line-height: 1.2;
  /* :where(h2) acima zera padding; restaura espaço entre texto e border-bottom. */
  padding-bottom: clamp(1rem, 2.5vw, 1.65rem);
}

body.faacz-cursos-page .faacz-course-single .faacz-course-summary .faacz-course-summary__title {
  margin-bottom: clamp(1.25rem, 2.5vw, 1.65rem);
  margin-block-end: clamp(1.25rem, 2.5vw, 1.65rem);
  padding-bottom: clamp(1rem, 2.5vw, 1.65rem);
}

body.faacz-cursos-page .faacz-course-summary .faacz-course-summary__value {
  color: var(--faacz-blue-dark);
  font-weight: 800;
}

body.faacz-cursos-page .faacz-course-program__panel p.faacz-course-program__subtitle {
  margin: 15px 0 25px;
  margin-block: 15px 25px;
}
