
/*
 * DAOFest — Design System v0.4
 *
 * Système visuel :
 * 1. DISPLAY — titres : condensé, fort, peu fréquent
 * 2. MONO — navigation, dates, labels, métadonnées
 * 3. SANS — lecture courante
 *
 * Couleur :
 * - noir = structure
 * - blanc/papier = respiration
 * - bleu électrique = signal, navigation, accents
 */

:root{
    --dao-blue:#164BFF;
    --dao-blue-dark:#0D2C9E;
    --dao-blue-soft:#E9EEFF;
    --dao-ink:#0A0A0A;
    --dao-paper:#F5F3ED;
    --dao-white:#FFFFFF;
    --dao-line:rgba(10,10,10,.14);
    --dao-muted:rgba(10,10,10,.58);

    --dao-display:Impact, Haettenschweiler, "Arial Narrow Bold", "Arial Narrow", sans-serif;
    --dao-mono:"Courier New", Courier, monospace;
    --dao-sans:"Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* =========================================================
   BASE
   ========================================================= */

body.daofest-design-system{
    color:var(--dao-ink);
    background:
        radial-gradient(circle at 20% 10%, rgba(0,0,0,.018) 0 1px, transparent 1.5px) 0 0/12px 12px,
        var(--dao-paper);
    font-family:var(--dao-sans);
}

body.daofest-design-system ::selection{
    background:var(--dao-blue);
    color:#fff;
}

body.daofest-design-system a{
    text-underline-offset:.18em;
}

/* =========================================================
   HEADER / NAVIGATION
   ========================================================= */

body.daofest-design-system .wp-site-blocks{
    padding-top:0 !important;
}

body.daofest-design-system header.wp-block-template-part{
    margin:0 !important;
    padding:0 !important;
    background:#fff;
    border-bottom:1px solid var(--dao-line);
}

body.daofest-design-system header.wp-block-template-part::after{
    content:"";
    display:block;
    height:3px;
    width:100%;
    background:linear-gradient(90deg,var(--dao-blue) 0 18%,transparent 18% 100%);
}

body.daofest-design-system header.wp-block-template-part > .wp-block-group,
body.daofest-design-system header.wp-block-template-part > .wp-block-group.alignwide{
    max-width:1220px !important;
    min-height:72px !important;
    margin:0 auto !important;
    padding:8px 18px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:18px !important;
}

body.daofest-design-system header.wp-block-template-part .wp-block-group{
    margin-top:0 !important;
    margin-bottom:0 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
    min-height:0 !important;
}

body.daofest-design-system header.wp-block-template-part .wp-block-site-logo{
    margin:0 !important;
    flex:0 0 auto;
}

body.daofest-design-system header.wp-block-template-part .wp-block-site-logo img{
    width:52px !important;
    height:52px !important;
    object-fit:contain;
}

body.daofest-design-system header.wp-block-template-part .wp-block-site-title{
    margin:0 !important;
    font-family:var(--dao-sans);
    font-size:15px !important;
    line-height:1 !important;
    font-style:italic;
    font-weight:500;
    white-space:nowrap;
}

body.daofest-design-system header.wp-block-template-part .wp-block-navigation{
    margin:0 0 0 10px !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
}

body.daofest-design-system header.wp-block-template-part .wp-block-navigation__container{
    gap:24px !important;
    align-items:center !important;
}

body.daofest-design-system header.wp-block-template-part .wp-block-navigation-item{
    margin:0 !important;
    position:relative;
}

body.daofest-design-system header.wp-block-template-part .wp-block-navigation-item__content{
    padding:5px 0 !important;
    font-family:var(--dao-mono) !important;
    font-size:11px !important;
    line-height:1.1 !important;
    font-weight:700 !important;
    letter-spacing:.075em !important;
    text-transform:uppercase;
    text-decoration:none !important;
    color:var(--dao-ink) !important;
    white-space:nowrap;
    transition:color .15s ease;
}

body.daofest-design-system header.wp-block-template-part .wp-block-navigation-item__content:hover{
    color:var(--dao-blue) !important;
}

body.daofest-design-system header.wp-block-template-part .current-menu-item > .wp-block-navigation-item__content{
    color:var(--dao-blue) !important;
}

body.daofest-design-system header.wp-block-template-part .current-menu-item::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-8px;
    height:3px;
    background:var(--dao-blue);
}

