@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=Source+Sans+3:wght@400;600&display=swap");

:root {
  --bvs-sand: #e9d8b4;
  --bvs-sand-light: #f7f0df;
  --bvs-terracotta: #c0623a;
  --bvs-terracotta-dark: #9e4b28;
  --bvs-sage: #6b7f5a;
  --bvs-dusk: #3b2a20;
  --bs-body-font-family: "Source Sans 3", system-ui, sans-serif;
  --bs-body-bg: var(--bvs-sand-light);
  --bs-body-color: var(--bvs-dusk);
}

h1,
h2,
h3,
h4,
.navbar-brand {
  font-family: "Playfair Display", Georgia, serif;
}

.bvs-navbar {
  background-color: var(--bvs-dusk);
}

.bvs-navbar .nav-link {
  color: var(--bvs-sand);
}

.bvs-navbar .nav-link:hover {
  color: #fff;
}

.bvs-brand {
  color: var(--bvs-sand);
}

.bvs-btn {
  background-color: var(--bvs-terracotta);
  border-color: var(--bvs-terracotta);
  color: #fff;
}

.bvs-btn:hover {
  background-color: var(--bvs-terracotta-dark);
  border-color: var(--bvs-terracotta-dark);
  color: #fff;
}

.bvs-hero {
  min-height: 80vh;
  background:
    -webkit-gradient(
      linear,
      left top,
      left bottom,
      from(rgba(59, 42, 32, 0.35)),
      to(rgba(59, 42, 32, 0.75))
    ),
    url("/assets/images/rv_road_01.png") center / cover no-repeat;
  background:
    linear-gradient(180deg, rgba(59, 42, 32, 0.35), rgba(59, 42, 32, 0.75)),
    url("/assets/images/rv_road_01.png") center / cover no-repeat;
}

.bvs-hero__title {
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
}

.bvs-section--sand {
  background-color: var(--bvs-sand);
}

.bvs-eyebrow {
  color: var(--bvs-terracotta);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-weight: 600;
  font-size: 0.85rem;
}

.bvs-feature {
  border: 0;
  border-top: 4px solid var(--bvs-terracotta);
  border-radius: 0.75rem;
  -webkit-box-shadow: 0 6px 18px rgba(59, 42, 32, 0.12);
  box-shadow: 0 6px 18px rgba(59, 42, 32, 0.12);
}

.bvs-feature__icon {
  color: var(--bvs-sage);
  font-size: 2rem;
}

.bvs-table thead {
  background-color: var(--bvs-dusk);
  color: var(--bvs-sand);
}

.bvs-table th,
.bvs-table td {
  text-align: center;
  vertical-align: middle;
}

.bvs-table > :not(caption) > * > * {
  text-align: center;
}

table.bvs-table thead th,
table.bvs-table tbody td {
  text-align: center !important;
}

.bvs-form .form-control,
.bvs-form .form-select {
  text-align: center;
}

.bvs-legend {
  background-color: var(--bs-body-bg);
  border: 1px solid var(--bvs-sand);
  border-radius: 0.75rem;
}

.bvs-layout-placeholder {
  min-height: 320px;
  border: 2px dashed var(--bvs-sage);
  border-radius: 0.75rem;
  background-color: rgba(107, 127, 90, 0.08);
}

.bvs-footer {
  background-color: var(--bvs-dusk);
  color: var(--bvs-sand);
}

.bvs-agreement {
  background-color: var(--bvs-sand);
}

.bvs-agreement__card {
  max-width: 720px;
  border: 0;
  border-left: 4px solid var(--bvs-terracotta);
  border-radius: 0.75rem;
  -webkit-box-shadow: 0 6px 18px rgba(59, 42, 32, 0.12);
  box-shadow: 0 6px 18px rgba(59, 42, 32, 0.12);
}

.bvs-agreement__icon {
  color: var(--bvs-terracotta);
  font-size: 2.5rem;
}

.bvs-contract {
  max-width: 850px;
  background-color: #fff;
  border-top: 4px solid var(--bvs-terracotta);
  line-height: 1.6;
}

.bvs-contract h2 {
  font-size: 1.25rem;
  color: var(--bvs-terracotta-dark);
  margin-top: 1.75rem;
}

.bvs-contract table td {
  height: 2.5rem;
}

.bvs-contract__field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 0.5rem;
  margin-top: 1.5rem;
}

.bvs-contract__label {
  white-space: nowrap;
}

.bvs-contract__line {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-height: 1.5rem;
  border-bottom: 1px solid #000;
}

.bvs-contract__sign-page {
  -webkit-column-break-before: page;
  -moz-column-break-before: page;
  break-before: page;
  page-break-before: always;
  -webkit-column-break-inside: avoid;
  -moz-column-break-inside: avoid;
  break-inside: avoid;
  page-break-inside: avoid;
}

@media print {
  body {
    background: #fff;
  }

  .bvs-contract {
    max-width: 100%;
    border: 0;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    padding: 0 !important;
  }

  .bvs-contract h2,
  .bvs-contract__sign-page {
    -webkit-column-break-inside: avoid;
    -moz-column-break-inside: avoid;
    break-inside: avoid;
  }
}
