/* App shell tweaks for the Next.js mirror.
   Theme CSS is loaded from /rwc-2027/styles/RWC_colors.css (public). */

/* Design tokens for Cvent Agenda / Faculty widgets (aligned to RWC brand). */
:root {
  --healio-white: #ffffff;
  --healio-page-bg: #fbfbfb;
  --healio-border: #e5e5e5;
  --healio-placeholder: #dadada;
  --healio-label: #8c8c8c;
  --healio-text-secondary: #5f6c76;
  --healio-text: #222222;
  --healio-heading: #222222;
  --healio-blue: var(--primaryColor, #1a96a9);
  --healio-blue-hover: #147a8a;
  --healio-font-sans: var(--bodyFont, Inter, sans-serif);
  --healio-radius: 10px;
  --meeting-heading-font: var(--headingFont, Hind, sans-serif);
}

html {
  scroll-behavior: smooth;
}

/* The umbrella shell (app/globals.css) paints a tinted gradient on body for its
   landing page. RWC_colors.css only overrides background-color, so that gradient
   image survives and bleeds through every section without its own background. */
body {
  margin: 0;
  background-image: none;
  background-color: var(--whiteColor, #ffffff);
}

.site-main {
  min-height: 50vh;
}

@media (max-width: 991px) {
  .header__area {
    position: relative;
    z-index: 100;
  }

  .mob_menu_wrapper {
    position: relative;
    z-index: 100;
  }

  .mobile-logo {
    position: relative;
    z-index: 101;
  }

  .mobile-off-canvas-active {
    position: fixed;
    z-index: 2000;
  }

  .body-overlay {
    z-index: 1500;
  }

  .mobile-off-canvas .mobile-aside-button {
    position: relative;
    z-index: 2100;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 10px;
    background: rgba(255, 255, 255, 0.9);
    color: #000;
    border: 0;
    border-radius: 4px;
    cursor: pointer;
  }

  .mobile-off-canvas {
    position: fixed;
    top: 18px;
    right: 24px;
    z-index: 2100;
  }

  .mobile-aside-close {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 2101;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: rgba(255, 255, 255, 0.9);
    color: #000;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
  }

  .mobile-menu .dropdown-toggle {
    background: transparent;
    border: 0;
    color: inherit;
    width: 100%;
    text-align: left;
    padding: 0;
    cursor: pointer;
  }
}

.email-signup-notice a {
  text-decoration: underline;
}

#autoHeightIframe {
  width: 100%;
  min-height: 80vh;
  border: 0;
}

.page-html-content img {
  max-width: 100%;
  height: auto;
}

/* Brand-teal bullets. ::marker only paints the glyph, so list text keeps the
   body grey it inherits. Nav/footer lists are list-style: none, so unaffected. */
li::marker {
  color: var(--primaryColor, #1a96a9);
}

/* Content lists: indent from the left edge. Skip .nav (tab bars, etc.). */
.page-html-content ul:not(.nav),
.page-html-content ol {
  margin-left: 30px;
}

@media (max-width: 767px) {
  .page-html-content ul:not(.nav),
  .page-html-content ol {
    margin-left: 15px;
  }
}

/* Homepage globe video. The encode carries a 1px dark column baked into its
   right edge; clip the outer edge so the frame blends into the white section. */
.desktop-globe-video video,
.mobile-globe-video video {
  border: 0;
  outline: none;
  background: transparent;
  clip-path: inset(0 2px 0 0);
}

/* Homepage testimonial carousel */
.testimonial__slider__3 {
  padding-bottom: 4px;
}

.testimonial__slider__controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 28px;
}

.testimonial__slider__3 .swiper-pagination.testimonial__pagination {
  position: static;
  display: flex;
  align-items: center;
  gap: 8px;
  width: auto;
}

.testimonial__pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  margin: 0;
  background: var(--lightGrey2, #5f6c76);
  opacity: 0.3;
  transition: var(--transition, all 0.3s ease);
}

.testimonial__pagination .swiper-pagination-bullet-active {
  width: 28px;
  border-radius: 5px;
  background: var(--primaryColor, #1a96a9);
  opacity: 1;
}

.testimonial__arrows {
  display: flex;
  gap: 10px;
}

.testimonial__arrow {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--healio-border, #e5e5e5);
  border-radius: 50%;
  background: var(--whiteColor, #fff);
  color: var(--primaryColor, #1a96a9);
  cursor: pointer;
  transition: var(--transition, all 0.3s ease);
}

.testimonial__arrow:hover {
  background: var(--primaryColor, #1a96a9);
  border-color: var(--primaryColor, #1a96a9);
  color: var(--whiteColor, #fff);
}

@media (max-width: 767px) {
  .testimonial__slider__controls {
    margin-top: 18px;
  }

  .testimonial__arrow {
    width: 40px;
    height: 40px;
  }
}

/* ---------------------------------------------------------------------------
   "Explore What's Next in Retina" grid.

   The cards are Swiper slides, and Swiper's own CSS sizes every slide to 100%
   width. The carousel is initialized from a script in the page fragment, which
   only runs after mount, so until then the section paints one card per row.
   These rules lay the slides out as a wrapping grid at the same breakpoints the
   carousel uses (1 / 2 / 3 up). Swiper adds `swiper-initialized` to the
   container when it takes over, which switches all of this back off.
--------------------------------------------------------------------------- */

.featured__course:not(.swiper-initialized) .swiper-wrapper {
  flex-wrap: wrap;
  row-gap: 24px;
  /* Swiper's container clips overflow, so the wrapped rows need real height. */
  height: auto;
}

.featured__course:not(.swiper-initialized) .swiper-slide {
  width: 100%;
}

@media (min-width: 768px) {
  .featured__course:not(.swiper-initialized) .swiper-slide {
    width: 50%;
  }
}

@media (min-width: 992px) {
  .featured__course:not(.swiper-initialized) .swiper-slide {
    width: 33.3333%;
  }
}

/* Cvent Agenda / Faculty widgets inside Edurock page shells */
.cvent-widget-shell {
  margin-top: 24px;
}

.cvent-widget-shell :where(button, input, select) {
  font: inherit;
}
