/* ======================================================================== */
/* 1) CONFIGURATION DU TITRE ET DE LA LIGNE ORANGE (Uniquement sur /photos) */
/* ======================================================================== */
.path-photos .page-title-wrap::before,
.path-photos .page-title::before {
    content: none !important;
}
.path-photos main.page-content {
    padding-top: 0 !important;
}
.path-photos .page-title-wrap {
    position: relative;
    padding-top: 1.2rem;
    overflow: visible !important;
}
.path-photos .page-title-wrap::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 6px;
    background-color: #d6620e;
    border-radius: 3px;
    z-index: 10;
}

/* ======================================================================== */
/* 2) LA GRILLE PRINCIPALE (UNIQUEMENT HORS PAGE D'ACCUEIL)                 */
/* ======================================================================== */
.view,
.views-element-container,
.views-view-unformatted {
    display: block !important;
}

/* La grille 3 colonnes ne s'applique QUE si on N'EST PAS sur la page d'accueil */
body:not(.path-frontpage) .view-content:not(.view-fragments):has(> article.node),
body:not(.path-frontpage) .views-view-unformatted:not(.view-fragments):has(> article.node),
body:not(.path-frontpage) .view-content:not(.view-fragments):has(> .views-row) {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important;
    grid-auto-rows: 1fr !important;
    gap: 2rem !important;
    align-items: stretch !important;
}

/* ======================================================================== */
/* 2.B) DEBRIDAGE PAGE D'ACCUEIL (Règles ciblées sans casser la grille)    */
/* ======================================================================== */
.path-frontpage .view-banniere-accueil .view-content,
.path-frontpage .view-banniere-accueil .views-row {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Bannière pleine largeur sur l'accueil */
.path-frontpage .view-banniere-accueil,
.path-frontpage .conteneur-banniere-hero {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    margin-bottom: 2rem !important;
}

.path-frontpage .conteneur-banniere-hero img,
.path-frontpage .conteneur-banniere-hero img.image-field {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 500px !important;
    object-fit: cover !important;
    display: block !important;
}

/* ======================================================================== */
/* 3) STYLE DES CARTES BLANCHES (UNIQUEMENT POUR LES LISTES / ACCROCHES)    */
/* ======================================================================== */
.view article.node,
.view-id-choix_par_theme article.node,
:not(.node--view-mode-full) > article.node {
    background: #ffffff !important;
    border-radius: 0.6rem !important;
    border: 1px solid #dcdcdc !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.08) !important;
    padding: 1.5rem !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    box-sizing: border-box !important;
    float: none !important;
}

body:not(.node--view-mode-full) .view article.node,
body:not(.node--view-mode-full) .view-id-choix_par_theme article.node {
    height: 100% !important;
    width: 100% !important;
}

.view article.node h2.node-title,
.view-id-choix_par_theme article.node h2.node-title {
    margin-top: 0 !important;
    margin-bottom: 0.5rem !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    height: auto !important;
}

.view article.node .node-content,
.view article.node .field--name-field-image,
.view article.node .juicebox-parent,
.view-id-choix_par_theme .node-content {
    display: block !important;
    height: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0.8rem !important;
    padding-top: 0 !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
}

.view article.node img,
.view-id-choix_par_theme article.node img {
    width: 100% !important;
    height: auto !important;
    border-radius: 0.4rem !important;
    display: block !important;
}

/* ======================================================================== */
/* 4) COMPTEUR DE VUES SOUDÉ AU RAS DU FOND (LISTES UNIQUEMENT)             */
/* ======================================================================== */
.view article.node .t-counter,
.view-id-choix_par_theme article.node .t-counter {
    margin-top: auto !important; 
    padding: 1rem 0 0 0 !important;
    border-top: 1px dashed #e4e4e4 !important;
    text-align: right !important;
    font-style: italic !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    height: auto !important;
}

.view article.node .t-counter__value,
.view-id-choix_par_theme article.node .t-counter__value {
    color: #a7bd43 !important;
    font-weight: bold !important;
}

.view article.node::after,
.view-id-choix_par_theme article.node::after {
    content: "" !important;
    flex-grow: 1 !important;
}

/* ======================================================================== */
/* 5) VERROUILLAGE DE L'ALIGNEMENT GAUCHE POUR LES IMAGES ET DIAPORAMAS    */
/* ======================================================================== */
article.node .node-content,
article.node .field--name-field-image,
article.node .juicebox-parent {
    text-align: left !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
}

article.node .node-content > div,
article.node .juicebox-parent iframe,
article.node .juicebox-container {
    margin-left: 0 !important;
    margin-right: auto !important;
    width: 100% !important;
}

/* ======================================================================== */
/* 6) ADAPTATION ET GRILLE RESPONSIVE TRI-NIVEAUX (1, 2 OU 3 COLONNES)      */
/* ======================================================================== */
.path-choix main.page-content,
.path-choix #main-wrapper,
.path-choix .content-layout {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    float: none !important;
}

.path-choix .views-row,
.view-id-choix_par_theme .views-row {
    display: contents !important;
}

.path-choix article.node,
.view-id-choix_par_theme article.node {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    width: 100% !important;
    box-sizing: border-box !important;
    float: none !important;
}

.path-choix .node-content,
.path-choix .juicebox-parent,
.path-choix .juicebox-container {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 0 0.8rem 0 !important;
    width: 100% !important;
    height: auto !important;
}

.path-choix article.node::after,
.view-id-choix_par_theme article.node::after {
    content: "" !important;
    flex-grow: 1 !important;
}

@media (max-width: 767px) {
    .path-choix .view-content,
    .path-choix .views-view-unformatted {
        display: flex !important;
        flex-direction: column !important;
        gap: 1.5rem !important;
        width: 90% !important;
        margin: 1.5rem auto !important;
    }
    
    .path-choix form.views-exposed-form {
        width: 90% !important;
        margin: 0 auto 1.5rem auto !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .path-choix .view-content,
    .path-choix .views-view-unformatted,
    .view-id-choix_par_theme .view-content {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        grid-auto-rows: 1fr !important;
        gap: 2rem !important;
        align-items: stretch !important;
        width: 92% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        margin-top: 2rem !important;
    }

    .path-choix form.views-exposed-form,
    .view-id-choix_par_theme form.views-exposed-form {
        display: block !important;
        width: 92% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        margin-bottom: 2.5rem !important;
        clear: both !important;
    }
    
    .path-choix article.node,
    .view-id-choix_par_theme article.node {
        height: 100% !important;
    }
}

@media (min-width: 1025px) {
    .path-choix .view-content,
    .path-choix .views-view-unformatted,
    .view-id-choix_par_theme .view-content {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        grid-auto-rows: 1fr !important;
        gap: 2rem !important;
        align-items: stretch !important;
        width: 92% !important;
        max-width: 1200px !important; 
        margin-left: auto !important;
        margin-right: auto !important;
        margin-top: 2rem !important;
    }

    .path-choix form.views-exposed-form,
    .view-id-choix_par_theme form.views-exposed-form {
        display: block !important;
        width: 92% !important;
        max-width: 1200px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        margin-bottom: 2.5rem !important;
        clear: both !important;
    }
    
    .path-choix article.node,
    .view-id-choix_par_theme article.node {
        height: 100% !important;
    }
}

/* ======================================================================== */
/* 7) SÉCURITÉ ABSOLUE : ANNULATION DES CARTES SUR LA PAGE COMPLÈTE        */
/* ======================================================================== */
body.page-node-type-photo article.node,
body.page-node-type-article article.node,
.node--view-mode-full {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.page-node-type-photo .node-content img,
.node--view-mode-full img {
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
}

/* ======================================================================== */
/* 8) BRIDAGE DE LA VUE DE L'ACCUEIL (FIL D'ACTUALITÉ UNIQUE)               */
/* ======================================================================== */
#views-bootstrap-frontpage-page-1 {
    display: block !important;
    width: 90% !important;
    max-width: 680px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
}

#views-bootstrap-frontpage-page-1 > div[class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 0 3.5rem 0 !important;
    float: none !important;
}

#views-bootstrap-frontpage-page-1 article.node {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
}

