/* Acade-On — identidade visual global inspirada na landing Due Diligence */

:root {
  --ao-navy: #0a083b;
  --ao-blue: #054777;
  --ao-link-blue: #1950d1;
  --ao-green: #49ffbd;
  --ao-paper: #fffcfc;
  --ao-wash: #f1f6f9;
  --ao-ink: #222222;
  --ao-muted: #57586e;
  --ao-line: #dce7ee;
  --ao-white: #ffffff;
  --ao-radius-sm: 14px;
  --ao-radius-md: 20px;
  --ao-radius-lg: 28px;
  --ao-shadow: 0 22px 60px rgba(10, 8, 59, .12);
  --ao-soft-shadow: 0 12px 35px rgba(10, 8, 59, .07);
}

body.acadeon-global-brand {
  margin: 0 !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(73, 255, 189, .10), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, var(--ao-wash) 100%);
  color: var(--ao-ink);
  font-family: Montserrat, Arial, sans-serif;
  line-height: 1.65;
}

body.acadeon-global-brand :where(h1, h2, h3, h4, h5, h6, .entry-title, .page-title, .elementor-heading-title, .tutor-course-details-title) {
  color: var(--ao-navy);
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 850;
  letter-spacing: -.035em;
  line-height: 1.12;
}

body.acadeon-global-brand :where(h1, .entry-title, .page-title) {
  font-size: clamp(2.15rem, 4vw, 3.6rem);
}

body.acadeon-global-brand :where(h2, .elementor-heading-title) {
  font-size: clamp(1.85rem, 3.2vw, 2.9rem);
}

body.acadeon-global-brand :where(p, li, .entry-content, .elementor-widget-text-editor) {
  color: var(--ao-muted);
}

body.acadeon-global-brand strong,
body.acadeon-global-brand b {
  color: var(--ao-navy);
  font-weight: 850;
}

body.acadeon-global-brand a {
  color: var(--ao-link-blue);
  text-underline-offset: 3px;
}

body.acadeon-global-brand a:hover {
  color: var(--ao-blue);
}

body.acadeon-global-brand :where(.site, #page, .elementor-location-single, .elementor-location-archive) {
  margin: 0 !important;
  background: transparent;
}

body.acadeon-global-brand :where(.site-main, main, .content-area, .entry-content) {
  font-family: Montserrat, Arial, sans-serif;
}

body.acadeon-global-brand :where(.page-header, .entry-header, .archive-header, .woocommerce-products-header, .tutor-course-filter-container + .tutor-course-list) {
  max-width: 1180px;
  margin-inline: auto;
}

body.acadeon-global-brand :where(.page-header, .entry-header, .archive-header, .woocommerce-products-header) {
  padding: clamp(42px, 6vw, 82px) 22px clamp(28px, 4vw, 54px);
}

body.acadeon-global-brand :where(.site-header, #masthead, header[role="banner"], .elementor-location-header) {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding-top: 20px !important;
  padding-bottom: 20px !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  border-bottom: 1px solid rgba(220, 231, 238, .85);
  box-shadow: 0 12px 34px rgba(10, 8, 59, .055);
  backdrop-filter: blur(14px);
}

body.acadeon-global-brand :where(
  .site-header > *,
  #masthead > *,
  header[role="banner"] > *,
  .elementor-location-header > .elementor-section,
  .elementor-location-header > .elementor-element,
  .elementor-location-header .elementor-section-wrap > .elementor-section
) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  border-radius: 0 !important;
  background-color: #ffffff !important;
}

body.acadeon-global-brand :where(.site-header, #masthead, header[role="banner"]) :where(.custom-logo, .site-logo img, .elementor-widget-theme-site-logo img) {
  width: auto;
  max-height: 56px;
}

body.acadeon-global-brand :where(.main-navigation a, .menu a, .elementor-nav-menu a, .wp-block-navigation a) {
  color: var(--ao-navy);
  font-family: Montserrat, Arial, sans-serif;
  font-size: .95rem;
  font-weight: 800;
  letter-spacing: -.01em;
  text-decoration: none;
}

body.acadeon-global-brand :where(.main-navigation a:hover, .menu a:hover, .elementor-nav-menu a:hover, .wp-block-navigation a:hover),
body.acadeon-global-brand :where(.current-menu-item > a, .current_page_item > a) {
  color: var(--ao-blue);
}

