/*!
 * Custom styling overrides for Constellation site.
 * File: custom.css
 * Location: /wp-content/themes/astra/assets/css/custom.css
 */

.ast-single-post .entry-content .breadcrumb-page a {
  text-decoration: none;
}

.ast-single-post .entry-content .breadcrumb-page a:hover {
  text-decoration: underline;
}

#scroll-to-top img {
  cursor: pointer;
}

#ast-scroll-top {
  visibility: hidden;
}

#page header .search-wrapper .search-field .e-search-form svg {
  visibility: visible;
  opacity: 1;
}

#page header .search-wrapper .search-field .e-search-form input {
  border: 0;
  box-shadow: none;
}

#page header .search-wrapper .search-field .e-search-form input::placeholder {
  color: #ffffff;
}

#page header .search-wrapper .search-field.e-focus .e-search-form input {
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  border-color: #E0E0E0;
  border-radius: 4px 4px 4px 4px;
}

#page header .search-wrapper .search-field.e-focus .e-search-form input::placeholder {
  color: var(--e-search-placeholder-color);
}

.timeline-constellation .uael-timeline-main .uael-days .uael-timeline-field {
  position: relative;
  min-height: 450px;
}

.timeline-constellation .uael-timeline-main .uael-timeline-right img {
  position: absolute;
  right: -100%;
  top: 0;
}

.timeline-constellation .uael-timeline-main .uael-timeline-left img {
  position: absolute;
  left: -100%;
  top: 0;
}

.component-click-image .component-click-image-texts .component-click-image-texts-tab {
  cursor: pointer;
}

.component-click-image .component-click-image-texts .component-click-image-texts-tab:not(:first-child) {
  border-color: #ffffff;
}

.component-click-image .component-click-image-texts .component-click-image-texts-tab:not(:first-child) .elementor-widget-text-editor,
.component-click-image .component-click-image-texts .component-click-image-texts-tab:not(:first-child) .elementor-widget-button {
  display: none;
}

.page #page .elementor-field-group {
  align-content: flex-start;
}

.page #page .elementor-element .swiper .swiper-pagination-bullets.swiper-pagination-horizontal {
  text-align: right;
  width: 95%;
}

.page #page .elementor-element .swiper .swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet-active {
  width: 42px;
  border-radius: 360px;
}

.page #page .elementor-element .elementor-widget-n-carousel.elementor-pagination-position-outside .swiper-pagination-bullet-active {
  width: 32px;
  border-radius: 360px;
}

.page #page .elementor-element rs-module-wrap {
  z-index: 0;
}

.sobre-accordion-wrapper .sobre-accordion .e-n-accordion details > div[role=region],
.sobre-accordion-wrapper .sobre-accordion .e-n-accordion details summary {
  padding-inline-start: 10%;
  padding-inline-end: 10%;
}

/* Dark Mode overrides */
body.dark-mode {
  /* Elementor Global Colors */
  --e-global-color-primary:    #64A0C8; /* lighter blue for links/buttons */
  --e-global-color-secondary:  #A0A4AA; /* softer gray for headings */
  --e-global-color-text:       #E0E0E0; /* light text */
  --e-global-color-accent:     #50A85E; /* darker green accent */

  /* Astra Global Colors */
  --ast-global-color-0: #3398FF; /* primary brand blue */
  --ast-global-color-1: #0073E6; /* secondary blue */
  --ast-global-color-2: #CCD1D9; /* dark-mode text primary */
  --ast-global-color-3: #B0B7C1; /* dark-mode text secondary */
  --ast-global-color-4: #2a2a2a; /* dark background */
  --ast-global-color-5: #1F2328; /* dark alternate background */
  --ast-global-color-6: #F5F5F5; /* light text on dark */
  --ast-global-color-7: #747B84; /* subtle backgrounds/borders */
  --ast-global-color-8: #F5F5F5; /* repeat light text */

  /* Base backgrounds & text */
  background-color: var(--ast-global-color-4);
  color: var(--ast-global-color-6);
}

/* Containers & sections */
body.dark-mode .ast-plain-container,
body.dark-mode .ast-page-builder-template {
  background-color: var(--ast-global-color-4);
}

/* Elementor widget background fallback */
body.dark-mode .elementor-kit-7 {
  --e-global-color-primary:   var(--e-global-color-primary);
  --e-global-color-secondary: var(--e-global-color-secondary);
  --e-global-color-text:      var(--e-global-color-text);
  --e-global-color-accent:    var(--e-global-color-accent);
}

