:root {
      --cc-btn-primary-bg: #388da8;
      --cc-btn-primary-hover-bg: #2f7a94; /* A slightly darker shade for hover */
    }

    /* Floating Contact Button */
    #floating-contact-btn {
      position: fixed;
      bottom: 25px;
      right: 25px;
      width: 60px;
      height: 60px;
      background-color: #388da8; /* Accent color */
      color: white;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 28px;
      box-shadow: 0 4px 8px rgba(0,0,0,0.2);
      z-index: 1050;
      cursor: pointer;
      animation: buzzing 2s ease-out infinite;
    }

    #floating-contact-btn:hover {
      animation-play-state: paused;
      background-color: #2f7a94; /* Darker shade on hover */
    }

    @keyframes buzzing {
      0% { transform: scale(1); }
      15% { transform: scale(1.1) rotate(5deg); }
      30% { transform: scale(1.1) rotate(-5deg); }
      45% { transform: scale(1.1) rotate(5deg); }
      60% { transform: scale(1.1) rotate(-5deg); }
      75% { transform: scale(1); }
      100% { transform: scale(1); }
    }

    /* Contact Form Button Consistency */
    #contactModal .php-email-form button[type=submit] {
      color: var(--contrast-color);
      background: var(--accent-color);
      border: 0;
      padding: 10px 30px;
      transition: 0.4s;
      border-radius: 50px;
    }

    #contactModal .php-email-form button[type=submit]:hover {
      background: color-mix(in srgb, var(--accent-color), transparent 20%);
    }

    /* Marca de color de acento para el nombre de la marca (Leadia) */
    .brand-accent {
      color: var(--accent-color);
      font-weight: 600;
    }

/* Custom Country Prefix Dropdown */
.country-prefix-dropdown {
  position: relative;
  width: 100%;
}

.country-prefix-select {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 8px 12px;
  font-size: 14px;
  line-height: 1.5;
  color: #495057;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ced4da;
  border-radius: 4px;
  transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
  cursor: pointer;
}

.country-prefix-select:focus, .country-prefix-select.open {
  border-color: #80bdff;
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);
}

.country-prefix-select .selected-flag {
  margin-right: 8px;
}

.country-prefix-dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  width: 100%;
  max-height: 200px;
  overflow-y: auto;
  background-color: #fff;
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 4px;
  box-shadow: 0 0.5rem 1rem rgba(0,0,0,.175);
}

.country-prefix-dropdown-menu.show {
  display: block;
}

.country-prefix-search {
  width: 100%;
  padding: 8px 12px;
  border: none;
  border-bottom: 1px solid #ced4da;
  outline: none;
}

.country-prefix-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.country-prefix-list li {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  cursor: pointer;
  font-size: 14px;
}

.country-prefix-list li:hover {
  background-color: #f8f9fa;
}

.country-prefix-list li .flag {
  margin-right: 8px;
}

.country-prefix-list li .country-name {
  flex-grow: 1;
  color: #495057;
}

.country-prefix-list li .phone-code {
  color: #6c757d;
}

/* Ajuste: hacer la caja del prefijo más estrecha y dar más espacio al teléfono */
.input-group .country-prefix-placeholder {
  flex: 0 0 110px; /* ancho fijo reducido */
  max-width: 110px;
  margin-right: 8px;
}

.input-group input[type="tel"] {
  flex: 1 1 auto;
  min-width: 0; /* evitar overflow en contenedores flex */
}

/* Mobile tweaks: make header and hero buttons more compact and avoid wrapping */
@media (max-width: 768px) {
  /* Header primary CTA */
  .header .btn-getstarted {
    padding: 6px 12px;
    font-size: 13px;
    margin: 0 8px 0 0;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }

  /* Hero buttons compact */
  .hero .btn-get-started {
    padding: 8px 14px;
    font-size: 13px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.08);
  }

  .hero .btn-watch-video {
    margin-left: 10px;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
  }

  .hero .btn-watch-video i {
    font-size: 20px;
    margin-right: 6px;
  }

  /* Make sure the header container elements don't force wrapping */
  .header .container-fluid {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    align-items: center;
  }
}

@media (max-width: 420px) {
  .header .btn-getstarted {
    padding: 6px 10px;
    font-size: 12px;
  }
  .hero .btn-get-started {
    padding: 6px 10px;
    font-size: 12px;
  }
  .hero .btn-watch-video i {
    font-size: 18px;
  }
}

.uniform-height-img {
  height: 100%;
  object-fit: cover;
}