/* Cedar GO — local layout fixes (MapTech preserved) */

/*
 * Button pairs: Webflow used margin-right on .btn-primary.button-row, which
 * collapses between buttons under [dir=rtl] direction. Use gap instead.
 */
.buttons-row {
  gap: 16px;
  flex-wrap: wrap;
}

.buttons-row .btn-primary.button-row,
.buttons-row .btn-secondary.button-row {
  margin-right: 0 !important;
  margin-left: 0 !important;
  margin-inline: 0 !important;
}

/*
 * Keep the MapTech page preloader (dots) fully intact for first paint.
 * Do not force-hide it — Webflow IX handles show/hide.
 */

/*
 * View Transitions caused reload/scroll jank on some devices — disabled.
 * Keep navigation snappy; Webflow IX handles section reveals.
 */
@view-transition {
  navigation: none;
}

/* Prefer compositor-friendly scrolling; avoid smooth fighting IX */
html {
  scroll-behavior: auto;
}

/*
 * IX safety: Webflow scroll-into-view often leaves opacity:0 on first paint /
 * stalled IX — blank page + scroll jank. Force marketing content visible
 * immediately via CSS (do not wait for JS). Keep accordion/dropdown collapsed.
 */
[data-w-id]:not(.acordion-body):not(.w-dropdown-list):not(.preloader):not(.preloader-dot-wrapper):not(.preloader-dot),
[style*="opacity:0"]:not(.acordion-body):not(.w-dropdown-list):not(.preloader):not(.preloader-dot-wrapper):not(.preloader-dot),
[style*="opacity: 0"]:not(.acordion-body):not(.w-dropdown-list):not(.preloader):not(.preloader-dot-wrapper):not(.preloader-dot) {
  opacity: 1 !important;
  transform: none !important;
  -webkit-transform: none !important;
}

/* Reserve space for injected EN/AR so the header does not jump after load */
.header-right-side .hidden-on-tablet .flex-horizontal {
  align-items: center;
}

.cg-lang-switch--header {
  min-width: 2rem;
  min-height: 1.25rem;
}

/*
 * Dark CTA → footer cards: kill the light page-bg seam.
 * CTA is inside </main>, footer is a sibling of main — so `cta + footer`
 * never matches. Use main+footer / :has() instead.
 * Do NOT use negative margin-top on .footer-cards-wrapper:
 * .footer-container { overflow: hidden } would clip the cards.
 */
.cta---section.cta-v1-section-wrapper {
  border-radius: 24px 24px 0 0 !important;
  margin-bottom: 0 !important;
}

main:has(.cta---section.cta-v1-section-wrapper) + .footer-container,
main:has(.cta---section.cta-v1-section-wrapper) + footer.footer-container,
.cta---section.cta-v1-section-wrapper + .footer-container,
.cta---section.cta-v1-section-wrapper + footer.footer-container {
  background-color: #080808 !important;
}

