/* Reset minimal */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body { margin: 0; font-family: Montserrat, sans-serif; max-width: 100vw; padding-top: 60px; color: #1E1E1E; background: #fff; }
img, video, iframe, pre, table { max-width: 100%; }
img { display: block; height: auto; }
figure { margin: 0; padding: 0; }
h1, h2, h3, h4, h5, h6 { margin: 0; }

/* Header sticky */
.headcontain { position: fixed; top: 0; left: 0; right: 0; z-index: 50; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.1); padding: 12px 24px; }
.headctfloor1 { max-width: 1280px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; }
.headctfloor2 { display: flex; align-items: center; gap: 12px; }
.headctfloor3 { width: 40px; height: 40px; background: #4263eb; border-radius: 8px; display: flex; align-items: center; justify-content: center; }
span.headlettrine { color: #fff; font-weight: 700; font-size: 18px; }
.headmaintitle { font-weight: 600; font-size: 16px; color: #111; }
button.headbutton { padding: 8px 20px; background: #4263eb; color: #fff; border: none; border-radius: 8px; font-size: 14px; font-weight: 500; cursor: pointer; }
button.headbutton:hover { background: #3b5bdb; }

/* Breadcrumb */
.article-breadcrumb ul { list-style: none; padding: 0; display: flex; gap: .5rem; flex-wrap: wrap; font-size: .875rem; }
.article-breadcrumb li::before { content: "›"; margin-right: .5rem; }
.article-breadcrumb li:first-child::before { content: ""; margin: 0; }
.article-breadcrumb a { color: #000; text-decoration: none; }
.article-breadcrumb a:hover { text-decoration: underline; }

/* LLM summary */
.llm-summary { margin: 1.5rem 0 2rem; border: 1px solid #e5e5e5; border-radius: 12px; overflow: hidden; background: #f2f2f2fa; }
.llm-summary-summary { cursor: pointer; padding: 1rem 1.25rem; font-weight: 600; display: flex; align-items: center; gap: .5rem; list-style: none; }
.llm-summary-summary::-webkit-details-marker { display: none; }
.llm-summary-summary::before { content: "💡"; font-size: 1.1rem; }
.llm-summary-title { font-size: 1rem; }
.llm-summary-inner { padding: 0 1.25rem 1rem; }
.llm-summary-points { margin: 0; padding-left: 1.5rem; }
.llm-summary-points li { margin-bottom: .75rem; line-height: 1.6; opacity: .85; }
.llm-summary-ai-notice { font-size: .75rem; opacity: .5; margin-top: .75rem; font-style: italic; }

/* Article body */
.article-content { max-width: 900px; margin: 0 auto; padding: 3rem 1rem; }
.article-content h1 { font-size: 2rem; font-weight: 700; margin-bottom: 1.5rem; }
.article-content h2 { font-size: 1.5rem; font-weight: 600; margin: 2rem 0 1rem; }
.article-content h3 { font-size: 1.25rem; font-weight: 600; margin: 1.5rem 0 .75rem; }
.article-content p, ul { line-height: 1.8; font-size: 17px;}
.article-content img { width: 100%; height: auto; border-radius: .5rem; margin: 1.5rem 0; object-fit: cover; }
.article-content a { color: #4263eb; text-decoration: underline; }

/* FAQ */
.article-faq { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid #e5e5e5; }
.article-faq h2 { font-size: 1.5rem; font-weight: 600; margin-bottom: 1rem; }
.blocp { margin-bottom: 1.5rem; }
.blocp h3 { font-size: 1.1rem; font-weight: 600; margin-bottom: .5rem; }

/* Related */
.article-related { margin-top: 2rem; padding: 1.5rem; background: #f2f2f2fa; border-radius: .75rem; }
.article-related h3 { font-size: 1.1rem; font-weight: 600; margin-top: 1rem; margin-bottom: .75rem; }
.article-related h3:first-child { margin-top: 0; }
.article-related ul { padding-left: 1.25rem; }
.article-related li { margin-bottom: .5rem; }
.article-related a { color: inherit; text-decoration: none; }
.article-related a:hover { text-decoration: underline; }

/* Article footer */
.article-footer { margin-top: 3rem; padding: 1.5rem 1rem; border-top: 1px solid #e5e5e5; background: #fafafa; }
.article-footer-inner { max-width: 900px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; font-size: .875rem; }
.article-footer-home { font-weight: 600; color: #111; text-decoration: none; }
.article-footer-home:hover { text-decoration: underline; }
.article-footer-copy { color: #666; font-size: .75rem; }

/* Blockquote */
blockquote {
    font-size: 22px;
    margin-inline-start: 0;
    margin-inline-end: 0;
    background-color: #f1f1f1;
    color: #3b5bdb;
    max-width: 100%;
    padding: 20px 50px 45px 20px;
    margin: 40px auto 40px auto;
}
blockquote::before {
    content: "" !important;
    display: block;
    width: 60px;
    height: 60px !important;
    background-image: url(/images/blockquote.png);
    background-size: contain;
    background-repeat: no-repeat;
} 

/* Tableaux */
table td, table th {
    border: 1px solid hsla(0, 0%, 50%, .502);
    line-height: 1.5;
    padding: 15px;
    vertical-align: top;
}
table tbody>tr:nth-child(odd)>td, table tbody>tr:nth-child(odd)>th {
    background-color: hsla(0, 0%, 50%, .071);
}