/* ======================================================================== */
/* 9) SUPPRESSION DE LA BANDE COLORÉE RÉSIDUELLE EN HAUT                    */
/* ======================================================================== */
.header-top, 
#header-top-wrapper,
.header-top-container {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: none !important;
}

/* ======================================================================== */
/* 10) BANDEAU DE TITRE ORANGE (PLEINE LARGEUR)                             */
/* ======================================================================== */
.titre-bandeau-wrapper {
    background-color: #d6620E !important;
    width: 100% !important;
    padding: 20px 0 !important;
    display: block !important;
}

.site-branding-manual {
    display: block !important;
    text-align: left !important;
}

.site-branding-manual a {
    color: #FFFFFF !important;
    font-size: 2.4rem !important;
    font-weight: bold !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    letter-spacing: 0.5px !important;
    white-space: nowrap !important;
}

/* ======================================================================== */
/* 11) ZONE DU MENU (EN DESSOUS ET CALÉ À GAUCHE)                           */
/* ======================================================================== */
.menu-bandeau-wrapper {
    width: 100% !important;
    background-color: transparent !important;
    padding: 15px 0 !important;
    display: block !important;
}

.menu-bandeau-wrapper .header-container {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: 100% !important;
}

.menu-bandeau-wrapper .header-right {
    margin-left: 0 !important;
    margin-right: auto !important;
    width: auto !important;
    display: block !important;
}

.main-menu-item a {
    white-space: nowrap !important;
}

/* ======================================================================== */
/* 12) DISTINCTION DES FONDS ET BORDURES PAR TYPE (LISTES UNIQUEMENT)      */
/* ======================================================================== */
.view article.node.node-type-image,
.view-id-choix_par_theme article.node.node-type-image,
body:not(.node--view-mode-full) article.node.node-type-image {
    background: #e6eef4 !important;
    background-color: #e6eef4 !important;
    border: 2px solid #a3b8cc !important;
}

.view article.node.node-type-article,
.view-id-choix_par_theme article.node.node-type-article,
body:not(.node--view-mode-full) article.node.node-type-article {
    background: #f5efe2 !important;
    background-color: #f5efe2 !important;
    border: 2px solid #c2ad88 !important;
}

.view article.node.node-type-album,
.view-id-choix_par_theme article.node.node-type-album,
body:not(.node--view-mode-full) article.node.node-type-album {
    background: #f0f0f0 !important;
    background-color: #f0f0f0 !important;
    border: 2px solid #a6a6a6 !important;
}

/* ======================================================================== */
/* 13) SÉCURITÉ ABSOLUE : AFFICHAGE DES SOUS-MENUS AU SURVOL                */
/* ======================================================================== */
.header,
.menu-bandeau-wrapper,
.menu-bandeau-wrapper .header-container,
.menu-bandeau-wrapper .header-right,
.menu-bandeau-wrapper .block-menu,
.menu-bandeau-wrapper nav {
    overflow: visible !important;
    position: relative !important;
}