body.acadeon-global-brand :where(
  .elementor-button,
  .wp-block-button__link,
  .button,
  button.button,
  input[type="submit"],
  .tutor-btn,
  .tutor-button,
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button
) {
  min-height: 50px;
  border: 0;
  border-radius: 999px;
  background: var(--ao-green);
  box-shadow: 0 14px 34px rgba(73, 255, 189, .22);
  color: var(--ao-navy);
  font-family: Montserrat, Arial, sans-serif;
  font-size: .9rem;
  font-weight: 850;
  letter-spacing: .01em;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

body.acadeon-global-brand :where(
  .elementor-button:hover,
  .wp-block-button__link:hover,
  .button:hover,
  button.button:hover,
  input[type="submit"]:hover,
  .tutor-btn:hover,
  .tutor-button:hover,
  .woocommerce a.button:hover,
  .woocommerce button.button:hover,
  .woocommerce input.button:hover
) {
  background: var(--ao-green);
  box-shadow: 0 18px 42px rgba(73, 255, 189, .30);
  color: var(--ao-navy);
  transform: translateY(-1px);
}

body.acadeon-global-brand :where(.elementor-button.elementor-size-sm, .tutor-btn-sm) {
  min-height: 42px;
  padding-inline: 18px;
  font-size: .78rem;
}

body.acadeon-global-brand :where(.elementor-section, .wp-block-group, .tutor-wrap, .woocommerce, .site-main > article) {
  --ao-section-space: clamp(42px, 6vw, 82px);
}

body.acadeon-global-brand :where(.elementor-section:not(.elementor-inner-section), .wp-block-group.alignfull) {
  overflow: hidden;
}

body.acadeon-global-brand :where(.card, .ao-card, .elementor-card, .elementor-post__card, .wp-block-post, .tutor-card, .tutor-course-card, .tutor-course, .woocommerce ul.products li.product) {
  border: 1px solid rgba(5, 71, 119, .08);
  border-radius: var(--ao-radius-md);
  background: var(--ao-white);
  box-shadow: var(--ao-soft-shadow);
  overflow: hidden;
}

body.acadeon-global-brand :where(.elementor-post__card, .wp-block-post, .tutor-card, .tutor-course-card, .tutor-course, .woocommerce ul.products li.product) {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

body.acadeon-global-brand :where(.elementor-post__card:hover, .wp-block-post:hover, .tutor-card:hover, .tutor-course-card:hover, .tutor-course:hover, .woocommerce ul.products li.product:hover) {
  border-color: rgba(5, 71, 119, .18);
  box-shadow: var(--ao-shadow);
  transform: translateY(-3px);
}

body.acadeon-global-brand :where(.elementor-post__thumbnail img, .tutor-course-card img, .tutor-course img, .woocommerce ul.products li.product img, .wp-post-image) {
  border-radius: 18px;
}

body.acadeon-global-brand :where(.tutor-course-name a, .tutor-course-title a, .woocommerce-loop-product__title, .elementor-post__title a, .wp-block-post-title a) {
  color: var(--ao-navy);
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 850;
  letter-spacing: -.025em;
  text-decoration: none;
}

body.acadeon-global-brand :where(.tutor-course-name a:hover, .tutor-course-title a:hover, .woocommerce-loop-product__title:hover, .elementor-post__title a:hover, .wp-block-post-title a:hover) {
  color: var(--ao-blue);
}

body.acadeon-global-brand :where(.tutor-course-meta, .tutor-meta, .tutor-course-content-content, .woocommerce-loop-product__link, .elementor-post__excerpt) {
  color: var(--ao-muted);
  font-family: Montserrat, Arial, sans-serif;
}

body.acadeon-global-brand :where(.tutor-course-price, .price, .woocommerce-Price-amount) {
  color: var(--ao-navy);
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 900;
}

body.acadeon-global-brand :where(input.input-text, input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="search"], textarea, select, .select2-selection) {
  min-height: 46px;
  border: 1px solid var(--ao-line);
  border-radius: 12px;
  background: var(--ao-white);
  color: var(--ao-ink);
  font-family: Montserrat, Arial, sans-serif;
  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease;
}

body.acadeon-global-brand :where(input:focus, textarea:focus, select:focus, .select2-container--focus .select2-selection) {
  border-color: var(--ao-blue);
  box-shadow: 0 0 0 4px rgba(5, 71, 119, .10);
}

body.acadeon-global-brand :where(label, .gfield_label, .woocommerce form .form-row label) {
  color: var(--ao-navy);
  font-family: Montserrat, Arial, sans-serif;
  font-size: .82rem;
  font-weight: 850;
}

body.acadeon-global-brand :where(.woocommerce-message, .woocommerce-info, .woocommerce-error, .tutor-alert, .tutor-notice) {
  border-radius: 16px;
  border-top: 0;
  box-shadow: var(--ao-soft-shadow);
  font-family: Montserrat, Arial, sans-serif;
}

body.acadeon-global-brand :where(.woocommerce-info, .tutor-alert-info) {
  border-left: 5px solid var(--ao-blue);
}

body.acadeon-global-brand :where(.woocommerce-message, .tutor-alert-success) {
  border-left: 5px solid var(--ao-green);
}

body.acadeon-global-brand :where(.site-footer, footer[role="contentinfo"], .elementor-location-footer) {
  background: var(--ao-navy);
  color: #cbd7df;
  font-family: Montserrat, Arial, sans-serif;
}

body.acadeon-global-brand :where(.site-footer a, footer[role="contentinfo"] a, .elementor-location-footer a) {
  color: var(--ao-green);
}

body.acadeon-global-brand :where(.site-footer h1, .site-footer h2, .site-footer h3, footer[role="contentinfo"] h1, footer[role="contentinfo"] h2, footer[role="contentinfo"] h3, .elementor-location-footer h1, .elementor-location-footer h2, .elementor-location-footer h3) {
  color: #ffffff;
}

body.acadeon-global-brand :where(.acadeon-hero, .ao-hero, .elementor-section[data-settings*="background_background"]) {
  background-color: var(--ao-navy);
}

body.acadeon-global-brand .acadeon-gradient-panel,
body.acadeon-global-brand .ao-gradient-panel {
  border-radius: var(--ao-radius-lg);
  background: linear-gradient(135deg, var(--ao-navy), var(--ao-blue));
  color: #ffffff;
  box-shadow: var(--ao-shadow);
}

body.acadeon-global-brand .acadeon-gradient-panel :where(h1, h2, h3, p, li),
body.acadeon-global-brand .ao-gradient-panel :where(h1, h2, h3, p, li) {
  color: #ffffff;
}

body.acadeon-global-brand .acadeon-eyebrow,
body.acadeon-global-brand .ao-eyebrow,
body.acadeon-global-brand :where(.elementor-widget-heading .elementor-heading-title small) {
  color: var(--ao-blue);
  font-family: Montserrat, Arial, sans-serif;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

@media (max-width: 768px) {
  body.acadeon-global-brand {
    line-height: 1.58;
  }

  body.acadeon-global-brand :where(.site-header, #masthead, header[role="banner"]) :where(.custom-logo, .site-logo img, .elementor-widget-theme-site-logo img) {
    max-height: 46px;
  }

  body.acadeon-global-brand :where(.elementor-button, .wp-block-button__link, .button, .tutor-btn, .tutor-button, .woocommerce a.button, .woocommerce button.button, input[type="submit"]) {
    width: 100%;
    min-height: 48px;
    font-size: .82rem;
  }

  body.acadeon-global-brand :where(.page-header, .entry-header, .archive-header, .woocommerce-products-header) {
    padding-inline: 16px;
  }
}

/* Ajustes finos seguros: CTAs de acesso, footer e camadas flutuantes */

body.acadeon-global-brand :where(.site-header, #masthead, header[role="banner"], .elementor-location-header),
body.acadeon-global-brand.acadeon-header-layer-fix :where(.site-header, #masthead, header[role="banner"], .elementor-location-header) {
  position: relative !important;
  z-index: 2147482000 !important;
  overflow: visible !important;
  isolation: auto !important;
}

body.acadeon-global-brand :where(
  .site-header .elementor-section,
  .site-header .elementor-container,
  .site-header .elementor-column,
  .site-header .elementor-widget-wrap,
  #masthead .elementor-section,
  #masthead .elementor-container,
  #masthead .elementor-column,
  #masthead .elementor-widget-wrap,
  .elementor-location-header .elementor-section,
  .elementor-location-header .elementor-container,
  .elementor-location-header .elementor-column,
  .elementor-location-header .elementor-widget-wrap,
  .elementor-location-header .elementor-widget-nav-menu,
  .elementor-location-header .elementor-widget-woocommerce-menu-cart
) {
  overflow: visible !important;
  z-index: 2147482000 !important;
}

body.acadeon-global-brand :where(
  .main-navigation ul ul,
  .main-navigation .sub-menu,
  .menu .sub-menu,
  .elementor-nav-menu--dropdown,
  .elementor-nav-menu .sub-menu,
  .wp-block-navigation__submenu-container,
  .dropdown-menu,
  .children
) {
  z-index: 2147483000 !important;
  min-width: 220px;
  border: 1px solid rgba(220, 231, 238, .95);
  border-radius: 16px;
  background: #ffffff !important;
  box-shadow: 0 22px 60px rgba(10, 8, 59, .18);
  overflow: visible !important;
  pointer-events: auto !important;
}

body.acadeon-global-brand :where(
  .elementor-menu-cart__container,
  .elementor-menu-cart__main,
  .widget_shopping_cart,
  .widget_shopping_cart_content,
  .woocommerce-mini-cart,
  .cart-dropdown,
  .cart-popup,
  .dropdown-cart,
  .shopping-cart
) {
  z-index: 2147483100 !important;
  pointer-events: auto !important;
}

body.acadeon-global-brand :where(
  .elementor-menu-cart__toggle,
  .elementor-menu-cart__toggle_button,
  .elementor-menu-cart__wrapper,
  .site-header .cart-contents,
  #masthead .cart-contents,
  header[role="banner"] .cart-contents,
  a[href*="carrinho"],
  a[href*="cart"]
) {
  pointer-events: auto !important;
  z-index: 2147483000 !important;
}

body.acadeon-global-brand :where(.elementor-menu-cart__container, .elementor-menu-cart__main) {
  position: fixed !important;
}

body.acadeon-global-brand :where(
  .elementor-menu-cart__container,
  .elementor-menu-cart__container.elementor-lightbox,
  .elementor-menu-cart__container.acadeon-cart-layer-root
) {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483600 !important;
  overflow: visible !important;
  isolation: isolate !important;
}

body.acadeon-global-brand :where(
  .elementor-menu-cart__main,
  .elementor-menu-cart__container .elementor-menu-cart__main
) {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: min(420px, 94vw) !important;
  height: 100vh !important;
  max-height: 100vh !important;
  z-index: 2147483601 !important;
  overflow-y: auto !important;
  background: #ffffff !important;
  box-shadow: -24px 0 70px rgba(10, 8, 59, .22) !important;
}

body.admin-bar.acadeon-global-brand :where(
  .elementor-menu-cart__main,
  .elementor-menu-cart__container .elementor-menu-cart__main
) {
  top: 32px !important;
  height: calc(100vh - 32px) !important;
  max-height: calc(100vh - 32px) !important;
}

body.acadeon-global-brand :where(
  .elementor-menu-cart__close-button,
  .elementor-menu-cart__products,
  .elementor-menu-cart__subtotal,
  .elementor-menu-cart__footer-buttons,
  .elementor-menu-cart__footer-buttons a,
  .elementor-menu-cart__product,
  .elementor-menu-cart__product-name,
  .elementor-menu-cart__product-price
) {
  position: relative !important;
  z-index: 2147483602 !important;
}

body.acadeon-global-brand :where(
  .elementor-menu-cart__footer-buttons,
  .woocommerce-mini-cart__buttons,
  .widget_shopping_cart_content .buttons
) {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  align-items: stretch !important;
}

body.acadeon-global-brand :where(
  .elementor-menu-cart__footer-buttons a,
  .elementor-menu-cart__footer-buttons .elementor-button,
  .woocommerce-mini-cart__buttons a,
  .widget_shopping_cart_content .buttons a,
  .widget_shopping_cart_content .buttons .button
) {
  display: inline-flex !important;
  min-height: 50px !important;
  padding: 12px 16px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--ao-green) !important;
  box-shadow: 0 14px 34px rgba(73, 255, 189, .22) !important;
  color: var(--ao-navy) !important;
  font-family: Montserrat, Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  line-height: 1.12 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  transform: none !important;
  transition: none !important;
}

body.acadeon-global-brand :where(
  .elementor-menu-cart__footer-buttons a:hover,
  .elementor-menu-cart__footer-buttons .elementor-button:hover,
  .woocommerce-mini-cart__buttons a:hover,
  .widget_shopping_cart_content .buttons a:hover,
  .widget_shopping_cart_content .buttons .button:hover
) {
  background: var(--ao-green) !important;
  box-shadow: 0 14px 34px rgba(73, 255, 189, .22) !important;
  color: var(--ao-navy) !important;
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
}

body.acadeon-global-brand :where(
  .woocommerce ul.products li.product .button,
  .woocommerce a.add_to_cart_button,
  .woocommerce a.added_to_cart,
  .woocommerce a.product_type_simple,
  .woocommerce a.product_type_variable,
  .woocommerce a.product_type_external,
  .elementor-widget-woocommerce-products .button,
  .elementor-widget-wc-add-to-cart .button,
  a[href*="add-to-cart"],
  a[href*="carrinho"]:not(.cart-contents):not(.elementor-menu-cart__toggle_button)
):not(.acadeon-access-button):not([href*="area-do-aluno"]):not([href*="area-do-instrutor"]):not([href*="painel-do-aluno"]):not([href*="painel-do-instrutor"]):not([href*="student"]):not([href*="instructor"]) {
  display: inline-flex !important;
  min-height: 44px !important;
  padding: 12px 22px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--ao-green) !important;
  box-shadow: 0 14px 34px rgba(73, 255, 189, .22) !important;
  color: var(--ao-navy) !important;
  font-family: Montserrat, Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  line-height: 1.12 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  transform: none !important;
  transition: none !important;
}

body.acadeon-global-brand :where(
  .woocommerce ul.products li.product .button:hover,
  .woocommerce a.add_to_cart_button:hover,
  .woocommerce a.added_to_cart:hover,
  .woocommerce a.product_type_simple:hover,
  .woocommerce a.product_type_variable:hover,
  .woocommerce a.product_type_external:hover,
  .elementor-widget-woocommerce-products .button:hover,
  .elementor-widget-wc-add-to-cart .button:hover,
  a[href*="add-to-cart"]:hover,
  a[href*="carrinho"]:not(.cart-contents):not(.elementor-menu-cart__toggle_button):hover
):not(.acadeon-access-button):not([href*="area-do-aluno"]):not([href*="area-do-instrutor"]):not([href*="painel-do-aluno"]):not([href*="painel-do-instrutor"]):not([href*="student"]):not([href*="instructor"]) {
  background: var(--ao-green) !important;
  box-shadow: 0 14px 34px rgba(73, 255, 189, .22) !important;
  color: var(--ao-navy) !important;
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
}

body.acadeon-global-brand .elementor-menu-cart__container::before {
  z-index: 2147483599 !important;
}

body.acadeon-global-brand .elementor-menu-cart__container.acadeon-cart-force-closed {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

body.acadeon-global-brand :where(
  .main-navigation ul ul a,
  .main-navigation .sub-menu a,
  .menu .sub-menu a,
  .elementor-nav-menu--dropdown a,
  .elementor-nav-menu .sub-menu a,
  .wp-block-navigation__submenu-container a,
  .dropdown-menu a,
  .children a
) {
  color: var(--ao-navy) !important;
  background: transparent !important;
  font-weight: 800 !important;
  text-align: left;
}

body.acadeon-global-brand :where(
  .main-navigation ul ul a:hover,
  .main-navigation .sub-menu a:hover,
  .menu .sub-menu a:hover,
  .elementor-nav-menu--dropdown a:hover,
  .elementor-nav-menu .sub-menu a:hover,
  .wp-block-navigation__submenu-container a:hover,
  .dropdown-menu a:hover,
  .children a:hover
) {
  color: var(--ao-blue) !important;
  background: rgba(5, 71, 119, .07) !important;
}

body.acadeon-global-brand :where(
  a[href*="area-do-aluno"],
  a[href*="area-do-instrutor"],
  a[href*="painel-do-aluno"],
  a[href*="painel-do-instrutor"],
  a[href*="student"],
  a[href*="instructor"],
  a.acadeon-access-button
) {
  display: inline-flex !important;
  min-height: 42px;
  padding: 10px 22px !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px;
  color: #ffffff !important;
  font-family: Montserrat, Arial, sans-serif !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
}

body.acadeon-global-brand :where(
  a[href*="area-do-aluno"],
  a[href*="painel-do-aluno"],
  a[href*="student"],
  a.acadeon-access-student
) {
  background: #55c866 !important;
}

body.acadeon-global-brand :where(
  a[href*="area-do-instrutor"],
  a[href*="painel-do-instrutor"],
  a[href*="instructor"],
  a.acadeon-access-instructor
) {
  background: #9b0000 !important;
}

body.acadeon-global-brand :where(
  a[href*="area-do-aluno"]:hover,
  a[href*="area-do-instrutor"]:hover,
  a[href*="painel-do-aluno"]:hover,
  a[href*="painel-do-instrutor"]:hover,
  a[href*="student"]:hover,
  a[href*="instructor"]:hover,
  a.acadeon-access-button:hover
) {
  color: #ffffff !important;
  filter: brightness(.96);
  transform: translateY(-1px);
}

body.acadeon-global-brand :where(.site-footer, footer[role="contentinfo"], .elementor-location-footer),
body.acadeon-global-brand :where(.site-footer p, .site-footer li, .site-footer span, footer[role="contentinfo"] p, footer[role="contentinfo"] li, footer[role="contentinfo"] span, .elementor-location-footer p, .elementor-location-footer li, .elementor-location-footer span) {
  color: #ffffff !important;
}

body.acadeon-global-brand :where(.site-footer a, footer[role="contentinfo"] a, .elementor-location-footer a) {
  color: var(--ao-green) !important;
  font-weight: 800;
}