/* Dark Mode: override this section’s background without the post-ID prefix */
body.dark-mode.page #page [data-element_type="container"].elementor-element:not(.elementor-motion-effects-element-type-background),
body.dark-mode.page #page [data-element_type="container"].elementor-element > .elementor-motion-effects-container > .elementor-motion-effects-layer,
body.dark-mode.page #page [data-element_type="container"].elementor-element .elementor-button,
body.dark-mode.page #page .uael-timeline-main .uael-day-new .uael-events-inner-new,
body.dark-mode.page #page header .elementor-nav-menu .sub-menu,
body.dark-mode.page #page .elementor-widget-image-box > div,
body.dark-mode.page #page .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title,
body.dark-mode.page #page #constellation_form_contact .elementor-field-group .elementor-field,
body.dark-mode.page #page #constellation_form_contact .elementor-field-group .elementor-select-wrapper select,
body.dark-mode.page #page header .search-wrapper .search-field .e-search-form input,
body.dark-mode.page #page header [data-element_type="container"] a:hover {
  background-color: #2a2a2a !important;
}

body.dark-mode.page #page [data-element_type="container"].elementor-element:not(.elementor-motion-effects-element-type-background) {
  background-image: none;
}

body.dark-mode.page #page header [data-element_type="container"] a,
body.dark-mode.page #page [data-element_type="container"].elementor-element label,
body.dark-mode.page #page [data-element_type="container"].elementor-element div,
body.dark-mode.page #page [data-element_type="container"].elementor-element p,
body.dark-mode.page #page [data-element_type="container"].elementor-element span,
body.dark-mode.page #page [data-element_type="container"].elementor-element .elementor-heading-title,
body.dark-mode.page #page .elementor-image-box-wrapper .elementor-image-box-content,
body.dark-mode.page #page .elementor-image-box-wrapper .elementor-image-box-content .elementor-image-box-title,
body.dark-mode.page #page .breadcrumb-page .breadcrumb-current-tab-title,
body.dark-mode.page #page .entry-content .elementor-widget-text-editor a,
body.dark-mode.page #page #constellation_form_contact .elementor-field-group .elementor-field,
body.dark-mode.page #page #constellation_form_contact .elementor-field-group input.elementor-field::placeholder,
body.dark-mode.page #page #constellation_form_contact .elementor-field-group .elementor-select-wrapper select,
body.dark-mode.page #page header .search-wrapper .search-field .e-search-form input {
  color: #ffffff !important;
}

body.dark-mode.page #page header .elementor-nav-menu--main .elementor-item,
body.dark-mode.page #page [data-element_type="container"].elementor-element #contraste svg,
body.dark-mode.page #page [data-element_type="container"].elementor-element .elementor-button svg,
body.dark-mode.page #page .elementor-menu-toggle .e-font-icon-svg {
  fill: #ffffff;
}

body.dark-mode.page #page .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title svg {
  fill: transparent;
}

body.dark-mode.page #page .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title svg rect {
  fill: #ffffff;
}

body.dark-mode.page #page .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title svg path {
  stroke: #2a2a2a;
}

body.dark-mode.page.home #page [data-element_type="container"].elementor-element .elementor-element-021de91,
body.dark-mode.page.home #page [data-element_type="container"].elementor-element .elementor-element-5b7d8ee {
  background-color: transparent !important;
}

body.dark-mode.page #page .e-n-tabs .e-n-tabs-heading .e-n-tab-title,
body.dark-mode.page #page [data-element_type="container"].elementor-element .elementor-button,
body.dark-mode.page #page [data-element_type="container"].elementor-element .elementor-element-e4618a9 > div,
body.dark-mode.page #page #constellation_form_contact .elementor-field-group .elementor-field,
body.dark-mode.page #page #constellation_form_contact .elementor-field-group .elementor-select-wrapper select,
body.dark-mode.page #page #constellation_form_contact .elementor-field-group .elementor-button,
body.dark-mode.page #page .uael-timeline-main .uael-day-new .uael-events-inner-new,
body.dark-mode.page #page header .search-wrapper .search-field .e-search-form input {
  border-color: #ffffff;
}

body.dark-mode.page #page [data-element_type="container"].elementor-element a.elementor-button.elementor-button-link,
body.dark-mode.page #page #constellation_form_contact .elementor-field-group .elementor-button,
body.dark-mode.page #page .uael-timeline-main .uael-day-new .uael-events-inner-new,
body.dark-mode.page #page header .search-wrapper .search-field .e-search-form input {
  border: 1px solid;
}

body.dark-mode.page #page header .accessibility-wrapper [data-element_type="container"].elementor-element a.elementor-button-link {
  border: none;
}

body.dark-mode.page #page .e-n-tabs .e-n-tabs-heading .e-n-tab-title:hover {
  background-color: #2a2a2a !important;
  color: #ffffff;
}

body.dark-mode.page #page header .elementor-widget-theme-site-logo {
  display: none !important;
}

body.dark-mode.page #page header .logo-site-dark-mode {
  display: block !important;
}

/* Tablet adjustments */
@media (min-width: 768px) and (max-width: 1200px) {
  .timeline-constellation .uael-timeline-main .uael-timeline-right img {
    right: calc(-100% - 50px);
  }

  .timeline-constellation .uael-timeline-main .uael-timeline-left img {
    left: calc(-100% - 50px);
  }

  #page .anual-report .anual-report-text {
    position: static;
    width: 50%;
  }
}