.menu-bandeau-wrapper ul li:hover > ul,
.menu-bandeau-wrapper ul.menu li:hover > ul.dropdown-menu,
.menu-bandeau-wrapper .main-menu-item:hover > ul {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.menu-bandeau-wrapper ul li ul,
.menu-bandeau-wrapper ul.menu li ul.dropdown-menu,
.menu-bandeau-wrapper .main-menu-item ul {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    z-index: 9999 !important;
    background-color: #ffffff !important;
    border: 1px solid #dcdcdc !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    min-width: 200px !important;
    border-radius: 0 0 4px 4px !important;
}

.menu-bandeau-wrapper ul li ul li,
.menu-bandeau-wrapper ul.menu li ul.dropdown-menu li {
    width: 100% !important;
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border-bottom: 1px solid #eaeaea !important;
}

.menu-bandeau-wrapper ul li ul li:last-child,
.menu-bandeau-wrapper ul.menu li ul.dropdown-menu li:last-child {
    border-bottom: none !important;
}

.menu-bandeau-wrapper ul li ul li a,
.menu-bandeau-wrapper ul.menu li ul.dropdown-menu li a {
    color: #333333 !important;
    padding: 10px 20px !important;
    display: block !important;
    font-size: 0.95rem !important;
    text-transform: none !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.menu-bandeau-wrapper ul li ul li a:hover,
.menu-bandeau-wrapper ul.menu li ul.dropdown-menu li a:hover {
    background-color: #f5efe2 !important;
    color: #d6620E !important;
}

/* ======================================================================== */
/* 15) OPTIMISATION MOBILE : INTERFACE ET MENU ACCORDÉON SANS JS            */
/* ======================================================================== */
@media (max-width: 768px) {
    html, body {
        max-width: 100% !important;
        width: 100% !important;
        overflow-x: hidden !important;
    }

    .titre-bandeau-wrapper {
        background-color: #d2691e !important;
        width: 100% !important;
        padding: 12px 15px !important;
        box-sizing: border-box !important;
    }

    .site-branding-manual a {
        font-size: 1.35rem !important;
        white-space: normal !important;
        word-wrap: break-word !important;
        display: block !important;
        line-height: 1.2 !important;
        color: #ffffff !important;
    }

    .menu-bandeau-wrapper {
        width: 100% !important;
        padding: 5px 10px !important;
        box-sizing: border-box !important;
        background: #ffffff !important;
        border-bottom: 2px solid #e0e0e0 !important;
    }

    .menu-bandeau-wrapper::before {
        content: "☰ Menu de navigation";
        display: block !important;
        padding: 10px !important;
        background: #f8f9fa !important;
        color: #333333 !important;
        font-weight: bold !important;
        text-align: center !important;
        border: 1px solid #e0e0e0 !important;
        border-radius: 4px !important;
        margin-bottom: 5px !important;
    }

    ul.main-menu.menu {
        display: none !important;
        flex-direction: column !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
    }

    .menu-bandeau-wrapper:hover ul.main-menu.menu,
    .menu-bandeau-wrapper:focus-within ul.main-menu.menu,
    .menu-bandeau-wrapper:active ul.main-menu.menu {
        display: flex !important;
    }

    ul.main-menu.menu > li {
        display: block !important;
        width: 100% !important;
        margin-bottom: 6px !important;
        padding: 0 !important;
        border: none !important;
    }

    ul.main-menu.menu > li > a {
        display: block !important;
        padding: 10px 15px !important;
        background: #f8f9fa !important;
        color: #333333 !important;
        border: 1px solid #e0e0e0 !important;
        border-radius: 4px !important;
        text-decoration: none !important;
        font-weight: bold !important;
        font-size: 0.95rem !important;
    }

    ul.main-menu.menu > li > a:active,
    ul.main-menu.menu > li > a:focus {
        background: #e9ecef !important;
        color: #d2691e !important;
    }

    ul.main-menu .submenu {
        display: block !important;
        position: static !important;
        margin: 6px 0 4px 15px !important;
        padding: 0 !important;
        box-shadow: none !important;
        border: none !important;
    }

    ul.main-menu .submenu li {
        margin-bottom: 5px !important;
        padding: 0 !important;
        border: none !important;
    }

    ul.main-menu .submenu li a {
        display: block !important;
        padding: 8px 12px !important;
        background: #ffffff !important;
        color: #d2691e !important;
        border: 1px solid #d2691e !important;
        border-radius: 4px !important;
        font-size: 0.88rem !important;
        text-decoration: none !important;
    }

    ul.main-menu.menu span.expanded,
    ul.main-menu.menu .expanded::after {
        display: none !important;
    }

    .view-id-photos_au_choix .view-content {
        display: block !important;
        width: 100% !important;
    }

    .view-id-photos_au_choix .views-row {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 20px 0 !important;
        box-sizing: border-box !important;
    }
}

article.node.node-view-mode-full .node-tags,
body.page-node-type-article .node-tags {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    clear: both !important;
    margin-top: 20px !important;
    margin-bottom: 15px !important;
}

.node-tags a {
    display: inline-block !important;
    background-color: #f5efe2 !important;
    color: #d6620e !important;
    padding: 5px 10px !important;
    border-radius: 4px !important;
    margin-right: 10px !important;
    text-decoration: none !important;
}

.node-view-mode-teaser h2 {
    font-size: 18px;
}
.node-view-mode-teaser .node-content {
    min-height: 280px;
}
img.image-field {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.header-top {
    background-color: #c9bc8f;
    color: #ffccff;
}
.page-title-wrap .page-title {
    color: #6b4009;
    font-size: 3rem;
    text-align: center;
}
.lien-card {
    color: white;
}
.lien-card:hover {
    color: black;
}
.taxonomy-terms li a {
    text-decoration: none;
    padding: 5px;
    font-family: arial;
    font-size: 1em;
    color: #eeece1;
    background-color: #595959;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border: 2px solid #FFFFFF;
    box-shadow: 3px 3px 12px #444444;
    -webkit-box-shadow: 3px 3px 12px #444444;
    -moz-box-shadow: 3px 3px 12px #444444;
}
.taxonomy-terms li a:hover {
    padding: 5px;
    color: #595959;
    background-color: #eeece1;
    box-shadow: 1px 1px 4px #777777;
    -webkit-box-shadow: 1px 1px 4px #777777;
    -moz-box-shadow: 1px 1px 4px #777777;
}
.taxonomy-terms li::before {
    display: none;
}
#edit-submit-photos {
    margin-bottom: 10px;
}
.page-title-wrap .page-title {
    font-size: 2rem;
}
.resp-container { 
    position: relative; 
    overflow: hidden; 
    padding-top: 56.25%; 
}
.resp-iframe { 
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    border: 0; 
}
.path-photos-du-jour h1.page-title {
    font-size: 1.5rem;
}

.photo-tags-wrapper ul.taxonomy-terms-gray li a {
    text-decoration: none !important;
    padding: 5px 15px !important;
    font-family: arial, sans-serif !important;
    font-size: 0.95em !important;
    color: #eeece1 !important;
    background-color: #595959 !important;
    border-radius: 12px !important;
    border: 2px solid #FFFFFF !important;
    box-shadow: 3px 3px 12px #444444 !important;
    display: inline-block !important;
}

.photo-tags-wrapper ul.taxonomy-terms-gray li a:hover {
    color: #595959 !important;
    background-color: #eeece1 !important;
    box-shadow: 1px 1px 4px #777777 !important;
}

/* ==========================================================================
   LAYOUT BANNIÈRE ACCUEIL - DEBRIDAGE CIBLÉ
   ========================================================================== */

.view-banniere-accueil,
.view-banniere-accueil .view-content,
.block-views-blockbanniere-accueil-block-1,
.block-views-blockbanniere-accueil-block-1 .view-content,
.region-banniere .view-content {
    display: block !important;
    grid-template-columns: none !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.view-banniere-accueil .views-row,
.view-banniere-accueil [class*="grid-"],
.view-banniere-accueil [class*="col-"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

.conteneur-banniere-hero {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    margin-bottom: 2rem !important;
    display: block !important;
}

.conteneur-banniere-hero img {
    width: 100% !important;
    min-width: 100% !important;
    height: auto !important;
    max-height: 500px !important;
    object-fit: cover !important;
    display: block !important;
}

.legende-hero {
    position: absolute !important;
    bottom: 8% !important;
    left: 4% !important;
    max-width: 550px !important;
    background: rgba(0, 0, 0, 0.6) !important;
    backdrop-filter: blur(4px);
    padding: 1.25rem 1.75rem !important;
    border-left: 3px solid #ffffff !important;
    z-index: 10 !important;
}

.legende-hero, 
.legende-hero p {
    color: #ffffff !important;
    margin: 0 !important;
    font-family: "Georgia", "Times New Roman", serif !important;
    font-size: 1.15rem !important;
    font-style: italic !important;
    line-height: 1.5 !important;
}

@media (max-width: 768px) {
    .legende-hero {
        position: relative !important;
        bottom: auto !important;
        left: auto !important;
        max-width: 100% !important;
        background: #222222 !important;
    }
}

/* ==========================================================================
   SECTIONS SECONDAIRES D'ACCUEIL
   ========================================================================== */
.view-series-a-la-une .view-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2.5rem;
    max-width: 1200px;
    margin: 0 auto 4rem auto;
    padding: 0 1.5rem;
}

.view-series-a-la-une .views-row {
    display: flex;
    flex-direction: column;
}

.view-series-a-la-une .views-field-field-image img {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.view-series-a-la-une .views-row:hover img {
    transform: scale(1.02);
}

.view-photo-du-jour-accueil .view-content {
    max-width: 1000px;
    margin: 0 auto 4rem auto;
    padding: 2rem 1.5rem;
    background-color: #f9f9f9;
}

.view-photo-du-jour-accueil .views-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
}

@media (max-width: 768px) {
    .view-photo-du-jour-accueil .views-row {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
}

/* ==========================================================================
   NEUTRALISATION DU SYSTÈME DE GRILLE PAR DÉFAUT POUR LA BANNIÈRE HERO
   ========================================================================== */
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-1,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-1 .view-content,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-1 .views-row,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .view-content,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-row {
    display: block !important;
    grid-template-columns: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.conteneur-banniere-hero {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
}

.conteneur-banniere-hero img.image-field {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
}

/* ========================================================================== */
/* RESTAURATION DE LA GRILLE DE CARTES DE L'ACCUEIL (ALBUMS)                  */
/* ========================================================================== */
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-2 .views-view-grid,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-2 .view-content {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 1.5rem !important;
    align-items: stretch !important;
    margin-bottom: 1.5rem !important;
    width: 100% !important;
}

#block-tarapro-subtheme-views-block-banniere-d-accueil-block-2 .views-row,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-2 [class*="col-"] {
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
    width: 100% !important;
    max-width: 100% !important;
}

#block-tarapro-subtheme-views-block-banniere-d-accueil-block-2 .views-row:hover,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-2 [class*="col-"]:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12) !important;
}

#block-tarapro-subtheme-views-block-banniere-d-accueil-block-2 .field--name-field-image,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-2 img {
    order: 1 !important;
    width: 100% !important;
    height: 190px !important;
    object-fit: cover !important;
    margin: 0 !important;
    border-radius: 8px 8px 0 0 !important;
}

#block-tarapro-subtheme-views-block-banniere-d-accueil-block-2 .views-field-title,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-2 h3,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-2 .field--name-title {
    order: 2 !important;
    padding: 12px 15px 5px 15px !important;
    margin: 0 !important;
    font-weight: 600 !important;
    font-size: 1.05rem !important;
    line-height: 1.3 !important;
    text-align: center !important;
}

#block-tarapro-subtheme-views-block-banniere-d-accueil-block-2 .views-field-body,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-2 .field--name-body,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-2 p {
    order: 3 !important;
    padding: 0 15px 15px 15px !important;
    margin: 0 !important;
    font-size: 0.88rem !important;
    color: #666666 !important;
    line-height: 1.4 !important;
    text-align: center !important;
}

