/* =========================================================
   BOSQWEB — CHARTE IA
   Style Bosqweb / Responsive / SEO-GEO
   ========================================================= */

.bosq-charte {
    --blue:#2867bd;
    --blue-dark:#173e72;
    --ink:#132234;
    --text:#52667d;
    --muted:#7c8998;
    --line:#dce4ec;
    --soft:#f7f9fb;
    --white:#ffffff;

    background:#fff;
    color:var(--ink);
    font-family:Arial,Helvetica,sans-serif;
    line-height:1.68;
    overflow:hidden;
}

.bosq-charte *,
.bosq-charte *::before,
.bosq-charte *::after {
    box-sizing:border-box;
}

.bosq-charte-container {
    width:min(1120px,calc(100% - 40px));
    margin:0 auto;
}

.bosq-charte-narrow {
    max-width:850px;
}

.bosq-charte-section {
    padding:85px 0;
    border-top:1px solid var(--line);
}

.bosq-charte h1,
.bosq-charte h2 {
    margin-top:0;
    color:var(--ink);
    font-family:Georgia,"Times New Roman",serif;
    letter-spacing:-.035em;
}

.bosq-charte h1 {
    max-width:950px;
    margin-bottom:28px;
    font-size:clamp(3rem,7vw,5.5rem);
    line-height:.98;
}

.bosq-charte h2 {
    margin-bottom:25px;
    font-size:clamp(2.1rem,4.5vw,3.7rem);
    line-height:1.08;
}

.bosq-charte h3 {
    margin:0 0 12px;
    color:var(--ink);
}

.bosq-charte-em {
    color:var(--blue);
    font-style:italic;
    font-weight:400;
}

.bosq-charte-lead {
    max-width:850px;
    color:var(--text);
    font-size:clamp(1.15rem,2vw,1.38rem);
    line-height:1.7;
}

.bosq-charte-text {
    color:var(--text);
    font-size:1.06rem;
}

.bosq-charte-label {
    display:inline-block;
    margin-bottom:30px;
    padding:7px 11px;
    border:1px solid #bdd2ec;
    background:#f4f8fd;
    color:var(--blue-dark);
    font-family:"Courier New",monospace;
    font-size:.7rem;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.bosq-charte-label::before {
    content:"●";
    margin-right:8px;
    color:var(--blue);
}

/* HERO */
.bosq-charte-hero {
    padding:105px 0 90px;
    background-color:#fff;
    background-image:
        linear-gradient(rgba(40,103,189,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(40,103,189,.035) 1px,transparent 1px);
    background-size:48px 48px;
}

.bosq-charte-authorline {
    margin-top:35px;
    padding-top:25px;
    border-top:1px solid var(--line);
    color:var(--text);
    font-size:.98rem;
}

.bosq-charte-authorline strong {
    color:var(--ink);
}

.bosq-charte-version {
    display:inline-block;
    margin-left:8px;
    color:var(--muted);
    font-family:"Courier New",monospace;
    font-size:.72rem;
}

/* INTRO */
.bosq-charte-intro {
    background:var(--soft);
}

.bosq-charte-conviction {
    max-width:850px;
    margin-top:40px;
    padding:28px 0 0;
    border-top:1px solid var(--line);
    color:var(--ink);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1.4rem,3vw,2rem);
    line-height:1.45;
}

/* NAVIGATION */
.bosq-charte-nav {
    display:grid;
    grid-template-columns:repeat(5,1fr);
    margin-top:50px;
    border:1px solid var(--line);
    background:#fff;
}

.bosq-charte-nav a {
    display:block;
    padding:22px 18px;
    border-right:1px solid var(--line);
    color:var(--ink);
    text-decoration:none;
}

.bosq-charte-nav a:last-child {
    border-right:0;
}

.bosq-charte-nav span {
    display:block;
    margin-bottom:7px;
    color:var(--blue);
    font-family:"Courier New",monospace;
    font-size:.68rem;
    letter-spacing:.1em;
}

.bosq-charte-nav strong {
    display:block;
    font-size:.88rem;
    line-height:1.35;
}

.bosq-charte-nav a:hover {
    background:var(--soft);
}

/* CHAPITRES */
.bosq-charte-chapter {
    padding:80px 0;
    border-top:1px solid var(--line);
    scroll-margin-top:30px;
}

.bosq-charte-chapter-head {
    display:grid;
    grid-template-columns:180px 1fr;
    gap:50px;
    margin-bottom:45px;
}

.bosq-charte-chapter-num {
    color:var(--blue);
    font-family:"Courier New",monospace;
    font-size:.72rem;
    letter-spacing:.12em;
}

.bosq-charte-chapter h2 {
    margin:0;
    font-size:clamp(2rem,4vw,3.1rem);
}

/* PRINCIPES */
.bosq-charte-principles {
    max-width:900px;
    margin-left:auto;
}

.bosq-charte-principle {
    display:grid;
    grid-template-columns:70px 1fr;
    gap:25px;
    padding:30px 0;
    border-top:1px solid var(--line);
}

.bosq-charte-principle:last-child {
    border-bottom:1px solid var(--line);
}

.bosq-charte-principle-num {
    padding-top:2px;
    color:var(--blue);
    font-family:"Courier New",monospace;
    font-size:.78rem;
    font-weight:bold;
}

.bosq-charte-principle h3 {
    margin-bottom:9px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:1.35rem;
}

.bosq-charte-principle p {
    margin:0;
    color:var(--text);
}

/* APPLICATION BOSQWEB */
.bosq-charte-dark {
    background:var(--ink);
    color:#fff;
}

.bosq-charte-dark h2 {
    color:#fff;
}

.bosq-charte-dark .bosq-charte-em {
    color:#73a9ed;
}

.bosq-charte-dark .bosq-charte-lead,
.bosq-charte-dark .bosq-charte-text {
    color:#cbd4dd;
}

.bosq-charte-dark .bosq-charte-label {
    background:#fff;
}

.bosq-charte-actions {
    display:grid;
    grid-template-columns:1fr 1fr;
    margin-top:45px;
    border-top:1px solid rgba(255,255,255,.18);
}

.bosq-charte-action {
    padding:30px 35px 30px 0;
    border-bottom:1px solid rgba(255,255,255,.18);
}

.bosq-charte-action:nth-child(odd) {
    border-right:1px solid rgba(255,255,255,.18);
}

.bosq-charte-action:nth-child(even) {
    padding-left:35px;
}

.bosq-charte-action strong {
    display:block;
    margin-bottom:8px;
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:1.25rem;
}

.bosq-charte-action p {
    margin:0;
    color:#cbd4dd;
}

/* TRACKING / MODELES */
.bosq-charte-models {
    background:var(--soft);
}

.bosq-charte-note {
    max-width:850px;
    margin-top:35px;
    padding:22px 25px;
    border-left:3px solid var(--blue);
    background:#fff;
    color:var(--text);
}

.bosq-charte-note strong {
    color:var(--ink);
}

/* REUTILISATION */
.bosq-charte-license {
    padding:70px 0;
    border-top:1px solid var(--line);
}

.bosq-charte-license-box {
    max-width:900px;
    padding:30px;
    border:1px solid var(--line);
    background:var(--soft);
}

.bosq-charte-license-box p:last-child {
    margin-bottom:0;
}

/* FAQ */
.bosq-charte-faq {
    background:var(--soft);
}

.bosq-charte-faq-list {
    max-width:900px;
    margin-top:40px;
}

.bosq-charte-faq-item {
    padding:28px 0;
    border-top:1px solid var(--line);
}

.bosq-charte-faq-item:last-child {
    border-bottom:1px solid var(--line);
}

.bosq-charte-faq-item h3 {
    margin-bottom:10px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:1.3rem;
}

.bosq-charte-faq-item p {
    margin:0;
    color:var(--text);
}

/* AUTEUR */
.bosq-charte-author {
    padding:85px 0;
}

.bosq-charte-author-grid {
    display:grid;
    grid-template-columns:190px 1fr;
    gap:55px;
    align-items:start;
}

.bosq-charte-author-mark {
    width:150px;
    height:150px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--line);
    background:var(--soft);
    color:var(--blue);
    font-family:Georgia,"Times New Roman",serif;
    font-size:2.8rem;
    font-weight:bold;
}

