/* Only apply full width to the light sticky navbar */
.navbar.bg-white.sticky-top {
  width: 100vw !important;
  left: 0;
  right: 0;
  position: relative;
}
header:has(.navbar.bg-white.sticky-top) {
  width: 100vw !important;
}
/* Force override primary colors with maximum specificity */
html body .text-primary,
html body span.text-primary,
html body span.text-primary a,
html body .text-primary a {
  color: #516274 !important;
}

html body .text-primary:hover,
html body span.text-primary a:hover {
  color: #FF8B5C !important;
}

/* Option 1: Very Dark Charcoal (softer than pure black) */
html body .btn-primary,
html body a.btn-primary,
html body button.btn-primary,
html body .btn.btn-primary {
  background-color: #2C2C2C !important;
  border-color: #2C2C2C !important;
  color: white !important;
}

html body .btn-primary:hover,
html body a.btn-primary:hover,
html body .btn-primary:focus,
html body a.btn-primary:focus {
  background-color: #E67E22 !important; /* Your tiger orange */
  border-color: #E67E22 !important;
  color: white !important;
}

/* Disabled state */
html body .btn-primary.disabled,
html body .btn-primary:disabled,
html body a.btn-primary.disabled {
  background-color: #2C2C2C !important;
  border-color: #2C2C2C !important;
  opacity: 0.6 !important;
  color: white !important;
}

.text-slate {
    color: #516274;
}

.text-custom-orange {
    color: #FF8B5C;
}

.text-custom-teal {
    color: #55D2E4;
}

.text-custom-deep-azure {
    color: #4C91D9;
}

.video-container {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
}

.video-container video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0.375rem;
}

.video-fallback {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 0.375rem;
    background: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Override bg-primary backgrounds */
html body .bg-primary {
    background-color: #516274 !important;
}

html body .bg-primary:hover {
    background-color: #FF8B5C !important;
}

/* Override primary border variations */
html body .border-primary {
    border-color: #516274 !important;
}

html body .border-primary-subtle {
    border-color: rgba(81, 98, 116, 0.25) !important;
}

/* Override primary background with subtle opacity */
html body .bg-primary.bg-opacity-10 {
    background-color: rgba(81, 98, 116, 0.1) !important;
}

/* Orange background variations */
html body .bg-custom-orange {
    background-color: #FF8B5C !important;
}

html body .bg-custom-orange:hover {
    background-color: #FF7A47 !important;
}

/* Orange background with opacity variations */
html body .bg-custom-orange.bg-opacity-10 {
    background-color: rgba(255, 139, 92, 0.1) !important;
}

html body .bg-custom-orange.bg-opacity-25 {
    background-color: rgba(255, 139, 92, 0.25) !important;
}

/* Orange border variations */
html body .border-custom-orange {
    border-color: #FF8B5C !important;
}

html body .border-custom-orange-subtle {
    border-color: rgba(255, 139, 92, 0.25) !important;
}

/* Orange button style (secondary option) */
html body .btn-orange {
    background-color: #FF8B5C !important;
    border-color: #FF8B5C !important;
    color: white !important;
}

html body .btn-orange:hover {
    background-color: #FF7A47 !important;
    border-color: #FF7A47 !important;
}

/* Orange outline button */
html body .btn-outline-orange {
    border-color: #FF8B5C !important;
    color: #FF8B5C !important;
    background-color: rgba(255, 255, 255, 0.9) !important;
}

html body .btn-outline-orange:hover,
html body .btn-outline-orange:focus {
    background-color: #FF8B5C !important;
    border-color: #FF8B5C !important;
    color: white !important;
}

/* Light orange background for hero - subtle and warm */
.bg-tiger-light {
    background-color: #FFF4ED;
}

/* Alternative: Very light peachy gradient */
.bg-tiger-gradient-light {
    background: linear-gradient(135deg, #FFF9F5 0%, #FFE8D9 100%);
}

/* Alternative: Slightly warmer but still subtle */
.bg-tiger-warm-light {
    background-color: #FFEEE0;
}

/* Slightly warmer light orange - more peachy */
.bg-tiger-peachy {
    background-color: #FFE5D0;
}

/* Heavier orange background - more presence */
.bg-tiger-bold {
    background-color: #FFD4B3;
}

.bg-tiger-vibrant {
    background-color: #FFBD8A;
}

/* Tiger orange text color */
.text-tiger {
    color: #E67E22 !important;
}

/* Tiger orange text on hover */
.text-tiger:hover {
    color: #D35400 !important;
}

/* Form field focus states - Tiger Sitters orange */
html body .form-control:focus,
html body .form-select:focus,
html body .form-check-input:focus {
    border-color: #FF8B5C !important;
    box-shadow: 0 0 0 0.25rem rgba(255, 139, 92, 0.25) !important;
}

/* Valid state */
html body .form-control.is-valid,
html body .form-select.is-valid {
    border-color: #28a745 !important;
}

html body .form-control.is-valid:focus,
html body .form-select.is-valid:focus {
    border-color: #28a745 !important;
    box-shadow: 0 0 0 0.25rem rgba(40, 167, 69, 0.25) !important;
}

/* Invalid state */
html body .form-control.is-invalid,
html body .form-select.is-invalid {
    border-color: #dc3545 !important;
}

html body .form-control.is-invalid:focus,
html body .form-select.is-invalid:focus {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25) !important;
}

#heroVideo {
  overflow: hidden; /* keeps everything inside the box */
}

#heroVideo img,
#heroVideo video {
  display: block;
  width: 100%;
  height: auto;
}

#videoPlayer {
  position: relative !important;   /* override any weird global `video` rules */
  max-width: 100%;
}