main:has(.cta---section.cta-v1-section-wrapper) + .footer-container .footer-wrapper,
main:has(.cta---section.cta-v1-section-wrapper) + footer .footer-wrapper,
.cta---section.cta-v1-section-wrapper + .footer-container .footer-wrapper,
.cta---section.cta-v1-section-wrapper + footer .footer-wrapper {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

/* Bridge any leftover gap under the overlapping promo cards */
main:has(.cta---section.cta-v1-section-wrapper) + .footer-container .footer-cards-wrapper,
main:has(.cta---section.cta-v1-section-wrapper) + footer .footer-cards-wrapper {
  background: transparent;
}

/* Never pull cards upward — overflow:hidden on .footer-container would clip them */
.footer-cards-wrapper {
  margin-top: 0 !important;
}

/* Keep MapTech card-overlap padding (do not shrink — cards need the space) */
.footer-container.footer-v1 .footer-top.footer-v1 {
  padding-top: 200px;
}

@media screen and (max-width: 991px) {
  .footer-container.footer-v1 .footer-top.footer-v1 {
    padding-top: 160px;
  }
}

@media screen and (max-width: 767px) {
  .footer-container.footer-v1 .footer-top.footer-v1 {
    padding-top: 140px;
  }
}

/* Mobile nav: larger, clearer Home / About / Help / Contact */
@media screen and (max-width: 991px) {
  .header-nav-menu-wrapper {
    padding: 28px 24px 36px;
  }

  .header-nav-menu-list {
    align-items: center;
    width: 100%;
    gap: 4px;
  }

  .header-nav-list-item.left {
    width: 100%;
    margin-bottom: 8px;
    text-align: center;
  }

  .header-nav-list-item.left .header-nav-link.w-nav-link {
    display: inline-flex;
    justify-content: center;
    width: 100%;
    padding: 12px 8px;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.01em;
    color: var(--neutral--800, #12141a);
  }

  /* Mobile drawer is always light — beat dark-hero white !important */
  .header-nav-menu-wrapper .header-nav-link,
  .header-nav-menu-wrapper .header-nav-link.w-nav-link,
  html.cg-dark-hero .header-wrapper.header-top-transparent .header-nav-menu-wrapper .header-nav-link,
  html.cg-dark-hero .header-wrapper.header-top-transparent .header-nav-menu-wrapper .header-nav-link.w-nav-link {
    color: #12141a !important;
  }

  .header-nav-menu-wrapper .header-nav-link.w--current,
  .header-nav-list-item.left .header-nav-link.w-nav-link.w--current,
  html.cg-dark-hero .header-wrapper.header-top-transparent .header-nav-menu-wrapper .header-nav-link.w--current {
    color: #e7061d !important;
  }

  .header-nav-menu-wrapper .btn-secondary.small,
  .header-nav-menu-wrapper .btn-secondary.small.header-mobile-btn,
  html.cg-dark-hero .header-wrapper.header-top-transparent .header-nav-menu-wrapper .btn-secondary.small {
    color: #12141a !important;
    border-color: rgba(18, 20, 26, 0.28) !important;
    background: transparent !important;
  }

  .header-nav-menu-wrapper .cg-lang-switch__trigger,
  .header-nav-menu-wrapper .cg-lang-switch__code,
  .header-nav-menu-wrapper .cg-lang-switch__chevron {
    color: #12141a !important;
  }

  .header-nav-list-item.left .header-nav-link.w-nav-link.w--current {
    color: var(--accent--primary-1, #e7061d);
  }

  .header-nav-list-item.show-in-tablet.header-buttons {
    margin-top: 20px;
    width: 100%;
  }

  .header-nav-list-item.show-in-tablet.header-buttons .buttons-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    width: 100%;
  }

  .header-nav-list-item.show-in-tablet.header-buttons .header-mobile-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    padding: 12px 18px;
    text-align: center;
    box-sizing: border-box;
  }

  .header-nav-list-item.cg-lang-switch-mobile {
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 8px 0 4px;
  }

  /*
   * Dark-hero pages force white nav/secondary text for the transparent bar.
   * Webflow puts .w--open on .w-nav-button (hamburger), NOT on .header-wrapper.
   * Open drawer is a LIGHT panel — fix white-on-white (Home/About/Contact + Vendor).
   */
  .header-wrapper:has(.w-nav-button.w--open) .header-nav-menu-wrapper .header-nav-link,
  .header-wrapper:has(.w-nav-button.w--open) .header-nav-menu-wrapper .header-nav-link.w-nav-link,
  html.cg-dark-hero .header-wrapper.header-top-transparent:has(.w-nav-button.w--open) .header-nav-menu-wrapper .header-nav-link,
  html.cg-dark-hero .header-wrapper.header-top-transparent:has(.w-nav-button.w--open) .header-nav-menu-wrapper .header-nav-link.w-nav-link {
    color: #12141a !important;
  }

  .header-wrapper:has(.w-nav-button.w--open) .header-nav-menu-wrapper .header-nav-link.w--current,
  html.cg-dark-hero .header-wrapper.header-top-transparent:has(.w-nav-button.w--open) .header-nav-menu-wrapper .header-nav-link.w--current {
    color: #e7061d !important;
  }

  .header-wrapper:has(.w-nav-button.w--open) .header-nav-menu-wrapper .btn-secondary.small,
  .header-wrapper:has(.w-nav-button.w--open) .header-nav-menu-wrapper .btn-secondary.small.header-mobile-btn,
  html.cg-dark-hero .header-wrapper.header-top-transparent:has(.w-nav-button.w--open) .header-nav-menu-wrapper .btn-secondary.small,
  html.cg-dark-hero .header-wrapper.header-top-transparent:has(.w-nav-button.w--open) .header-nav-menu-wrapper .btn-secondary.small.header-mobile-btn {
    color: #12141a !important;
    border-color: rgba(18, 20, 26, 0.28) !important;
    background: transparent !important;
  }

  .header-wrapper:has(.w-nav-button.w--open) .header-nav-menu-wrapper .cg-lang-switch__trigger,
  .header-wrapper:has(.w-nav-button.w--open) .header-nav-menu-wrapper .cg-lang-switch__code,
  .header-wrapper:has(.w-nav-button.w--open) .header-nav-menu-wrapper .cg-lang-switch__chevron,
  html.cg-dark-hero .header-wrapper.header-top-transparent:has(.w-nav-button.w--open) .header-nav-menu-wrapper .cg-lang-switch__trigger,
  html.cg-dark-hero .header-wrapper.header-top-transparent:has(.w-nav-button.w--open) .header-nav-menu-wrapper .cg-lang-switch__code,
  html.cg-dark-hero .header-wrapper.header-top-transparent:has(.w-nav-button.w--open) .header-nav-menu-wrapper .cg-lang-switch__chevron {
    color: #12141a !important;
  }
}

@media screen and (max-width: 479px) {
  .header-nav-list-item.left .header-nav-link.w-nav-link {
    font-size: 20px;
    padding: 11px 8px;
  }
}

/* Legal pages: keep all doc badges on the dark hero (6 pills wrap; Vorlage was 3) */
.bg-content-absolute.top.terms-and-conditions {
  height: 56%;
  min-height: 520px;
}

.section.hero.v25 .mg-bottom-64px {
  margin-bottom: 48px;
}

.section.hero.v25 .flex-horizontal.gap-16px---flex-wrap.menu-links {
  justify-content: center;
  gap: 10px 12px;
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}

.section.hero.v25 .badge-secondary.link-white {
  padding: 12px 18px 10px;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .bg-content-absolute.top.terms-and-conditions {
    height: 68%;
    min-height: 560px;
  }

  .section.hero.v25 .badge-secondary.link-white {
    white-space: normal;
  }
}

/* Footer legal quick links */
.cg-footer-legal {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  align-items: center;
  justify-content: flex-end;
}

.cg-footer-legal .link.menu-link {
  color: var(--neutral--400, #9aa0a6);
  font-size: 13px;
}

.cg-footer-legal .link.menu-link:hover {
  color: #fff;
}

.footer-bottom {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  align-items: center;
  justify-content: space-between;
}

/* About hero: keep title + CTAs start-aligned on phone/tablet (not centered) */
@media screen and (max-width: 991px) {
  .section.hero.v5 .text-center---tablet {
    text-align: start;
  }

  .section.hero.v5 .buttons-row.center---tablet {
    justify-content: flex-start;
  }

  .section.hero.v5 .inner-container._500px---tablet.center,
  .section.hero.v5 .inner-container._450px---tablet.center {
    margin-left: 0;
    margin-right: 0;
    margin-inline: 0;
  }
}

/* === Lighthouse a11y + perf helpers (2026-10-25) === */

/* Contrast: body text was #666e82 on light gray (~fail AA). Darken. */
body {
  color: #343b4b !important; /* neutral-700 */
}
.color-neutral-600,
.paragraph,
.paragraph-large,
.header-nav-link,
.header-nav-link.w--current,
.menu-link,
.footer-container .link {
  color: #343b4b !important;
}
.header-nav-link:hover,
.header-nav-link.w--current:hover,
.menu-link:hover {
  color: #e7061d !important;
}
/* Keep muted only where background is dark */
.footer-container.footer-v1 .color-neutral-600,
.cta---section .color-neutral-600,
.section-dark .color-neutral-600,
.preloader {
  color: inherit;
}
.footer-container.footer-v1 .menu-link,
.footer-container.footer-v1 .link.menu-link {
  color: #d5dff0 !important;
}
.footer-container.footer-v1 .menu-link:hover,
.footer-container.footer-v1 .link.menu-link:hover {
  color: #ffffff !important;
}

/* Prefer composited transforms for IX/preloader dots */
.preloader-dot,
.preloader-dot-wrapper {
  will-change: transform, opacity;
  transform: translateZ(0);
}

/* Intrinsic size for content imgs only — never absolute/cover backgrounds */
img[width][height]:not(.fit-cover):not(._w-h-100):not([src*="badge"]) {
  height: auto;
  max-width: 100%;
}
.bg-content-absolute.bottom.hero-v1-bg-content > img.fit-cover,
.bg-content-absolute.hero-v1-bg-content > img.fit-cover,
.bg-content-absolute.bottom > img.fit-cover._w-h-100 {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}

.cg-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 1000000;
  padding: 12px 16px;
  background: #0e1628;
  color: #fff !important;
  font-weight: 600;
  text-decoration: none;
  border-radius: 0 0 8px 0;
}
.cg-skip-link:focus {
  left: 0;
}


/* Raw store badge imgs (not wrapped in .cg-store-badge) — LH height:auto blew up 646px PNG */
img[src*="google-play-badge"]:not(.cg-store-badge img),
img[src*="app-store-badge"]:not(.cg-store-badge img) {
  width: auto !important;
  height: 56px !important;
  max-height: 56px !important;
  max-width: 190px !important;
  object-fit: contain !important;
}


/* Reinforce store badge CSS so LH height:auto cannot enlarge the 646px Play PNG */
.cg-store-badge img {
  height: 34px !important;
  width: auto !important;
  max-width: 118px !important;
  object-fit: contain !important;
}
.cg-store-badge--play img {
  height: 48px !important;
  max-width: 136px !important;
}
.section.hero .cg-store-badge img,
.cta---section .cg-store-badge img,
.footer-buttons .cg-store-badge img {
  height: 56px !important;
  max-width: 190px !important;
}
.section.hero .cg-store-badge--play img,
.cta---section .cg-store-badge--play img,
.footer-buttons .cg-store-badge--play img {
  height: 80px !important;
  max-width: 220px !important;
}

/* === Reload flash kill (2026-10-25) === */
.preloader,
html.cg-no-flash .preloader,
html.cg-nav-instant .preloader,
html.cg-preloader-done .preloader,
.preloader.cg-preloader-force-hide {
  animation: none !important;
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  overflow: hidden !important;
  z-index: -1 !important;
}

.header-wrapper,
.header-content-wrapper,
.header-logo-link,
.header-logo,
.header-right-side {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  -webkit-transform: none !important;
}

/* Above-the-fold IX: no opacity/transform pop on load */
[data-w-id]:not(.acordion-body):not(.w-dropdown-list):not(.preloader):not(.preloader-dot-wrapper):not(.preloader-dot),
[style*="opacity:0"]:not(.acordion-body):not(.w-dropdown-list):not(.preloader):not(.preloader-dot-wrapper):not(.preloader-dot),
[style*="opacity: 0"]:not(.acordion-body):not(.w-dropdown-list):not(.preloader):not(.preloader-dot-wrapper):not(.preloader-dot) {
  opacity: 1 !important;
  transform: none !important;
  -webkit-transform: none !important;
}

html:not(.cg-dark-hero),
body:not(.cg-dark-hero) {
  background-color: var(--neutral--200, #ecf0f7);
}
html.cg-dark-hero,
html.cg-dark-hero body {
  background-color: var(--neutral--200, #ecf0f7) !important;
}

@view-transition {
  navigation: none;
}

/* === Reload flash2: logo box + lang slot (2026-10-25) === */
.header-logo-link {
  flex: 0 0 auto !important;
  width: 108px !important;
  max-width: 108px !important;
  min-width: 108px !important;
}
.header-logo {
  display: block !important;
  width: 108px !important;
  height: 34px !important;
  max-width: 108px !important;
  max-height: 34px !important;
  object-fit: contain !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.cg-lang-switch--header {
  display: inline-flex !important;
  align-items: center;
  min-width: 78px;
  min-height: 34px;
  flex: 0 0 auto;
}

/* === Text snap kill (2026-10-25) === */
/* Webflow IX + transition:all = ms text hack on reload — freeze first paint */
.section.hero .display-1,
.section.hero h1,
.section.hero h2,
.section.hero p,
.section.hero .paragraph,
.section.hero [data-w-id],
.section.hero .inner-container,
.section.hero .flex-horizontal,
.section.hero .btn-primary,
.section.hero .btn-secondary,
.header-wrapper,
.header-wrapper *,
.header-nav-link,
.cg-lang-switch,
.cg-lang-switch * {
  transition: none !important;
  animation: none !important;
  -webkit-transition: none !important;
  -webkit-animation: none !important;
}

.section.hero .display-1,
.section.hero h1,
.section.hero p,
.section.hero [data-w-id] {
  opacity: 1 !important;
  transform: none !important;
  -webkit-transform: none !important;
  visibility: visible !important;
}

/* === Vercel UI parity: dark bands + header (2026-10-25) === */

/* Stacking: never let absolute dark bands slip behind body */
.page-wrapper,
.section,
.section.hero,
.section.layout-v1-section,
.section.overflow-hidden {
  position: relative;
}
.section:has(> .bg-content-absolute),
.section:has(> .w-layout-blockcontainer > .bg-content-absolute) {
  isolation: isolate;
  z-index: 0;
}

.bg-content-absolute {
  background-color: #080808 !important;
  z-index: 0 !important;
  pointer-events: none;
}
/* Light/transparent exceptions from Webflow */
.bg-content-absolute.top.coming-soon,
.bg-content-absolute.not-found-bg-content,
.bg-content-absolute.bottom.circle-logos-bg-content,
.bg-content-absolute.bottom.hero-v1-bg-content,
.bg-content-absolute.right.hero-v2-image,
.bg-content-absolute.right.home-bg-content,
.bg-content-absolute.about-bg-image-content,
.bg-content-absolute.about-bg-gradient,
.bg-content-absolute.hero-v1-bg-content,
.bg-content-absolute.left,
.bg-content-absolute.top.bg-gradient-home-v1 {
  background-color: transparent !important;
}

.section > .container-default,
.section > .w-layout-blockcontainer {
  position: relative;
  z-index: 1;
}

/* Dark-first pages: white wordmark + white nav (match Vercel contact/terms) */
html.cg-dark-hero .header-wrapper.header-top-transparent .header-nav-link,
html.cg-dark-hero .header-wrapper.header-top-transparent .header-nav-list-item a {
  color: #fff !important;
}
html.cg-dark-hero .header-wrapper.header-top-transparent .btn-secondary.small {
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.45) !important;
  background: transparent !important;
}


/* Ensure hero titles on dark bands stay white */
.bg-content-absolute ~ .container-default .color-neutral-100,
.bg-content-absolute ~ .w-layout-blockcontainer .color-neutral-100,
.section .display-1.color-neutral-100,
.section .display-2.color-neutral-100 {
  color: #fff !important;
}
.bg-content-absolute ~ .container-default .color-neutral-400,
.bg-content-absolute ~ .w-layout-blockcontainer .color-neutral-400 {
  color: #c4c9d4 !important;
}

#customer-benefits .display-2,
#customer-benefits h2.display-2 {
  color: #fff !important;
}
#customer-benefits .color-neutral-400 {
  color: #c4c9d4 !important;
}

/* === Header + lang polish (match Vercel) 2026-10-25 === */

/* One baseline for the whole header row */
.header-content-wrapper,
.header-right-side,
.header-right-side .flex-horizontal,
.header-left-side,
.header-nav-menu-list {
  align-items: center !important;
}

.header-logo-link,
.header-logo {
  display: flex !important;
  align-items: center !important;
}

.header-nav-link {
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1 !important;
}

/* CTA buttons: icon + label on one line */
.header-wrapper .btn-primary.small,
.header-wrapper .btn-secondary.small,
.header-right-side .btn-primary.small,
.header-right-side .btn-secondary.small {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  line-height: 1 !important;
  height: 40px !important;
  min-height: 40px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.header-wrapper .cg-btn-icon,
.header-right-side .cg-btn-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  flex: 0 0 16px !important;
  line-height: 0 !important;
  position: relative !important;
  top: 0 !important;
}

.header-wrapper .cg-btn-icon svg,
.header-right-side .cg-btn-icon svg {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
}

/* Language switch: always flex-centered */
.cg-lang-switch__trigger {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 0 10px 0 8px !important;
  line-height: 1 !important;
  box-sizing: border-box !important;
}

.cg-lang-flag {
  width: 18px !important;
  height: 13px !important;
  margin: 0 !important;
  flex: 0 0 18px !important;
  align-self: center !important;
}

.cg-lang-flag img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.cg-lang-switch__code {
  display: block !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  top: 0.5px; /* optical */
}

.cg-lang-switch__chevron {
  width: 10px !important;
  height: 10px !important;
  margin: 0 !important;
  flex: 0 0 10px !important;
  display: block !important;
  opacity: 0.7 !important;
}

/* Dark hero: glass pill like Vercel — NOT solid white */
html.cg-dark-hero .header-wrapper.header-top-transparent .cg-lang-switch__trigger,
html.cg-dark-hero .header-wrapper.header-top-transparent .cg-lang-switch--header .cg-lang-switch__trigger {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

html.cg-dark-hero .header-wrapper.header-top-transparent .cg-lang-switch__trigger:hover,
html.cg-dark-hero .header-wrapper.header-top-transparent .cg-lang-switch.is-open .cg-lang-switch__trigger {
  background: rgba(255, 255, 255, 0.14) !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
}

html.cg-dark-hero .header-wrapper.header-top-transparent .cg-lang-switch__code,
html.cg-dark-hero .header-wrapper.header-top-transparent .cg-lang-switch__chevron {
  color: #fff !important;
}

html.cg-dark-hero .header-wrapper.header-top-transparent .cg-lang-flag {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.25) !important;
}

/* Light pages: keep soft white pill */
html:not(.cg-dark-hero) .cg-lang-switch__trigger {
  color: #12141a !important;
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(18, 20, 26, 0.12) !important;
}

html:not(.cg-dark-hero) .cg-lang-switch__code {
  color: #12141a !important;
}

/* Match CTA height to lang switch row */
.header-right-side .flex-horizontal {
  gap: 10px !important;
  align-items: center !important;
}

.header-right-side .cg-lang-switch--header {
  display: inline-flex !important;
  align-items: center !important;
  height: 40px !important;
}

/* === Contact nav parity 2026-10-25 === */

/* Dark pages: nav links always white â€” never secondary maroon / neutral-800 current */
html.cg-dark-hero .header-wrapper .header-nav-link,
html.cg-dark-hero .header-wrapper .header-nav-link.w--current,
html.cg-dark-hero .header-wrapper .header-nav-link.w--current:focus,
html.cg-dark-hero .header-wrapper .header-nav-link.dark-mode,
html.cg-dark-hero .header-wrapper .header-nav-link.dark-mode.light-mode---tablet,
html.cg-dark-hero .header-wrapper .header-nav-link.dark-mode.light-mode---tablet.w--current {
  color: #fff !important;
  opacity: 1 !important;
}

html.cg-dark-hero .header-wrapper .header-nav-link:hover,
html.cg-dark-hero .header-wrapper .header-nav-link.w--current:hover,
html.cg-dark-hero .header-wrapper .header-nav-link.dark-mode:hover {
  color: rgba(255, 255, 255, 0.82) !important;
}

/* Ghost vendor CTA on dark: match shared (white border), not contact-only .white drift */
html.cg-dark-hero .header-right-side .btn-secondary.small {
  color: #fff !important;
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.55) !important;
}

