:root {
  --bs-blue: #63b3ed;
  --bs-indigo: #596cff;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #f56565;
  --bs-orange: #fd7e14;
  --bs-yellow: #fbd38d;
  --bs-green: #81e6d9;
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-white: #fff;
}

.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-start,
.carousel-fade .carousel-item-prev.carousel-item-end {
  z-index: 0;
}

.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
  z-index: -1;
}

body.common-body {
  padding: 0;
  margin: 0;
  width: 100%;
  background-color: #f0f2f5;
}

.card[data-animation="true"] .card-header {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-transition: all 300ms cubic-bezier(0.34, 1.61, 0.7, 1);
  -moz-transition: all 300ms cubic-bezier(0.34, 1.61, 0.7, 1);
  -o-transition: all 300ms cubic-bezier(0.34, 1.61, 0.7, 1);
  -ms-transition: all 300ms cubic-bezier(0.34, 1.61, 0.7, 1);
  transition: all 300ms cubic-bezier(0.34, 1.61, 0.7, 1);
}

.card:hover[data-animation="true"] .card-header {
  -webkit-transform: translate3d(0, -25px, 0);
  -moz-transform: translate3d(0, -25px, 0);
  -o-transform: translate3d(0, -25px, 0);
  -ms-transform: translate3d(0, -25px, 0);
  transform: translate3d(0, -25px, 0);
}

.text-roboto {
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
}

.landing-card-video {
  width: 100px;
}

#branding-pathways-card {
  background: rgb(175, 213, 188);
  background:
    linear-gradient(
      45deg,
      rgba(65, 186, 134, 0.8) 0%,
      rgba(83, 126, 194, 0.95) 100%
    ),
    url("/images/landing/branding.jpg");

  background-size: cover;
}

.text-body {
  color: #5f5f5f !important;
}

.text-body-light {
  color: #737373 !important;
}

.card-body {
  color: #5f5f5f !important;
}

.accordion-body {
  color: #5f5f5f !important;
}

.blur.card-body {
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0.4) 0%,
    rgba(255, 255, 255, 1) 10%,
    rgba(255, 255, 255, 1) 100%
  ) !important;
  -webkit-backdrop-filter: saturate(200%) blur(80px);
  backdrop-filter: saturate(200%) blur(80px);
  border: 0px solid rgba(0, 0, 0, 0.125);
}

.blur.card {
  color: rgba(0, 0, 0, 0.8);
  transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1);
  border: 0px solid rgba(0, 0, 0, 0.125);
  border-radius: 0.75rem;
  box-shadow:
    rgba(0, 0, 0, 0.1) 0rem 0.25rem 0.375rem -0.0625rem,
    rgba(0, 0, 0, 0.06) 0rem 0.125rem 0.25rem -0.0625rem;
}

.card-body {
  font-family: "Roboto", "Helvetica", "Arial", sans-serif;
}

.colored-shadow {
  transform: scale(0.94);
  box-shadow:
    rgba(0, 0, 0, 0.1) 0rem 0.25rem 0.375rem -0.0625rem,
    rgba(0, 0, 0, 0.06) 0rem 0.125rem 0.25rem -0.0625rem;
}

h5 {
  font-weight: 700;
  font-size: 1.25rem;
}

h6,
.h6,
h5,
.h5,
h4,
.h4,
h3,
.h3,
h2,
.h2,
h1,
.h1 {
  font-family: "Roboto Slab", sans-serif;
  color: #344767;
  letter-spacing: 0.25px !important;
}

#content {
  max-width: 2160px;
  margin: 0 auto;
}

#options .row {
  max-width: 1600px;
  margin: 0 auto;
}

#options .card img.card-image {
  background-position: center center;
  filter: brightness(50%) contrast(25%);
  margin: 0 auto;
  aspect-ratio: 30 / 10;
  object-fit: cover;
}