.bosq-charte-author h2 {
    margin-bottom:15px;
    font-size:clamp(2rem,4vw,3rem);
}

.bosq-charte-author-links {
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:25px;
}

.bosq-charte-button,
.bosq-charte-button-secondary {
    display:inline-block;
    padding:12px 18px;
    font-family:"Courier New",monospace;
    font-size:.72rem;
    font-weight:bold;
    letter-spacing:.05em;
    text-decoration:none !important;
    text-transform:uppercase;
}

.bosq-charte-button {
    border:1px solid var(--blue);
    background:var(--blue);
    color:#fff !important;
}

.bosq-charte-button-secondary {
    border:1px solid var(--line);
    background:#fff;
    color:var(--blue-dark) !important;
}

/* FOOT */
.bosq-charte-foot {
    padding:45px 0;
    border-top:1px solid var(--line);
    background:var(--soft);
}

.bosq-charte-foot p {
    margin:0;
    color:var(--muted);
    font-family:"Courier New",monospace;
    font-size:.72rem;
    line-height:1.7;
}

/* RESPONSIVE */
@media(max-width:850px) {

    .bosq-charte-section,
    .bosq-charte-chapter,
    .bosq-charte-author {
        padding:60px 0;
    }

    .bosq-charte-hero {
        padding:70px 0;
    }

    .bosq-charte-nav {
        grid-template-columns:1fr 1fr;
    }

    .bosq-charte-nav a {
        border-bottom:1px solid var(--line);
    }

    .bosq-charte-chapter-head {
        grid-template-columns:1fr;
        gap:10px;
    }

    .bosq-charte-principles {
        margin-left:0;
    }

    .bosq-charte-actions {
        grid-template-columns:1fr;
    }

    .bosq-charte-action,
    .bosq-charte-action:nth-child(odd),
    .bosq-charte-action:nth-child(even) {
        padding:25px 0;
        border-right:0;
    }

    .bosq-charte-author-grid {
        grid-template-columns:1fr;
        gap:30px;
    }
}

@media(max-width:560px) {

    .bosq-charte-container {
        width:calc(100% - 28px);
    }

    .bosq-charte-hero {
        padding:55px 0;
        background-size:32px 32px;
    }

    .bosq-charte h1 {
        font-size:clamp(2.5rem,12vw,3.5rem);
    }

    .bosq-charte-nav {
        grid-template-columns:1fr;
    }

    .bosq-charte-nav a {
        border-right:0;
    }

    .bosq-charte-principle {
        grid-template-columns:1fr;
        gap:7px;
    }

    .bosq-charte-author-mark {
        width:100px;
        height:100px;
        font-size:2rem;
    }

    .bosq-charte-button,
    .bosq-charte-button-secondary {
        width:100%;
        text-align:center;
    }
}