:root {
    --bs-body-bg: #0b0f19;
    /* Deep space dark */
    --bs-body-color: #f8f9fa;
    --brand-success: #3adb76;
    --brand-blue: #2196f3;
}

body {
    font-family: 'Sora', sans-serif;
    overflow-x: hidden;
}

section {
    position: relative;
    padding-top: 1.8rem;
    padding-bottom: 1.8rem;
}

.hero-section {
    /* Calculates 100% viewport height minus an estimated navbar height */
    min-height: calc(98vh - 80px);
    overflow: hidden;
}

.product-showcase {
    min-height: calc(95vh - 80px);
    max-height: calc(95vh - 80px);
    overflow: hidden;
}

/* Lock the image container height based on available screen space */
  .carousel-img-container {
    height: 60vh; /* Safely leaves the remaining 40vh for text padding and controls */
    display: flex;
    justify-content: center;
    align-items: center;
  }

  /* Force the dashboard images to scale fluidly down inside that 60vh limit */
  .carousel-scaled-img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }

  #productCarousel .carousel-inner {
    padding-bottom: 3rem;
  }

  #productCarousel .carousel-item {
    padding-bottom: 0.75rem;
  }

  #productCarousel .carousel-item .mt-3 {
    padding-bottom: 0.5rem;
    margin-bottom: 0.25rem;
  }

  #productCarousel .carousel-indicators {
    bottom: 0.35rem;
    z-index: 4;
    margin-bottom: 0;
  }

  #productCarousel .carousel-control-prev,
  #productCarousel .carousel-control-next {
    z-index: 5;
  }

/* The Logo & Text Gradients */
.text-success {
    color: var(--brand-success) !important;
}

.feature-icon-main {
    background: linear-gradient(135deg, var(--brand-success) 0%, var(--brand-blue) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 0 15px rgba(58, 219, 118, 0.3));
}

/* Pricing Card Customization */
.plans-cards {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.3s ease;
}

.plans-cards:hover {
    border-color: var(--brand-success);
    transform: translateY(-10px);
    background: rgba(255, 255, 255, 0.05);
}

.browser-container {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 50px 100px rgba(0, 0, 0, 0.3);
    background: #1a1a2e;
    /* Match your dashboard's dark theme */
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding-right: 0;
    padding-left: 0;
    padding: 0;
}

.browser-header {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    padding: 12px 15px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.traffic-lights {
    display: flex;
    gap: 8px;
    margin-right: 20px;
}

.traffic-lights span {
    width: 12px;
    height: 12px;
    border-radius: 50%;
}

.red {
    background: #ff5f56;
}

.yellow {
    background: #ffbd2e;
}

.green {
    background: #27c93f;
}

.address-bar {
    background: rgba(0, 0, 0, 0.2);
    color: rgba(255, 255, 255, 0.5);
    font-size: 18px;
    padding: 4px 20px;
    border-radius: 6px;
    flex-grow: 1;
    max-width: 400px;
    text-align: center;
    margin: 0 auto;
}

.dashboard-image {
    width: 100%;
    display: block;
}