/* Mobile adjustments */
@media (max-width: 767px) {
  .page #page .elementor-widget-n-tabs .e-n-tabs-heading {
    padding-inline-start: 24px;
    padding-inline-end: 24px;
  }

  .page #page .elementor-widget-n-tabs .e-n-tabs-heading {
    position: relative; /* anchor for the overlay */
  }

  /* Overlay element injected by JS */
  .page #page .elementor-widget-n-tabs .e-n-tabs-heading .tabs-scroll-hint {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    transform: translateX(0);
    will-change: transform;
    width: 34px;
    height: 24px;
    pointer-events: none; /* do not block scroll */
    opacity: 0;
    transition: opacity .2s ease;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='14' viewBox='0 0 8 14' fill='none'><path d='M1.52227 0.5L0 2.0275L4.94467 7L0 11.9725L1.52227 13.5L8 7L1.52227 0.5Z' fill='%23023047'/></svg>");
    background-repeat: no-repeat, no-repeat;
    background-size: 24px 24px;
    background-position-x: right;
  }

  /* Show only when overflow exists; hide when reached the end */
  .page #page .elementor-widget-n-tabs .e-n-tabs-heading.has-overflow .tabs-scroll-hint {
    opacity: 1;
    background-color: #F8F8F8;
    padding: 15px;
  }

  .page #page .elementor-widget-n-tabs .e-n-tabs-heading.scrolled-end .tabs-scroll-hint {
    opacity: 0;
  }

  /* Dark-mode gradient variant */
  body.dark-mode.page #page .elementor-widget-n-tabs .e-n-tabs-heading .tabs-scroll-hint {
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='14' viewBox='0 0 8 14' fill='none'><path d='M1.52227 0.5L0 2.0275L4.94467 7L0 11.9725L1.52227 13.5L8 7L1.52227 0.5Z' fill='%23ffffff'/></svg>");
    background-repeat: no-repeat;
    background-size: 24px 24px;
    background-position-x: right;
  }

  .carreiras-programs .e-con-inner {
    gap: 0;
  }

  .carreiras-programs .e-con-inner .carreiras-programs-text {
    position: static;
  }

  #page header .search-wrapper .search-field .e-search-form input {
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #E0E0E0;
    border-radius: 4px 4px 4px 4px;
  }

  #page header .search-wrapper .search-field .e-search-form input::placeholder {
    color: var(--e-search-placeholder-color);
  }

  #page header .main-menu-wrapper.toggle-menu-mobile {
    background-color: #ffffff;
    height: 100dvh;
    justify-content: flex-start;
    position: fixed;
  }

  #page header .main-menu-wrapper .search-wrapper {
    display: none;
  }

  #page header .main-menu-wrapper.toggle-menu-mobile .elementor-sticky {
    box-shadow: none;
  }

  #page header .main-menu-wrapper.toggle-menu-mobile .search-wrapper {
    display: flex;
  }

  #page header .main-menu-wrapper.toggle-menu-mobile .accessibility-wrapper {
    display: grid;
    position: absolute;
    bottom: 0;
  }

  #page header .main-menu-wrapper.toggle-menu-mobile .accessibility-wrapper .row {
    display: grid;
    grid-template-columns: max-content max-content;
    width: fit-content;
    gap: 1rem;
  }

  .timeline-constellation .uael-timeline-main .uael-days .uael-timeline-field {
    position: relative;
    min-height: unset;
  }

  .timeline-constellation .uael-timeline-main .uael-timeline-right img,
  .timeline-constellation .uael-timeline-main .uael-timeline-left img {
    position: static;
  }

  #page .anual-report .anual-report-text {
    position: static;
  }

  #page .anual-report .elementor-widget-image,
  #page .anual-report .elementor-widget-image img {
    width: 100%;
  }

  #page .component-click-image {
    gap: 0;
  }

  #page .component-click-image .component-click-image-texts {
    position: static;
    box-shadow: unset;
  }

  #page .component-click-image .component-click-image-images {
    height: auto;
    margin: 0;
    padding: 0;
  }

  .page #page .elementor-element.rev-slider-wrapper.rev-slider-carreiras rs-module-wrap {
    background-color: #ffffff !important;
  }

  /* Dark Mode for mobile devices */
  body.dark-mode.page #page .elementor-nav-menu__align-end .elementor-nav-menu,
  body.dark-mode.page #page .elementor-nav-menu__align-end .elementor-nav-menu .current-menu-item,
  body.dark-mode.page #page .elementor-nav-menu__align-end .elementor-nav-menu .current-menu-item a {
    background-color: #2a2a2a;
  }

  body.dark-mode.page #page .elementor-nav-menu .sub-arrow .e-font-icon-svg.fa-svg-chevron-down {
    fill: #ffffff;
  }
}

/* Specific breakpoints adjustments */
@media (min-width: 1100px) and (max-width: 1440px) {
  .page #page .elementor-element.rev-slider-wrapper {
    width: 95%;
    max-width: 95%;
    margin: auto;
  }
}
