﻿/* Documents des créatures : à droite sur ordinateur, au-dessus sur mobile. */
:is(.single-lu_creature, .single-post) .lu-creature-documentary,
:is(.single-lu_creature, .single-post) .lu-creature-documentary > .wp-block-group__inner-container {
    display: flow-root;
}
:is(.single-lu_creature, .single-post) .lu-creature-documentary {
    margin: 28px 0 36px;
}
:is(.single-lu_creature, .single-post) .lu-creature-documentary__figure {
    float: right;
    width: 36%;
    margin: 0 0 24px 32px;
}
:is(.single-lu_creature, .single-post) .lu-creature-documentary__figure > a {
    display: block;
    border: 0;
}
:is(.single-lu_creature, .single-post) .lu-creature-documentary__image {
    display: block;
    width: 100%;
    height: auto;
    max-height: 560px;
    object-fit: contain;
    object-position: top center;
}
:is(.single-lu_creature, .single-post) .lu-creature-documentary figcaption {
    margin-top: 12px;
    font-size: 13px;
    line-height: 1.6;
    color: #4f5553;
    overflow-wrap: anywhere;
}
@media (max-width: 899px) {
    :is(.single-lu_creature, .single-post) .lu-creature-documentary__figure {
        float: none;
        width: 100%;
        margin: 0 0 28px;
    }
    :is(.single-lu_creature, .single-post) .lu-creature-documentary__image {
        max-height: 480px;
    }
}

/* Documents des reliques : image à droite, crédit lisible et format intact. */
.lu-relique-documentary .lu-relique-documentary__image {
    display: block;
    width: 100%;
    height: auto;
}
.lu-relique-documentary figcaption {
    margin-top: 12px;
    font-size: 13px;
    line-height: 1.6;
    color: #4f5553;
    overflow-wrap: anywhere;
}
.lu-relique-documentary .lu-documentary-photo > a {
    display: block;
    border: 0;
}
@media (min-width: 900px) {
    .lu-illustrated-section.lu-relique-documentary .lu-documentary-photo {
        width: 36%;
        float: right;
        margin: 0 0 24px 32px;
    }
}

/* Les origines : alignement de la section « Le fil invisible ». */
.page-id-1835 .elementor [data-id="12606e0"] {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    align-items: stretch;
    gap: clamp(32px, 3.4vw, 64px);
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding: 0 clamp(32px, 3.4vw, 64px) 0 0;
}
.page-id-1835 .elementor [data-id="12606e0"] > .e-con,
.page-id-1835 .elementor [data-id="e9cd489"],
.page-id-1835 .elementor [data-id="46eab91"] {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    align-self: start;
}
.page-id-1835 .elementor [data-id="2366a59"] img {
    display: block;
    width: 100%;
    height: auto;
}
.page-id-1835 .elementor [data-id="2366a59"] {
    width: 100%;
    max-width: none;
}
.page-id-1835 .elementor [data-id="12606e0"] > [data-id="4b06180"] {
    text-align: left;
    align-self: center;
    padding-block: 36px;
}
.page-id-1835 .elementor [data-id="802d9fd"] {
    font-size: clamp(60px, 5.6vw, 100px) !important;
    line-height: 1.04 !important;
    margin: 16px 0 24px !important;
    text-align: left;
    width: 100%;
}
.page-id-1835 .elementor [data-id="165fe71"] p {
    margin-bottom: 24px;
}
.page-id-1835 .elementor [data-id="165fe71"] p:last-child {
    margin-bottom: 0;
}
@media (min-width: 1025px) {
    .page-id-1835 .elementor [data-id="12606e0"] > [data-id="61422c6"] {
        align-self: stretch;
        position: relative;
        min-height: clamp(440px, 38vw, 680px);
    }
    .page-id-1835 .elementor [data-id="2366a59"] {
        position: absolute;
        inset: 0;
        height: 100%;
        margin: 0;
    }
    .page-id-1835 .elementor [data-id="2366a59"] img {
        height: 100%;
        object-fit: cover;
        object-position: center;
    }
}
@media (max-width: 1024px) {
    .page-id-1835 .elementor [data-id="12606e0"] {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
        padding: 0;
    }
    .page-id-1835 .elementor [data-id="61422c6"] {
        max-width: none;
        justify-self: start;
    }
    .page-id-1835 .elementor [data-id="12606e0"] > [data-id="4b06180"] {
        padding: 32px 30px 40px;
    }
}
@media (max-width: 767px) {
    .page-id-1835 .elementor [data-id="12606e0"] {
        padding: 0;
        gap: 0;
    }
    .page-id-1835 .elementor [data-id="802d9fd"] {
        font-size: clamp(46px, 12vw, 72px) !important;
    }
    .page-id-1835 .elementor [data-id="12606e0"] > [data-id="4b06180"] {
        padding: 28px 20px 36px;
    }
}

