/* Public account, contact and legal pages share the catalogue's visual language. */
body.cl-standard-page {
    font-family: 'DM Sans', Arial, sans-serif;
    font-size: 16px;
    line-height: 1.55;
    color: #172035;
}
body.cl-standard-page .page-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    height: auto;
}
body.cl-standard-page .main { flex: 1; width: 100%; background: #f4f6f9; }
body.cl-standard-page .main > .main-inner > .container { padding-top: 40px; padding-bottom: 48px; }
body.cl-standard-page .cl-contact {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    padding: 36px 40px;
    border: 1px solid #e1e6ed;
    border-radius: 14px;
    background: #fff;
    color: #172035;
    font: 400 16px/1.75 'DM Sans', Arial, sans-serif;
    box-shadow: 0 10px 28px #1720350b;
    overflow-wrap: anywhere;
}
body.cl-standard-page .cl-signup,
body.cl-standard-page .cl-legal-page { max-width: 1040px; }
body.cl-auth-page .cl-contact { max-width: 580px; }
body.cl-auth-page .cl-account-form { max-width: none; }
body.cl-standard-page .cl-contact .page-title { margin: 0 0 28px; padding: 0; border: 0; }
body.cl-standard-page .cl-contact h1,
body.cl-standard-page .cl-contact h2,
body.cl-standard-page .cl-contact h3,
body.cl-standard-page .cl-contact h4 {
    font-family: 'Manrope', Arial, sans-serif;
    color: #172035;
    font-style: normal;
    font-weight: 750;
    text-transform: none;
}
body.cl-standard-page .cl-contact h1 {
    margin: 0;
    font-size: clamp(28px, 3vw, 38px);
    line-height: 1.2;
    letter-spacing: -.045em;
}
body.cl-standard-page .cl-contact h2 { margin: 30px 0 14px; font-size: 24px; line-height: 1.35; letter-spacing: -.035em; }
body.cl-standard-page .cl-contact h3 { margin: 24px 0 12px; font-size: 20px; line-height: 1.4; letter-spacing: -.025em; }
body.cl-standard-page .cl-contact p { margin: 0 0 16px; }
body.cl-standard-page .cl-contact p:last-child { margin-bottom: 0; }
body.cl-standard-page .cl-contact-intro { margin: 0 0 28px; }
body.cl-standard-page .cl-contact-intro p,
body.cl-standard-page .cl-account-intro { color: #626d7f; font-size: 16px; }
body.cl-standard-page .cl-contact .cl-contact-required { margin-bottom: 22px; color: #626d7f; font-size: 14px; }
body.cl-standard-page .cl-contact a:not(.btn):not(.image-link) {
    color: #245bd7;
    text-decoration: underline;
    text-underline-offset: 3px;
}
body.cl-standard-page .cl-contact a:not(.btn):not(.image-link):hover { color: #1748b4; }
body.cl-standard-page .cl-contact label { margin-bottom: 8px; font: 600 15px/1.5 'DM Sans', Arial, sans-serif; color: #172035; }
body.cl-standard-page .cl-contact .form-control {
    height: auto;
    min-height: 48px;
    padding: 11px 14px;
    border: 1px solid #bac7d9;
    border-radius: 8px;
    background: #fff;
    color: #172035;
    font: 400 16px/1.5 'DM Sans', Arial, sans-serif;
    box-shadow: none;
}
body.cl-standard-page .cl-contact textarea.form-control { min-height: 160px; resize: vertical; }
body.cl-standard-page .cl-contact .form-control::placeholder { color: #626d7f; opacity: 1; }
body.cl-standard-page .cl-contact .form-control:focus { border-color: #245bd7; outline: 2px solid #8baefe; outline-offset: 2px; box-shadow: none; }
body.cl-standard-page .cl-contact .has-error .form-control { border-color: #b72d44; }
body.cl-standard-page .cl-contact .help-block { margin: 7px 0 0; font: 400 14px/1.5 'DM Sans', Arial, sans-serif; }
body.cl-standard-page .cl-contact .has-error .help-block { color: #a42038; }
body.cl-standard-page .cl-contact .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 47px;
    padding: 11px 19px;
    border: 1px solid transparent;
    border-radius: 8px;
    font: 600 15px/1.4 'DM Sans', Arial, sans-serif;
    text-transform: none;
    text-decoration: none;
    box-shadow: none;
}
body.cl-standard-page .cl-contact .btn i { margin: 0; }
body.cl-standard-page .cl-contact .btn-primary { background: #245bd7; border-color: #245bd7; color: #fff; }
/* Legacy Bootstrap declares these states !important. */
body.cl-standard-page .cl-contact .btn-primary:hover,
body.cl-standard-page .cl-contact .btn-primary:focus,
body.cl-standard-page .cl-contact .btn-primary:active { background: #1748b4 !important; border-color: #1748b4; color: #fff; }
body.cl-standard-page .cl-contact .btn:focus-visible { outline: 3px solid #8baefe !important; outline-offset: 3px; }
body.cl-standard-page .cl-contact .btn-default { background: #fff; border-color: #e1e6ed; color: #172035; }
body.cl-standard-page .cl-contact .btn-default:hover { background: #f4f6f9; border-color: #a4b3cb; color: #172035; }
body.cl-standard-page .cl-account-section { margin: 0 0 30px; }
body.cl-standard-page .cl-account-section-title { margin: 0 0 22px !important; padding: 0 0 14px; border-bottom: 1px solid #e1e6ed; }
body.cl-standard-page .cl-account-actions,
body.cl-standard-page .cl-contact-actions { gap: 16px; }
body.cl-standard-page .cl-contact-actions p { margin: 0; color: #626d7f; font-size: 14px; }
body.cl-standard-page .cl-signup .terms_link { top: auto; display: inline-block; margin: -8px 0 20px; font-size: 14px; }
body.cl-standard-page .cl-signup .user-photo { overflow: hidden; border: 1px solid #e1e6ed; border-radius: 10px; }
body.cl-standard-page .cl-signup .user-photo-action { background: #172035; color: #fff; font: 600 14px/1.5 'DM Sans', Arial, sans-serif; }
body.cl-standard-page .cl-legal-content { font: 400 16px/1.8 'DM Sans', Arial, sans-serif; color: #172035; overflow-wrap: anywhere; }
/* Stored legal text can contain old Word/editor font attributes; preserve its wording. */
body.cl-standard-page .cl-legal-content :where(p, div, span, font, a, li, ul, ol, td, th, strong, b, em, i) {
    font-family: 'DM Sans', Arial, sans-serif !important;
    font-size: inherit !important;
    line-height: inherit !important;
}
body.cl-standard-page .cl-legal-content :where(h1, h2, h3, h4, h5, h6),
body.cl-standard-page .cl-legal-content :where(h1, h2, h3, h4, h5, h6) * { font-family: 'Manrope', Arial, sans-serif !important; }
body.cl-standard-page .cl-legal-content ul,
body.cl-standard-page .cl-legal-content ol { margin: 16px 0; padding-left: 24px; }
body.cl-standard-page .cl-legal-content li { margin-bottom: 8px; }
body.cl-standard-page .cl-legal-content .table-responsive { margin: 20px 0; border: 1px solid #e1e6ed; border-radius: 10px; overflow-x: auto; }
body.cl-standard-page .cl-legal-content .table { margin: 0; font-size: 15px; }
body.cl-standard-page .cl-legal-content .table th,
body.cl-standard-page .cl-legal-content .table td { padding: 14px; line-height: 1.6; border-color: #e1e6ed; vertical-align: top; }
body.cl-standard-page .cl-legal-content .table th { background: #f4f6f9; color: #172035; }
body.cl-standard-page .cl-legal-back { margin-top: 28px !important; padding-top: 20px; border-top: 1px solid #e1e6ed; }
@media (max-width: 767px) {
    body.cl-standard-page .main > .main-inner > .container { width: calc(100% - 32px); padding: 24px 0 32px; }
    body.cl-standard-page .cl-contact { padding: 24px 20px; border-radius: 12px; }
    body.cl-standard-page .cl-contact .page-title { margin-bottom: 24px; }
    body.cl-standard-page .cl-contact h2 { font-size: 22px; }
    body.cl-standard-page .cl-contact h3 { font-size: 19px; }
    body.cl-standard-page .cl-account-actions,
    body.cl-standard-page .cl-contact-actions { display: flex; flex-direction: column; align-items: stretch; }
    body.cl-standard-page .cl-account-actions a { margin: 0; }
    body.cl-standard-page .cl-contact-actions p { margin-bottom: 0; }
    body.cl-standard-page .cl-contact .btn { width: 100%; }
    body.cl-standard-page .cl-legal-content .table { min-width: 520px; }
}
