/* Gabarit commun des pages secondaires AJCM */
body.page {
    --ajcm-page-blue: #009fe3;
    --ajcm-page-blue-dark: #007cad;
    --ajcm-page-ink: #17212b;
    --ajcm-page-copy: #334a56;
    --ajcm-page-soft: #f3fbfe;
    --ajcm-page-border: #d5eaf3;
}

body.page .inner-header-description h1.hero-title {
    max-width: 980px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    font-size: clamp(32px, 5vw, 54px) !important;
    font-weight: 700 !important;
    line-height: 1.12 !important;
}

body.page .page-sidebar-column {
    display: none !important;
}

body.page #page-content > .gridContainer {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 1180px !important;
    padding: 0 16px !important;
}

body.page #page-content > .gridContainer > .row {
    justify-content: center !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

body.page #page-content > .gridContainer > .row > [class*="col-"]:not(.page-sidebar-column),
body.page #page-content > .gridContainer > [id^="post-"] {
    box-sizing: border-box !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

body.page .ajcm-generic-page {
    box-sizing: border-box !important;
    color: var(--ajcm-page-copy) !important;
    background: #fff !important;
    border: 1px solid var(--ajcm-page-border) !important;
    border-left: 6px solid var(--ajcm-page-blue) !important;
    border-radius: 16px !important;
    width: min(100% - 32px, 900px) !important;
    max-width: 900px !important;
    margin: 28px auto 34px !important;
    padding: 30px 34px !important;
    text-align: left !important;
    overflow-wrap: anywhere !important;
    box-shadow: 0 8px 24px rgba(23, 65, 84, 0.11) !important;
}

body.page .ajcm-generic-page::before,
body.page .ajcm-generic-page::after {
    content: none !important;
    display: none !important;
}

body.page .ajcm-generic-eyebrow {
    color: var(--ajcm-page-blue-dark) !important;
    margin: 0 0 10px !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: 0.11em !important;
}