/* Texte de lecture des articles, sur le fond papier du modèle individuel. */
:is(.single-post, .single-lu_creature) .elementor.elementor-location-single .elementor-widget-theme-post-content {
    color: #3f4543;
}

/* Liens dans le contenu des articles (paragraphes uniquement, pas les boutons) */
.page_content p a,
.post_content p a,
.entry-content p a {
    color: #224a49;
    text-decoration: none;
    border-bottom: 1px solid rgba(34, 74, 73, 0.3);
}
.page_content p a:hover,
.post_content p a:hover,
.entry-content p a:hover {
    color: #e53e26;
    border-bottom-color: rgba(229, 62, 38, 0.4);
}

/* Liens éditoriaux : repérables dans le texte et les listes de sources. */
.single-post .elementor.elementor-location-single .elementor-widget-theme-post-content :is(p, li) a[href]:not(.wp-element-button) {
    color: #963b27;
    text-decoration-line: underline;
    text-decoration-color: currentColor;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.18em;
    text-decoration-skip-ink: auto;
    border-bottom: 0;
}
.single-post .elementor.elementor-location-single .elementor-widget-theme-post-content :is(p, li) a[href]:not(.wp-element-button):is(:hover, :focus-visible) {
    color: #742b1c;
    text-decoration-thickness: 2px;
}
.single-post .elementor.elementor-location-single .elementor-widget-theme-post-content :is(p, li) a[href]:not(.wp-element-button):focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}

/* Illustrations dans le corps de l'article : alternance sur grand écran. */
.single-post .elementor-widget-theme-post-content .lu-article-illustration {
    align-items: center;
    gap: 32px;
    margin-bottom: 32px;
}
.single-post .elementor-widget-theme-post-content .lu-article-illustration figure {
    margin: 0;
}
.single-post .elementor-widget-theme-post-content .lu-article-illustration img {
    display: block;
    width: 100%;
    height: auto;
}
.single-post .elementor-widget-theme-post-content .lu-article-illustration figcaption {
    margin: 10px 0 0;
    font-size: 13px;
    line-height: 1.5;
    color: #4f5553;
}
@media (max-width: 781px) {
    .single-post .elementor-widget-theme-post-content .lu-article-illustration {
        gap: 20px;
    }
    .single-post .elementor-widget-theme-post-content .lu-article-illustration__image {
        order: -1;
    }
}

/* Liste lightning_style — couleur icône */
ul.lightning_style li::before {
    color: #e53e26;
    font-family: 'cwsicon' !important;
}

/* Variante crème — sur fond sombre */
ul.lightning_style--light li,
ul.lightning_style.lightning_style--light li {
    color: #eae5de !important;
}

/* Espacement de l'extrait dans le bandeau hero */
.cws_page_excerpt {
    margin-bottom: 20px;
}

/* Respecter la casse éditoriale des titres, notamment les noms propres. */
.single-post .page_title {
    padding-top: 40px;
}