body.daofest-design-system header.wp-block-template-part .wp-block-navigation-item a:empty{
    display:none !important;
}

body.daofest-design-system header.wp-block-template-part .wp-block-navigation-item:has(a:empty){
    display:none !important;
}

body.daofest-design-system.dha-ambassade-page header.wp-block-template-part{
    border-bottom:0 !important;
}
body.daofest-design-system.dha-ambassade-page header.wp-block-template-part::after{
    display:none;
}

/* =========================================================
   CONTENT WIDTH / RHYTHM
   ========================================================= */

body.daofest-design-system main{
    margin-top:0 !important;
    padding-top:0 !important;
}

body.daofest-design-system:not(.dha-ambassade-page) main > .wp-block-group,
body.daofest-design-system:not(.dha-ambassade-page) .wp-block-post-content,
body.daofest-design-system:not(.dha-ambassade-page) .entry-content{
    max-width:1160px;
    margin-left:auto;
    margin-right:auto;
}

body.daofest-design-system:not(.dha-ambassade-page) .wp-block-post-content,
body.daofest-design-system:not(.dha-ambassade-page) .entry-content{
    padding-left:clamp(18px,4vw,48px);
    padding-right:clamp(18px,4vw,48px);
    padding-top:14px;
    padding-bottom:46px;
}

body.daofest-design-system:not(.dha-ambassade-page) .wp-block-spacer{
    max-height:18px !important;
    height:18px !important;
}

/* =========================================================
   PAGE TITLES
   ========================================================= */

body.daofest-design-system:not(.dha-ambassade-page) .wp-block-post-title,
body.daofest-design-system:not(.dha-ambassade-page) .entry-title,
body.daofest-design-system:not(.dha-ambassade-page) .page-title{
    position:relative;
    max-width:1160px;
    margin:24px auto 10px !important;
    padding:0 clamp(18px,4vw,48px) 16px;
    border-bottom:1px solid var(--dao-ink);
    font-family:var(--dao-display);
    font-size:clamp(48px,7vw,92px) !important;
    line-height:.88 !important;
    letter-spacing:-.025em;
    text-transform:uppercase;
    font-weight:800;
}

body.daofest-design-system:not(.dha-ambassade-page) .wp-block-post-title::before,
body.daofest-design-system:not(.dha-ambassade-page) .entry-title::before,
body.daofest-design-system:not(.dha-ambassade-page) .page-title::before{
    content:"";
    display:block;
    width:78px;
    height:7px;
    margin:0 0 14px;
    background:var(--dao-blue);
}

/* =========================================================
   EDITORIAL TYPOGRAPHY
   ========================================================= */

body.daofest-design-system:not(.dha-ambassade-page) .wp-block-post-content h2,
body.daofest-design-system:not(.dha-ambassade-page) .entry-content h2{
    position:relative;
    max-width:900px;
    margin-top:.95em;
    margin-bottom:.32em;
    padding-left:18px;
    font-family:var(--dao-sans);
    font-size:clamp(27px,3.4vw,46px);
    line-height:1.02;
    letter-spacing:-.025em;
    text-transform:none;
    font-weight:700;
}

body.daofest-design-system:not(.dha-ambassade-page) .wp-block-post-content h2::before,
body.daofest-design-system:not(.dha-ambassade-page) .entry-content h2::before{
    content:"";
    position:absolute;
    left:0;
    top:.14em;
    bottom:.14em;
    width:5px;
    background:var(--dao-blue);
}

body.daofest-design-system:not(.dha-ambassade-page) .wp-block-post-content h3,
body.daofest-design-system:not(.dha-ambassade-page) .entry-content h3{
    max-width:820px;
    margin-top:1.1em;
    margin-bottom:.4em;
    font-family:var(--dao-mono);
    font-size:clamp(15px,1.55vw,20px);
    line-height:1.25;
    letter-spacing:.055em;
    text-transform:uppercase;
    font-weight:700;
    color:var(--dao-blue-dark);
}