/* ========================================================================== */
/* CORRECTION : AFFICHAGE DES LIENS FOOTER (ALBUMS & VUES)                    */
/* ========================================================================== */

/* 1. Déblocage du conteneur footer pour qu'il soit bien visible sous la grille */
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-2 .view-footer,
.view-id-banniere_d_accueil .view-footer,
.more-albums-link {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    text-align: right !important;
    margin-top: 1.5rem !important;
    margin-bottom: 2rem !important;
    clear: both !important;
    position: relative !important;
    z-index: 10 !important;
}

/* Style du lien sans fond orangé */
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-2 .view-footer a,
.view-id-banniere_d_accueil .view-footer a,
.more-albums-link a {
    display: inline-block !important;
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
    color: #d6620e !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

#block-tarapro-subtheme-views-block-banniere-d-accueil-block-2 .view-footer a:hover,
.view-id-banniere_d_accueil .view-footer a:hover,
.more-albums-link a:hover {
    background: transparent !important;
    color: #b54f0a !important;
    text-decoration: underline !important;
}

/* ========================================================================== */
/* PHOTO DU JOUR : TEXTE CENTRÉ VERTICALEMENT & GRAND CARTOUCHE               */
/* ========================================================================== */
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-row {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 3rem !important;
    align-items: center !important;
    background: #ffffff !important;
    padding: 2.5rem !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
}

#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 img {
    width: 100% !important;
    height: auto !important;
    max-height: 500px !important;
    object-fit: cover !important;
    border-radius: 6px !important;
    display: block !important;
}

#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-field-body,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-field-title {
    padding-right: 120px !important;
    font-size: 1.05rem !important;
    line-height: 1.6 !important;
}


#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-field-created time,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-field-post-date {
    color: #333333 !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    display: block !important;
}

@media (max-width: 768px) {
    #block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-row {
        grid-template-columns: 1fr !important;
        padding: 1.5rem !important;
    }

    #block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-field-body,
    #block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-field-title {
        padding-right: 0 !important;
        margin-top: 1rem !important;
    }

    #block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-field-created,
    #block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-field-post-date {
        position: static !important;
        margin: 0 auto 1.5rem auto !important;
    }
}

/* ========================================================================== */
/* AFFICHAGE EN 50% / 50% AVEC STYLE D'IMAGE LARGE ET COLORBOX                */
/* ========================================================================== */

/* 1. Disposition côte à côte de la photo et du texte */
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* 2. Colonne de gauche (Photo) à 50% */
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-field-field-image {
    width: 70% !important;
    min-width: 70% !important;
    max-width: 70% !important;
    flex: 0 0 70% !important;
    box-sizing: border-box !important;
}

