/* ------------------------------------------------------------------
   legal.css - shared look for the footer pages (terms.aspx, privacy.aspx).
   Same palette as the rest of the public site; the point is only to make a
   wall of legal text readable: a contents rail, numbered-looking section
   rules, comfortable measure and line height.
   ------------------------------------------------------------------ */

/* Contents rail ---------------------------------------------------- */
.legal-rail-title {
    font-family: Montserrat, sans-serif; font-weight: 600; font-size: 13px;
    letter-spacing: 1px; text-transform: uppercase; color: #6c757d; margin-bottom: .75rem;
}
.legal-toc { display: flex; flex-direction: column; }
.legal-toc a {
    display: block; padding: 7px 0 7px 12px; border-left: 3px solid #e6e9ee;
    color: #0d2444; text-decoration: none; font-size: 14.5px; line-height: 1.35;
}
.legal-toc a:hover { border-left-color: #6dcef4; color: #006699; background: rgba(13,36,68,.03); }

/* Sticky under the 56px nav bar, but only where there is room for it. */
@media (min-width: 992px) {
    .legal-rail { position: sticky; top: 76px; }
}

/* Body ------------------------------------------------------------- */
.legal { color: #33404f; font-size: 16px; line-height: 1.75; }
.legal p { margin-bottom: 1rem; }
.legal a { color: #006699; }
/* ...but not the buttons: ".legal a" outranks ".btn-r66" on specificity, so without this
   the Contact Us button at the foot of each page renders with blue text on navy. */
.legal a.btn-r66, .legal a.btn-r66:hover, .legal a.btn-r66:focus { color: #ffffff; }

.legal-lead {
    font-size: 18px; line-height: 1.7; color: #0d2444;
    padding-left: 16px; border-left: 4px solid #6dcef4; margin-bottom: 2rem !important;
}

.legal section { scroll-margin-top: 76px; }      /* clears the sticky nav when a TOC link jumps */
.legal section + section { margin-top: 2.25rem; padding-top: 2.25rem; border-top: 1px solid #eceff3; }

.legal h2 {
    font-family: Montserrat, sans-serif; font-size: 20px; line-height: 1.3;
    font-weight: 700; color: #0d2444; margin: 0 0 .9rem 0;
}
.legal h3 {
    font-family: Montserrat, sans-serif; font-size: 16px; font-weight: 600;
    color: #006699; margin: 1.5rem 0 .5rem 0;
}

.legal ul { padding-left: 1.15rem; margin-bottom: 1rem; }
.legal li { margin-bottom: .4rem; }

/* A pulled-out caution / aside inside a section. */
.legal-note {
    background: #f5f8fb; border-left: 4px solid #6dcef4; border-radius: 0 .5rem .5rem 0;
    padding: 12px 16px; margin: 1.25rem 0; font-size: 15px; color: #33404f;
}
.legal-note i { color: #006699; margin-right: 6px; }

/* Address / phone block at the foot of the page. */
.legal-contact {
    display: flex; flex-wrap: wrap; gap: 1.5rem 3rem;
    background: #f8f9fa; border-radius: .75rem; padding: 18px 20px; margin-top: 1rem; font-size: 15px;
}
.legal-contact i { color: #006699; width: 18px; }
.legal-contact a { text-decoration: none; }

/* The three promises at the top of the privacy policy. */
.privacy-point {
    display: flex; gap: 12px; height: 100%;
    background: #f8f9fa; border: 1px solid #eceff3; border-radius: .75rem; padding: 14px 16px;
}
.privacy-point i { color: #006699; font-size: 18px; margin-top: 3px; }
.privacy-point strong { display: block; font-family: Montserrat, sans-serif; font-size: 14px; color: #0d2444; }
.privacy-point span { display: block; font-size: 13.5px; line-height: 1.5; color: #6c757d; }
