/* Ensure div-block-3 starts at y: 0 before JS loads */
.div-block-3 {
  transform: translateY(0);
}

/* ============================================================================
   HIDE SCROLLBAR
   ============================================================================ */

/* Hide scrollbar for Chrome, Safari and Opera */
html::-webkit-scrollbar,
body::-webkit-scrollbar {
  display: none;
}

/* Hide scrollbar for IE, Edge and Firefox */
html,
body {
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
}

/* ============================================================================
   PAGE LOAD FADE - Prevent flicker before animation
   ============================================================================ */

/* Hide main content initially to prevent flicker */
.main-wrapper {
  opacity: 0;
}

/* Load overlay: shown as flex from home.js on homepage only */
.load--parent {
  display: none;
}

/* Hide load animation elements initially */
[animation="load-1"],
[animation="load-2"],
[animation="load-3"],
[animation="load-4"],
[animation="load-5"],
.navbar {
  opacity: 0;
}

/* Hide manifesto content and lines initially */
.section.is--manifesto-content {
  opacity: 0;
}

.section.is--manifesto-content2 {
  opacity: 0;
}

.manifesto--lines.is--1 {
  opacity: 1;
}

.manifesto--lines.is--2,
.manifesto--lines.is--3,
.manifesto--lines.is--4 {
  opacity: 0.1;
}

/* Hide manifesto 2 elements initially */
.manifesto2--line.is--werehere,
.divblocklast.is--change,
.img--manifesto.is--top,
.img--manifesto.is--bottom,
.thesystem,
.theworld,
.footer--parent {
  opacity: 0;
}

.section--changecontent {
  height: 100vh;
}

/* ============================================================================
   DISABLE SCROLL STYLES
   ============================================================================ */

/* Disable scroll during loading animation */
body.loading {
  overflow: hidden !important;
  height: 100vh;
  position: relative;
}

/* Disable scroll when mobile menu is open */
body.menu-open {
  overflow: hidden !important;
  height: 100vh;
  position: relative;
}

/* Disable scroll during scroll-triggered animations */
body.scroll-locked {
  overflow: hidden !important;
  height: 100vh;
  position: relative;
}

/* ============================================================================
   navbar mobile menu ANIMATION STYLES
   ============================================================================ */

.navbar--trigger.is--active {
  color: #1c0800;
}

/* ============================================================================
   NEWS ITEM ARROW HOVER EFFECT
   ============================================================================ */

.news--item-link:hover .icon--32.is--arrow {
  transform: translateX(1rem);
  transition: transform 0.3s ease;
}

/* Add transition to the arrow for smooth animation */
.icon--32.is--arrow {
  transition: transform 0.3s ease;
}

/* ============================================================================
   CONTACT POPUP (opened via .contact--link — see contact.js)
   display flex/none is driven by GSAP inline styles when animating
   ============================================================================ */

.popup--parent {
  display: none;
}

/* Fallback when GSAP is unavailable; GSAP also sets inline display when animating */
.popup--parent.is--open {
  display: flex;
}

body.contact-popup-open {
  overflow: hidden !important;
}

.section.is--home-after {
  overflow: hidden;
}

/* ============================================================================
   COOKIEYES — match site styles
   ============================================================================ */

.cky-btn-revisit-wrapper {
  display: none !important;
}

.cky-consent-container.cky-box-bottom-left {
  bottom: 2rem !important;
  left: 2rem !important;
  width: 100% !important;
  max-width: 24rem !important;
}

.cky-consent-container .cky-consent-bar {
  border-radius: 0 !important;
  padding: 1rem !important;
  border: 1px solid #1c0800 !important;
  background: #e5e5e5 !important;
  color: #1c0800 !important;
  box-shadow: none !important;
}

.cky-consent-container .cky-title {
  display: none !important;
}

.cky-consent-container .cky-notice-des,
.cky-consent-container .cky-notice-des p {
  color: #1c0800 !important;
}

.cky-notice-des *,
.cky-preference-content-wrapper *,
.cky-dma-content-wrapper *,
.cky-accordion-header-des *,
.cky-gpc-wrapper .cky-gpc-desc *,
.cky-notice-group {
  color: #1c0800 !important;
  font-size: 0.875rem !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 130% !important;
}

.cky-consent-container .cky-notice-btn-wrapper {
  display: flex;
  flex-wrap: wrap;
  margin-top: 1.5rem;
  gap: 0.5rem !important;
}

.cky-consent-container .cky-notice-btn-wrapper .cky-btn-customize {
  order: 1;
}

.cky-consent-container .cky-btn {
  width: auto !important;
  background: none !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--Dark-Brown, #1c0800) !important;
  text-align: right;
  font-size: 1rem !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 130% !important;
  text-transform: uppercase !important;
}

/* Preference center modal — match consent bar / notice */
.cky-modal .cky-preference-center {
  border-radius: 0 !important;
  padding: 1rem !important;
  border: 1px solid #1c0800 !important;
  background: #e5e5e5 !important;
  color: #1c0800 !important;
  box-shadow: none !important;
}

.cky-modal .cky-preference-title {
  color: #1c0800 !important;
  font-size: 1rem !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 130% !important;
}

.cky-modal .cky-btn-close {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.cky-modal .cky-show-desc-btn {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  color: var(--Dark-Brown, #1c0800) !important;
  font-size: inherit !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 130% !important;
}

.cky-modal .cky-accordion-btn {
  color: #1c0800 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}

.cky-modal .cky-always-active {
  color: #1c0800 !important;
}

.cky-modal .cky-audit-table {
  color: #1c0800 !important;
  border: 1px solid #1c0800 !important;
  background: #e5e5e5 !important;
}

.cky-modal .cky-empty-cookies-text {
  color: #1c0800 !important;
}

.cky-modal .cky-footer-shadow {
  background: linear-gradient(
    180deg,
    rgba(229, 229, 229, 0) 0%,
    #e5e5e5 100%
  ) !important;
}

.cky-modal .cky-prefrence-btn-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  margin-top: 1.5rem !important;
  gap: 0.5rem !important;
}

.cky-modal .cky-prefrence-btn-wrapper .cky-btn-preferences {
  order: 1;
}

.cky-modal .cky-prefrence-btn-wrapper .cky-btn {
  width: auto !important;
  background: none !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--Dark-Brown, #1c0800) !important;
  text-align: right;
  font-size: 1rem !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 130% !important;
  text-transform: uppercase !important;
}

@media (max-width: 991px) {
  .cky-consent-container.cky-box-bottom-left {
    max-width: calc(100vw - 2rem) !important;
    bottom: 1rem !important;
    left: 1rem !important;
  }

  .cky-consent-container .cky-btn {
    font-size: 0.8rem !important;
  }

  .cky-modal .cky-prefrence-btn-wrapper .cky-btn {
    font-size: 0.8rem !important;
  }
}

@media (max-width: 440px) {
  .cky-consent-container .cky-custom-brand-logo-wrapper,
  .cky-consent-container .cky-notice .cky-title,
  .cky-consent-container .cky-notice-des,
  .cky-consent-container .cky-notice-btn-wrapper {
    padding: 0 !important;
  }

  .cky-modal .cky-custom-brand-logo-wrapper,
  .cky-modal .cky-preference-header,
  .cky-modal .cky-preference-content-wrapper,
  .cky-modal .cky-prefrence-btn-wrapper {
    padding: 0 !important;
  }
}