/* 3. Déblocage du lien Colorbox */
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-field-field-image .field-content,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 a.colorbox {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* 4. Expansion de l'image (Annulation des limites 'width: auto' du thème) */
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 img.image-field {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: cover !important;
    display: block !important;
}

/* 5. Colonne de droite (Texte / Légende) */
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-field-body {
    flex: 1 !important;
    padding-left: 2rem !important;
}

/* 6. Pied de vue (Liens 'Photo du jour' et 'Toutes les photos du jour') */
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .view-footer {
    display: block !important;
    width: 100% !important;
    margin-top: 1.5rem !important;
    clear: both !important;
}

#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .view-footer p {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .view-footer a:first-child {
    float: left !important;
    color: #d6620e !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    text-decoration: none !important;
    background: transparent !important;
}

#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .view-footer a:last-child {
    float: right !important;
    color: #d6620e !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    text-decoration: none !important;
    background: transparent !important;
}

#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .view-footer a:hover {
    background: transparent !important;
    color: #b54f0a !important;
    text-decoration: underline !important;
}

#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .view-footer::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}
/* ========================================================================== */
/* HARMONISATION DES TITRES DE SECTIONS (ACCUEIL)                             */
/* ========================================================================== */

/* 1. Style commun pour les titres de sections d'accueil */
.path-frontpage .view-id-banniere_d_accueil h2,
.path-frontpage #block-tarapro-subtheme-views-block-banniere-d-accueil-block-2 h2,
.path-frontpage #block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 h2,
.path-frontpage .photo-du-jour-title {
    font-size: 1.8rem !important;
    font-weight: 500 !important;
    color: #2c2c2c !important;
    margin-top: 2.5rem !important;
    margin-bottom: 1.5rem !important;
    position: relative !important;
    display: inline-block !important;
    clear: both !important;
}

/* 2. Titre "Albums photo" : Aligné à gauche avec un discret rappel orange */
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-2 h2 {
    text-align: left !important;
    padding-left: 15px !important;
    border-left: 4px solid #d6620e !important; /* Trait vertical orange */
}

/* 3. Titre "Photo du jour" : Centré avec le soulignement existant */
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 h2 {
    display: table !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 h2::after {
    content: "" !important;
    display: block !important;
    width: 40px !important;
    height: 2px !important;
    background-color: #d6620e !important;
    margin: 8px auto 0 auto !important;
}

/* ========================================================================== */
/* TITRES DE SECTIONS ÉLÉGANTS (CLASSES SUR-MESURE EN TÊTE DE VUE)           */
/* ========================================================================== */

/* Base commune aux titres de sections */
.titre-section {
    display: block !important;
    font-size: 1.75rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    margin-top: 2.5rem !important;
    margin-bottom: 1.5rem !important;
    padding-left: 14px !important;
    box-sizing: border-box !important;
    clear: both !important;
}

/* Albums photo : Orange Terracotta */
.titre-albums {
    color: #d6620e !important;
    border-left: 4px solid #d6620e !important;
}

/* Photo du jour : Gris Ardoise */
.titre-photo-jour {
    color: #2c3e50 !important;
    border-left: 4px solid #5a6b7c !important;
}

/* ========================================================================== */
/* OVERLAY BANNIÈRE DIAPORAMAS                                               */
/* ========================================================================== */

/* Conteneur de l'image */
.views-element-container .diaporama-banner-wrapper,
.diaporama-banner-wrapper {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    border-radius: 6px !important;
}

.diaporama-banner-link {
    display: block !important;
    position: relative !important;
    text-decoration: none !important;
}

.diaporama-banner-link img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    filter: brightness(0.8) !important;
    transition: filter 0.3s ease, transform 0.4s ease !important;
}

.diaporama-banner-link:hover img {
    filter: brightness(0.7) !important;
    transform: scale(1.02) !important;
}

/* Superposition centrale */
.diaporama-banner-overlay {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 15px !important;
    width: 90% !important;
    pointer-events: none !important;
    z-index: 10 !important;
}

/* Icône Play SVG */
.play-button-icon svg {
    width: 56px !important;
    height: 56px !important;
    fill: #ffffff !important;
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.6)) !important;
    transition: transform 0.3s ease !important;
}

.diaporama-banner-link:hover .play-button-icon svg {
    transform: scale(1.15) !important;
}

/* Titre blanc superposé */
.banner-title {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 2.2rem !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.8) !important;
    white-space: nowrap !important;
}

/* Adaptation mobile */
@media (max-width: 768px) {
    .banner-title {
        font-size: 1.4rem !important;
    }
    .play-button-icon svg {
        width: 38px !important;
        height: 38px !important;
    }
}

/* ========================================================================== */
/* FORCE PLEINE LARGEUR + TYPOGRAPHIE SUR DEUX LIGNES (BLOC 4)               */
/* ========================================================================== */

/* Neutraliser la grille et les contraintes pour le Bloc 4 */
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-4,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-4 .view-content,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-4 .views-row,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-4 article.node {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* Image pleine largeur */
.diaporama-banner-wrapper {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
    border-radius: 8px !important;
}

.diaporama-banner-link img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: cover !important;
    filter: brightness(0.75) !important;
    transition: filter 0.4s ease, transform 0.5s ease !important;
}

.diaporama-banner-link:hover img {
    filter: brightness(0.65) !important;
    transform: scale(1.02) !important;
}

/* Overlay et Typographie */
.diaporama-banner-overlay {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 20px !important;
    width: 90% !important;
    pointer-events: none !important;
    z-index: 10 !important;
}

/* Alignement centré du groupe de texte */
.banner-title-group {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important; /* Centre horizontalement les deux lignes */
    text-align: center !important;
}

.banner-title-line1 {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 2.8rem !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    line-height: 1.0 !important;
    text-shadow: 0 3px 10px rgba(0, 0, 0, 0.9) !important;
}

.banner-title-line2 {
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 2.2rem !important;
    font-weight: 400 !important;
    font-style: italic !important;
    color: #f2e8dd !important;
    line-height: 1.1 !important;
    margin-top: 0.2rem !important; /* Légère séparation sous la première ligne */
    text-shadow: 0 3px 10px rgba(0, 0, 0, 0.9) !important;
}

/* ========================================================================== */
/* HARMONISATION DES ESPACEMENTS ENTRE SECTIONS                               */
/* ========================================================================== */

/* Espacement vertical uniforme pour les blocs de la page d'accueil */
#main .block {
    margin-bottom: 3.5rem !important;
}

/* Titres de sections (Albums photo, Photo du jour) */
.titre-section,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-2 h2,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 h2 {
    margin-top: 1rem !important;
    margin-bottom: 1.5rem !important;
}

/* Espacement au-dessus de la bannière Diaporamas & Vidéos (Block 4) */
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-4 {
    margin-top: 3.5rem !important;
}