body.page .ajcm-generic-page h2 {
    color: var(--ajcm-page-blue-dark) !important;
    border-top: 1px solid var(--ajcm-page-border) !important;
    letter-spacing: -0.025em !important;
    margin: 30px 0 13px !important;
    padding-top: 24px !important;
    font-size: clamp(25px, 3.2vw, 34px) !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

body.page .ajcm-generic-page h2:first-of-type {
    border-top: 0 !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.page .ajcm-generic-page h3 {
    color: var(--ajcm-page-ink) !important;
    margin: 25px 0 9px !important;
    font-size: clamp(20px, 2.5vw, 25px) !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}

body.page .ajcm-generic-page h4,
body.page .ajcm-generic-page h5,
body.page .ajcm-generic-page h6 {
    color: var(--ajcm-page-ink) !important;
    margin: 20px 0 8px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
}

body.page .ajcm-generic-page p,
body.page .ajcm-generic-page li,
body.page .ajcm-generic-page address,
body.page .ajcm-generic-page td,
body.page .ajcm-generic-page th {
    color: var(--ajcm-page-copy) !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
}

body.page .ajcm-generic-page p {
    margin-top: 0 !important;
    margin-bottom: 16px !important;
}

body.page .ajcm-generic-page strong {
    color: var(--ajcm-page-ink) !important;
    font-weight: 800 !important;
}

body.page .ajcm-generic-page a:not(.button):not(.btn):not(.wp-block-button__link):not([class*="button"]) {
    color: var(--ajcm-page-blue-dark) !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 3px !important;
}

body.page .ajcm-generic-page :is(.button, .btn, .wp-block-button__link, a[class*="button"], button, input[type="submit"]) {
    box-sizing: border-box !important;
    color: #fff !important;
    background: var(--ajcm-page-blue) !important;
    border: 2px solid var(--ajcm-page-blue) !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px !important;
    padding: 9px 20px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
    box-shadow: 0 5px 14px rgba(0, 159, 227, 0.2) !important;
}

body.page .ajcm-generic-page :is(.button, .btn, .wp-block-button__link, a[class*="button"], button, input[type="submit"]):hover,
body.page .ajcm-generic-page :is(.button, .btn, .wp-block-button__link, a[class*="button"], button, input[type="submit"]):focus-visible {
    color: #fff !important;
    background: var(--ajcm-page-blue-dark) !important;
    border-color: var(--ajcm-page-blue-dark) !important;
}

body.page .ajcm-generic-page ul,
body.page .ajcm-generic-page ol {
    margin: 0 0 20px !important;
    padding-left: 25px !important;
}

body.page .ajcm-generic-page li {
    margin-bottom: 7px !important;
}

body.page .ajcm-generic-page hr {
    background: var(--ajcm-page-border) !important;
    border: 0 !important;
    width: 100% !important;
    height: 1px !important;
    margin: 27px 0 !important;
}

body.page .ajcm-generic-page blockquote {
    color: var(--ajcm-page-copy) !important;
    background: var(--ajcm-page-soft) !important;
    border: 1px solid #cce8f4 !important;
    border-left: 5px solid var(--ajcm-page-blue) !important;
    border-radius: 11px !important;
    margin: 22px 0 !important;
    padding: 17px 19px !important;
}

body.page .ajcm-generic-page img {
    box-sizing: border-box !important;
    max-width: 100% !important;
    height: auto !important;
    border-radius: 10px !important;
}

body.page .ajcm-generic-page .aligncenter,
body.page .ajcm-generic-page .wp-caption.aligncenter {
    display: block !important;
    margin: 20px auto !important;
}

body.page .ajcm-generic-page .alignleft {
    margin: 6px 20px 14px 0 !important;
}

body.page .ajcm-generic-page .alignright {
    margin: 6px 0 14px 20px !important;
}

body.page .ajcm-generic-page figure,
body.page .ajcm-generic-page .wp-caption {
    max-width: 100% !important;
}

body.page .ajcm-generic-page figcaption,
body.page .ajcm-generic-page .wp-caption-text {
    color: #58707c !important;
    margin-top: 7px !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

body.page .ajcm-generic-page table {
    border-collapse: collapse !important;
    width: 100% !important;
    margin: 22px 0 !important;
}

body.page .ajcm-generic-page th,
body.page .ajcm-generic-page td {
    border: 1px solid var(--ajcm-page-border) !important;
    padding: 10px 12px !important;
    text-align: left !important;
    vertical-align: top !important;
}

body.page .ajcm-generic-page th {
    color: var(--ajcm-page-ink) !important;
    background: var(--ajcm-page-soft) !important;
    font-weight: 800 !important;
}

body.page .ajcm-generic-page iframe,
body.page .ajcm-generic-page video {
    max-width: 100% !important;
    border-radius: 10px !important;
}

body.page .ajcm-generic-page input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
body.page .ajcm-generic-page select,
body.page .ajcm-generic-page textarea {
    box-sizing: border-box !important;
    color: var(--ajcm-page-ink) !important;
    background: #fff !important;
    border: 1px solid #a9cddd !important;
    border-radius: 9px !important;
    max-width: 100% !important;
    min-height: 44px !important;
    padding: 9px 12px !important;
}

body.page .ajcm-generic-page :is(a, button, input, textarea, select, summary):focus-visible {
    outline: 3px solid rgba(0, 159, 227, 0.38) !important;
    outline-offset: 3px !important;
}

body.page .sharedaddy {
    display: none !important;
}

@media (max-width: 767px) {
    body.page .inner-header-description h1.hero-title {
        font-size: 31px !important;
        line-height: 1.15 !important;
    }

    body.page .ajcm-generic-page {
        width: calc(100% - 20px) !important;
        margin: 18px auto 25px !important;
        padding: 23px 20px !important;
        border-left-width: 4px !important;
        border-radius: 13px !important;
    }

    body.page .ajcm-generic-page h2 {
        font-size: 26px !important;
    }

    body.page .ajcm-generic-page .alignleft,
    body.page .ajcm-generic-page .alignright {
        float: none !important;
        display: block !important;
        margin: 18px auto !important;
    }

    body.page .ajcm-generic-page table {
        display: block !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    body.page .ajcm-generic-page :is(.button, .btn, .wp-block-button__link, a[class*="button"], button, input[type="submit"]) {
        max-width: 100% !important;
    }
}

@media print {
    body.page .ajcm-generic-page {
        width: 100% !important;
        max-width: none !important;
        border: 1px solid #777 !important;
        box-shadow: none !important;
    }

    body.page .page-sidebar-column,
    body.page .sharedaddy {
        display: none !important;
    }
}
