/**
 * Theme Name:  Thème Festival (version dev temporaire)
 * Description: Le thème du Festival 1001 Notes
 * Version:     1.0
 * Tags:        Festival 1001 Notes
 * Text Domain: festivaltheme
 * License:     GNU General Public License v2.0 or later
 * License URI: http://www.gnu.org/licenses/gpl-2.0.html
 */



 /* ============================================================
   01. POLICES & VARIABLES CSS  
   ============================================================
   Les polices sont déclarées dans fontes.css,
   chargé séparément via WordPress (handle : festivaltheme-fonts).
   La police d'icônes Genericons est déclarée ci-dessous.
   ============================================================ */

    @font-face {
        font-family: 'Genericons';
        font-weight: normal;
        font-style: normal;
        src: url('fonts/genericons/genericons-regular-webfont.eot');
        src: url('fonts/genericons/genericons-regular-webfont.eot?#iefix') format('embedded-opentype'),
            url('fonts/genericons/genericons-regular-webfont.woff') format('woff'),
            url('fonts/genericons/genericons-regular-webfont.ttf') format('truetype'),
            url('fonts/genericons/genericons-regular-webfont.svg#genericonsregular') format('svg');
    }

    @font-face {
        font-family: 'goia-classic';
        font-weight: normal;
        font-style: normal;
        src: url('fonts/goia-classic/Goia-Regular.woff2') format('woff'),
            url('fonts/goia-classic/Goia-Regular.woff') format('woff');
    }

    @font-face {
        font-family: 'goia-classic';
        font-weight: bold;
        font-style: normal;
        src: url('fonts/goia-classic/Goia-Bold.woff2') format('woff'),
            url('fonts/goia-classic/Goia-Bold.woff') format('woff');
    }

    @font-face {
        font-family: 'goia-classic';
        font-weight: 100;
        font-style: normal;
        src: url('fonts/goia-classic/Goia-Light.woff2') format('woff'),
            url('fonts/goia-classic/Goia-Light.woff') format('woff');
    }

@font-face {
        font-family: 'goia-display';
        font-weight: normal;
        font-style: normal;
        src: url('fonts/goia-display/GoiaDisplay-Regular.woff2') format('woff'),
            url('fonts/goia-display/GoiaDisplay-Regular.woff') format('woff');
    }

    @font-face {
        font-family: 'goia-display';
        font-weight: bold;
        font-style: normal;
        src: url('fonts/goia-display/GoiaDisplay-Bold.woff2') format('woff'),
            url('fonts/goia-display/GoiaDisplay-Bold.woff') format('woff');
    }

    @font-face {
        font-family: 'goia-display';
        font-weight: 100;
        font-style: normal;
        src: url('fonts/goia-display/GoiaDisplay-Light.woff2') format('woff'),
            url('fonts/goia-display/GoiaDisplay-Light.woff') format('woff');
    }



    :root {

        /* -- Couleurs -------------------------------------------- */

        /* #FBD247 jaune */
        /* #00716A vert */
        /* #EFB3A3 rose */
        /* #FFFBE7 beige */


        /* -- Couleurs -------------------------------------------- */

        --festival-green-base:  #00716A;
        --festival-yellow-base: #FBD247;
        --festival-sand-base:   #FFFBE7;
        --festival-pink-base:   #EFB3A3;


        --color-primary:         #D00C1E;   /* rouge principal  (ex #d72245) */
        --color-secondary:       #0099aa;   /* turquoise */
        --color-accent-marron:   #c5ac91;   /* marron */
        --color-accent-beige:    #E3D5C6;   /* beige */
        --color-neutral-dark:    #939598;   /* gris foncé */
        --color-neutral-mid:     #d0d0ce;   /* gris moyen */
        --color-neutral-light:   #e2e2e2;   /* gris clair */
        --color-turquoise-blog:  #00B5C6;   /* turquoise blog */

        /* -- Polices --------------------------------------------- */
        --font-base:             'goia-classic', Arial, Helvetica, sans-serif;
        --font-nice:             'goia-display', Arial, Helvetica, sans-serif;


        /* -- Transitions ----------------------------------------- */
        --transition-base:       all 0.25s ease-in-out;
        --transition-image:      all 0.5s ease-in-out;
        --transition-slow:       all 0.6s ease-in-out;   /* sous-menus */
        --transition-slideshow:  all 0.8s;

    }