/* Espacement sous les liens "Toutes les dernières photos" */
.photo-du-jour-links,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-2 .more-albums-link {
    margin-bottom: 1.5rem !important;
}

/* ========================================================================== */
/* CORRECTION SECTION DIAPORAMAS (FILET ORANGE + CARTE BLANCHE)              */
/* ========================================================================== */

/* Force l'affichage de la barre orange sur le titre */
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-4 .titre-section,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-4 h2 {
    border-left: 4px solid #d9531e !important;
    padding-left: 12px !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    margin-bottom: 1.5rem !important;
}

/* Force le conteneur en carte blanche avec marges internes */
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-4 .diaporama-card-container,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-4 .view-content {
    background: #ffffff !important;
    border-radius: 8px !important;
    padding: 20px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
    margin-bottom: 1rem !important;
}

/* Alignement du lien bas à droite */
.diaporama-bottom-link {
    text-align: right !important;
    margin-top: 1rem !important;
    width: 100% !important;
}

.diaporama-bottom-link a {
    color: #d9531e !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.diaporama-bottom-link a:hover {
    color: #b33d0d !important;
    text-decoration: underline !important;
}

/* ========================================================================== */
/* CORRECTION : RETRAIT DE LA CARTE BLANCHE SUR .VIEW-CONTENT                 */
/* ========================================================================== */

/* 1. On retire la boîte blanche de .view-content (qui englobe tout) */
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-4 .view-content,
.view-content {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

/* 2. On applique la carte blanche STRICTEMENT au conteneur de l'image */
.diaporama-card-container {
    background-color: #ffffff !important;
    border-radius: 8px !important;
    padding: 20px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
    margin-bottom: 1rem !important;
}

/* 3. Ajustement du titre pour correspondre exactement à "Photo du jour" */
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-4 h2,
.titre-section-externe {
    background: transparent !important;
    border-left: 4px solid #2b3a4a !important; /* Filet bleu sombre */
    color: #1f2937 !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    padding-left: 12px !important;
    margin-top: 1.5rem !important;
    margin-bottom: 1rem !important;
}

/* Style du titre pour le bloc "Séries" */
#block-tarapro-subtheme-pagerecapitulativedesseries .block-title,
#block-tarapro-subtheme-pagerecapitulativedesseries h2 {
  text-align: left;
  padding-left: 12px;
  border-left: 3px solid var(--color-primary, #d6620e);
  margin-bottom: 20px;
}

/* Suppression de la petite barre horizontale orange centrée sous le titre */
#block-tarapro-subtheme-pagerecapitulativedesseries .block-title::after,
#block-tarapro-subtheme-pagerecapitulativedesseries h2::after {
  content: none;
  display: none;
}


/* ==========================================================================
   BANNIÈRE D'ACCUEIL : SLIDER EN FONDU ENCHAÎNÉ
   ========================================================================== */

/* 1. Cadre principal du slider */
.view-banniere-d-accueil,
.hero-slider-custom,
.block-views-block-banniere-accueil-block-1 {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  height: 450px !important;
  min-height: 450px !important;
  overflow: hidden !important;
  margin-bottom: 2rem !important;
}

/* 2. Conteneur liste */
.view-banniere-d-accueil ul,
.hero-slider-custom ul,
.block-views-block-banniere-accueil-block-1 ul {
  display: block !important;
  list-style: none !important;
  list-style-type: none !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  width: 100% !important;
  height: 450px !important;
}

/* 3. Diapositives : initialement masquées, gérées UNIQUEMENT par l'animation */
.view-banniere-d-accueil ul li,
.hero-slider-custom ul li,
.block-views-block-banniere-accueil-block-1 ul li {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 450px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0;
  visibility: hidden;
  animation: heroSlideFade 12s infinite linear !important;
}

/* 4. Décalage temporel des 3 diapos (cycle de 12s, 4s par image) */
.view-banniere-d-accueil ul li:nth-child(1),
.hero-slider-custom ul li:nth-child(1),
.block-views-block-banniere-accueil-block-1 ul li:nth-child(1) { 
  animation-delay: 0s !important; 
}

.view-banniere-d-accueil ul li:nth-child(2),
.hero-slider-custom ul li:nth-child(2),
.block-views-block-banniere-accueil-block-1 ul li:nth-child(2) { 
  animation-delay: 4s !important; 
}

.view-banniere-d-accueil ul li:nth-child(3),
.hero-slider-custom ul li:nth-child(3),
.block-views-block-banniere-accueil-block-1 ul li:nth-child(3) { 
  animation-delay: 8s !important; 
}

/* 5. Keyframes de transition (Apparition rapide, Maintien, Disparition) */
@keyframes heroSlideFade {
  0% { opacity: 0; z-index: 1; visibility: hidden; }
  4% { opacity: 1; z-index: 10; visibility: visible; }
  30% { opacity: 1; z-index: 10; visibility: visible; }
  34% { opacity: 0; z-index: 1; visibility: hidden; }
  100% { opacity: 0; z-index: 1; visibility: hidden; }
}

/* 6. Redimensionnement et cadrage des images */
.view-banniere-d-accueil img,
.hero-slider-custom img,
.block-views-block-banniere-accueil-block-1 img {
  width: 100% !important;
  height: 450px !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
}

/* Container de chaque item (Photo du jour) */
.view-banniere-d-accueil.view-display-id-block_3 .views-row {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    gap: 2rem !important;
    background: #ffffff !important;
    border-radius: 12px !important;
    padding: 1.5rem !important;
    margin-bottom: 2rem !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
}

/* Image */
.view-banniere-d-accueil.view-display-id-block_3 .views-field-field-image {
    max-width: 400px !important;
    width: 40% !important;
    flex-shrink: 0 !important;
}

.view-banniere-d-accueil.view-display-id-block_3 .views-field-field-image img {
    width: 100% !important;
    height: auto !important;
    border-radius: 8px !important;
    display: block !important;
}

/* Texte / Body */
.view-banniere-d-accueil.view-display-id-block_3 .views-field-body {
    flex-grow: 1 !important;
    padding-right: 140px !important; /* Laisse l'espace nécessaire pour le cartouche de 135px */
}

/* Cartouche de date élargi à 135px */
.view-banniere-d-accueil.view-display-id-block_3 .views-field-created {
    position: absolute !important;
    top: 1.5rem !important;
    right: 1.5rem !important;
    width: 135px !important;
    background: #f4eee8 !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12) !important;
    text-align: center !important;
    overflow: hidden !important;
    padding: 0 8px 12px 8px !important;
    margin: 0 !important;
}

