/* Restores readable typography and Bootstrap grid rhythm inside legacy modules
   without overriding the redesign header, footer, or overlays. */

body.legacy-public-page .page-title-img,
body.legacy-public-page .bg-header-page-title {
  display: none !important;
}

/* Protect redesign chrome from legacy global CSS resets */
body.legacy-public-page [data-site-header],
body.legacy-public-page [data-site-header] * {
  box-sizing: border-box;
}

body.legacy-public-page [data-site-header] a {
  color: inherit;
  text-decoration: none;
}

body.legacy-public-page footer.bg-on-secondary-fixed a {
  text-decoration: none;
}

.legacy-public {
  color: #2d3436;
  font-size: 15px;
  line-height: 1.65;
  background: #f8fafc;
}

.legacy-public__content {
  background: transparent;
}

.legacy-public__content > .container,
.legacy-public__content > .page-section,
.legacy-public__content > section {
  background: #ffffff;
  border: 1px solid #e9ecef;
  border-radius: 16px;
  box-shadow: 0 1px 2px rgba(25, 28, 29, 0.06);
  padding: 24px;
  margin-bottom: 24px;
  overflow: hidden;
}

.legacy-public__content > .page-section {
  margin-left: 0;
  margin-right: 0;
}

.legacy-public h1,
.legacy-public h2,
.legacy-public h3,
.legacy-public h4,
.legacy-public h5,
.legacy-public h6 {
  font-family: Montserrat, sans-serif;
  font-weight: 700;
  line-height: 1.3;
  color: #091d2e;
  margin: 0.65em 0 0.4em;
}

.legacy-public h1 { font-size: 1.75rem; }
.legacy-public h2 { font-size: 1.45rem; }
.legacy-public h3 { font-size: 1.25rem; }
.legacy-public h4 { font-size: 1.1rem; }

.legacy-public p {
  margin: 0 0 1em;
}

.legacy-public img,
.legacy-public svg {
  max-width: 100%;
  height: auto;
}

.legacy-public a {
  color: #880003;
}

.legacy-public a:hover {
  color: #5c0002;
}

.legacy-public .container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}

@media (min-width: 768px) {
  .legacy-public .container {
    max-width: 750px;
  }
}

@media (min-width: 992px) {
  .legacy-public .container {
    max-width: 970px;
  }
}

@media (min-width: 1200px) {
  .legacy-public .container {
    max-width: 1170px;
  }
}

.legacy-public .row {
  margin-left: -15px;
  margin-right: -15px;
}

.legacy-public .row:before,
.legacy-public .row:after {
  content: " ";
  display: table;
}

.legacy-public .row:after {
  clear: both;
}

.legacy-public [class*="col-"] {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}

@media (min-width: 992px) {
  .legacy-public .col-md-5 {
    float: left;
    width: 41.66666667%;
  }

  .legacy-public .col-md-7 {
    float: left;
    width: 58.33333333%;
  }

  .legacy-public .col-md-8 {
    float: left;
    width: 66.66666667%;
  }

  .legacy-public .col-md-4 {
    float: left;
    width: 33.33333333%;
  }

  .legacy-public .col-md-12 {
    float: left;
    width: 100%;
  }
}

.legacy-public table {
  width: 100%;
  border-collapse: collapse;
}

.legacy-public .btn,
.legacy-public button,
.legacy-public input,
.legacy-public select,
.legacy-public textarea {
  font-family: Inter, sans-serif;
}

.legacy-public .tab-buttons {
  display: inline-flex;
  gap: 0;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #e9ecef;
}

.legacy-public .tab-buttons button {
  background: #ffffff !important;
  color: #4e6073 !important;
  border: none !important;
  padding: 10px 18px !important;
  font-weight: 600;
}

.legacy-public .tab-buttons button.active {
  background: #880003 !important;
  color: #ffffff !important;
}

.legacy-public .tab-buttons button:hover {
  background: #fff5f4 !important;
  color: #880003 !important;
}

.legacy-public .tab-buttons button.active:hover {
  background: #880003 !important;
  color: #ffffff !important;
}

.legacy-public .mapdiv path {
  fill: #880003;
  stroke: #ffffff;
  stroke-width: 2px;
}

.legacy-public .mapdiv :hover {
  fill: #091d2e;
}
