/* Override Bootstrap primary and secondary colors */
:root {
    --bs-primary: #002644;   /* Custom primary color */
    --bs-secondary: #FFA500; /* Custom secondary color */
    --bs-tertiary: #71a9f7; /* Custom secondary color */
}

/* Set custom fonts */
:root {
    --bs-font-heading: 'Barlow Condensed', serif;
    --bs-font-body: 'Montserrat', sans-serif;      
}

/* Body */
body {
    background-color: #fff;
}

/* Apply the custom fonts to headers and paragraphs */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--bs-font-heading), serif;  
}

body, p {
    font-family: var(--bs-font-body), sans-serif;  
}

/* Default rounded button appearance */
.btn-rounded {
  border-radius: 50px;
  padding: 10px 20px;
  border: none;
}

.btn-rounded.btn-primary {
    background-color: var(--bs-primary);
    color: #fff;
}

.btn-rounded.btn-primary:hover {
    background-color: var(--bs-secondary);
    color: #000;
}

.btn-rounded.btn-secondary {
    background-color: var(--bs-secondary);
    color: #fff;
}

.btn-rounded.btn-secondary:hover {
    background-color: var(--bs-tertiary);
    color: #fff;
}

.btn-rounded.btn-outline-primary {
    color: var(--bs-primary);
}
.btn-rounded.border-primary {
    border-color: var(--bs-primary)!important;
}
.btn-rounded.btn-outline-primary:hover {
    background-color: var(--bs-primary);
    color:#fff;
}
.btn-rounded.border-primary:hover {
    border-color: #fff;
}
.feature-icon-small {
  width: 3rem;
  height: 3rem;
}

.vh-90 {
    height: 90vh!important;
}

/* YouTube Facade */
.youtube-facade {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 aspect ratio */
  height: 0;
  overflow: hidden;
  cursor: pointer;
  background: #000;
}

.youtube-facade .thumbnail {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.youtube-facade .play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: none;
  border: none;
  cursor: pointer;
  width: 68px;
  height: 48px;
  transition: transform 0.2s;
  z-index: 1;
}

.youtube-facade .play-btn:hover {
  transform: translate(-50%, -50%) scale(1.1);
}

.youtube-facade iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.pricing-section {
    background: #002644;
    padding: 80px 0;
    color: white;
}

.pricing-card {
    background: white;
    border-radius: 20px;
    padding: 2.5rem;
    margin-bottom: 2rem;
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
    height: 100%;
    color: #333;
}

.calculator-card {
    background: white;
    border-radius: 20px;
    padding: 2.5rem;
    margin-bottom: 2rem;
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
    color: #333;
}

.pricing-tier {
    background: #f8f9fa;
    border-radius: 12px;
    padding: 1rem;
    margin-bottom: 1rem;
    border-left: 4px solid #71A9F7;
}

.tier-range {
    font-weight: 600;
    color: #667eea;
    font-size: 0.9rem;
}

.sales-label {
    font-weight: 600;
    color: #FFA500;
    font-size: 0.9rem;
}

.tier-price {
    font-size: 1.5rem;
    font-weight: 700;
    color: #333;
}

.addon-card {
    background: #f5576c;
    color: white;
    border: none;
}

.addon-card .tier-range {
    color: rgba(255,255,255,0.9);
}

.addon-card .tier-price {
    color: white;
}

