/* Remove any border-bottom from active nav link */
.navbar-nav .nav-link.active,
.navbar-nav .nav-link.active:focus,
.navbar-nav .nav-link.active:hover {
  border-bottom: none !important;
}

/* Force removal of any green highlight on navbar active link */
.navbar-nav .nav-link.active,
.navbar-nav .nav-link.active:focus,
.navbar-nav .nav-link.active:hover {
  color: #000 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

/* Override navbar active link color to black for light navbar */
.navbar-nav .nav-link.active,
.navbar-nav .nav-link.active:focus,
.navbar-nav .nav-link.active:hover {
  color: #000 !important;
  border-color: transparent !important;
}

/* Removed unused #article styles */

#article table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1.5rem;
  background: rgba(255, 255, 255, 0.03);
  color: #fff;
  border-radius: 0.5rem;
  overflow: hidden;
}

#article th,
#article td {
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 0.75rem;
  text-align: left;
}

#article th {
  background: rgba(255, 255, 255, 0.08);
  font-weight: 600;
}

#article img {
  max-width: 100%;
  height: auto;
  margin: 1rem 0;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(86, 15, 173, 0.18);
}

@media (max-width: 575.98px) {
  #article h1 {
    font-size: 2rem;
  }

  #article h2 {
    font-size: 1.5rem;
  }

  #article h3 {
    font-size: 1.2rem;
  }

  #article p,
  #article li {
    font-size: 1rem;
  }

  #article blockquote {
    padding: 0.75rem 1rem;
  }
}

/* System Requirements section: mobile text and icon sizing */

.bq-accordion .accordion-button {
  background: rgba(255, 255, 255, 0.05);
  box-shadow: none;
}

.bq-accordion .accordion-button:not(.collapsed) {
  color: #000;
  background: rgba(44, 255, 62, 0.098);
  box-shadow: none;
}

.bq-accordion .accordion-body,
.bq-accordion .accordion-body p,
.bq-accordion .accordion-body li {
  font-size: 0.9rem !important;
  color: #e5e5e5 !important;
}

.bq-accordion {
  background: rgba(255, 255, 255, 0.05);
}

#system-requirements .card-body .fa-apple {
  font-size: 2.2rem !important;
}

#system-requirements .card-body img[alt="iLok"] {
  height: 10px !important;
  width: auto !important;
}

#system-requirements .card-body svg[role="img"] {
  width: .9em !important;
  height: .9em !important;
}

@media (max-width: 575.98px) {
  #system-requirements .card-body .fs-5 {
    font-size: 1rem !important;
  }

  #system-requirements .card-body svg[role="img"] {
    width: 1.1em !important;
    height: 1.1em !important;
  }

  #system-requirements .card-body .fa-apple {
    font-size: 1.9rem !important;
  }

}

#system-requirements {
  scroll-margin-top: 80px;
}


@media (min-width: 992px) {
  .navbar-nav.mx-auto {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    height: 100%;
    gap: 2rem;
  }

  .navbar-cta {
    margin-left: auto !important;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s cubic-bezier(.4, 0, .2, 1);
  }

  .navbar-cta.visible {
    opacity: 1;
    pointer-events: auto;
  }
}

/* Center navbar menu items to viewport */
@media (min-width: 992px) {
  .navbar-center-menu {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    height: 100%;
    display: flex;
    align-items: center;
    z-index: 1;
  }

  .navbar .container {
    position: relative;
  }
}

/* Solid navbar when scrolled */
.navbar {
  transition: background-color .2s ease, box-shadow .2s ease, backdrop-filter .2s ease;
}

.navbar.navbar-solid {
  background-color: rgba(var(--bq-black-rgb), 0.8) !important;
  /* #151617 @ 90% */
  backdrop-filter: saturate(140%) blur(8px);
  -webkit-backdrop-filter: saturate(140%) blur(8px);
}


/* Mobile: larger navbar menu text */
@media (max-width: 991.98px) {
  .navbar-nav .nav-link {
    font-size: 1.25rem !important;
    line-height: 1.6 !important;
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
  }

  .navbar-nav .nav-link:first-child {
    margin-top: 1.2rem !important;
  }

  .navbar-nav .nav-link[aria-label="Cart"] {
    padding-bottom: 0.2rem !important;
  }
}