body.daofest-design-system:not(.dha-ambassade-page) .wp-block-post-content h4,
body.daofest-design-system:not(.dha-ambassade-page) .entry-content h4{
    font-family:var(--dao-mono);
    font-size:13px;
    letter-spacing:.07em;
    text-transform:uppercase;
    color:var(--dao-muted);
}

body.daofest-design-system:not(.dha-ambassade-page) .wp-block-post-content p,
body.daofest-design-system:not(.dha-ambassade-page) .entry-content p,
body.daofest-design-system:not(.dha-ambassade-page) .wp-block-post-content li,
body.daofest-design-system:not(.dha-ambassade-page) .entry-content li{
    max-width:820px;
    font-family:var(--dao-sans);
    font-size:clamp(15px,1.1vw,18px);
    line-height:1.62;
}

body.daofest-design-system:not(.dha-ambassade-page) .wp-block-post-content > p:first-of-type{
    max-width:870px;
    font-size:clamp(17px,1.45vw,21px);
    line-height:1.5;
    font-weight:500;
}

/* =========================================================
   LINKS / BUTTONS
   ========================================================= */

body.daofest-design-system:not(.dha-ambassade-page) .wp-block-post-content a,
body.daofest-design-system:not(.dha-ambassade-page) .entry-content a{
    color:var(--dao-blue);
    text-decoration-color:var(--dao-blue);
    text-decoration-thickness:1px;
}

body.daofest-design-system .wp-block-button__link,
body.daofest-design-system input[type="submit"],
body.daofest-design-system button:not(.wp-block-navigation__responsive-container-open):not(.wp-block-navigation__responsive-container-close){
    border:1px solid var(--dao-ink) !important;
    border-radius:0 !important;
    padding:12px 16px !important;
    background:var(--dao-ink) !important;
    color:#fff !important;
    font-family:var(--dao-mono) !important;
    font-size:11px !important;
    font-weight:700 !important;
    letter-spacing:.08em;
    text-transform:uppercase;
    box-shadow:none !important;
}

body.daofest-design-system .wp-block-button__link:hover,
body.daofest-design-system input[type="submit"]:hover{
    background:var(--dao-blue) !important;
    border-color:var(--dao-blue) !important;
}

/* =========================================================
   LISTS / QUOTES / RULES
   ========================================================= */

body.daofest-design-system:not(.dha-ambassade-page) .wp-block-post-content ul,
body.daofest-design-system:not(.dha-ambassade-page) .entry-content ul,
body.daofest-design-system:not(.dha-ambassade-page) .wp-block-post-content ol,
body.daofest-design-system:not(.dha-ambassade-page) .entry-content ol{
    max-width:820px;
    padding-left:1.25em;
}

body.daofest-design-system:not(.dha-ambassade-page) .wp-block-post-content li::marker,
body.daofest-design-system:not(.dha-ambassade-page) .entry-content li::marker{
    color:var(--dao-blue);
    font-weight:700;
}

body.daofest-design-system blockquote,
body.daofest-design-system .wp-block-quote{
    max-width:860px;
    margin:24px 0 !important;
    padding:20px 24px !important;
    border-left:6px solid var(--dao-blue) !important;
    background:var(--dao-blue-soft);
    font-family:var(--dao-mono);
}

body.daofest-design-system hr,
body.daofest-design-system .wp-block-separator{
    border:0 !important;
    border-top:1px solid var(--dao-ink) !important;
    opacity:1 !important;
}

/* =========================================================
   IMAGES / CAPTIONS
   ========================================================= */

body.daofest-design-system:not(.dha-ambassade-page) figure.wp-block-image img,
body.daofest-design-system:not(.dha-ambassade-page) .wp-block-media-text__media img{
    border:1px solid var(--dao-line);
}

body.daofest-design-system figcaption{
    margin-top:6px !important;
    color:var(--dao-blue-dark);
    font-family:var(--dao-mono);
    font-size:10px !important;
    line-height:1.35;
    letter-spacing:.04em;
}

/* =========================================================
   QUERY / ARTICLE LISTS
   ========================================================= */

body.daofest-design-system .wp-block-query .wp-block-post-template{
    gap:0 !important;
    border-top:1px solid var(--dao-line);
}

