/* project.css */

:root {
  /* force-override Bootstrap primary from #0d6efd → your orange */
  --bs-primary: #F5B069 !important;
  --bs-primary-hover: #d9995a !important;
  --bs-primary-active: #c2884f !important;

  /* secondary (navy) for completeness */
  --bs-secondary: #0D4170 !important;
  --bs-secondary-hover: #0b3560 !important;
  --bs-secondary-active: #092a50 !important;
  --bs-nav-link-font-size: 1.3em;

}

body  {
  background-color: #ececec;
}

.btn-custom {
  width: 100px;
  --bs-btn-border-radius: 2.375rem !important;
}


/* —— PRIMARY BUTTON —— */
.btn-primary {
  color: #fff;
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}
.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--bs-primary-hover);
  border-color: var(--bs-primary-hover);
}
.btn-primary:active {
  background-color: var(--bs-primary-active);
  border-color: var(--bs-primary-active);
}

/* —— SECONDARY BUTTON —— */
.btn-secondary {
  color: #fff;
  background-color: var(--bs-secondary);
  border-color: var(--bs-secondary);
}
.btn-secondary:hover,
.btn-secondary:focus {
  background-color: var(--bs-secondary-hover);
  border-color: var(--bs-secondary-hover);
}
.btn-secondary:active {
  background-color: var(--bs-secondary-active);
  border-color: var(--bs-secondary-active);
}

/* —— OUTLINE VARIANTS —— */
.btn-outline-primary {
  color: var(--bs-primary);
  border-color: var(--bs-primary);
}
.btn-outline-primary:hover,
.btn-outline-primary:focus {
  color: #fff;
  background-color: var(--bs-primary);
}

.btn-outline-secondary {
  color: var(--bs-secondary);
  border-color: var(--bs-secondary);
}
.btn-outline-secondary:hover,
.btn-outline-secondary:focus {
  color: #fff;
  background-color: var(--bs-secondary);
}

/* —— LINK BUTTONS —— */
.btn-link {
  color: var(--bs-primary);
}
.btn-link:hover {
  color: var(--bs-primary-hover);
}

/* override link hover to a darker orange */
a.nav-link:hover {
  color: #d9995a; /* a shade darker than --bs-primary */
}

.navbar-brand img {
  max-height: 150px;  /* increase or decrease as needed */
  height: auto;
  width: auto;
}

.auth-logo {
  max-width: 200px;
}


/* Hero button */
.hero .btn-primary {
  padding: 0.75rem 1.5rem;
  font-size: 1.125rem;
}

/* Footer text smaller */
.footer .text-muted {
  font-size: 0.875rem;
}


.alert-debug {
  color: black;
  background-color: white;
  border-color: #d6e9c6;
}

.alert-error {
  color: #b94a48;
  background-color: #f2dede;
  border-color: #eed3d7;
}


.bg-primary {
  background-color: #314f72 !important;
}

#embedded-checkout {
  min-height:520px;
}

#labelFrame {
  height: 80vh
}

.gmp-autocomplete-container>gmpx-suggestion-element,
    google-map,
    gmp-place-autocomplete {
      box-sizing: border-box;
    }

    gmp-place-autocomplete {
      display: block;
      width: 100%;
      min-height: 38px;
      border: 1px solid #ced4da;
      border-radius: .375rem;
      padding: .375rem .75rem;
      line-height: 1.5;
      font-size: 1rem;
      background-color: #fff;
    }

    #labelFrame {
      width: 100%;
      min-height: 600px;
      border: none;
    }

    .rate-dropdown-toggle {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      padding: 0.75rem 1rem;
    }

    .rate-dropdown-toggle::after {
      margin-left: 0.5rem;
    }

    .rate-dropdown-toggle .rate-summary {
      flex: 1;
    }

    .rate-dropdown-menu {
      width: 100%;
      max-height: 22rem;
      overflow-y: auto;
      padding: 0;
    }

    .rate-option {
      display: block;
      padding: 0.75rem 1rem;
      white-space: normal;
    }

    .rate-option:hover,
    .rate-option:focus {
      background-color: var(--bs-light);
    }

    .rate-option.is-selected {
      border-left: 4px solid var(--bs-primary);
      background-color: var(--bs-primary-bg-subtle);
    }

    .rate-option-heading {
      font-weight: 600;
    }

    .rate-option-price {
      font-weight: 600;
      font-size: 1.1rem;
      color: var(--bs-body-color);
    }

    .rate-option-meta {
      font-size: 0.85rem;
      color: var(--bs-secondary-color);
    }

    .rate-option .badge {
      font-size: 0.65rem;
      letter-spacing: 0.04em;
    }

    .rate-option-logo {
      width: 24px;
      height: 24px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      border-radius: 0.35rem;
      overflow: hidden;
      background-color: #fff;
      box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
    }

    .rate-option-logo-img {
      width: 25px;
      height: 32px;
      object-fit: contain;
      object-position: center;
      display: block;
    }

    .rate-summary .rate-option-price {
      font-size: 1.25rem;
    }

    .rate-summary .rate-option-meta {
      font-size: 0.85rem;
      color: var(--bs-secondary-color);
    }

    .rate-breakdown {
      border: 1px solid var(--bs-border-color);
      border-radius: 0.5rem;
      padding: 1rem;
      background-color: var(--bs-body-bg);
    }

    .rate-breakdown-line {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      margin-bottom: 0.35rem;
      font-size: 0.95rem;
    }

    .rate-breakdown-line:last-child {
      margin-bottom: 0;
    }

.toast-container-nav-safe {
  top: 4.5rem;
  z-index: 2000;
}