.navbar.sticky-top.navbar-solid {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1050;
  transition: top 0.3s cubic-bezier(.4, 0, .2, 1);
}

/* When promo banner is visible, offset navbar */
.promo-banner.visible~.navbar.sticky-top.navbar-solid {
  top: 2.2em;
}

.body-with-sticky-header>.navbar.sticky-top.navbar-solid {
  /* Offset the navbar only, not the promo banner */
  top: 2.2em;
}

#main-content.body-with-sticky-header {
  padding-top: calc(1.6em + 4.5rem);
  /* promo banner + navbar height */
  /* transition: padding-top .2s cubic-bezier(.4,0,.2,1); */
}

/* Mobile: smaller hero section buttons */
@media (max-width: 575.98px) {
  #hero .btn-lg {
    font-size: 1.1rem !important;
    padding: 0.5rem 1.25rem !important;
  }
}

/* Mobile: larger CTA h2 heading in bottom CTA section */
@media (max-width: 575.98px) {
  #cta-bottom .card .display-5 {
    font-size: 2.1rem !important;
  }

  #cta-bottom .card p {
    font-size: 1.4rem !important;
  }
}

/* Letra Chica del Trademark section */
#trademarks {
  font-size: 0.8rem !important;
}

@media (max-width: 575.98px) {
  #trademarks {
    font-size: 0.7rem !important;
  }
}


#cta-bottom .card {
  position: relative;
  overflow: visible;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

#cta-bottom .card::before,
#cta-bottom .card::after {
  content: "";
  position: absolute;
  width: 200px;
  height: 24px;
  border-radius: 10px;
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(90deg, rgba(103, 48, 214, 0.903) 60%, rgba(103, 48, 214, 0.0) 100%);
  filter: blur(16px);
}

#cta-bottom .card::before {
  top: 21px;
  left: -42px;
  transform: rotate(112deg);
  box-shadow: 0 0 24px 8px #560fad3a;
  border-radius: inherit;
}

#cta-bottom .card::after {
  bottom: 50px;
  right: -49px;
  transform: rotate(292deg);
}

#cta-bottom .card>* {
  position: relative;
  z-index: 1;
}

@media (max-width: 575.98px) {
  #cta-bottom .card .btn-success {
    font-size: 1rem !important;
    padding: 0.5rem 1.25rem !important;
  }

  #cta-bottom .card-body {
    padding: 1.5rem 0.75rem !important;
  }
}

/* Consolidated #cta-bottom .card rules */
#cta-bottom .card {
  position: relative;
  overflow: visible;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}



@media (max-width: 575.98px) {
  #cta-bottom .card .btn-success {
    font-size: 1rem !important;
    padding: 0.5rem 1.25rem !important;
  }

  #cta-bottom .card-body {
    padding: 1.5rem 0.75rem !important;
  }
}

/* Lighter gradient background for standout CTA */
.bg-gradient-light {
  background: linear-gradient(112deg, #1b1c1e, #090355 42%, #560fad 54%, #110935 68%, transparent 100%), #0f1012;

}

/* Desktop: move testimonial card content up */
#testimonials .swiper-slide .card-body {
  padding-top: 0.5rem !important;
}

@media (max-width: 576px) {
  #testimonials .swiper-pagination-bullet {
    width: 8px !important;
    height: 8px !important;
  }
}

/* Testimonial quote icon spacing and size */
#testimonials .swiper-slide .bs-icon-xl {
  margin-top: 0.5rem !important;
  margin-bottom: 1rem !important;
}

@media (max-width: 767.98px) {
  #testimonials .swiper-slide .bs-icon-xl {
    font-size: 1.5rem !important;
    width: 2.5rem !important;
    height: 2.5rem !important;
    margin-top: 0.25rem !important;
    margin-bottom: 0.75rem !important;
  }
}