body.daofest-design-system .wp-block-query .wp-block-post{
    position:relative;
    padding:18px 0 18px 18px !important;
    border-bottom:1px solid var(--dao-line);
}

body.daofest-design-system .wp-block-query .wp-block-post::before{
    content:"";
    position:absolute;
    left:0;
    top:22px;
    width:5px;
    height:30px;
    background:var(--dao-blue);
}

body.daofest-design-system .wp-block-query .wp-block-post-title{
    margin:0 0 7px !important;
    padding:0 !important;
    border:0 !important;
    font-family:var(--dao-sans);
    font-size:clamp(23px,3vw,38px) !important;
    line-height:1.02 !important;
    letter-spacing:-.025em;
    text-transform:none;
    font-weight:700;
}

body.daofest-design-system .wp-block-query .wp-block-post-title a{
    color:var(--dao-ink) !important;
    text-decoration:none !important;
}

body.daofest-design-system .wp-block-query .wp-block-post-title a:hover{
    color:var(--dao-blue) !important;
}

body.daofest-design-system .wp-block-post-date{
    color:var(--dao-blue);
    font-family:var(--dao-mono);
    font-size:10px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
}

/* =========================================================
   TABLES / FORMS
   ========================================================= */

body.daofest-design-system table{
    border-collapse:collapse;
    width:100%;
    font-family:var(--dao-sans);
}

body.daofest-design-system th,
body.daofest-design-system td{
    padding:10px;
    border:1px solid var(--dao-line);
    text-align:left;
}

body.daofest-design-system th{
    background:var(--dao-blue);
    color:#fff;
    font-family:var(--dao-mono);
    text-transform:uppercase;
    letter-spacing:.05em;
}

body.daofest-design-system input[type="text"],
body.daofest-design-system input[type="email"],
body.daofest-design-system input[type="url"],
body.daofest-design-system textarea,
body.daofest-design-system select{
    border:1px solid var(--dao-ink);
    border-radius:0;
    background:#fff;
    padding:10px;
    font-family:var(--dao-sans);
}

body.daofest-design-system input:focus,
body.daofest-design-system textarea:focus,
body.daofest-design-system select:focus{
    outline:2px solid var(--dao-blue);
    outline-offset:1px;
}

/* =========================================================
   FOOTER
   ========================================================= */

body.daofest-design-system footer.wp-block-template-part{
    display:none !important;
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width:980px){
    body.daofest-design-system header.wp-block-template-part > .wp-block-group,
    body.daofest-design-system header.wp-block-template-part > .wp-block-group.alignwide{
        min-height:68px !important;
        padding:8px 14px !important;
        gap:12px !important;
        flex-wrap:wrap !important;
    }

    body.daofest-design-system header.wp-block-template-part .wp-block-site-logo img{
        width:46px !important;
        height:46px !important;
    }

    body.daofest-design-system header.wp-block-template-part .wp-block-navigation{
        width:100% !important;
        margin-left:0 !important;
    }

    body.daofest-design-system header.wp-block-template-part .wp-block-navigation__container{
        gap:16px !important;
    }

    body.daofest-design-system:not(.dha-ambassade-page) .wp-block-post-title,
    body.daofest-design-system:not(.dha-ambassade-page) .entry-title,
    body.daofest-design-system:not(.dha-ambassade-page) .page-title{
        margin-top:18px !important;
        font-size:clamp(40px,11vw,70px) !important;
    }
}

@media (max-width:640px){
    body.daofest-design-system:not(.dha-ambassade-page) .wp-block-post-content,
    body.daofest-design-system:not(.dha-ambassade-page) .entry-content{
        padding-left:16px;
        padding-right:16px;
        padding-top:12px;
        padding-bottom:34px;
    }

    body.daofest-design-system:not(.dha-ambassade-page) .wp-block-post-title,
    body.daofest-design-system:not(.dha-ambassade-page) .entry-title,
    body.daofest-design-system:not(.dha-ambassade-page) .page-title{
        padding-left:16px;
        padding-right:16px;
    }

    body.daofest-design-system header.wp-block-template-part .wp-block-navigation-item__content{
        font-size:10px !important;
        letter-spacing:.055em !important;
    }
}