/* ============================================================
   02. BASE
   ============================================================ */

        /* Box-sizing */
        /* ---------------------------------------------------- */

                html { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

                *, *:before, *:after { -webkit-box-sizing: inherit; -moz-box-sizing: inherit; box-sizing: inherit; }


        /* Base corps de page
        --------------------------------------------------------------- */

            html { font-size: 62.5%; scroll-behavior: smooth; }	   

            body { font-size: 15px; font-size: 1.5rem; overflow-x: hidden; }

            html, body { line-height: 1.4; font-family: var(--font-base); }

            @media only screen and (min-width: 640px) {
                body { font-size: 17px; font-size: 1.7rem; }
            }




/* ============================================================
   03. ACCESSIBILITÉ
   ============================================================ */

    /* Text meant only for screen readers. */
    .screen-reader-text {
        border: 0;
        clip: rect(1px, 1px, 1px, 1px);
        clip-path: inset(50%);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
        word-wrap: normal !important;
    }

    .screen-reader-text:focus {
        clip: auto !important;
        clip-path: none;
        display: block;
        font-size: 1em;
        height: auto;
        left: 5px;
        line-height: normal;
        text-decoration: none;
        top: 5px;
        width: auto;
        z-index: 100000; /* Above WP toolbar. */
        padding: 12px 20px 12px 20px;
        font-weight: bold;
        background: var(--festival-green-base);
        color: white;
    }


/* ============================================================
   04. UTILITAIRES
   ============================================================ */

    /* Le musée des horreurs ! */

        /* Clearing Floats */
        .clearfix::after,
        #main::after,
        .comment-respond::after,
        .entry::after, .entry-summary::after, .archive-header::after,
        li.comment::after, li.comment > article::after, li.ping::after,
        .loop-nav::after, .attachment-meta::after,
        .media-info::after, .media-info ul li::after,
        .media-shortcode-extend::after,
        .wp-playlist-current-item::after,
        .whistles::after, .whistle-content::after,
        header.title::after,
        .col-2.last::after {
            content: ".";
            display: block;
            height: 0;
            clear: both;
            visibility: hidden;
        }

        /* Visibilité responsive */
        @media only screen and (max-width: 767px) {
            .hide-for-small { display: none !important; }
        }

        @media only screen and (min-width: 768px) {
            .hide-for-large { display: none !important; }
        }

        /* Divers */
        .hide,
        .menu-main-menu li.hide { display: none; }


/* ============================================================
   05. TYPOGRAPHIE
   ============================================================ */



/* Liens
--------------------------------------------------------------- */
a { -webkit-transition: var(--transition-base); -moz-transition: var(--transition-base); -o-transition: var(--transition-base); transition: var(--transition-base); }
a:hover, a:focus { text-decoration: underline; }

.entry-content a, .entry-summary a, .comment-content a { padding-bottom: 2px; border-bottom: 1px solid; }
.entry-content .yt-fp-outer a.magpopif { border: none; }
.entry-content a:hover, .entry-content a:focus,
.entry-summary a:hover, .entry-summary a:focus,
.comment-content a:hover, .comment-content a:focus { text-decoration: none; }

a.img-hyperlink, a.img-hyperlink:hover, a.img-hyperlink:focus,
.entry-content a.permalink,
.entry-content a.comments-link { padding: 0; border: 0; display: block; max-width: 100%; width: 100%; text-decoration: none; outline: none; }

a.img-hyperlink img,
a.img-hyperlink:hover img, a.img-hyperlink:focus img,
a.img-hyperlink img:hover, a.img-hyperlink img:focus { width: 100%; max-width: 100%; display: block; text-decoration: none; outline: none; height: auto; }

header.title a.img-hyperlink img { margin-bottom: 0; min-width: 100%; }

.album-thumbs a.img-hyperlink { display: inline-block; max-width: auto; width: auto; }

.post-edit-link { font-size: 11px; text-transform: uppercase; padding: 5px; position: absolute; top: 0; right: 0; z-index: 1000; }
.post-edit-link:hover, .post-edit-link:focus { text-decoration: none; }


/* Titres
--------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6 { line-height: 1.3; margin: 0; }
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover { text-decoration: none; }

h1 { font-size: 33px; margin-bottom: 30px; }
.title h1 { line-height: 35px; margin-bottom: 20px; }
.title h1 span { font-family: var(--font-base); font-weight: bold; font-size: 20px; color: #000; }
.archive-artiste .title h1 { line-height: 35px; margin-bottom: 25px; }
.singular-artiste .entry-header h1 { line-height: 35px; margin-bottom: 5px; }
.singular-event .title h1 { font-size: 28px; line-height: 30px; margin-bottom: 5px; }

h2 { font-size: 32px; margin-bottom: 25px; }
li > h2 { margin-bottom: 0; }
.entry-content h2 { font-size: 24px; margin-bottom: 5px; }
#widget-front-une h2.entry-title { font-size: 26px; margin: 20px 0 15px 0; text-transform: uppercase; font-family: var(--font-base); font-weight: bold; }
.page-template-informations h2 { margin-bottom: 20px; }
.page-partenaires h2,
.archive-partenaire h2 { font-family: var(--font-base); font-weight: bold; font-size: 22px; }

h3 { font-size: 26px; margin-bottom: 20px; text-transform: uppercase; font-family: var(--font-base); font-weight: bold; }
h3 > span { text-transform: none; font-family: var(--font-base); }
#widget-front-une h3.entry-title { margin: 0 0 15px 0; font-family: var(--font-base); font-weight: bold; }
.singular-event .entry-programme h3 span { font-family: var(--font-base); }
.widget-collabs h3 { font-family: var(--font-base); font-weight: bold; font-size: 22px; }

.widget-projets h3,
.widget-front-artistes h3,
#widget-front-partenaires h3 { font-family: var(--font-nice); margin-bottom: 30px; text-align: center; text-transform: none; }

.widget-front-artistes h3 { font-size: 40px; }

#widget-front-partenaires h3 { margin-top: 20px; }

#widget-front-agenda h3 { margin-top: -10px; margin-bottom: 8px; }


.page-template-informations h3 { font-family: var(--font-base); margin: 20px 0 0 0; font-size: 22px; }
.title .entry-intro h3 { font-family: var(--font-base); margin: 20px 0 0 -5px; font-size: 26px; line-height: 40px; }
.title .entry-intro h3 img { display: inline-block; vertical-align: text-bottom; margin-right: 5px; line-height: 40px; height: 30px; width: auto; filter: hue-rotate(190deg); }
.entry-socials h3 { font-family: var(--font-base); font-size: 16px; line-height: 20px; padding: 0; }
.entry-equipe h3,
.entry-partenaires h3 { font-family: var(--font-base); font-weight: bold; text-align: center; font-size: 20px; line-height: 24px; padding: 6px 5px 8px 5px; }

h4 { font-size: 24px; margin-bottom: 15px; text-transform: uppercase; font-family: var(--font-base); font-weight: bold; }
.top-bar h4 { font-size: 15px; line-height: 25px; display: inline-block; margin: 0; font-family: var(--font-base); }
.top-bar h4 a {}
.entry-childs h4 { font-family: var(--font-base); font-weight: bold; font-size: 20px; line-height: 22px; margin-bottom: 5px; }
.archive-artiste #content h4 { font-size: 22px; line-height: 24px; margin-bottom: 3px; }
.singular-artiste #content h4 { font-size: 22px; line-height: 24px; margin-bottom: 0; }
.page-template-2cols .title h4,
.page-template-informations .title h4 { font-family: var(--font-base); font-weight: bold; font-size: 22px; line-height: 24px; margin-bottom: 3px; }

h5 { font-size: 22px; margin-bottom: 10px; text-transform: uppercase; }
.entry-intro h5 { margin-bottom: 25px; line-height: 25px; }

h6,
a.magpopif,
.Caption_Content { font-size: 20px; margin-bottom: 5px; font-family: var(--font-base); font-weight: bold; }
.archive-event #content h6,
.taxonomy-event-tag #content h6,
.search #content h6 { font-family: var(--font-base); font-weight: bold; }
.archive-artiste #content h6 { margin-bottom: 0; font-size: 16px; font-family: var(--font-base); }
.widget-cats-artistes h6, .widget-tags-artistes h6,
#widget-front-agenda h6 { font-family: var(--font-base); margin-bottom: 0; font-size: 17px; }
.widget-tags-artistes h6 { margin-bottom: 20px; }
.widget-collabs h6 { font-family: var(--font-base); font-weight: bold; font-size: 17px; display: inline-block; }
.wp-caption h6 { font-family: var(--font-base); font-weight: bold; line-height: 25px; height: 25px; margin: 0; font-size: 18px; letter-spacing: -0.05em; overflow: hidden; padding: 0 2px; }
.page-partenaires h6,
.archive-partenaire h6 { font-family: var(--font-base); font-size: 15px; margin: 10px 0; line-height: 20px; letter-spacing: -0.05em; }
.widget-front-artistes h6,
ul.presse h6 { font-family: var(--font-base); font-size: 14px; text-align: center; height: 18px; overflow: hidden; margin-top: 5px; }
a.magpopif { font-family: var(--font-base); font-size: 14px; text-align: center; padding-top: 10px; }
.Caption_Content { font-family: var(--font-base); font-size: 14px; }


/* Paragraphes, citations
--------------------------------------------------------------- */
p { margin: 0 0 20px 0; }
.entry-content p { margin: 0 0 30px 0; }
.entry-intro p { margin-bottom: 10px; }

blockquote { margin: 10px 10px 30px; padding: 30px 30px 0; font-size: 1em; font-style: normal; border: 2px dashed; outline: 10px solid; }
blockquote { border-color: rgba(255, 255, 255, 0.15); }
blockquote a, .entry-content blockquote a { color: rgba(255, 255, 255, 0.75); border-color: rgba(255, 255, 255, 0.25); }
blockquote a:hover, blockquote a:focus,
.entry-content blockquote a:hover, .entry-content blockquote a:focus { border-color: #fff; }
blockquote cite { font-size: 0.875em; font-variant: small-caps; }
.twitter-tweet { width: 100%; }

mark { padding: 3px; font-size: 1.125rem; font-style: normal; }
hr { height: 3px; border-bottom: 1px solid; border-top: 1px solid; }
.small, small { font-size: 14px; }

code { display: inline-block; padding: 2px; font-size: 1rem; font-weight: 400; border: 1px solid; }
body pre, body code { font-family: Monaco, Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", "Courier New", Courier, monospace; }
pre, .form-allowed-tags code { padding: 1.875rem 30px; font-size: 1.125rem; line-height: 1.875rem; border: 1px solid; -webkit-background-size: 3.75rem 3.75rem; -moz-background-size: 3.75rem 3.75rem; background-size: 3.75rem 3.75rem; }
pre code { padding: 0; font-size: 1em; background: transparent; border: none; }


/* Listes
--------------------------------------------------------------- */
#main ul { margin-left: 25px; }
#main ul li { margin-bottom: 10px; }

.page-template-2cols .title ul { margin-bottom: 0; }
.page-template-2cols .title ul + ul { margin-top: 20px; }
.page-template-2cols .title ul ul { margin-bottom: 10px; }
.page-template-2cols #main .title ul li { margin-bottom: 0; }

.widget ul { margin-left: 25px; }
dt { font-weight: 700; }


/* Tableaux
--------------------------------------------------------------- */
table { width: 100%; border-collapse: collapse; }
caption { margin: 0 0 5px; font-variant: small-caps; }
tr, thead { border-bottom: 1px solid; }
tr:last-child { border: none; }
tfoot { border-top: 1px solid; }
th, td { padding: 10px; }
th { font-size: 0.8125rem; font-weight: 700; text-transform: uppercase; }
.ltr th { text-align: left; }
.rtl th { text-align: right; }
td { border: 1px solid; }
th:empty, td:empty, th.pad, td.pad { opacity: 0; }

/* Calendrier WordPress */
.wp-calendar th { font-size: 0.75rem; }
.wp-calendar td, .wp-calendar th { padding: 5px 2%; vertical-align: middle; text-align: center; }
.wp-calendar th { padding: 10px 2%; }
.wp-calendar tbody td.has-posts { padding: 0; }
.wp-calendar td.has-posts a { display: block; padding: 5px 2%; font-weight: 700; }


/* Formulaires & boutons
--------------------------------------------------------------- */
input, textarea, select {
    font-size: 16px;
    background-color: #FFF;
    border: 1px solid;
    line-height: 28px;
    padding: 5px 15px;
    -webkit-transition: var(--transition-base);
    -moz-transition: var(--transition-base);
    -o-transition: var(--transition-base);
    transition: var(--transition-base);
}

select { font-size: 1rem; padding: 7px; }
textarea { min-height: 300px; padding: 5px 15px; }

button, input[type="submit"] {
    font-size: 16px;
    border: 1px solid;
    line-height: 28px;
    text-transform: uppercase;
    text-align: center;
    padding: 5px 15px;
    font-family: var(--font-base); font-weight: bold;
    outline: none;
    transition: var(--transition-base);
}
button:hover, input[type="submit"]:hover,
button:focus, input[type="submit"]:focus { color: #FFF; text-decoration: none; }

.button-container {
  text-align: center;
}

a.button, span.button a, span.buttonspan {
    font-size: 16px; font-size: 1.6rem;
    text-align: center;
    font-family: var(--font-nice); font-weight: bold;
    transition: var(--transition-base);
    padding: 4px 15px 6px 15px;
    border: solid 1px;
    text-transform: uppercase;
    display: inline-block;
}
a.button:hover, span.button a:hover { color: #FFF; text-decoration: none; }



fieldset { margin: 0 0 30px; padding: 30px 30px 0; border: 1px solid; }
legend { padding: 0.375rem 30px; border: 1px solid; font-size: 1rem; font-weight: 600; }
label { cursor: pointer; margin-bottom: 5px; display: inline-block; }
label:focus, label.focus { text-decoration: none; }

/* Variantes de boutons */
.button.alt2 { margin-top: 0; font-family: var(--font-base); }
.button.readmore, .buttonspan.readmore, span.button.readmore a { margin-top: 0; font-family: var(--font-base); font-size: 14px; line-height: 24px; padding-bottom: 1px; padding-top: 0; }

header.title .button, header.title .buttonspan { margin-top: 20px; }
header.title .entry-intro .button { margin-top: 5px; display: inline-block; }
header.title .entry-intro h3 + p .button { margin-top: 3px; }

.entry-hover .buttonspan { margin-bottom: 0; }
.cycle-slideshow.collection .entry-hover .buttonspan > span,
.widget-front-artistes .entry-hover .buttonspan > span { display: none; }
.entry-hover .buttonspan.alt3 { margin-bottom: 10px; }
.cycle-slideshow.collection .entry-hover .buttonspan.alt3 { display: none; margin-bottom: 0; }


.widget-front-artistes .button-container { text-align: right; margin: 0; }

.widget-front-artistes .button-big { display: inline-block; background-color: var(--festival-green-base); color : white; padding: 8px 30px; border-radius: 40px; font-weight: normal; font-size: 18px; font-size: 1.8rem; text-transform: uppercase; }


#widget-front-agenda .button { margin-top: 7px; }
#widget-front-agenda article .readmore { display: block; position: absolute; right: 5px; top: 5px; opacity: 0; }
#widget-front-agenda article:hover .readmore { opacity: 1; }
#widget-front-une .readmore { float: right; margin-top: -30px; }

/* Contact Form 7 */
.wpcf7-form-control-wrap.cp,
.wpcf7-form-control-wrap.ville { display: inline-block; }
.wpcf7-form-control-wrap.cp { width: 30%; max-width: 120px; }
.wpcf7-form-control-wrap.ville { width: 70%; max-width: 280px; }
.wpcf7-form-control-wrap input { max-width: 99%; }
span.wpcf7-not-valid-tip, div.wpcf7-validation-errors, div.wpcf7-mail-sent-ok { font-size: 14px; }


/* Images
--------------------------------------------------------------- */
a img {
    opacity: 1;
    -webkit-transition: var(--transition-image);
    -moz-transition: var(--transition-image);
    -o-transition: var(--transition-image);
    transition: var(--transition-image);
}
a:hover img, a:focus img { opacity: 0.8; }

img.festivaltheme-medium,
img.slideshow-crop { margin: 0 0 30px; }


/* Galeries
--------------------------------------------------------------- */
.main .gallery { margin-bottom: 1rem; }
.gallery .gallery-item { margin-bottom: 0.5rem; }
.gallery .gallery-icon a img { padding: 9px; border: 1px solid; }
.gallery .gallery-caption { font-size: 0.9375rem; }
.singular-attachment .gallery-caption { display: none; }

@media only screen and (max-width: 481px) {
    .gallery .gallery-row .gallery-item { float: none; width: 100%; }
    .gallery .gallery-icon img { max-width: 100%; }
}


/* Embeds
--------------------------------------------------------------- */
.embed-wrap { position: relative; margin-bottom: 30px; padding-bottom: 56.25%; padding-top: 40px; height: 0; overflow: hidden; }
.embed-wrap iframe, .embed-wrap object, .embed-wrap embed { position: absolute; top: 0; left: 0; width: 100%; max-width: 100%; height: 100%; border: none; }
iframe.wp-embedded-content { width: 100%; margin: 0; }

/* Captcha Google */
.grecaptcha-badge { visibility: hidden !important; }


/* ============================================================
   06. GENERICONS
   ============================================================ */

    /* Sélecteurs utilisant la police Genericons */
    a[href^="mailto:"]::before, a[href^="tel:"]::before,
    blockquote::before,
    .widget ul li::before, .entry-content ul li::before, .comment-content ul li::before,
    .mejs-controls .mejs-button button::after, .mejs-overlay-button::after, .media-info-toggle::after,
    .wp-playlist-playing .wp-playlist-caption::before, .wp-playlist-item-meta::before,
    .entry-author a::before, .entry-published::before, .comments-link::before,
    .post-edit-link::before, .entry-permalink::before, .entry-terms::before,
    .image-sizes::before, .chat-author cite::before, .entry-views::before,
    #menu-social li a::before, .entry-socials li a::before,
    .whistles-toggle .whistle-title::after, .whistles-accordion .whistle-title::after,
    .comment-published::before, .comment-edit-link::before, .comment-author::before,
    .comment-permalink::before, .comment-reply-link::before, .comment-reply-login::before,
    .top-bar .search-form .search-toggle::before,
    #menu-sub-terms-items::before {
        display: inline-block;
        font-family: 'Genericons';
        font-size: 16px;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        line-height: 1;
        vertical-align: middle;
        -webkit-font-smoothing: antialiased;
    }

    /* Espacement general (LTR / RTL) */
    .ltr a[href^="mailto:"]::before, .ltr a[href^="tel:"]::before,
    .ltr .entry-author a::before, .ltr .chat-author cite::before,
    .ltr .entry-published::before, .ltr .comments-link::before,
    .ltr .post-edit-link::before, .ltr .entry-permalink::before,
    .ltr .entry-terms::before, .ltr .image-sizes::before, .ltr .entry-views::before,
    .ltr .comment-published::before, .ltr .comment-edit-link::before,
    .ltr .comment-author::before, .ltr .comment-permalink::before { padding-right: 3px; padding-bottom: 2px; }

    .rtl a[href^="mailto:"]::before, .rtl a[href^="tel:"]::before,
    .rtl .entry-author a::before, .rtl .chat-author cite::before,
    .rtl .entry-published::before, .rtl .comments-link::before,
    .rtl .post-edit-link::before, .rtl .entry-permalink::before,
    .rtl .entry-terms::before, .rtl .image-sizes::before, .rtl .entry-views::before,
    .rtl .comment-published::before, .rtl .comment-edit-link::before,
    .rtl .comment-author::before, .rtl .comment-permalink::before { padding-left: 3px; padding-bottom: 2px; }

    /* Icônes de contact */
    a[href^="mailto:"]::before { content: '\f410'; }
    a[href^="tel:"]::before { content: '\f437'; }

    /* Icônes de posts */
    .entry-author a::before, .chat-author cite::before { content: '\f304'; }
    .entry-published::before { content: '\f307'; }
    .comments-link::before { content: '\f300'; }
    .post-edit-link::before { content: '\f411'; }
    .entry-permalink::before { content: '\f107'; }
    .entry-terms.post_tag::before { content: '\f302'; }
    .entry-terms.category::before { content: '\f301'; }
    .entry-terms.portfolio::before { content: '\f460'; }
    .entry-terms.literary_form::before { content: '\f100'; }
    .entry-terms.literary_technique::before { content: '\f411'; }
    .entry-terms.literary_genre::before { content: '\f302'; }
    .image-sizes::before { content: '\f102'; }


    /* Menu social */
    #menu-social li a::before { content: '\f408'; }
    #menu-social li a[href*="codepen.io"]::before { content: '\f216'; color: #fff; }
    #menu-social li a[href*="digg.com"]::before { content: '\f221'; color: #fff; }
    #menu-social li a[href*="dribbble.com"]::before { content: '\f201'; color: #ea4c89; }
    #menu-social li a[href*="dropbox.com"]::before { content: '\f225'; color: #007ee5; }
    #menu-social li a[href*="facebook.com"]::before,
    .entry-socials li a[href*="facebook.com"]::before { content: '\f203'; }
    .entry-socials li a[href*="itunes.apple.com"]::before { content: url(images/PICTO-i-tunes.png); }
    .entry-socials li a[href*="deezer.com"]::before { content: url(images/PICTO-Deezer.png); }
    .entry-socials li a[href*="spotify.com"]::before { content: url(images/PICTO-spotify.png); }
    .entry-socials li a[href*="qobuz.com"]::before { content: url(images/PICTO-qobuz.png); }
    .entry-socials li a[href*="amazon.fr"]::before { content: url(images/PICTO-amazon.png); }
    .entry-socials li a[href*="play.google.com"]::before { content: url(images/PICTO-googleplay.png); }
    #menu-social li a[href*="/feed"]::before { content: '\f413'; color: #cc4a00; }
    #menu-social li a[href*="flickr.com"]::before { content: '\f211'; color: #ff0084; }
    #menu-social li a[href*="plus.google.com"]::before { content: '\f206'; color: #fff; }
    #menu-social li a[href*="github.com"]::before { content: '\f200'; color: #4183c4; }
    #menu-social li a[href*="instagram.com"]::before { content: '\f215'; }
    #menu-social li a[href*="linkedin.com"]::before { content: '\f208'; color: #0e76a8; }
    #menu-social li a[href*="pinterest.com"]::before { content: '\f210'; color: #c8232c; }
    #menu-social li a[href*="polldaddy.com"]::before { content: '\f217'; color: #bc0b0b; }
    #menu-social li a[href*="getpocket.com"]::before { content: '\f224'; color: #ee4056; }
    #menu-social li a[href*="reddit.com"]::before { content: '\f222'; color: #336699; }
    #menu-social li a[href*="skype.com"]::before, #menu-social li a[href*="skype:"]::before { content: '\f220'; color: #00aff0; }
    #menu-social li a[href*="stumbleupon.com"]::before { content: '\f223'; color: #ff2618; }
    #menu-social li a[href*="tumblr.com"]::before { content: '\f214'; color: #34526f; }
    #menu-social li a[href*="twitter.com"]::before { content: '\f202'; }
    #menu-social li a[href*="vimeo.com"]::before { content: '\f212'; color: #1AB7EA; }
    #menu-social li a[href*="wordpress.org"]::before, #menu-social li a[href*="wordpress.com"]::before { content: '\f205'; color: #21759b; }
    #menu-social li a[href*="youtube.com"]::before,
    .entry-socials li a[href*="youtube.com"]::before { content: '\f213'; }

    /* Media info toggle */
    .media-info-toggle::after { content: '\f431'; color: #f5f5f5; vertical-align: top; }
    .ltr .media-info-toggle::after { padding-left: 5px; }
    .rtl .media-info-toggle::after { padding-right: 5px; }
    .media-info-toggle.active::after { content: '\f432'; }

    /* Lecteur media */
    .mejs-button button::after { color: #fff; }
    .mejs-unmute button::after { color: #454545; }
    .mejs-fullscreen-button button::after { content: '\f474'; }
    .mejs-play button::after { content: '\f452'; }
    .mejs-pause button::after { content: '\f448'; }
    .mejs-volume-button button::after { content: '\f109'; }

    /* Playlist media */
    .wp-playlist-playing .wp-playlist-caption::before { content: '\f452'; }
    .wp-playlist-current-item .wp-playlist-item-title::before { content: '\f109'; }
    .wp-playlist-current-item .wp-playlist-item-album::before { content: '\f460'; }
    .wp-playlist-current-item .wp-playlist-item-artist::before { content: '\f304'; }
    .wp-playlist-playing .wp-playlist-caption::before,
    .wp-playlist-item-meta::before { padding-bottom: 2px; }
    .wp-playlist-item-meta::before { padding-right: 3px; }


/* ============================================================
   07. STRUCTURE DE BASE & WRAPS
   ============================================================ */

/* Conteneurs généraux */

.site-header { padding-bottom: 20px; }


.wrap,
#header > .wrap,
#main > .wrap,
#widget-front-une > .wrap,
#widget-front-zooms > .wrap,
.widget-front-artistes > .wrap,
#widget-projets > .wrap {
    margin: 0 auto;
    padding-left: 25px;
    padding-right: 25px;
    position: relative;
}

.top-bar > .wrap,
.site-footer > .wrap {
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
    position: relative;
}

.layout-1c-narrow #container > .wrap,
.layout-1c-narrow #main .wrap { max-width: 750px; padding: 0; }
.layout-1c-narrow #main .wrap #content { text-align: center; padding: 30px; }

@media only screen and (min-width: 768px) {

    .site-header { padding-bottom: 0; }


    #header > .wrap,
    #main > .wrap,
    #main article .wrap,
    header.title + .wrap,
    #widget-front-une > .wrap,
    #widget-front-zooms > .wrap,
    .widget-front-artistes > .wrap,
    #widget-projets > .wrap,
    header.title > .wrap,
    #main .title .wrap,
    .archive-page-content-header .wrap { padding-left: 95px; padding-right: 95px; max-width: 1240px; }

    .top-bar > .wrap,
    #header > .wrap,
    .site-footer > .wrap { padding-left: 25px; padding-right: 25px; }
}

/* Colonnes */
.col-2, .col-3, .col-4, .col-5, .col-6 { position: relative; margin-bottom: 30px; }
.col-2.last, .col-3.last, .col-4.last, .col-5.last, .col-6.last { margin-bottom: 0; }

@media only screen and (min-width: 1024px) {
    .col-2, .col-3, .col-4, .col-5, .col-6 { float: left; margin-bottom: 0; }
    .col-2.last, .col-3.last, .col-4.last, .col-5.last, .col-6.last { margin-right: 0; }

    .col-2 { width: 48.5%; margin-right: 3%; }
    .col-4 { width: 31.66666666666667%; margin-right: 5%; }
    .col-5 { width: 18.47619047619048%; margin-right: 1.904761904761905%; }
    .col-6 { width: 63.33333333333333%; margin-right: 5%; }

    .singular-event header.title .col-2,
    .singular-projet header.title .col-2 { float: right; margin-left: 3%; margin-right: 0; }
    .singular-event header.title .col-2.last,
    .singular-projet header.title .col-2.last { margin-left: 0; }

    #widget-front-zooms .col-2 { width: 47%; margin-right: 6%; }
    #widget-front-zooms .col-2.last { margin-right: 0; }
}


/* ============================================================
   08. TOP
   ============================================================ */

    .top-bar { text-transform: uppercase; font-size: 13px; font-size: 1.3rem; padding: 10px 0; }

    .top-bar > .wrap { display: flex; flex-wrap: wrap; gap: 4px 20px; justify-content: center; align-items: center; }

    .top-bar .widget, .top-bar ul {}

        @media only screen and (min-width: 768px) {
            
            .top-bar > .wrap { justify-content: right; }

        }


    /* Menu social */
    #menu-social { }
    .entry-socials {  }
    #menu-social ul { list-style: none; margin: 0; display: flex; gap: 4px; }
    #main .entry-socials ul { }
    #menu-social ul li { }
    .entry-socials ul li {  }
    #menu-social li a,
    .entry-socials li a { position: relative; }
    #menu-social li a::before { font-size: 16px; font-size: 1.6rem; }
    .entry-socials li a::before { font-size: 30px; font-size: 3rem; }
    #menu-social li a:hover,
    .entry-socials li a:hover {}

    /* Menu newsletter */
    .menu-news { }
    .menu-news { }
    .menu-news ul { list-style: none; margin: 0; }
    .menu-news ul li {  }
    .menu-news li a { position: relative;}
    .menu-news li a:hover {}

    /* Formulaire de recherche */
    .top-bar .search-form { }
    .top-bar .search-form label { margin: 0; }
    .top-bar .search-form label span {}
    .top-bar .search-form input[type="search"] { height: 24px; font-size: 12px;font-size: 1.2rem }
    .top-bar .search-form input[type="submit"] { display: none; }


/* ============================================================
   09. HEADER & MENU PRINCIPAL
   ============================================================ */

        #header { font-family: var(--font-nice); }

        #header .wrap { display: flex; flex-direction: column; align-items: center; }

        /* Branding / logo */

        .branding { position: relative; width: 180px; max-width: 100%; flex: 0 0 auto; margin: 15px 0;}

        .custom-logo { display: block; }

        #site-title {}
        #site-title a:hover, #site-title a:focus {}
        #site-description {}

            @media only screen and (min-width: 768px) {

                #header {}

                #header .wrap { flex-direction: row; justify-content: space-between; gap: 20px; }

                .branding {}

            }


/* Menu principal — mobile */

    .menu-main-menu { }

    .menu-main-menu > ul { list-style: none; margin: 0; display: flex; flex-direction: column; flex-wrap: wrap; text-align: center; }

        @media only screen and (min-width: 768px) {

            .menu-main-menu > ul { flex-direction: row; justify-content: right; gap: 24px; }

        }

.menu-main-menu li { position: relative; }
.menu-main-menu > ul > li { }
.menu-main-menu li a { font-size: 18px; font-size: 1.8rem; text-transform: uppercase; text-decoration: none; display: block; margin: 0; padding: 1px 2px; }

.menu-main-menu .menu-item-has-children a { padding: 1px 2px 1px 8px; }
/* Indicateur page active (flèche Genericons) */
.menu-main-menu li.current_page_item > a::after,
.menu-main-menu li.current-menu-ancestor > a::after,
.menu-main-menu li.current-menu-parent > a::after,
.menu-main-menu li.current_page_ancestor > a::after,
.menu-main-menu li.current_page_parent > a::after,
.cat-festival.singular-event .menu-main-menu li.menu-item-1095 > a::after,
.cat-saison.singular-event .menu-main-menu li.menu-item-1096 > a::after,
.singular-projet .menu-main-menu li.menu-item-1097 > a::after {
    content: '\f431';
    display: inline-block;
    margin: -2px 0 0;
    font: normal 14px/1 'Genericons';
    vertical-align: middle;
    -webkit-font-smoothing: antialiased;
    padding-left: 3px;
}
.menu-main-menu li > a:only-child::after { content: ''; }

/* Sous-menus — mobile (accordéon) */
.menu-main-menu ul ul {
    margin: 0;
    max-height: 0;
    overflow: hidden;
    visibility: hidden;
    position: static;
    transition: var(--transition-slow);
}
.menu-main-menu li.current_page_item > ul,
.menu-main-menu li.current-menu-ancestor > ul,
.menu-main-menu li.current-menu-parent > ul,
.cat-festival.singular-event .menu-main-menu li.menu-item-1095 > ul,
.cat-saison.singular-event .menu-main-menu li.menu-item-1096 > ul,
.singular-projet .menu-main-menu li.menu-item-1097 > ul { max-height: 1000px; visibility: visible; padding-bottom: 10px; }

.menu-main-menu li li { margin-left: 0; display: block; }
.menu-main-menu li li:first-child a { border-top: 0; }
.menu-main-menu li li a { position: relative; padding: 5px 10px; font-size: 15px; line-height: 20px; border-top: 1px solid; }

.menu-toggle { display: none; }

/* Menu principal — desktop (≥768px) */
@media only screen and (min-width: 768px) {
    .menu-main-menu {}
    .menu-main-menu li {}
    .menu-main-menu > ul > li {}
    .menu-main-menu > ul > li a {}

    /* Sous-menus — desktop (dropdown) */
    .menu-main-menu ul ul { position: absolute; z-index: 2000; margin: 0; top: 30px; text-align: right; right: -15px; padding: 10px; min-width: 205px; height: auto; opacity: 0; visibility: hidden; }
    .menu-main-menu li:hover > ul,
    .menu-main-menu li:focus > ul,
    .menu-main-menu li.focus > ul { opacity: 1; visibility: visible; max-height: 1000px; }

    .menu-main-menu li.current-menu-ancestor > ul,
    .menu-main-menu li.current-menu-parent > ul,
    .menu-main-menu li.current-menu-item > ul { visibility: hidden; }

    .menu-main-menu li.current-menu-ancestor:hover > ul,
    .menu-main-menu li.current-menu-parent:hover > ul,
    .menu-main-menu li.current-menu-item:hover > ul,
    .menu-main-menu li.current-menu-ancestor:focus > ul,
    .menu-main-menu li.current-menu-parent:focus > ul,
    .menu-main-menu li.current-menu-item:focus > ul,
    .menu-main-menu li.current-menu-ancestor.focus > ul,
    .menu-main-menu li.current-menu-parent.focus > ul,
    .menu-main-menu li.current-menu-item.focus > ul { visibility: visible; }

    .menu-main-menu li a::after { content: '\f431'; display: inline-block; margin: -2px 0 0; font: normal 14px/1 'Genericons'; vertical-align: middle; -webkit-font-smoothing: antialiased; padding-left: 3px; }
    .menu-main-menu li a:only-child::after { content: ''; }
    .menu-main-menu li li > a::after { position: absolute; vertical-align: middle; margin: 3px 0 0; right: 5px; -webkit-transform: rotate(-90deg); -moz-transform: rotate(-90deg); -ms-transform: rotate(-90deg); -o-transform: rotate(-90deg); transform: rotate(-90deg); }
}

/* Menu principal — grand desktop (≥1235px) */
@media only screen and (min-width: 1235px) {
    .menu-main-menu { margin: 110px 0 55px 0; }
    .menu-main-menu ul ul { text-align: left; right: auto; left: -15px; }
}


/* ============================================================
   10. MAIN & CONTENU
   ============================================================ */

.main { padding: 0; word-wrap: break-word; word-break: normal; -webkit-hyphens: auto; -moz-hyphens: auto; -ms-hyphens: auto; hyphens: auto; }
.main, .content { position: relative; }

.page-template-programmations .main,
.archive-event .main,
.taxonomy-event-tag .main { /*background-color: var(--color-neutral-light);*/ }
.page-template-programmations .main > article > .wrap,
.archive-event #content,
.taxonomy-event-tag #content { margin-top: -40px; }

/* Masquage sidebar selon layout */
.layout-1c #sidebar-right,
.layout-1c-narrow #sidebar-right { display: none; }
.singular-post #sidebar-right,
.singular-event #sidebar-right,
.archive-event #sidebar-right,
.taxonomy-event-tag #sidebar-right,
.singular-projet #sidebar-right,
.search #sidebar-right { display: block; }

/* Disposition sidebar/contenu (≥1024px) */
@media only screen and (min-width: 1024px) {
    #sidebar-right { width: 31.66666666666667%; max-width: 100%; margin-left: 5%; }

    .layout-2c-l #content, .layout-2c-r #content,
    .singular-post #content,
    .singular-event #content,
    .singular-projet #content,
    .search #content { width: 63.33333333333333%; }

    .layout-2c-l #content, .layout-2c-r #sidebar-right,
    .singular-post #content,
    .singular-event #content,
    .singular-projet #content,
    .search #content { float: left; }

    .layout-2c-r #content, .layout-2c-l #sidebar-right,
    .singular-post #sidebar-right,
    .singular-event #sidebar-right,
    .archive-event #sidebar-right,
    .taxonomy-event-tag #sidebar-right,
    .singular-projet #sidebar-right,
    .search #sidebar-right { float: right; }
}

/* En-têtes de page/article */
header.header {}
header.title { padding: 35px 0 40px 0; margin-bottom: 40px; }
#slideshow-page { z-index: 0; position: relative; }
body:not(.home) .cycle-slideshow img { aspect-ratio: 1.5 / 1; object-fit: cover; }

/* Entrées / articles */
.entry { overflow: hidden; margin: 0; position: relative; }
.entry:last-of-type { border: none; }
.entry-childs .entry { padding: 20px 15px; font-size: 16px; line-height: 20px; }

.archive-event #content .entry,
.taxonomy-event-tag main .entry,
.taxonomy-event-category main .entry,
.search main .entry { padding: 5px 25px; }

#widget-front-agenda .entry > a,
.archive-event .entry > a { display: block; text-decoration: none; }

.singular-artiste .entry-header { margin-bottom: 30px; }

/* Métadonnées d'entrée */
.entry-type { text-transform: uppercase; margin: 5px 0; font-size: 16px; line-height: 1; }
.entry-type span { padding: 1px 10px 3px 10px; display: inline-block; }

.entry-date { text-transform: uppercase; font-size: 16px; line-height: 25px; margin: 0 0 5px 0; }
.archive-event .entry-date,
.taxonomy-event-tag .entry-date { margin-top: 5px; }
.entry-date span { padding: 1px 10px 3px 10px; display: inline-block; }
.entry-date span + span { margin-top: 5px; }

.entry-1001 { text-transform: none; font-size: 15px; line-height: 25px; font-family: var(--font-base); font-weight: bold; }
.archive .entry-1001 { display: inline-block; }
.singular .entry-1001 { margin-top: 10px; }

.entry-venue { line-height: 1; margin-bottom: 20px; }
.entry-venue a { text-decoration: none; }
.entry-prog { margin-top: 5px; font-family: var(--font-base); font-style: italic; }
.entry-tarifs { margin-top: 25px; }
.entry-tax { margin-top: 25px; color: var(--color-accent-marron); font-size: 20px; font-weight: bold; }

#main ul.entry-tags { list-style: none; margin: 0 0 30px 0; }
ul.entry-tags li { margin: 0 0 5px 0; }
ul.entry-tags li a { display: inline-block; padding: 0 8px 2px 8px; text-transform: uppercase; font-family: var(--font-base); font-weight: bold; font-size: 18px; line-height: 23px; }

.entry-programme { padding: 25px 15px; border: 1px solid; font-size: 15px; line-height: 20px; margin-bottom: 35px; }
.entry-agenda { margin-bottom: 50px; }
.entry-equipe { font-size: 16px; line-height: 20px; margin-bottom: 35px; }
.entry-equipe p { margin-bottom: 5px; }
.entry-partenaires { margin-bottom: 35px; }

/* Hover sur médias (overlay) */
.entry-hover {
    background-color: rgba(0, 0, 0, 0.7);
    position: absolute;
    inset: 0;
    padding: 15px;
    text-align: center;
    display: table-cell;
    z-index: 1000;
    transition: var(--transition-base);
}
li:hover .entry-hover,
article .entry-medias:hover > .entry-hover { opacity: 1; }
.entry-hover > a { display: block; width: 100%; height: 100%; }
.entry-hover > a:hover, .entry-hover > a:focus { text-decoration: none; }
.entry-hover .content { display: block; position: absolute; width: calc(100% - 20px); max-width: calc(100% - 20px); top: 50%; transform: translateY(-50%); overflow: hidden; }
.entry-hover .entry-date { margin-bottom: 10px; height: 28px; overflow: hidden; }
.entry-hover .entry-summary { display: block; font-style: italic; margin-bottom: 15px; position: relative; width: 100%; text-decoration: none; max-height: 60px; overflow: hidden; }
.entry-hover .entry-summary p { margin-bottom: 0; font-size: 14px; line-height: 15px; }
.entry-hover .entry-summary a.button { font-style: normal; }

@media screen and (min-width: 1028px) {
    .entry-hover { opacity: 0; }
}

#widget-projets .entry-hover .entry-title,
#widget-projets .entry-hover .entry-summary,
#widget-projets .entry-hover p.rouge { display: none; }

/* Navigation entre articles */
.navigation, .loop-nav { margin: 30px 0 20px 0; padding: 20px 0 0; font-size: 14px; border-top: 1px solid; }
.loop-nav .prev, .loop-nav .next { width: 50%; }
.loop-nav .prev { float: left; }
.loop-nav .next { float: right; text-align: right; }

/* Pagination */
.page-links { clear: both; font-size: 1rem; }
.nav-links .page-numbers, .page-links .page-numbers, .page-links a { display: inline-block; margin: 0 5px; }
.nav-links .dots { margin: 0; }
.nav-links .current { font-weight: 700; }
.page-links a { padding: 0 10px; border: none; }

/* Sous-menu de termes */
#menu-sub-terms-items { list-style: none; margin: 0 0 30px; margin-left: 0.75rem; }
#menu-sub-terms-items::before { content: '\f412'; margin-right: 0.3125rem; }
#menu-sub-terms li { display: inline-block; }
#menu-sub-terms li a { display: inline-block; padding: 0.5rem 0.75rem; font-size: 0.8125rem; font-weight: 400; margin-right: 5px; }


/* ============================================================
   11. PAGES SPÉCIALES
   ============================================================ */

/* Événements — intro */
.singular-event .entry-intro { font-size: 16px; line-height: 20px; }

@media only screen and (min-width: 640px) {
    .singular-event .entry-intro { font-size: 18px; line-height: 23px; }
}

/* Événements — liens artistes */
.singular-event #main .entry-artistes,
.singular-projet #main .entry-artistes { margin-bottom: 25px; }
.singular-event #main .entry-artistes a,
.singular-projet #main .entry-artistes a { margin-bottom: 10px; margin-right: 10px; }

/* Lieux (archive) */
.venues-list { margin-bottom: 50px; }
.venues-list h1 { padding: 15px 0; text-transform: uppercase; }
.venue-cart { padding: 30px 0; overflow: hidden; /*background: var(--color-neutral-light);*/ }
.venue-cart:nth-child(2n+1) { background: white; }
.venue-cart-image { position: relative; }

/* Pages infos */
.page-template-informations #content {}
#main ul.infos-venues { list-style: none; margin: 0 0 30px 0; }

@media only screen and (min-width: 768px) {
    .page-template-informations #content { -webkit-columns: 2; -moz-columns: 2; columns: 2; -webkit-column-gap: 30px; -moz-column-gap: 30px; column-gap: 30px; }
    .page-template-informations #content .entry { -webkit-column-break-inside: avoid; page-break-inside: avoid; break-inside: avoid; }
}

/* Pages billetterie */

@media only screen and (min-width: 1024px) {
    .page-template-informations .col-2 > .padding,
    .page-template-2cols .col-2 > .padding { padding-right: 60px; }
    .page-template-informations .col-2.last > .padding,
    .page-template-2cols .col-2.last > .padding { padding-right: 0; padding-left: 60px; }
}

/* Partenaires */
.page-partenaires #content,
.archive-partenaire #content { text-align: center; }
#main ul.partenaires { margin-left: 0; }
#main ul.partenaires li { display: inline-block; margin: 0 0 35px 0; }
#main ul#partenaires-accueil li { width: 21%; }
#main ul#partenaires-projet li { width: 21%; display: inline-block; margin: 0 0 5px 2.5%; }

.page-partenaires .entry-medias,
.archive-partenaire .entry-medias,
ul#partenaires-projet .entry-medias,
ul#partenaires-accueil .entry-medias { min-width: 100%; width: 100%; display: flex; align-items: center; justify-content: center; }
.page-partenaires .entry-medias img,
.archive-partenaire .entry-medias img,
ul#partenaires-projet .entry-medias img { max-height: 100%; width: auto; }
.page-partenaires .entry-header,
.archive-partenaire .entry-header { height: 60px; }

@media only screen and (min-width: 320px) {
    #main ul.partenaires { margin-left: -2.5%; }
    #main ul.partenaires li { width: 46%; margin: 0 0 35px 2.5%; }
}
@media only screen and (min-width: 480px) {
    #main ul.partenaires li { width: 30%; }
}
@media only screen and (min-width: 768px) {
    #main ul.partenaires li { width: 21.9%; }
}
@media only screen and (min-width: 1024px) {
    #main ul.partenaires li { width: 13.5%; }
}

/* Artistes — archive */
.archive-artiste #content { padding-top: 30px; }
.archive-artiste #content ul { list-style: none; margin: 0; }
.archive-artiste #content ul li { margin-bottom: 0; line-height: 19px; }
.archive-artiste #content ul ul li:last-of-type { margin-bottom: 25px; }
.archive-artiste #content > ul > li { -webkit-column-break-inside: avoid; page-break-inside: avoid; break-inside: avoid; display: block; width: 100%; }

@media only screen and (min-width: 640px) {
    .archive-artiste #content > ul { -webkit-columns: 2; -moz-columns: 2; columns: 2; -webkit-column-gap: 30px; -moz-column-gap: 30px; column-gap: 30px; }
}
@media only screen and (min-width: 768px) {
    .archive-artiste #content > ul { -webkit-columns: 3; -moz-columns: 3; columns: 3; }
}
@media only screen and (min-width: 1024px) {
    .archive-artiste #content > ul { -webkit-columns: 4; -moz-columns: 4; columns: 4; }
}

/* Artiste — single */
#slideshow-artiste { margin-bottom: 30px; overflow: hidden; }
#slideshow-artiste > a { display: block; background: #000; width: 100%; }
#slideshow-artiste > a img { margin-bottom: 0; }
.singular-artiste .col-2 .entry-medias { margin-top: -20px; }
.singular-artiste .col-2 .button,
.singular-projet aside .button,
.singular-post aside .button,
.blog aside .button,
.page-template-temp-home-blog aside .button { margin-bottom: 30px; display: block; }

/* Projet — single */
.singular-projet aside .entry-medias { position: relative; overflow: hidden; }

/* Agenda */
#main ul.eo-events { margin: 0; padding: 0; list-style: none; text-align: left; }
#main ul.eo-events li { position: relative; margin-bottom: 40px; }
#main ul.eo-events li img { display: block; margin: 0; min-width: 100%; width: 100%; height: auto; aspect-ratio: 1.3478; object-fit: cover; }

#main ul#eo-events-programmations li { background-color: #FFF; }
#main ul#eo-events-programmations li.eo-event-past { opacity: 0.6; }
#main ul#eo-events-programmations .entry-medias a { display: block; overflow: hidden; }
#main ul#eo-events-programmations .entry-medias a:hover img { -ms-transform: scale(1.05); -webkit-transform: scale(1.05); transform: scale(1.05); }
#main ul#eo-events-programmations .entry-content { padding: 15px 10px 10px 10px; text-align: center; }
#main ul#eo-events-programmations .entry-summary { font-size: 16px; height: 60px; min-height: 60px; overflow: hidden; margin-bottom: 30px; line-height: 1.3; }
#main ul#eo-events-programmations .entry-summary p { margin-bottom: 0; }
#main ul#eo-events-programmations .entry-venue { text-transform: uppercase; margin-bottom: 10px; }
#main ul#eo-events-programmations span.buttonspan { font-family: var(--font-base); padding: 0 20px 2px 20px; margin-bottom: 10px; }
.saison-reference-link { text-align: center; }

@media only screen and (min-width: 480px) {
    #main ul.eo-events { margin: 0 0 0 -5.405405405405405%; }
    #main ul#eo-events-programmations { margin: 0 0 0 -2.405405405405405%; }
    #main ul.eo-events li { float: left; margin-left: 5.405405405405405%; width: 44.5945945945946%; }  /* 2 cols */
    #main ul#eo-events-programmations li { margin-left: 2.405405405405405%; width: 47.5945945945946%; }
}
@media only screen and (min-width: 1024px) {
    #main ul.eo-events li { width: 27.92792792792793%; }  /* 3 cols */
    #main ul#eo-events-programmations li { width: 30.92792792792793%; }
}

/* Collection */
#main ul.collection { margin: 0; padding: 0; list-style: none; }
#main ul.collection.page-playlists { margin-top: 40px; }
#main ul.collection li, ul.collection li { margin-bottom: 30px; position: relative; }
#main .title ul.collection { margin: 20px 0 0 0; padding: 0; list-style: none; }
#main .title ul.collection li, ul.collection li { margin-bottom: 0; }
.collection li .entry-medias { position: relative; }
.collection li .entry-medias img { display: block; margin: 0; min-width: 100%; }

@media only screen and (min-width: 480px) {
    #main ul.collection { margin: 0 0 0 -2.777777777777778%; }
    #main ul.collection li, ul.collection li { float: left; margin-left: 2.777777777777778%; width: 47.2%; }
    #main .title ul.collection { margin: 20px 0 0 -30px; }
    #main .title ul.collection li, ul.collection li { float: left; margin-left: 30px; width: calc(25% - 30px); }
}
@media only screen and (min-width: 1024px) {
    #main ul.collection li, ul.collection li { width: 30.55555555555556%; }
    #main .title ul.collection li, ul.collection li { width: calc(25% - 30px); }
}

/* Collection — slideshow */
.cycle-slideshow.collection { margin: 20px 0 0 -30px; padding: 0 120px 0 0; }
.cycle-slideshow.collection li { margin-left: 30px; margin-bottom: 0; }

/* Collection — carousel pages singulières */
.singular-projet #main ul.collection { margin: 0 0 35px -5px; padding: 0 20px 0 0; }
.singular-projet #main ul.collection li { float: none; margin-left: 5px; width: auto; }

@media only screen and (min-width: 640px) {
    .singular-projet #main ul.collection { margin: 0 0 35px -30px; padding: 0 120px 0 0; }
    .singular-projet #main ul.collection li { margin-left: 30px; }
}

/* Boutons de lecture streaming */
a.play-youtube, a.play-deezer, a.play-spotify,
a.play-qobuz, a.play-apple, a.play-amazon,
a.play-soundcloud { display: inline-block; width: 50px; height: 50px; background-size: contain; margin: 0 3px; border: none !important; }
a.play-youtube:hover, a.play-deezer:hover, a.play-spotify:hover,
a.play-qobuz:hover, a.play-apple:hover, a.play-amazon:hover,
a.play-soundcloud:hover { opacity: 0.8; }
a.play-youtube { background: url(../images/youtube-logo.png) no-repeat center center; background-size: contain; }
a.play-deezer { background: url(../images/deezer-logo.png) no-repeat center center; background-size: contain; }
a.play-spotify { background: url(../images/spotify-logo.png) no-repeat center center; background-size: contain; }
a.play-qobuz { background: url(../images/qobuz-logo.png) no-repeat center center; background-size: contain; }
a.play-apple { background: url(../images/apple-logo.png) no-repeat center center; background-size: contain; }
a.play-amazon { background: url(../images/amazon-logo.png) no-repeat center center; background-size: contain; }
a.play-soundcloud { background: url(../images/soundcloud-logo.png) no-repeat center center; background-size: contain; }
.yotu-videos { margin-left: -25px; margin-right: -25px; margin-bottom: 30px; }

/* Presse */
#main ul.presse { margin: 0 0 0 -2.857142857142857%; list-style: none; }
#main ul.presse li { float: left; width: 22.22222222222222%; margin-left: 2.777777777777778%; margin-bottom: 20px; }
#main ul.presse li .entry-medias { position: relative; }
#main ul.presse li img { display: block; margin: 0; }

/* Listes de navigation par taxonomie */
.other-taxonomy-link-wrap { text-align: right; }
.other-taxonomy-link-wrap a.button { border-color: var(--color-neutral-dark); background: var(--color-neutral-dark); color: white; }
.other-taxonomy-link-wrap a.button:hover,
.other-taxonomy-link-wrap a.button:focus { border-color: var(--color-primary); }
.other-taxonomy-link-wrap a.button:before { content: ">"; padding-right: 7px; }

/* Albums Facebook */
.singular-page .fbalbum { margin-top: 30px; }


/* ============================================================
   12. SIDEBAR & WIDGETS
   ============================================================ */

.sidebar {}
.widget { margin: 0 0 30px 0; padding: 0; position: relative; }

.widget-cats-artistes, .widget-tags-artistes,
aside .bloc-liste-tags, aside .bloc-liste-cats,
aside .bloc-liste-icones { padding: 20px 15px; }

.widget-cats-artistes .entry { padding: 5px 0; }
.widget-cats-artistes .entry.past { opacity: 0.4; }
.widget-cats-artistes .entry.past:hover,
.widget-cats-artistes .entry.current { opacity: 1; }
.widget-cats-artistes .entry > a { text-decoration: none; }
.widget-cats-artistes .entry-date { margin-top: 5px; }

.widget-collabs { padding: 20px 15px; text-align: center; }
#main .widget-collabs ul { margin-left: 0; margin-bottom: 0; }
.widget-collabs li { display: block; }
.widget-collabs li a { display: inline-block; }
.widget-collabs li:before { content: "•"; vertical-align: text-top; margin-right: 5px; display: inline-block; margin-top: -5px; }

.widget-front-artistes { padding: 35px 0 50px 0; margin-bottom: 0; }
.singular-projet #widget-projets,
.home .widget-front-artistes { padding: 35px 0 0 0; }
.singular-projet #widget-projets,
.home .widget-front-artistes {}

.widget-front-partenaires { text-align: center; }

.widget-front-artistes ul#front-artistes { margin: 0 0 0 -1.904761904761905%; list-style: none; }
.widget-front-artistes ul#front-artistes li { position: relative; float: left; width: 18.13084112149533%; margin-left: 1.869158878504673%; margin-bottom: 20px; }
.widget-front-artistes ul#front-artistes li .entry-medias { position: relative; }
.widget-front-artistes ul#front-artistes li .entry-medias img { display: block; }

#widget-zooms article { margin-bottom: 30px; overflow: visible; }
#widget-zooms article img, #widget-zooms article .embed-wrap { margin-bottom: 0; }

/* Sidebar colonnes (≥768px) */
@media only screen and (min-width: 768px) {
    .sidebar-col-2 .widget, .sidebar-col-3 .widget { width: 47.5%; }
    .ltr .sidebar-col-2 .widget, .ltr .sidebar-col-3 .widget { float: left; margin-right: 5%; }
    .rtl .sidebar-col-2 .widget, .rtl .sidebar-col-3 .widget { float: right; margin-left: 5%; }
    .sidebar-col-2 .widget:nth-child(2n), .sidebar-col-3 .widget:nth-child(2n) { margin-right: 0; margin-left: 0; }
    .sidebar-col-2 .widget:nth-child(2n + 1), .sidebar-col-3 .widget:nth-child(2n + 1) { clear: both; }
}

/* Slideshow accueil */
#widget-front-une { padding: 0; }
#slideshow-accueil { margin-bottom: 70px; }
#slideshow-accueil .entry {
    opacity: 0;
    overflow: visible;
    -webkit-transition: var(--transition-slideshow);
    -moz-transition: var(--transition-slideshow);
    transition: var(--transition-slideshow);
}
#slideshow-accueil img { display: block; margin-bottom: 0; }

#slideshow-accueil .wp-caption { position: absolute; inset: auto 0 0 auto;}

.home .content .entry { text-align: center; }
.home .content .entry img { aspect-ratio: 3 / 2; object-fit: cover; }



/* Pager slideshow */

.cycle-slideshow {  }
.cycle-pager { text-align: center; width: 100%; z-index: 1000; position: absolute; inset: auto auto -60px auto; overflow: hidden; }
.cycle-pager span { font-size: 60px; display: inline-block; cursor: pointer; margin-right: 2px; }
.cycle-pager > * { cursor: pointer; }



/* Contrôles carousel */
.collection-slideshow { position: relative; }
.cycle-prev, .cycle-next { text-align: center; z-index: 1000; position: absolute; top: calc(50% - 50px); overflow: hidden; cursor: pointer; }
.cycle-prev { left: 0; }
.cycle-next { right: 0; }
.collection-slideshow .cycle-prev,
#widget-projets .cycle-prev { left: -80px; }
.collection-slideshow .cycle-next,
#widget-projets .cycle-next { right: -80px; }
.cycle-prev:after, .cycle-next:after { content: '\f431'; display: inline-block; margin: 0; font: normal 70px/1 'Genericons'; color: var(--color-primary); vertical-align: middle; -webkit-font-smoothing: antialiased; transform: rotate(90deg); }
.cycle-next:after { transform: rotate(-90deg); }



.home .home-block .entry-content p {margin-bottom: 10px;}

/* Widget zooms */
#widget-front-zooms {}
#widget-front-zooms article { margin-bottom: 50px; overflow: visible; }
#widget-front-zooms img, #widget-front-zooms .embed-wrap { margin: 0; display: block; }
#slideshow-zoom { overflow: hidden; z-index: 99; }

/* Widget agenda */
#widget-front-agenda article { margin-bottom: 0; margin-left: -12.5%; padding: 5px 5px 5px 12.5%; }

/* Légendes (wp-caption) */
.wp-caption { max-width: 100%; }
.singular-post .content .wp-caption { height: initial; position: relative; }

.wp-caption .wp-caption-text { padding: 4px 25px; height: 35px;  }
#slideshow-accueil .wp-caption .wp-caption-text { bottom: 10px; left: auto; right: -30px; text-align: right; }
header.title .wp-caption .wp-caption-text { bottom: 10px; left: auto; right: -30px; text-align: right; }
#widget-zooms .wp-caption .wp-caption-text { bottom: 10px; left: auto; right: -30px; text-align: right; }

/* Triangle décoratif avant la légende (corrigé: #d72246 → #D00C1E, était une coquille) */
.wp-caption .wp-caption-text:before {  }
header.title .wp-caption .wp-caption-text:before,
#slideshow-accueil .wp-caption .wp-caption-text:before,
#widget-zooms .wp-caption .wp-caption-text:before { display: none; }
header.title .wp-caption .wp-caption-text:after,
#slideshow-accueil .wp-caption .wp-caption-text:after,
#widget-zooms .wp-caption .wp-caption-text:after {  }

.singular-post .content .wp-caption .wp-caption-text { position: relative; left: 0; padding: 0 10px; background: none; color: var(--color-primary); font-style: italic; font-size: 13px; height: auto; text-align: center; }
.singular-post .content .wp-caption .wp-caption-text:before { display: none; }



/* Hover collection/artistes (≥768px) */
@media only screen and (min-width: 768px) {
    .singular-projet #main ul.collection li .entry-hover .buttonspan.alt3 { display: inline-block; margin-bottom: 10px; }
    .cycle-slideshow.collection .entry-hover .buttonspan > span,
    .widget-front-artistes .entry-hover .buttonspan > span { display: inline-block !important; margin-left: 5px; }
}


/* ============================================================
   13. FOOTER
   ============================================================ */

    .site-footer { padding: 15px 0; font-size: 18px; font-size: 1.8rem; font-family: var(--font-nice); text-align: center; text-transform: uppercase; }

    .footer-navigation { display: flex; flex-wrap: wrap; justify-content: space-between; text-align: center; }

    .site-footer, .site-footer a { text-decoration: none; }

    .footer-branding { flex: 0 0 180px; margin: 0; }
    
    #menu-footer-container { flex: 1 1 0; display: flex; justify-content: right; align-items: flex-end; padding-bottom: 20px; }

    .site-footer ul { list-style: none; margin: 0; display: flex; flex-wrap: wrap; justify-content: right; gap: 15px; }

    .site-footer ul li { }

    .site-footer ul li:first-child {}

    @media only screen and (min-width: 768px) {
        
        .footer-navigation {  }

    }




/* ============================================================
   14. BLOG
   ============================================================ */

/* Base */
.blog #main, .archive #main { margin-top: 35px; }

/* Page d'accueil du blog */
.listing-categories-home { list-style: none; display: grid; grid-template-columns: repeat(1, 1fr); column-gap: 3.5%; row-gap: 8px; }
#main .listing-categories-home { margin-left: 0; }
.listing-categories-home li { overflow: hidden; }
.listing-categories-home h2 { text-transform: uppercase; margin-bottom: 0; height: 50px; line-height: 50px; }
.listing-categories-home a { border-bottom: none; }

@media only screen and (min-width: 768px) {
    .listing-categories-home { grid-template-columns: repeat(2, 1fr); }
}

.fiche-actu-blog-home .entry-medias { margin-bottom: 8px; }
.fiche-actu-blog-home h3 { text-transform: none; font-size: 20px; margin-bottom: 4px; }
.fiche-actu-blog-home h3 a { color: black; }
.fiche-actu-blog-home .date-parution { color: var(--color-primary); margin-bottom: 4px; }
.fiche-actu-blog-home .date-parution::first-letter { text-transform: uppercase; }

/* Fiche actu (archive) */
.fiche-actu-blog { background: var(--color-neutral-light); padding: 35px; }
.fiche-actu-blog:nth-child(odd) { background: white; }
.blog .fiche-actu-blog:nth-child(odd) { background: var(--color-neutral-light); }
.blog .fiche-actu-blog:nth-child(even) { background: white; }
.fiche-actu-blog:last-child { margin-bottom: 20px; }
.fiche-actu-blog .entry-medias img { width: 100%; margin-bottom: 0; }
.fiche-actu-blog .entry-medias a { height: 0; padding-bottom: 71%; overflow: hidden; }
.fiche-actu-blog .entry-title { margin-bottom: 10px; }
.fiche-actu-blog .entry-title a { text-transform: uppercase; border: none; }
.fiche-actu-blog .date-parution { text-transform: uppercase; margin-bottom: 10px; }
.fiche-actu-blog .date-parution, .fiche-actu-blog .cat-listing { display: block; margin-right: 10px; }
.fiche-actu-blog .more-link { border-bottom: none; padding-bottom: 0; }
.fiche-actu-blog .more-link span:before { content: "> "; }
.fiche-actu-blog .cat-listing li { display: inline-block; margin-right: 2px; }

.loadmore_block { text-align: center; margin-bottom: 50px; }
.loadmore_block span { font-size: 20px; text-transform: uppercase; font-weight: bold; color: white; background: #CDB395; padding: 6px 36px; cursor: pointer; }
.loadmore_block span:hover, .loadmore_block span:focus { background: #b59f85; }

.blog #main aside ul { margin-left: 0; margin-bottom: 10px; }

/* Blog — sidebar (≥1024px) */
@media only screen and (min-width: 1024px) {
    .blog #sidebar-right { width: 31%; margin-left: 2.33333333333333%; margin-top: 50px; }
    .blog.layout-2c-l #content { width: 66.66666666666667%; }
}

/* En-tête d'archive */
.archive-page-content-header { padding: 0 35px; }
.archive-page-content-header nav { display: inline-block; }
.archive-page-content-header h1,
.archive-page-content-header nav a { display: inline-block; text-transform: uppercase; font-size: 14px; font-weight: bold; margin: 0 5px 15px 0; }

.cat-header h1, .cat-header nav a { color: var(--color-primary); border: solid 1px; padding: 1px 4px; }
.cat-header nav a { color: black; }
.cat-header nav a:hover, .cat-header nav a:focus { color: white; border-color: black; background-color: black; text-decoration: none; }

.tag-header h1, .tag-header nav a { background-color: var(--color-turquoise-blog); color: white; font-size: 14px; border-radius: 4px; padding: 1px 4px; }
.tag-header nav a { background-color: var(--color-primary); }
.tag-header nav a:hover, .tag-header nav a:focus { background-color: black; text-decoration: none; }

.date-header h1, .date-header nav a,
.author-header h1, .author-header nav a { color: black; padding: 1px 4px; }
.date-header h1:before,
.author-header h1:before { content: "Archives pour "; }
.date-header nav a,
.author-header nav a { background-color: var(--color-primary); color: white; }
.date-header nav a:hover, .date-header nav a:focus,
.author-header nav a:hover, .author-header nav a:focus { background-color: #de4269; text-decoration: none; }

/* Listes catégories / tags */
#main .cat-listing { margin-left: 0; margin-bottom: 0; }
#main .tag-listing { margin-left: 0; margin-bottom: 10px; }
.singular-post aside ul { margin-bottom: 0; }

.content .cat-listing li,
.cat-listing li a,
aside .cat-item a { display: inline-block; margin-right: 2px; }

.singular-post aside .cat-item,
aside .cat-listing li { list-style: none; display: block; }

.fiche-actu-blog .cat-listing li,
.singular-post aside .tag-item { list-style: none; display: inline-block; margin-right: 10px; }

.tag-listing li,
.tag-listing li a,
aside .tag-item a { display: inline-block; margin-right: 2px; }

.cat-listing li a, aside .cat-item a { text-transform: uppercase; font-weight: bold; padding: 1px 4px; text-decoration: none; color: var(--color-primary); border: solid 1px var(--color-primary); }
.cat-listing li a:hover, .cat-listing li a:focus,
aside .cat-item a:hover, aside .cat-item a:focus { color: white; background-color: var(--color-primary); border-color: var(--color-primary); }

.tag-listing li a, aside .tag-item a { text-transform: uppercase; font-weight: bold; padding: 1px 4px; border-radius: 4px; text-decoration: none; border: none; color: #fff; }
.singular-post .bloc-liste-icones,
.tag-listing li a,
aside .tag-item a { background-color: var(--color-turquoise-blog); font-size: 14px; }
.tag-listing li a:hover, .tag-listing li a:focus,
aside .tag-item a:hover, aside .tag-item a:focus { background-color: #03a1af; }

/* Partenaires du blog */
.partenaires-blog li { list-style-type: none; margin-bottom: 30px; }
.partenaires-blog li img { width: 100%; vertical-align: bottom; }

/* Article single */
.singular-post #main { padding-top: 20px; }
.singular-post .entry-header h2 { margin-bottom: 10px; font-size: 30px; }
.singular-post .entry-header figure { margin-bottom: 10px; }
.singular-post .entry-content { text-align: justify; }
.singular-post .entry-footer { text-align: right; }
.singular-post .entry-footer h4,
.singular-post .entry-footer ul,
.singular-post .entry-footer li { display: inline-block; }
.singular-post .entry-footer h4 { color: var(--color-primary); font-family: var(--font-base); font-size: 17px; }
.singular-post .entry-footer h4::before { content: "> "; }
.singular-post .entry-footer a { color: #CDB395; border-bottom: none; }
.singular-post .entry-footer a:hover, .singular-post .entry-footer a:focus { color: #b59f85; }
.singular-post .date-parution { text-transform: uppercase; margin-bottom: 10px; }
.singular-post .widget-collabs h3 { color: var(--color-primary); }
.singular-post #main .entry-footer ul,
.singular-post .entry-footer a { margin-left: 5px; }

@media screen and (min-width: 768px) {
    .singular-post .entry-header h2 { font-size: 36px; }
}
@media screen and (min-width: 1024px) {
    .singular-post .entry-header figure { margin-bottom: 30px; }
}
@media screen and (min-width: 1028px) {
    .singular-post .entry { overflow: visible; }
    .singular-post .entry-header { position: relative; }
    .singular-post .entry-header figure { position: absolute; top: 30px; right: -57.8999%; width: 50%; display: block; height: 0; padding-bottom: 35.5%; overflow: hidden; }
    .singular-post aside { margin-top: 27%; margin-top: calc(22.6666% + 60px); }
    .singular-post aside .cat-item { display: block; }
    .singular-post aside .tag-item { display: block; }
}
.singular-post .entry-header img { width: 100%; }

/* Partage */
.festivaltheme-partage a::before { content: "+"; vertical-align: middle; font-family: 'Genericons'; font-size: 24px; font-weight: bold; }
.festivaltheme-partage a[href*="twitter.com"]::before { content: '\f202'; }
.festivaltheme-partage a[href*="facebook.com"]::before { content: '\f204'; }
.festivaltheme-partage a span { display: none; }

/* Menu principal : état actif sur les pages blog/archive */
.archive:not(.archive-1001-activites) .blog-main-item-menu,
.singular-post .blog-main-item-menu { background-color: var(--color-primary); }
.archive:not(.archive-1001-activites) .menu-main-menu .blog-main-item-menu > a,
.singular-post .menu-main-menu .blog-main-item-menu > a { color: white; }


/* ============================================================
   15. COULEURS
   ============================================================
   Cette section sera refactorisée en variables CSS dans
   une étape ultérieure. Ne pas modifier les valeurs ici
   sans mettre à jour le bloc :root en section 01.
   ============================================================ */


body { background: var(--festival-sand-base); color: black; }

    @media screen and (min-width: 768px) {

        body { 
        background: var(--festival-sand-base) url(images/layouts/background-top.png) no-repeat;
        background-size: contain; 
        background-position: 50% 0; }

    }

        @media screen and (min-width: 1200px) {

            body { background-position: 50% -2vw; }

        }

   /* TOP 
   ------------------------------------------------------------ */

        .top-bar { background-color: var(--festival-yellow-base); }

            @media screen and (min-width: 768px) {

               .top-bar { background-color: initial; }

            }

        .top-bar a,
        .top-bar label { color: black; }

            .top-bar a:hover, .top-bar a:focus,
            .top-bar label:hover, .top-bar label:focus { color: var(--festival-green-base); }  

        .top-bar .search-form input[type="search"] { border-color: var(--festival-yellow-base); }

   /* HEADER 
   ------------------------------------------------------------ */

        /* Main-menu */

        .menu-main-menu #main-menu-items > li:last-child > a { background-color: var(--festival-green-base); color: white; }

        .menu-main-menu #main-menu-items > li > a:hover,
        .menu-main-menu #main-menu-items > li.current-menu-item > a,
        .menu-main-menu #main-menu-items > li.current-menu-ancestor > a,
        .menu-main-menu #main-menu-items > li:last-child > a { color: #fff; }


        /* responsive-main-menu */



   /* WIDGETS 
   ------------------------------------------------------------ */

       .widget-front-artistes { background: var(--festival-yellow-base); }



   /* FOOTER 
   ------------------------------------------------------------ */

        .site-footer { background-color: var(--festival-yellow-base); }

        .site-footer, .site-footer a, .site-footer { color: var(--festival-green-base); }

            .site-footer a:hover, .site-footer a:focus { color: black; }


   /* CONTENU
   ------------------------------------------------------------ */

        
   /* Frontpage */
   /* --------- */       

        /* Slider */
        
        .cycle-pager span { color: var(--festival-green-base); }

            .cycle-pager span.cycle-pager-active, 
            .cycle-pager span:hover, 
            .cycle-pager span:focus { color: var(--festival-pink-base); }

            






/* color: #000 Noir */
body, .media-shortcode-extend .media-info, .wp-playlist-dark .wp-playlist-item, h6, h6 a,
.entry-venue a, #main ul.infos-venues a,
button.alt, a.button.alt, span.button.alt a,
#widget-front-agenda h3,
#main ul#eo-events-programmations .entry-summary,
.singular-post aside h3 { color: #000; }

/* color: #939598 Gris foncé */
caption, td, label, input, textarea, select,
.gallery .gallery-caption, .page-links, .navigation, .loop-nav,
.widget_recent_entries .post-date, .widget-entry-views .entry-view-count,
.gallery-count, .comment-respond .must-log-in, .comment-respond .logged-in-as,
.comments-closed, .comment-notes, .form-allowed-tags,
.whistles-tabs-nav li a, .whistles-toggle .whistle-title, .whistles-accordion .whistle-title,
.wp-playlist-dark .wp-playlist-item-meta { color: var(--color-neutral-dark); }

/* color: #e2e2e2 Gris clair (placeholders) */
input:-webkit-input-placeholder, input:-moz-placeholder,
input:-ms-input-placeholder { color: var(--color-neutral-light); }


/* color: #fff Blanc */
.post-edit-link, .post-edit-link:hover, .post-edit-link:focus,
ul.entry-tags li a,
blockquote, blockquote a:hover, blockquote a:focus,
.entry-content blockquote a:hover, .entry-content blockquote a:focus,
.wp-calendar td.has-posts a
#menu-sub-terms li a, .page-links a, .page-links a:hover, .page-links a:focus,
.attachment-meta-title > .wrap,
.comment-reply-link, .comment-reply-login,
.comment-reply-link:hover, .comment-reply-link:focus,
.comment-reply-login:hover, .comment-reply-login:focus,
.media-shortcode-extend a, .media-shortcode-extend a:hover, .media-shortcode-extend a:focus,
.media-info-toggle, .entry-content .media-info-toggle,
.mejs-time .mejs-currenttime, .mejs-time .mejs-duration,
.mejs-volume-button .mejs-volume-slider .mejs-volume-current,
.mejs-volume-button .mejs-volume-slider .mejs-volume-handle,
.media-info-toggle:hover, .media-info-toggle:focus,
.mejs-overlay-play .mejs-overlay-button::after,
.mejs-time-rail .mejs-time-float,
.wp-playlist-dark .wp-playlist-playing, .wp-playlist-dark .wp-playlist-caption:hover,
.wp-playlist-dark .wp-playlist-caption:focus,
.wp-playlist-dark .wp-playlist-item:hover, .wp-playlist-dark .wp-playlist-item:focus,
.entry-date span, .entry-type span,
.cat-festival.singular-event .menu-main-menu li.menu-item-1095 > a,
.cat-saison.singular-event .menu-main-menu li.menu-item-1096 > a,
.singular-projet .menu-main-menu li.menu-item-1097 > a,
.menu-toggle button,
.entry-hover .entry-summary,
.entry-equipe h3, .entry-partenaires h3, .entry-socials h3, .entry-socials,
button.alt:hover, a.button.alt:hover, span.button.alt a:hover, .buttonspan:hover,
button.alt2, a.button.alt2, span.button.alt2, a.button.alt3, .buttonspan.alt3,
.entry-hover h6 a,
.button.readmore a, .buttonspan.readmore { color: #fff; }


.wp-caption-text h6 { color: #fff; font-weight: normal; }

::selection { color: #fff; /* Ne pas combiner avec d'autres sélecteurs — bug Firefox. */ }

/* color: #D00C1E Rouge vif */
a, h1, h3, h6 a:hover, .rouge, .rouge > a,
.page-partenaires h2, .archive-partenaire h2,
.singular-post .entry-header h2,
.widget-cats-artistes a:hover h6, .widget-cats-artistes .current h6,
.menu-main-menu li li a:hover, .menu-main-menu li li.current-menu-item a,
.menu-main-menu li li.current-menu-ancestor > a,
a:hover, a:focus, legend, mark, pre,
button, input[type='submit'],
.form-allowed-tags code, pre code,
.wp-playlist-light .wp-playlist-item:hover, .wp-playlist-light .wp-playlist-item:focus,
.mejs-button button:hover::after, .mejs-button button:focus::after,
.mejs-overlay-button:hover::after, .mejs-overlay-button:focus::after,
.wp-embed-comments a:hover, .wp-embed-comments a:focus,
.wp-embed-share-dialog-open:hover, .wp-embed-share-dialog-open:focus,
.wp-embed a:hover, .wp-embed a:focus,
.entry-venue a:hover, .entry-prog,
button.alt span, a.button.alt span, span.button.alt a span,
span.wpcf7-not-valid-tip { color: var(--festival-green-base); }
h3 { fill: var(--festival-green-base); }

/* color: #0cbcc8 Bleu turquoise */
.entry-1001 { color: #0cbcc8; }

/* background-color: #000 Noir */
button:hover, input[type='submit']:focus, input[type='submit']:hover, input[type="submit"]:hover,
.top-bar .search-form > div,
.audio-shortcode-wrap, .media-shortcode-extend .media-info,
.media-info-toggle, .entry-content .media-info-toggle,
.media-info-toggle:hover, .media-info-toggle:focus,
.wp-audio-shortcode.mejs-container, .mejs-controls,
.mejs-volume-button .mejs-volume-slider,
.mejs-overlay-play .mejs-overlay-button::after,
.mejs-time-rail .mejs-time-float, .wp-playlist-dark,
ul#eo-events-programmations .entry-date span { background-color: #000; }

/* background-color: #939598 Gris foncé */
.entry-date span, .entry-type span { background-color: var(--color-neutral-dark); }

/* background-color: #d0d0ce Gris moyen */
#widget-front-agenda .entry:hover,
#widget-front-agenda .entry:nth-child(odd):hover,
.archive-event #content .entry:hover,
.archive-event #content .entry:nth-child(odd):hover,
.taxonomy-event-tag #content .entry:hover,
.archive-event #content .entry:nth-child(odd):hover { background: var(--festival-yellow-base); }

/* background-color: #d0d0ce Gris moyen */
.wp-caption .wp-caption-text { background: var(--festival-green-base); color: white; }

/* background-color: #e2e2e2 Gris clair */
header.title, .widget-cats-artistes, .widget-tags-artistes,
#widget-projets,
aside .bloc-liste-cats, aside .bloc-liste-tags { /*background: var(--color-neutral-light);*/ }

/* background-color: #f3f3f4 Gris très clair */
input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus,
input[type="email"]:focus, input[type="month"]:focus, input[type="number"]:focus,
input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus,
input[type="text"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="week"]:focus { background: #f3f3f4; }

/* background-color: #fff Blanc */
.menu-main-menu ul ul, .menu-main-menu li li a, button, #reply-title small a,
.whistles-tabs .whistles-tabs-nav li[aria-selected="true"] a,
.page-partenaires .has-post-thumbnail .entry-medias,
.archive-partenaire .has-post-thumbnail .entry-medias,
#slideshow-accueil,
.archive-event #content .entry:nth-child(odd), .taxonomy-event-tag .entry:nth-child(odd),
.search .entry:nth-child(odd), #widget-front-agenda .entry:nth-child(odd),
.page-partenaires .entry-medias,
.archive-partenaire .entry-medias { background-color: #FFF; }

/* background-color: #D00C1E Rouge vif */
.post-edit-link,
ul.entry-tags li a:hover,
.page-links a:hover, .page-links a:focus,
.wp-calendar td.has-posts a:hover, .wp-calendar td.has-posts a:focus,
blockquote, .widget-title > .wrap, .attachment-meta-title > .wrap,
.widget_search > .search-form,
#menu-sub-terms li a:hover, #menu-sub-terms li a:focus,
.mejs-time-rail .mejs-time-loaded, .menu-toggle button,
a.button:hover, button:hover, span.button a:hover,
.buttonspan:hover, .buttonspan.readmore:hover,
input[type='submit']:hover, button:focus, input[type='submit']:focus,
.menu-main-menu #main-menu-items > li > a:hover,
.menu-main-menu #main-menu-items > li.current-menu-item > a,
.menu-main-menu #main-menu-items > li.current-menu-ancestor > a,
.cat-festival.singular-event .menu-main-menu li.menu-item-1095 > a,
.cat-saison.singular-event .menu-main-menu li.menu-item-1096 > a,
.singular-projet .menu-main-menu li.menu-item-1097 > a,
.widget-cats-artistes a:hover .entry-date span,
.widget-cats-artistes .current .entry-date span,
.entry-hover .entry-date span,
button.alt2, a.button.alt2, span.button.alt2 a { background-color: var(--color-primary); }

::selection { background-color: var(--color-primary); /* Ne pas combiner avec d'autres sélecteurs — bug Firefox. */ }

/* background-color: #0099aa Bleu turquoise */
ul.entry-tags li a, a.button.alt3, .buttonspan.alt3,
.button.readmore a, .buttonspan.readmore { background-color: var(--color-secondary); }

/* background-color: #E3D5C6 Beige */
.widget-collabs,
.layout-1c-narrow #main .wrap #content,
.entry-childs .entry { background-color: var(--color-accent-beige); }

/* background-color: #c5ac91 Marron */
.entry-equipe h3, .entry-partenaires h3, .entry-socials,
button.alt, a.button.alt, span.button.alt a,
button.alt2:hover, a.button.alt2:hover, span.button.alt2 a:hover { background-color: var(--color-accent-marron); }

/* background: transparent */
hr, .mejs-container, .mejs-embed, .mejs-embed body,
.mejs-overlay-button,
.mejs-controls > .mejs-button button:hover,
.mejs-controls > .mejs-button button:focus,
.top-bar .menu-toggle button, .top-bar .menu-toggle button:hover, .top-bar .menu-toggle button:focus,
.top-bar .search-toggle, .top-bar .search-toggle:hover, .top-bar .search-toggle:focus { background: transparent; }

/* border-color: #000 Noir */
hr, code, pre, .form-allowed-tags code, fieldset,
.gallery .gallery-icon a img, .avatar,
.display-header-text #header, .wp-custom-logo #header,
.entry, .media-info li, .wp-playlist-tracks, .wp-playlist-item,
.archive-description, li.ping, .comment-content,
.clean-my-archives .day-duplicate .day,
.whistles-tabs-nav li a, .whistles-tabs .whistles-tabs-nav li a:hover,
.whistles-tabs .whistles-tabs-nav li a:focus, .whistles-tabs .whistles-tabs-wrap,
.whistles-toggle .whistle-title, .whistles-accordion .whistle-title,
.whistles-toggle .whistle-content, .whistles-accordion .whistle-content,
.entry-programme,
input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus,
input[type="email"]:focus, input[type="month"]:focus, input[type="number"]:focus,
input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus,
input[type="text"]:focus, input[type="time"]:focus, input[type="url"]:focus,
input[type="week"]:focus, textarea:focus, select:focus,
.layout-1c-narrow input, .layout-1c-narrow textarea:focus,
.menu-main-menu li li a { border-color: #000; }

/* border-color: #fff Blanc */
a.button.alt3, .buttonspan.alt3 { border-color: #fff; }

/* border-color: #D00C1E Rouge vif */
legend, input, textarea, select,
button, a.button, span.button a,
.page-links a, #menu-sub-terms li a,
.button.readmore a:hover, .buttonspan.readmore:hover, .buttonspan:hover { border-color: var(--festival-green-base); }

/* border-color: #e2e2e2 Gris clair */
.loop-nav, .navigation { border-color: var(--color-neutral-light); }

/* border-color: #0099aa Bleu turquoise */
a.button.alt3, .buttonspan.alt3,
.button.readmore a, .buttonspan.readmore,
div.wpcf7-mail-sent-ok { border-color: var(--color-secondary); }

/* border-color: #c5ac91 Marron */
button.alt, a.button.alt, span.button.alt a,
button.alt2:hover, a.button.alt2:hover, span.button.alt2 a:hover,
div.wpcf7-validation-errors { border-color: var(--color-accent-marron); }

/* border-color: #E3D5C6 Beige */
.layout-1c-narrow input, .layout-1c-narrow textarea { border-color: var(--color-accent-beige); }

/* Couleurs diverses */
code { color: #000; background: #f6f6f6; }
tr, thead, tfoot, td { border-color: #f3f3f3; }
td { background: #fcfcfc; }
.gallery .gallery-icon a img { background: #f9f9f9; }
.gallery-icon a:hover img, .gallery-icon a:focus img { background: #f3f3f3; }
#site-title a:hover, #site-title a:focus { border-bottom-color: #d3d3d3; }
.entry-byline, .entry-footer, .comment-meta, .wp-playlist-item-meta { color: rgba(85, 85, 85, 0.75); }
.image-sizes .sep { color: #e3e3e3; }
.archive-description { color: #757575; background: #f9f9f9; }
li.ping, .comment-content { background: #f9f9f9; }
.clean-my-archives .comments-number { color: #aaa; }
.whistles-tabs-nav li a, .whistles-toggle .whistle-title, .whistles-accordion .whistle-title { background: #f3f3f3; }
.whistles-tabs .whistles-tabs-nav li a:hover, .whistles-tabs .whistles-tabs-nav li a:focus { background: #efefef; }
.whistles-tabs .whistles-tabs-nav li[aria-selected="true"] a { border-bottom-color: #fff; }
.media-shortcode-extend .audio-info { border-color: #202020; }
.media-shortcode-extend .media-info li, .wp-playlist-dark .wp-playlist-item { border-color: #353535; }
.wp-video-shortcode .mejs-controls, .wp-playlist-dark .mejs-controls { border-color: #151515; }
.mejs-time-rail .mejs-time-float { border-color: #454545; }
.mejs-time-rail .mejs-time-float-corner { border-top-color: #fff; }
.whistles-toggle .whistle-title:hover, .whistles-toggle .whistle-title:focus,
.whistles-toggle .whistle-title[aria-selected="true"],
.whistles-accordion .whistle-title:hover, .whistles-accordion .whistle-title:focus,
.whistles-accordion .whistle-title[aria-selected="true"] { background: #efefef; }
.mejs-time-rail .mejs-time-total, .mejs-horizontal-volume-slider .mejs-horizontal-volume-total,
.mejs-volume-button .mejs-volume-slider .mejs-volume-total { background: #454545; }
.mejs-time-rail .mejs-time-current { background: rgba(255, 255, 255, 0.35); }
.mejs-overlay-play .mejs-overlay-button::after { text-shadow: 1px 1px 2px #151515; }
.mejs-button button:focus { outline-color: #555; }
.front-une-color { position: absolute; left: 0; width: 50%; height: 100%; }