@media (max-width: 767.98px) {
  #testimonials .swiper-slide .card {
    min-height: 330px;
    height: 330px;
  }
}

/* Mobile: smaller testimonial text */
@media (max-width: 767.98px) {
  #testimonials .swiper-slide .card-body {
    padding-top: 0.35rem !important;
    padding-bottom: 0.7rem !important;
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }

  #testimonials .swiper-slide .card-body p,
  #testimonials .swiper-slide .card-body p.mb-0 {
    font-size: 0.95rem !important;
  }
}

/* Swiper pagination bullets: active = solid white, inactive = white outline */
.swiper-pagination-bullet {
  width: 14px;
  height: 14px;
  background: transparent;
  border: 2px solid #fff;
  opacity: 1;
  margin: 0 6px !important;
  transition: background 0.2s, border 0.2s;
  box-shadow: none;
}

.swiper-pagination-bullet-active {
  background: #fff;
  border: 2px solid #fff;
}

:root {
  --bs-font-family-heading: 'Outfit', sans-serif;
  /* Brand palette (custom) */
  --bq-black: #151617;
  /* base background black */
  --bq-black-rgb: 21, 22, 23;
  /* rgb for #151617 */
  --bq-accent: #6730D6;
  /* accent green seen in headings dot */
  --bq-nav-bg: var(--bq-black);
}

/* Accent utilities */
.text-accent {
  color: #000 !important;
}

@media (min-width: 992px) {
  .cart-icon-desktop {
    font-size: 1.3rem !important;
  }
}

/* Mobile tweak: move the body background gradient left so the hero sits on purple */
@media (max-width: 767.98px) {
  .bg-gradient-body:before {
    background-position: top right !important;
    height: 1200px !important;
    background-size: 200% 1200px !important;
  }
}

/* Custom cart icon style for navbar */
.bs-icon-cart {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  background: rgba(200, 200, 200, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
}

.bs-icon-cart i {
  color: #000;
  font-size: 1.35rem;
  line-height: 1;
}


#downloadModal {
  /* background-color: rgba(var(--bq-black-rgb), 0.5) !important; */
  /* #151617 @ 90% */
  backdrop-filter: saturate(50%) blur(4px);
  -webkit-backdrop-filter: saturate(50%) blur(4px);
}

@media (max-width: 576px) {
  #downloadModal .download-buttons {
    flex-direction: column !important;
    gap: 0.75rem !important;
    align-items: stretch !important;
  }

  #downloadModal .fw-normal {
    font-size: 1.15rem !important;
  }

}

.promo-banner {
  /* background: linear-gradient(90deg, #000 0%, #00bfff 100%); */
  /* background-color: rgba(var(--bq-black-rgb), 1) !important; */
  /* background-color removed to allow JS to control it */
  backdrop-filter: saturate(140%) blur(8px);
  -webkit-backdrop-filter: saturate(140%) blur(8px);
  letter-spacing: 0.02em;
  display: flex;
  align-items: center;
  justify-content: center;
  position: sticky;
  top: 0;
  z-index: 1051;
  height: 0;
  min-height: 0;
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
  transition:
    opacity 1s cubic-bezier(.4, 0, .2, 1),
    height 0.3s cubic-bezier(.4, 0, .2, 1),
    min-height 0.3s cubic-bezier(.4, 0, .2, 1),
    background-color 1s cubic-bezier(.4, 0, .2, 1),
    color 1s cubic-bezier(.4, 0, .2, 1);
}

.promo-banner.visible {
  opacity: 1;
  pointer-events: auto;
  height: 2.2em;
  min-height: 2.2em;
}

#promoBannerText {
  transition: opacity 0.7s cubic-bezier(.4, 0, .2, 1);
  opacity: 1;
  /* font-weight: 500; */
  font-size: 0.8rem;
  display: inline-block;
}

.promo-banner.fade-out #promoBannerText {
  opacity: 0;
}

.promo-banner.fade-in #promoBannerText {
  opacity: 1;
}

/* Removed unused downloads-accent-effect styles */

@media (max-width: 576px) {
  .breadcrumb {
    font-size: .85rem;
  }
}