@media (max-width: 767px) {
    .single-post .page_title {
        padding-top: 24px;
    }
}

.single-post .page_title .title h1 {
    text-transform: none !important;
}

/* Même règle pour les intertitres, cartes et titres Elementor du site. */
html body :is(h1, h2, h3, h4, h5, h6),
html body :is(h1, h2, h3, h4, h5, h6) *,
html body :is(.elementor-heading-title, .e-heading-base, .posts_grid_post_title,
    .elementor-post__title, .widgettitle, .widgetsubtitle, .lu-cat-name,
    .cws_textmodule_title, .cws_textmodule_subtitle),
html body :is(.elementor-heading-title, .posts_grid_post_title, .elementor-post__title,
    .cws_textmodule_title, .cws_textmodule_subtitle) *,
html body .lu-service-ruban .elementor-icon-box-title {
    text-transform: none !important;
}

/* Photos documentaires alternees, avec retour a une colonne sur mobile. */
.lu-illustrated-section {
    display: flow-root;
    margin: 20px 0 32px;
}
.lu-illustrated-section .lu-documentary-photo {
    width: 100%;
    margin: 0 0 24px;
}
.lu-illustrated-section > ul {
    display: flow-root;
}
.lu-video-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
    padding: 24px 20px;
    margin: 16px 0 40px;
    background: rgba(255, 253, 246, .58);
    border: 1px solid rgba(34, 74, 73, .18);
    border-radius: 6px;
}
.lu-video-intro .lu-numerama-video {
    width: 100%;
    max-width: 260px;
    min-width: 0;
    margin: 0 auto;
}
.lu-video-intro__text {
    min-width: 0;
    align-self: center;
}
.lu-video-intro > .wp-block-group__inner-container {
    display: contents;
}
.lu-video-intro__text p:last-child {
    margin-bottom: 0;
}
.lu-video-intro .lu-numerama-video video {
    border-radius: 8px;
    background: #182b2b;
    box-shadow: 0 8px 22px rgba(25, 45, 43, .16);
}
.lu-video-intro .lu-numerama-video figcaption {
    font-size: 12px !important;
    line-height: 1.5 !important;
    margin-top: 12px !important;
    color: #465957;
}
@media (min-width: 900px) {
    .lu-video-intro {
        grid-template-columns: minmax(0, 1fr) 260px;
        gap: 40px;
        padding: 32px;
    }
    .lu-video-intro .lu-numerama-video {
        width: 100%;
        margin: 0;
    }
}
@media (min-width: 900px) {
    .lu-illustrated-section .lu-documentary-photo {
        float: left;
        width: 42%;
        margin: 0 32px 20px 0;
    }
    .lu-illustrated-section--right .lu-documentary-photo {
        float: right;
        margin: 0 0 20px 32px;
    }
}

/* Burger documentary media: right of their passage on desktop, above on mobile. */
.single-post .lu-burger-media{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;margin:24px 0 36px;align-items:start}
.lu-burger-media > .wp-block-group__inner-container,.lu-burger-media__text > .wp-block-group__inner-container{display:contents}
.single-post .lu-burger-media figure{float:none;width:100%;max-width:100%;margin:0;min-width:0}
.lu-burger-media__text{min-width:0}
.lu-burger-media__text p:last-child{margin-bottom:0}
.lu-burger-media figure img{width:100%;height:auto;display:block;border-radius:5px}
.single-post .lu-burger-media figcaption{font-size:13px;line-height:1.55;margin:10px 0 0;color:#465957}
.lu-burger-media .lu-video-external > span{font-size:14px;padding:8px 12px!important}
.lu-burger-media .lu-video-external > span small{font-size:11px}
@media(min-width:900px){.single-post .lu-burger-media{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);column-gap:32px}.lu-burger-media figure{grid-column:2;grid-row:1}.lu-burger-media__text{grid-column:1;grid-row:1}}