/* Lang: glass on dark even if contact-only :has(.dark-mode) paths differ */
html.cg-dark-hero .cg-lang-switch__trigger {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

html.cg-dark-hero .cg-lang-switch__code,
html.cg-dark-hero .cg-lang-switch__chevron {
  color: #fff !important;
}

/* === Form result modal 2026-10-25 === */
.cg-form-modal{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:24px}
.cg-form-modal[hidden]{display:none!important}
.cg-form-modal__backdrop{position:absolute;inset:0;background:rgba(10,12,18,.55);backdrop-filter:blur(2px)}
.cg-form-modal__card{position:relative;z-index:1;width:min(420px,100%);background:#fff;color:#12141a;border-radius:16px;padding:28px 24px 22px;box-shadow:0 24px 60px rgba(0,0,0,.28);text-align:center}
.cg-form-modal__card.is-ok{border-top:4px solid #16a34a}
.cg-form-modal__card.is-fail{border-top:4px solid #dc2626}
.cg-form-modal__title{margin:0 0 8px;font-size:1.25rem;font-weight:700;line-height:1.3}
.cg-form-modal__body{margin:0 0 20px;font-size:.95rem;line-height:1.5;color:#3a4050}
.cg-form-modal__ok{min-width:120px}
.cg-optional{font-weight:400;opacity:.65;font-size:.9em}
.cg-app-wizard__notice{display:none!important}

/* === Light-page header contrast 2026-10-25 === */
html:not(.cg-dark-hero) .header-wrapper .header-nav-link,
html:not(.cg-dark-hero) .header-wrapper .header-nav-link.w--current {
  color: #12141a !important;
}
html:not(.cg-dark-hero) .header-wrapper .header-nav-link:hover {
  color: #e7061d !important;
}
html:not(.cg-dark-hero) .header-right-side .btn-secondary.small,
html:not(.cg-dark-hero) .header-wrapper .btn-secondary.small {
  color: #12141a !important;
  border-color: rgba(18, 20, 26, 0.22) !important;
  background: #fff !important;
}
html:not(.cg-dark-hero) .header-right-side .btn-secondary.small:hover,
html:not(.cg-dark-hero) .header-wrapper .btn-secondary.small:hover {
  background: #f3f5f9 !important;
}

/* === Dark-hero assets restore 2026-10-25 === */

/*
 * Ghost secondary:
 * - Dark heroes (contact, etc.): white outline text
 * - Light heroes (about): dark outline text — do NOT force white globally
 * Header .btn-secondary.small keeps its own rules above.
 */
html.cg-dark-hero .section.hero .btn-secondary,
html.cg-dark-hero .section.hero .btn-secondary.white,
html.cg-dark-hero .section.hero .btn-secondary.w-button,
html.cg-dark-hero .header-wrapper .btn-secondary.white,
html.cg-dark-hero .bg-content-absolute ~ .buttons-row .btn-secondary.white {
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.7) !important;
  background: transparent !important;
}

/* Light page / light sections: readable secondary outline */
html:not(.cg-dark-hero) .section.hero .btn-secondary:not(.small),
html:not(.cg-dark-hero) .section.hero .btn-secondary.w-button:not(.small),
.btn-secondary.white,
.section .btn-secondary.white,
.buttons-row .btn-secondary.white,
html.cg-dark-hero .section:not(.hero) .btn-secondary,
html.cg-dark-hero .section:not(.hero) .btn-secondary.white,
html.cg-dark-hero .section:not(.hero) .btn-secondary.w-button {
  color: #12141a !important;
  border-color: rgba(18, 20, 26, 0.28) !important;
  background: transparent !important;
}

html:not(.cg-dark-hero) .section.hero .btn-secondary:not(.small):hover,
html:not(.cg-dark-hero) .section.hero .btn-secondary.w-button:not(.small):hover,
.btn-secondary.white:hover,
.section .btn-secondary.white:hover,
.buttons-row .btn-secondary.white:hover,
html.cg-dark-hero .section:not(.hero) .btn-secondary:hover,
html.cg-dark-hero .section:not(.hero) .btn-secondary.white:hover {
  color: #12141a !important;
  border-color: rgba(18, 20, 26, 0.45) !important;
  background: rgba(18, 20, 26, 0.04) !important;
}

/* Re-assert dark-hero / dark-header white after the light defaults */
html.cg-dark-hero .section.hero .btn-secondary,
html.cg-dark-hero .section.hero .btn-secondary.white,
html.cg-dark-hero .section.hero .btn-secondary:hover,
html.cg-dark-hero .section.hero .btn-secondary.white:hover,
html.cg-dark-hero .header-wrapper .btn-secondary.white,
html.cg-dark-hero .header-wrapper .btn-secondary.white:hover {
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.7) !important;
  background: transparent !important;
}


/* Footer logo on black: force white wordmark */
.footer-container img.header-logo,
.footer-container .header-logo,
.footer-v1 img[src*="navbar-logo"],
.footer-container img[src*="shared-navbar-logo"] {
  filter: none !important;
}
html.cg-dark-hero .footer-container img[src*="logo-light"],
.footer-container.footer-v1 img[src*="logo-light"] {
  /* if light (black) asset slipped in, invert to white */
}
.footer-container.footer-v1 .header-logo,
.footer-container .logo-footer,
.footer-wrapper img[alt*="Cedar"] {
  opacity: 1 !important;
}

/* Prefer swapping via correct src; CSS fallback for black mark on black footer */
.footer-container.footer-v1 a img[src*="shared-navbar-logo-light"] {
  filter: brightness(0) invert(1) !important;
}

/* === Accordion left titles on dark 2026-10-25 === */
.inner-section.accordion-section,
.accordion-section {
  position: relative;
}
.inner-section.accordion-section > .bg-content-absolute,
.accordion-section > .bg-content-absolute,
.inner-section.accordion-section .bg-content-absolute.accordion-bg-content-v1 {
  z-index: 0 !important;
}
.inner-section.accordion-section > .container-default,
.inner-section.accordion-section > .w-layout-blockcontainer,
.accordion-section .container-default,
.accordion-section .w-layout-blockcontainer {
  position: relative !important;
  z-index: 2 !important;
}

/* Left column copy on black accordion bands */
.accordion-section .color-neutral-100,
.accordion-section h2.display-2.color-neutral-100,
.accordion-section .display-2.color-neutral-100,
.accordion-grid-2-col .color-neutral-100 {
  color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.accordion-section .color-neutral-400,
.accordion-grid-2-col .color-neutral-400 {
  color: #c4c9d4 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* features-card phone mockup: no black/grey plate on white card */
.card.features-card._01 {
  overflow: hidden;
  padding-right: 40px !important;
}
.card.features-card._01 .card-picture {
  background: transparent !important;
  overflow: hidden;
  border-radius: 0;
  max-width: 100%;
}
.card.features-card._01 .card-picture .card-image {
  background: transparent !important;
  object-fit: contain;
  object-position: top right;
  width: 100%;
  height: auto;
  display: block;
  max-width: 100%;
}
@media (max-width: 991px) {
  .card.features-card._01 {
    padding-right: 28px !important;
    padding-left: 28px !important;
  }
}

/* cg red feature icons */
.cg-icon-packaging {
  width: 72px !important;
  height: 40px !important;
  object-fit: contain !important;
  display: inline-block;
}
.card.features-card._01 .card-image.icon-size._70px,
.card.features-card._01 img.icon-size._70px {
  width: auto !important;
  height: 70px !important;
  max-width: 140px;
  object-fit: contain !important;
}


/* Contact hero: phone + email compact side-by-side on mobile */
@media screen and (max-width: 767px) {
  .section.hero .contact-grid-2-col._01 > .inner-container._414px {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 12px;
    row-gap: 16px;
    align-items: start;
  }

  .section.hero .contact-grid-2-col._01 > .inner-container._414px > .inner-container {
    grid-column: 1 / -1;
  }

  .section.hero .contact-grid-2-col._01 > .inner-container._414px > .mg-bottom-24px,
  .section.hero .contact-grid-2-col._01 > .inner-container._414px > .mg-bottom-0 {
    margin-bottom: 0 !important;
  }

  .section.hero .contact-grid-2-col._01 .link.white.w-inline-block {
    display: block;
    width: 100%;
  }

  /* Keep icon beside text (Webflow stacks _04 to 1fr under 480px) */
  .section.hero .features-grid-2-col._04 {
    grid-template-columns: 32px minmax(0, 1fr) !important;
    grid-column-gap: 8px !important;
    grid-row-gap: 0 !important;
    align-items: center;
  }

  .section.hero .features-grid-2-col._04 .card-image,
  .section.hero .features-grid-2-col._04 img.icon-size,
  .section.hero .features-grid-2-col._04 img.icon-size._44px,
  .section.hero .features-grid-2-col._04 img.icon-size._50px {
    width: 32px !important;
    max-width: 32px !important;
    min-width: 32px !important;
    height: auto !important;
    max-height: 32px !important;
    object-fit: contain !important;
  }

  .section.hero .features-grid-2-col._04 .mg-bottom-8px {
    margin-bottom: 2px !important;
  }

  .section.hero .features-grid-2-col._04 .text-200 {
    font-size: 11px;
    line-height: 1.2;
  }

  .section.hero .features-grid-2-col._04 .text-wrap-anywhere {
    font-size: 12px;
    line-height: 1.25;
    word-break: break-word;
  }
}

/* Mobile: keep icon grids from blowing card-image to full width */
@media screen and (max-width: 479px) {
  .features-grid-2-col._02 .card-image.icon-size,
  .features-grid-2-col._04 .card-image.icon-size,
  .features-grid-2-col._06 .card-image.icon-size,
  .features-grid-2-col._02 img.icon-size,
  .features-grid-2-col._04 img.icon-size,
  .features-grid-2-col._06 img.icon-size {
    width: 40px !important;
    max-width: 40px !important;
    min-width: 40px !important;
    height: auto !important;
    max-height: 40px !important;
    object-fit: contain !important;
  }
}

/* Footer Vendor/Driver cards: side-by-side + compact icons on mobile */
@media screen and (max-width: 767px) {
  .footer-cards-wrapper .w-layout-grid.grid-2-columns.footer-cards {
    grid-template-columns: 1fr 1fr !important;
    grid-column-gap: 12px !important;
    grid-row-gap: 12px !important;
    align-items: stretch;
  }

  .card.footer-ads-card {
    padding: 18px 14px !important;
  }

  .card.footer-ads-card .features-grid-2-col._02 {
    grid-template-columns: 1fr !important;
    grid-row-gap: 10px !important;
    justify-items: start;
  }

  .card.footer-ads-card .card-image.icon-size,
  .card.footer-ads-card img.icon-size,
  .card.footer-ads-card img.icon-size._50px {
    width: 40px !important;
    max-width: 40px !important;
    min-width: 40px !important;
    height: auto !important;
    max-height: 40px !important;
    object-fit: contain !important;
  }

  .card.footer-ads-card .card-title.display-4 {
    font-size: 15px !important;
    line-height: 1.25 !important;
    margin-bottom: 4px !important;
  }

  .card.footer-ads-card p.color-neutral-600 {
    font-size: 12px;
    line-height: 1.35;
  }

  .card.footer-ads-card .floating-card-arrow {
    top: 12px !important;
    right: 12px !important;
  }

  /* Contact support cards (Reach Cedar GO directly) */
  .card.contact-link.pd-56px---42px {
    padding: 28px 22px !important;
  }

  .card.contact-link .card-image.icon-size,
  .card.contact-link img.icon-size,
  .card.contact-link img.icon-size._48px,
  .card.contact-link img.icon-size._56px {
    width: 40px !important;
    max-width: 40px !important;
    min-width: 40px !important;
    height: auto !important;
    max-height: 40px !important;
    object-fit: contain !important;
  }

  .card.contact-link .mg-bottom-24px {
    margin-bottom: 12px !important;
  }
}

/* Footer nav: Legal beside Customers & Support (then Partners) */
.footer-middle .grid-3-columns.menu-grid-3-col > :nth-child(1) {
  order: 1;
}
.footer-middle .grid-3-columns.menu-grid-3-col > :nth-child(3) {
  order: 2;
}
.footer-middle .grid-3-columns.menu-grid-3-col > :nth-child(2) {
  order: 3;
}

@media screen and (max-width: 991px) {
  .footer-middle .grid-3-columns.menu-grid-3-col {
    grid-template-columns: 1fr 1fr !important;
    grid-column-gap: 24px !important;
    grid-row-gap: 40px !important;
  }

  /*
   * Webflow pins Customers to grid-area 1/1/2/3 (full top row) and
   * Partners|Legal to row 2. Force: Customers | Legal on row 1, Partners below.
   */
  .footer-middle .menu-grid-3-col > :nth-child(1),
  .footer-middle .menu-grid-3-col > .inner-container._662px,
  #w-node-d8f75be7-cc92-f571-fa56-7f8a8826b90f-91dd5701,
  #w-node-_4664287c-a9f8-657a-ad73-f602b9e12e1b-b4043bae,
  #w-node-_480386f7-dcd1-5d99-0e68-d7627572240d-11318f22 {
    grid-area: 1 / 1 / 2 / 2 !important;
    max-width: none !important;
    width: auto !important;
  }

  .footer-middle .menu-grid-3-col > :nth-child(3),
  #w-node-d8f75be7-cc92-f571-fa56-7f8a8826b96e-91dd5701,
  #w-node-_4664287c-a9f8-657a-ad73-f602b9e12e7a-b4043bae,
  #w-node-_480386f7-dcd1-5d99-0e68-d7627572246c-11318f22 {
    grid-area: 1 / 2 / 2 / 3 !important;
  }

  .footer-middle .menu-grid-3-col > :nth-child(2),
  #w-node-d8f75be7-cc92-f571-fa56-7f8a8826b957-91dd5701,
  #w-node-_4664287c-a9f8-657a-ad73-f602b9e12e63-b4043bae,
  #w-node-_480386f7-dcd1-5d99-0e68-d76275722455-11318f22 {
    grid-area: 2 / 1 / 3 / 3 !important;
  }
}

@media screen and (max-width: 479px) {
  .footer-middle .grid-3-columns.menu-grid-3-col {
    grid-template-columns: 1fr 1fr !important;
    grid-row-gap: 32px !important;
  }
}

/* Footer GXN Group attribution (right side) */
.footer-bottom .cg-footer-gxn {
  justify-content: flex-end;
  text-align: right;
}
.footer-bottom .cg-footer-gxn .link.menu-link {
  color: #c4c9d4 !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.footer-bottom .cg-footer-gxn .link.menu-link:hover {
  color: #fff !important;
}
@media screen and (max-width: 767px) {
  .footer-bottom {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 10px;
  }
  .footer-bottom .cg-footer-gxn {
    text-align: left;
    justify-content: flex-start;
  }
  [dir="rtl"] .footer-bottom .cg-footer-gxn {
    text-align: right;
    justify-content: flex-end;
  }
}

/* === Pricing coming-soon blocker === */
html.cg-pricing-soon .cg-pricing-draft { display: none !important; }
html.cg-pricing-internal .cg-pricing-soon-hero { display: none !important; }
html.cg-pricing-internal .cg-pricing-draft { display: block !important; }

.cg-pricing-soon-hero {
  min-height: calc(100vh - 80px);
  display: flex;
  align-items: center;
  padding-top: 120px !important;
  padding-bottom: 80px !important;
}
.cg-pricing-blocker {
  position: relative;
  max-width: 920px;
  margin: 0 auto;
  padding: 28px 20px 40px;
}
.cg-pricing-blocker__ghost {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  filter: blur(2.5px);
  opacity: 0.28;
  pointer-events: none;
  margin-bottom: -180px;
  transform: translateY(12px) scale(0.98);
}
.cg-pricing-blocker__ghost-card {
  height: 220px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,0.14), rgba(255,255,255,0.04));
  border: 1px solid rgba(255,255,255,0.12);
}
.cg-pricing-blocker__ghost-card--mid {
  transform: translateY(-18px);
  background: linear-gradient(180deg, rgba(231,6,29,0.22), rgba(255,255,255,0.05));
  border-color: rgba(231,6,29,0.35);
}
.cg-pricing-blocker__panel {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 36px 28px 40px;
  border-radius: 22px;
  background: rgba(8, 8, 8, 0.72);
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 24px 80px rgba(0,0,0,0.45);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.cg-pricing-blocker__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 18px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(231, 6, 29, 0.14);
  border: 1px solid rgba(231, 6, 29, 0.45);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.cg-pricing-blocker__pulse {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #e7061d;
  box-shadow: 0 0 0 0 rgba(231, 6, 29, 0.7);
  animation: cg-soon-pulse 1.6s ease-out infinite;
}
@keyframes cg-soon-pulse {
  0% { box-shadow: 0 0 0 0 rgba(231, 6, 29, 0.65); }
  70% { box-shadow: 0 0 0 12px rgba(231, 6, 29, 0); }
  100% { box-shadow: 0 0 0 0 rgba(231, 6, 29, 0); }
}
.cg-pricing-blocker__title {
  margin: 0 0 14px !important;
}
.cg-pricing-blocker__copy {
  max-width: 520px;
  margin: 0 auto 28px !important;
  line-height: 1.55;
}
.cg-pricing-blocker__badges {
  display: flex;
  justify-content: center;
  margin-bottom: 22px;
}
.cg-pricing-blocker__badges .cg-store-badge img {
  height: 48px;
  max-width: 160px;
}
.cg-pricing-blocker__badges .cg-store-badge--play img {
  height: 64px;
  max-width: 180px;
  margin: -8px 0;
}
.cg-pricing-blocker__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}
@media (max-width: 767px) {
  .cg-pricing-blocker__ghost { grid-template-columns: 1fr 1fr; margin-bottom: -140px; }
  .cg-pricing-blocker__ghost-card:last-child { display: none; }
  .cg-pricing-blocker__panel { padding: 28px 18px 32px; }
  .cg-pricing-soon-hero { padding-top: 100px !important; }
}
