/* Shared styles for plain content pages (policies, accessibility, etc.) rendered inside _LayoutHome.
   Typography matches the home page: Sora headings, Manrope body, --ink text. */
.content-page{padding:56px 0 72px;color:var(--ink)}

.content-page .content-wrap{width:min(1100px,calc(100% - 48px));margin-inline:auto}

.content-page .page-header{text-align:center;margin-bottom:40px}

.content-page .page-title{font-size:clamp(2rem,3vw,3.25rem);margin-bottom:16px;color:var(--legacy-primary)}

.content-page .page-lead{font-size:1.25rem;font-weight:600}

.content-page .content-section{margin-top:40px}

.content-page .section-title{font-size:1.75rem;margin-bottom:16px;color:var(--legacy-primary)}

.content-page .topic{margin-top:24px}

.content-page .topic-title{font-family:Sora,sans-serif;font-size:1.25rem;font-weight:700;line-height:1.25;margin-bottom:8px;color:var(--legacy-primary)}

.content-page .page-text{font-size:1.125rem;line-height:1.7}

.content-page a{color:var(--navy);text-decoration:underline}

.content-page a:hover{color:#5b9231}

@media (max-width:767.98px){
  .content-page{padding:36px 0 48px}
  .content-page .section-title{font-size:1.5rem}
}

/* Contact Us (ContactUsCSM) */
#contact{padding:56px 0 72px;color:var(--ink)}

#contact .section-header{text-align:center;margin-bottom:40px}

#contact .section-header h1{font-size:clamp(2rem,3vw,3.25rem);margin-bottom:16px;color:var(--legacy-primary)}

#contact .contact-info{text-align:center;margin-bottom:32px}

#contact .contact-info i{display:inline-block;margin-bottom:10px;font-size:2.5rem;color:var(--green)}

#contact .contact-info h3{margin-bottom:8px;font-size:1.1rem;text-transform:uppercase;color:var(--legacy-primary)}

#contact .contact-info address,#contact .contact-info p{margin-bottom:0}

#contact .form .form-control{padding:12px 16px;border:1px solid #cfd4e3;border-radius:8px;font-size:1rem;color:var(--ink)}

#contact .form .form-control:focus{border-color:var(--legacy-primary);box-shadow:0 0 0 .2rem rgba(12,46,138,.15)}

#contact .form .form-group{margin-bottom:16px}

#contact .form .validation{display:none;margin-top:4px;font-size:.85rem;color:#c62828}

#contact .form #sendmessage,#contact .form #errormessage{display:none;margin-bottom:16px;padding:14px;border:1px solid;border-radius:8px;text-align:center;font-weight:600}

#contact .form #sendmessage{color:#3f7d12;border-color:var(--green)}

#contact .form #errormessage{color:#c62828;border-color:#c62828}

#contact .form #errormessage.show{display:block}

#contact .form .btn-primary{padding:12px 36px;border-radius:8px;font-weight:700}

/* shared bits for form pages */
.content-page img{max-width:100%;height:auto}

.content-page .validation{display:none;margin-top:4px;font-size:.85rem;color:#c62828}

/* Admin-entered HTML (pasted from Word) carries its own font, size and background inline;
   force it onto the site typography. Centered bold lines are its titles. */
.content-page .page-text [style*="font-family"],
.content-page .page-text [style*="font-size"],
.content-page .page-text [style*="background"] {
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    background: transparent !important;
}

.content-page .page-text p[align="center"] > strong {
    font-family: Sora, sans-serif !important;
    font-size: 1.5rem !important;
    color: var(--legacy-primary);
}

/* Terms of Service header block */
#terms-service .page-lead {
    color: var(--legacy-primary);
}

/* Contact Us: intro and contact details on the left, form on the right */
#contact .contact-layout{align-items:flex-start;row-gap:32px}
#contact .contact-intro{text-align:left;margin-bottom:32px}
#contact .contact-intro h1{font-size:clamp(2rem,3vw,3.25rem);margin-bottom:16px;color:var(--legacy-primary)}
#contact .contact-intro p{margin-bottom:0}
#contact .contact-details{display:flex;flex-direction:column;gap:24px}
#contact .contact-item{display:flex;align-items:flex-start;gap:16px;text-align:left}
#contact .contact-item > i{flex:none;font-size:2.25rem;line-height:1;color:var(--green)}
#contact .contact-item > div{min-width:0}
#contact .contact-item h3{margin:0 0 6px;font-size:1.1rem;text-transform:uppercase;color:var(--legacy-primary)}
#contact .contact-item p{margin:0;overflow-wrap:anywhere}
@media(min-width:992px){#contact .contact-layout{column-gap:0}#contact .contact-intro{padding-right:24px}}
@media(max-width:991px){#contact{padding-top:32px}#contact .section-header{margin-bottom:12px}#contact .section-header h1{margin-bottom:0}#contact .contact-layout{row-gap:16px}#contact .contact-intro{margin-bottom:20px}}
/* Site map: an item that is not available yet is shown greyed out, as in the header and footer */
#sitemap [aria-disabled="true"]{opacity:.5;cursor:default}