.view-banniere-d-accueil.view-display-id-block_3 .views-field-created::before {
    content: "" !important;
    display: block !important;
    height: 18px !important;
    background: #b58356 !important;
    margin: 0 -8px 10px -8px !important;
}

/* Nouvel ajout ============================== */
/* --- DEBLOCAGE STRUCTUREL GLOBAL TARAPRO --- */

/* 1. Déblocage du bloc Photo du Jour (Block 3) */
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .view,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .view-content {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
}

#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-row {
    position: relative !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 2rem !important;
    width: 100% !important;
    background: #ffffff !important;
    padding: 1.5rem !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
}


/* modif photo du jour (Responsive + Légende incrustée) */
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-field-field-image {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    flex: 0 0 auto !important;
    display: block !important;
}

#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-field-field-image a {
    display: block !important;
    width: 100% !important;
    height: auto !important;
}

#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-field-field-image img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    display: block !important;
}

/* Incrustation du texte sur la photo */
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-field-body {
    position: absolute !important;
    bottom: 12px !important;
    left: 12px !important;
    max-width: calc(100% - 24px) !important;
    background: rgba(0, 0, 0, 0.7) !important;
    padding: 6px 12px !important;
    border-radius: 6px !important;
    z-index: 10 !important;
    pointer-events: none !important;
}

#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-field-body p {
    color: #ffffff !important;
    margin: 0 !important;
    font-size: 0.95rem !important;
    line-height: 1.3 !important;
}

/* Format grand écran (PC / Tablette) */
@media screen and (min-width: 768px) {
    #block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-field-field-image {
        width: 520px !important;
        max-width: 55% !important;
    }
}

/* Format grand écran (PC / Tablette large) */
@media screen and (min-width: 768px) {
    #block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-field-field-image {
        width: 520px !important;
        max-width: 55% !important;
    }
}
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-field-created::before {
    content: "" !important;
    display: block !important;
    height: 18px !important;
    background: #b58356 !important;
    margin: 0 -8px 10px -8px !important;
}

/* 2. Déblocage du bloc Diaporamas (Block 4) */
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-4,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-4 .view,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-4 .view-content,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-4 .views-row {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}

#block-tarapro-subtheme-views-block-banniere-d-accueil-block-4 img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
}

#block-tarapro-subtheme-views-block-banniere-d-accueil-block-4 .view-footer {
    display: block !important;
    margin-top: 1rem !important;
}

/* Cache complètement les crayons d'édition contextuels sur la page d'accueil */
.view-banniere-d-accueil .contextual-region .contextual,
.view-banniere-d-accueil .contextual {
    display: none !important;
}

/* Espace sous Photo du jour */
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 {
    margin-bottom: 2.5rem !important;
    overflow: hidden !important;
    clear: both !important;
}

#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .view-content {
    display: flex !important;
    align-items: center !important;
    overflow: hidden !important;
}

/* Espacement du titre suivant */
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-4,
.view-banniere-d-accueil.view-display-id-block_4 {
    margin-top: 2rem !important;
    clear: both !important;
}
/* ==========================================================================
   COLORBOX - DESIGN & ALIGNEMENT DES BOUTONS
   ========================================================================== */

/* Fixe la hauteur égale pour tout le bas */
#cboxBottomCenter,
#cboxBottomLeft,
#cboxBottomRight {
  height: 42px !important;
}

#cboxContent {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Espace sous l'image pour la barre blanche */
#cboxLoadedContent {
  margin-bottom: 40px !important;
}

/* Titre centré */
#cboxTitle {
  position: absolute !important;
  bottom: 10px !important;
  left: 110px !important;
  right: 180px !important;
  text-align: center !important;
  color: #333 !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Compteur (1 sur 12) */
#cboxCurrent {
  position: absolute !important;
  bottom: 12px !important;
  left: 55px !important;
  color: #666 !important;
  font-size: 12px !important;
}

/* Flèches de navigation */
#cboxPrevious {
  position: absolute !important;
  bottom: 10px !important;
  left: 10px !important;
}

#cboxNext {
  position: absolute !important;
  bottom: 10px !important;
  left: 30px !important;
}

/* Bouton Diaporama */
#cboxSlideshow {
  position: absolute !important;
  bottom: 8px !important;
  right: 35px !important;
  color: #0073e6 !important;
  font-size: 11px !important;
  font-weight: bold;
  background: #f4f4f4;
  padding: 3px 8px;
  border-radius: 4px;
  border: 1px solid #ccc;
  cursor: pointer;
  text-decoration: none;
}

#cboxSlideshow:hover {
  background: #0073e6;
  color: #fff !important;
  border-color: #005bb5;
}

/* Bouton Fermer (Croix) */
#cboxClose {
  position: absolute !important;
  bottom: 10px !important;
  right: 10px !important;
}

/* Masquer le titre sur petit écran pour éviter les chevauchements */
@media screen and (max-width: 767px) {
  #cboxTitle {
    display: none !important;
  }
}

/* =========================================================
   1. REGLES GLOBALES (APPLIQUÉES À L'ORDINATEUR ET AU MOBILE)
   ========================================================= */

/* Forcer le bloc de présentation à passer à la ligne sous la bannière */
#block-tarapro-subtheme-presentation,
[id*="presentation"] {
    clear: both !important;
    width: 100% !important;
    display: block !important;
    margin-top: 1.5rem !important;
}

/* Fixation de la hauteur du slider pour éviter le saut de page pendant la transition */
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-1,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-1 .view-banniere-d-accueil,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-1 .view-content {
    min-height: 380px !important;
    position: relative !important;
}