.section-title {
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.section-subtitle {
    font-size: 1.25rem;
    opacity: 0.9;
    margin-bottom: 3rem;
}

.price-highlight {
    background: #FFA500;
    color: white;
    padding: 0.25rem 0.5rem;
    border-radius: 6px;
    font-weight: 600;
}

.btn-custom {
    background: #71A9F7;
    border: none;
    padding: 12px 30px;
    font-weight: 600;
    color: white;
}

.btn-custom:hover {
    background: #5a6fd8;
    color: white;
}

.calculator-section {
    background: white;
    padding: 3rem 0;
}

.calculator-card {
    background: #f8f9fa;
    border-radius: 15px;
    padding: 2rem;
    border: 2px solid #e9ecef;
}

.form-control:focus {
    border-color: #71A9F7;
    box-shadow: 0 0 0 0.2rem rgba(102, 126, 234, 0.25);
}

.sales-card {
    border-left: 4px solid #FFA500;
}

.custom-input-group .form-control {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.custom-input-group .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

@media (max-width: 767.98px) {
  /* On small screens, reset so they stack cleanly */
  .custom-input-group .form-control {
    border-radius: .375rem; /* Bootstrap default */
    margin-bottom: .5rem;
  }
  .custom-input-group .btn {
    border-radius: .375rem;
  }
}

.checkmark-list {
      list-style-type: none; /* Remove default bullets */
      padding-left: 0; /* Remove padding on the left */
}

.checkmark-list li {
      position: relative;
      padding-left: 25px; /* Add some space for the checkmark */
}

.checkmark-list li::before {
      content: '\2713'; /* Unicode for checkmark */
      position: absolute;
      left: 0;
      top: 3px;
      color: #ffa500;
      font-size: 16px; 
      font-weight: bold;
}

.card {
    border-radius: 20px;
}

/* Fixed navbar styles */
.navbar {
  transition: all 0.3s ease;
  background-color: white !important;
  z-index: 9999;
}

.nav-logo {
    height: 150px;
    transition: height 0.3s ease;
}

/* Shadow appears when collapsed */
.navbar-collapsed {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* Collapsed navbar state (desktop only) */
@media (min-width: 1200px) {
  .navbar-collapsed {
    padding: 5px 0 !important;
  }
  
  .navbar-collapsed .navbar-container {
    padding: 5px 0 !important;
  }
  
  .navbar-collapsed .nav-logo {
    height: 70px !important;
  }
  
  .navbar-collapsed .nav-options {
    padding: 5px 15px;
  }
}

/* Responsive logo sizes */
@media (max-width: 1794px) and (min-width: 1200px) {
    .nav-logo {
        height: 120px;
    }
    .navbar-collapsed .nav-logo {
        height: 50px !important;
    }
}

@media (max-width: 1655px) and (min-width: 1200px) {
    .nav-logo {
        height: 90px;
    }
    .navbar-collapsed .nav-logo {
        height: 50px !important;
    }
}

@media (max-width: 1330px) {
    .nav-logo {
        height: 65px;
    }
    .navbar-collapsed .nav-logo {
        height: 50px !important;
    }
}

/* Mobile styles */

@media (max-width: 410px) {
    .nav-logo {
        height: 55px;
    }
}

/* Navbar container styling */
.navbar-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  transition: padding 0.3s ease;
}

/* White container for nav options */
.nav-options {
  background-color: white;
  border-radius: 30px;
  padding: 8px 20px;
  transition: padding 0.3s ease;
}

.nav-item {
  margin: auto 20px;
}

@media (max-width: 1530px) {
    .nav-item {
      margin: auto 10px;
    }
}

/* Hover effects for nav items */
.nav-options .nav-link:hover {
  color: #71a9f7 !important;
  transition: color 0.3s ease;
}

/* Hover effect for the button (Book a Demo) */
.nav-options .btn-primary:hover {
  background: #71a9f7 !important;
  color: #fff !important;
  transition: background 0.3s ease;
}

/* Optional: smooth transition for all nav links */
.nav-options .nav-link {
  transition: color 0.3s ease;
}

/* Full-screen menu (for mobile) */
.full-screen-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  display: none;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  z-index: 9998;
}

.full-screen-menu.show {
  display: flex;
}

.full-screen-menu .nav-link {
  color: #002644 !important;
  font-size: 24px;
  margin: 10px 0;
}

.full-screen-menu .close-btn {
  position: absolute;
  top: 20px;
  right: 20px;
  color: #002644;
  font-size: 60px;
  background: none;
  border: none;
}

/* Hover effects for nav items */
.full-screen-menu .nav-link:hover {
  color: #71a9f7 !important;
  transition: color 0.3s ease;
}

/* Hover effect for the button (Book a Demo) */
.full-screen-menu .btn-primary:hover {
  background: #71a9f7 !important;
  color: #fff !important;
  transition: background 0.3s ease;
}

body {
  padding-top: var(--nav-height, 196px); /* fallback to 70px */
}

.hero-section {
    min-height: calc(90vh - var(--nav-height, 70px));
}