/* Dark theme overrides and custom styles for Lattice landing page */
@import url("https://fonts.googleapis.com/css2?family=Raleway:wght@400;600;700;900&display=swap");

@keyframes gradientShift {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

/* Font override: Raleway instead of Nunito */
body {
  font-family: "Raleway", sans-serif;
  background-color: #1a1a1a;
  color: #f0f0f0;
}

/* Section backgrounds */
.section {
  background-color: #1a1a1a;
}

.bg-light {
  background-color: #2a2a2a !important;
}

/* Text color overrides */
.text-muted {
  color: #999999 !important;
}

.text-dark {
  color: #f0f0f0 !important;
}

h3, h5 {
  color: #f0f0f0;
}

/* Accent gradient override */
.home-bg {
  background: linear-gradient(135deg, #5a6fb5, #6a4290);
  padding-top: 100px;
}

.bg-gradient {
  background: linear-gradient(135deg, #5a6fb5, #6a4290) !important;
}

.btn-gradient {
  background: linear-gradient(135deg, #5a6fb5, #6a4290);
}
.btn-gradient:hover,
.btn-gradient:active,
.btn-gradient:focus {
  background: linear-gradient(135deg, #6a4290, #5a6fb5);
}

.back_top {
  background: linear-gradient(135deg, #5a6fb5, #6a4290);
}

/* SVG curve fill: match surrounding section bg */
.curv-img path {
  fill: #1a1a1a;
}
.curv-img {
  pointer-events: none;
}

/* Navbar */
.navbar .logo svg {
  height: 40px;
  margin-top: -5px;
}

.navbar .logo .logo-light {
  fill: #fff;
  color: #fff;
}

.navbar .logo .logo-dark {
  fill: #f0f0f0;
  color: #f0f0f0;
}

.custom-nav.stickyadd {
  background-color: #1a1a1a;
  box-shadow: 0px 0px 18px 1px rgba(0, 0, 0, 0.4);
}

.custom-nav.stickyadd .navbar-nav li a {
  color: #f0f0f0;
}

.custom-nav.stickyadd .logo .logo-dark {
  fill: #f0f0f0;
  color: #f0f0f0;
}

.custom-nav.stickyadd .sign_btn {
  background-color: rgba(90, 111, 181, 0.2);
  color: #8899cc;
}

.custom-nav.stickyadd .log_btn {
  color: #f0f0f0;
}

/* Card/box backgrounds */
.about_boxes {
  background-color: #2a2a2a;
  border: 1px solid #3a3a3a;
}

.about_boxes .about_icon i {
  background: linear-gradient(135deg, #5a6fb5, #6a4290);
  box-shadow: 10px -10px 0 0 rgba(106, 66, 144, 0.25);
}

.about_icon {
  color: #eee;
}

/* Form inputs: dark bg with light text */
.subcribe-newslatter form input {
  background-color: #2a2a2a;
  border: 1px solid #3a3a3a;
  color: #f0f0f0 !important;
}
.subcribe-newslatter form input::placeholder {
  color: #999999;
}

/* Footer */
.footer {
  background-color: #1a1a1a;
  border-top: solid 1px #3a3a3a;
}

.footer_detail a:link, .footer_detail a:visited {
  color: rgba(255, 255, 255, 0.35);
  text-decoration: underline !important;
}

/* Product name */
.product-name {
    font-size: 1.25em;
    letter-spacing: .02em;
}

/* Gradient on specific letters */
.product-name .animated-gradient {
    background: linear-gradient(90deg, #00796B, #80CBC4, #F48FB1, #FF5252);
    background-size: 300%;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    animation: gradientShift 5s ease-in-out infinite;
}

.create-gradient-button {
    background: linear-gradient(90deg, #6D4C91, #B388EB, #7D6599, #D1C4E9);
    background-size: 300%;
    animation: gradientShift 5s ease-in-out infinite;
    border: none;
    color: white;
    font-weight: bold;
    font-size: 14px;
    padding: 10px 20px;
    border-radius: 20px;
    cursor: pointer;
    transition: background-color 0.3s ease, background 0.3s ease;
}

.create-gradient-button:hover {
    background-position: 100% 50%;
    color: white;
    text-decoration: none;
}

/* iphone frame and video */
.phone-container {
    position: relative;
    width: 330px;
    height: 658px;
    margin: 20px auto;
}

.iphone-frame {
    width: 100%;
    height: 100%;
}

.video-overlay {
    position: absolute;
    top: 16px;
    left: 18px;
    width: 294px;
    height: 626px;
    border-radius: 32px;
    overflow: hidden;
}

video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bottom-logo {
  margin-bottom: 30px;
}

h1 {
  font-size: calc(.5rem + 1.5vw);
}

/* How It Works badges */
.badge.bg-gradient {
  background: linear-gradient(135deg, #5a6fb5, #6a4290) !important;
}

/* Feature check icons */
.bi-check-circle-fill.text-custom {
  color: #5a6fb5 !important;
}

/* Bottom CTA section */
#cta-bottom {
  background-color: #1a1a1a;
}

/* Feature list code tags */
code {
  background-color: #2a2a2a;
  color: #8899cc;
  padding: 2px 6px;
  border-radius: 3px;
}

/* Mobile overrides */
@media (max-width: 768px) {
  .custom-nav {
    margin-top: 0px;
    padding: 10px 0px !important;
    background-color: #1a1a1a !important;
  }

  .navbar .logo svg, .navbar .logo .product-name {
    fill: #f0f0f0;
    color: #f0f0f0;
  }

  .navbar.stickyadd .logo svg, .navbar.stickyadd .logo .product-name {
    fill: #f0f0f0;
    color: #f0f0f0;
  }

  .custom-nav .navbar-nav li a {
    color: #f0f0f0;
  }

  .custom-nav .sign_btn {
    background-color: rgba(90, 111, 181, 0.2);
    color: #8899cc;
  }

  .custom-nav .log_btn {
    color: #f0f0f0;
  }

  .header_title {
    font-size: 1.6em;
  }
}

/* Hamburger icon: three thin lines */
.hamburger-icon {
  display: inline-block;
  width: 22px;
  height: 16px;
  background:
    linear-gradient(rgba(255,255,255,0.7), rgba(255,255,255,0.7)) top / 100% 1.5px no-repeat,
    linear-gradient(rgba(255,255,255,0.7), rgba(255,255,255,0.7)) center / 100% 1.5px no-repeat,
    linear-gradient(rgba(255,255,255,0.7), rgba(255,255,255,0.7)) bottom / 100% 1.5px no-repeat;
}

/* Collapsed navbar: vertical link stacking */
@media (max-width: 991.98px) {
  .navbar-collapse {
    background-color: #1a1a1a;
    padding: 12px 0;
  }

  .navbar-collapse .btn {
    display: block;
    width: 100%;
    text-align: right;
    padding: 10px 16px;
    font-size: 16px;
  }

  .navbar-collapse {
    text-align: right;
  }
}