/* --- DEBLOCAGE DES LIENS / FOOTER DE TOUTES LES VUES --- */
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-1,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-2,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3,
.view-banniere-d-accueil,
.view-banniere-d-accueil .view-content {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

/* Force l'affichage des pieds de vue (view-footer) et des entêtes (view-header) */
.view-banniere-d-accueil .view-footer,
.view-banniere-d-accueil .view-header,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-1 .view-footer,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-2 .view-footer,
#block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .view-footer,
.photo-du-jour-links {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
    margin-top: 15px !important;
    padding-bottom: 10px !important;
    clear: both !important;
}

.view-banniere-d-accueil .view-footer a,
.view-banniere-d-accueil .view-header a,
.photo-du-jour-links a {
    display: inline-block !important;
    line-height: normal !important;
    position: relative !important;
    z-index: 5 !important;
}

/* =========================================================
   2. ADAPTATION RESPONSIVE (UNIQUEMENT POUR SMARTPHONE <= 768px)
   ========================================================= */
@media screen and (max-width: 768px) {

    /* --- Bannière d'accueil responsive mobile --- */
    .region-highlighted,
    .region-header-top,
    .region-content-top,
    #block-tarapro-subtheme-views-block-banniere-d-accueil-block-1,
    #block-tarapro-subtheme-views-block-banniere-d-accueil-block-1 * {
        height: auto !important;
        max-height: none !important;
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    #block-tarapro-subtheme-views-block-banniere-d-accueil-block-1,
    #block-tarapro-subtheme-views-block-banniere-d-accueil-block-1 .view-banniere-d-accueil,
    #block-tarapro-subtheme-views-block-banniere-d-accueil-block-1 .view-content {
        min-height: 200px !important;
    }

    #block-tarapro-subtheme-views-block-banniere-d-accueil-block-1 img {
        width: 100% !important;
        height: auto !important;
        display: block !important;
        object-fit: cover !important;
    }

    #block-tarapro-subtheme-views-block-banniere-d-accueil-block-1 {
        margin-bottom: 1.5rem !important;
    }

    /* --- Affichage des cartes d'Albums photos (Block 2 sur Mobile) --- */
    #block-tarapro-subtheme-views-block-banniere-d-accueil-block-2 .view-content,
    .view-banniere-d-accueil,
    .view-banniere-d-accueil .view-content {
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    #block-tarapro-subtheme-views-block-banniere-d-accueil-block-2 .views-row,
    .view-banniere-d-accueil .views-row,
    .view-banniere-d-accueil .box,
    .view-banniere-d-accueil .card {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin-bottom: 25px !important;
        float: none !important;
        display: block !important;
        overflow: visible !important;
    }

    #block-tarapro-subtheme-views-block-banniere-d-accueil-block-2 img,
    .view-banniere-d-accueil .card-image img {
        width: 100% !important;
        height: auto !important;
        max-height: 250px !important;
        object-fit: cover !important;
    }

    /* --- Photo du Jour (Block 3) : Disposition verticale EXCLUSIVEMENT SUR MOBILE --- */
    #block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .contextual {
        display: none !important;
    }

    #block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-row {
        display: flex !important;
        flex-direction: column !important;
        position: relative !important;
        width: 100% !important;
        height: auto !important;
    }

    #block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-field-created {
        order: 1 !important;
        position: static !important;
        width: 100% !important;
        margin: 0 0 10px 0 !important;
        float: none !important;
        clear: both !important;
        text-align: left !important;
    }

    #block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-field-body {
        order: 2 !important;
        position: static !important;
        width: 100% !important;
        margin-bottom: 12px !important;
    }

    #block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-field-field-image {
        order: 3 !important;
        position: static !important;
        width: 100% !important;
        height: auto !important;
        margin: 0 !important;
    }

    #block-tarapro-subtheme-views-block-banniere-d-accueil-block-3 .views-field-field-image img {
        width: 100% !important;
        height: auto !important;
        display: block !important;
        max-height: none !important;
    }
}



/* ========================================================================== */
/* STYLE EXCLUSIF : BANNIÈRE D'ACCUEIL                                        */
/* ========================================================================== */

.banniere-slide-wrapper {
    position: relative !important;
    width: 100% !important;
    overflow: hidden !important;
}

.banniere-slide-img img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
}

/* Légende incrustée sur grand écran */
.banniere-slide-text {
    position: absolute !important;
    bottom: 30px !important;
    left: 30px !important;
    max-width: 650px !important;
    background: rgba(15, 15, 15, 0.75) !important;
    backdrop-filter: blur(6px) !important;
    padding: 14px 20px !important;
    border-left: 4px solid #d6620e !important;
    border-radius: 0 4px 4px 0 !important;
    z-index: 10 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
}

.banniere-slide-text span,
.banniere-slide-text p {
    color: #ffffff !important;
    font-family: "Georgia", "Times New Roman", serif !important;
    font-size: 1.05rem !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    font-style: italic !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6) !important;
}

/* Version mobile pour la bannière (< 768px) */
@media screen and (max-width: 768px) {
    .banniere-slide-text {
        position: relative !important;
        bottom: auto !important;
        left: auto !important;
        max-width: 100% !important;
        margin-top: 10px !important;
        background: transparent !important;
        backdrop-filter: none !important;
        padding: 8px 4px !important;
        border-left: 3px solid #d6620e !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .banniere-slide-text span,
    .banniere-slide-text p {
        color: #444444 !important;
        text-shadow: none !important;
        font-size: 0.95rem !important;
    }
}

/* ========================================================================== */
/* SERIES                                                                     */
/* ========================================================================== */
/* Style général de la carte avec une bordure fine et discrète */
.items .card {
  background-color: #fdfbf7; /* Fond clair pour la carte */
  border: 1px solid #e2d9cd; /* Léger border-box doux et harmonieux */
  border-radius: 2px;
  padding: 12px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.03);
}

/* Zone du titre sous forme de bande colorée avec texte en blanc */
.items .card-content {
  background-color: #c0622d; /* Couleur de fond de la bande (ocre/rouille assortie) */
  margin-top: 10px;
  padding: 12px 15px;
  text-align: center;
}

/* Style du lien du titre en blanc */
.items .card-title .lien-card {
  color: #ffffff; /* Titre en blanc */
  font-weight: 500;
  text-decoration: none;
  font-size: 1.05rem;
  letter-spacing: 0.3px;
}

.items .card-title .lien-card:hover {
  text-decoration: underline;
  color: #ffffff;
}

/* ========================================================================== */
/* ITEMS SERIES                                                               */
/* ========================================================================== */
/* Titre principal centré avec ligne de séparation en dessous */
.page-serie-header .view-header h1,
.page-serie-header .view-header h2 {
  text-align: center !important;
  text-transform: capitalize !important;
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 1.5rem !important;
  padding-bottom: 1rem !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  color: #111111 !important;
}

/* On retire la bordure du conteneur principal */
.page-serie-header .view-header {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 0 2.5rem 0 !important;
  padding: 0 !important;
  border-bottom: none !important;
}




/* Paragraphes de description */
.page-serie-header .view-header p {
  text-align: left !important;
  max-width: 100% !important;
  font-size: 1.05rem !important;
  line-height: 1.7 !important;
  color: #333333 !important;
  margin-bottom: 1rem !important;
}

/* Style spécifique pour les notes en italique (ex: Série en cours) */
.page-serie-header .view-header p em,
.page-serie-header .view-header em {
  display: block;
  margin-top: 1.2rem;
  color: #666666;
  font-size: 0.95rem;
}