#options .card .mask p {
  text-shadow: 1px 1px #000;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.opacity-95 {
  opacity: 0.95 !important;
}

.form-check-input[type="checkbox"]:indeterminate {
  background-color: #49a3f1;
  border-color: #49a3f1;
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}

.input-group.input-group-dynamic.is-focused label,
.input-group.input-group-static.is-focused label {
  color: #49a3f1;
}

.input-group.input-group-dynamic .form-control,
.input-group.input-group-dynamic .form-control:focus,
.input-group.input-group-static .form-control,
.input-group.input-group-static .form-control:focus {
  background-image:
    linear-gradient(0deg, #49a3f1 2px, rgba(156, 39, 176, 0) 0),
    linear-gradient(0deg, #d2d2d2 1px, hsla(0, 0%, 82%, 0) 0);
  border-radius: 0 !important;
}

.input-group.input-group-dynamic .form-control[disabled],
.input-group.input-group-static .form-control[disabled] {
  cursor: not-allowed;
  background-image:
    linear-gradient(0deg, #49a3f1 2px, rgba(156, 39, 176, 0) 0),
    linear-gradient(0deg, #e5e5e5 1px, hsla(0, 0%, 82%, 0) 0) !important;
}

.input-group.input-group-dynamic.is-focused label,
.input-group.input-group-static.is-focused label {
  color: #49a3f1;
}

.input-group.input-group-outline.is-focused .form-label + .form-control,
.input-group.input-group-outline.is-filled .form-label + .form-control {
  border-color: #49a3f1 !important;
  border-top-color: transparent !important;
  box-shadow:
    inset 1px 0 #49a3f1,
    inset -1px 0 #49a3f1,
    inset 0 -1px #49a3f1;
}

.input-group.input-group-outline.is-focused .form-label,
.input-group.input-group-outline.is-filled .form-label {
  width: 100%;
  height: 100%;
  font-size: 0.6875rem !important;
  color: #49a3f1;
  display: flex;
  line-height: 1.25 !important;
}

.input-group.input-group-outline.is-focused .form-label:before,
.input-group.input-group-outline.is-focused .form-label:after,
.input-group.input-group-outline.is-filled .form-label:before,
.input-group.input-group-outline.is-filled .form-label:after {
  border-top-color: #49a3f1;
  box-shadow: inset 0 1px #49a3f1;
}

.form-check:not(.form-switch) .form-check-input[type="checkbox"]:checked,
.form-check:not(.form-switch) .form-check-input[type="radio"]:checked {
  border-color: #49a3f1;
}

.form-check:not(.form-switch) .form-check-input[type="checkbox"]:checked {
  background: #49a3f1;
}

.text-blue {
  color: var(--bs-blue) !important;
}
.text-indigo {
  color: var(--bs-indigo) !important;
}
.text-purple {
  color: var(--bs-purple) !important;
}
.text-pink {
  color: var(--bs-pink) !important;
}

/* Branding Pathways tile spacing: keep aligned with other panels */
.bp-tile { margin-top: 0 !important; }

/* Flight tabs cross-browser normalization */
#options .calculator-flight-tabs .nav.nav-pills { gap: 0.5rem; }
#options .calculator-flight-tabs .nav.nav-pills .nav-link {
  line-height: 1.2;
  border: 1px solid rgba(0,0,0,0.08);
  background-color: #f6f9fc;
  color: #344767;
}
#options .calculator-flight-tabs .nav.nav-pills .nav-link.active {
  background-color: #2c7be5; /* primary */
  color: #fff;
}
.text-red {
  color: var(--bs-red) !important;
}
.text-orange {
  color: var(--bs-orange) !important;
}
.text-yellow {
  color: var(--bs-yellow) !important;
}
.text-green {
  color: var(--bs-green) !important;
}
.text-teal {
  color: var(--bs-teal) !important;
}
.text-cyan {
  color: var(--bs-cyan) !important;
}
