/* Vogue au Vent — complément de mise en page du modèle Archive.
   Les bandeaux et les vignettes utilisent directement vav-single.css. */

body.archive #content.site-content > .ast-container,
body.blog #content.site-content > .ast-container {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.archive #primary,
body.blog #primary {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.vav-archive,
.vav-archive * {
    box-sizing: border-box;
}
.vav-archive {
    width: 100%;
    overflow: clip;
    color: var(--vav-text);
    background: var(--vav-paper);
}
.vav-archive-listing {
    width: 100%;
    padding: clamp(46px, 6vw, 78px) 40px;
    background: var(--vav-paper);
}
.vav-archive-inner {
    width: min(100%, 1200px);
    margin: 0 auto;
}
.vav-archive-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}
/* Même vignette que template-parts/single/related.php :
   .vav-related-card, .vav-related-card-image, .vav-related-card-body. */
.vav-archive-grid .vav-related-card {
    height: 100%;
}
.vav-archive-grid .vav-related-card-body {
    min-height: 132px;
}
.vav-archive-pagination {
    margin: 52px 0 0;
}
.vav-archive-pagination .page-numbers {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.vav-archive-pagination .page-numbers li {
    list-style: none;
}
.vav-archive-pagination .page-numbers a,
.vav-archive-pagination .page-numbers span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 42px;
    padding: 8px 13px;
    border: 1px solid rgba(16,61,86,.16);
    border-radius: 999px;
    color: var(--vav-navy);
    background: #fff;
    font: 700 14px/1 Arial, sans-serif;
    text-decoration: none;
}
.vav-archive-pagination .page-numbers .current {
    border-color: var(--vav-navy);
    color: #fff;
    background: var(--vav-navy);
}
.vav-archive-empty {
    padding: 60px 24px;
    border-radius: 14px;
    background: #fff;
    text-align: center;
}
.vav-archive-empty h2 {
    color: var(--vav-navy);
    font: 600 30px/1.2 Georgia, serif;
}
.vav-archive-empty p {
    color: var(--vav-text);
    font: 400 16px/1.5 Arial, sans-serif;
}
@media (max-width: 900px) {
    .vav-archive-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }
}
@media (max-width: 560px) {
    .vav-archive-listing {
        padding: 38px 18px 54px;
    }
    .vav-archive-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }
}


/* ---------------------------------------------------------
   Page Blog : suppression des éléments de présentation Astra.
   Le bandeau haut et le bandeau bas Vogue au Vent restent
   ceux des templates Single hero.php et bottom.php.
   --------------------------------------------------------- */

/* Bandeau d'archive Astra (titre automatique au-dessus du hero VAV). */
body.blog .ast-archive-entry-banner,
body.blog .ast-archive-description {
    display: none !important;
}

/* Le menu principal Astra reste visible sur la page Blog.
   Seul le pied de page Astra est masqué : le contenu conserve
   sa présentation Vogue au Vent. */
body.blog #masthead,
body.blog .site-header {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

body.blog #colophon,
body.blog .site-footer {
    display: none !important;
}

/* Retire les espacements Astra qui peuvent subsister autour du contenu. */
body.blog #content,
body.blog .site-content,
body.blog #primary,
body.blog .site-main {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border: 0 !important;
}

body.blog #page,
body.blog .site {
    min-height: 0 !important;
}


/* ---------------------------------------------------------
   V5 — Cartes Blog : grille pleine largeur et vignettes lisibles.
   Isolation des classes Astra qui rétrécissaient chaque article.
   --------------------------------------------------------- */

body.blog #vav-archive .vav-archive-listing {
    display: block !important;
    width: 100% !important;
    padding: 64px 32px 76px !important;
    background: #f8f8f5 !important;
}

body.blog #vav-archive .vav-archive-inner {
    display: block !important;
    width: min(100%, 1240px) !important;
    max-width: 1240px !important;
    margin: 0 auto !important;
}

body.blog #vav-archive .vav-archive-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 30px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Le template archive ne reprend volontairement aucune classe ast-article-post. */
body.blog #vav-archive .vav-archive-grid > article.vav-related-card {
    display: flex !important;
    flex-direction: column !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(16,61,86,.08) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 5px 22px rgba(16,61,86,.09) !important;
    transition: transform .2s ease, box-shadow .2s ease !important;
}

body.blog #vav-archive .vav-archive-grid > article.vav-related-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 30px rgba(16,61,86,.15) !important;
}

body.blog #vav-archive .vav-related-card-link {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    color: inherit !important;
    text-decoration: none !important;
}

body.blog #vav-archive .vav-related-card-image {
    display: block !important;
    width: 100% !important;
    aspect-ratio: 16 / 10 !important;
    overflow: hidden !important;
    background: #e8eef0 !important;
}

body.blog #vav-archive .vav-related-card-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
}

body.blog #vav-archive .vav-related-card-body {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
    min-height: 156px !important;
    padding: 22px 22px 20px !important;
    background: #fff !important;
}

body.blog #vav-archive .vav-related-card-body h3 {
    display: block !important;
    width: 100% !important;
    margin: 0 0 20px !important;
    color: #103d56 !important;
    font-family: "Bebas Neue", "Arial Narrow", sans-serif !important;
    font-size: clamp(23px, 2vw, 29px) !important;
    font-weight: 400 !important;
    line-height: 1.12 !important;
    letter-spacing: .2px !important;
    text-transform: uppercase !important;
    overflow-wrap: anywhere;
}

body.blog #vav-archive .vav-related-card-more {
    display: inline-block !important;
    margin-top: auto !important;
    color: #d98208 !important;
    font: 700 14px/1.3 Arial, sans-serif !important;
}

body.blog #vav-archive .vav-related-no-image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    color: #103d56 !important;
    font: 600 20px Georgia, serif !important;
}

@media (max-width: 900px) {
    body.blog #vav-archive .vav-archive-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 22px !important;
    }
}

@media (max-width: 560px) {
    body.blog #vav-archive .vav-archive-listing {
        padding: 38px 18px 54px !important;
    }
    body.blog #vav-archive .vav-archive-grid {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }
    body.blog #vav-archive .vav-related-card-body {
        min-height: 130px !important;
        padding: 18px !important;
    }
}


/* V6 — Extrait affiché sous le titre de chaque article. */
body.blog #vav-archive .vav-related-card-excerpt {
    display: block !important;
    width: 100% !important;
    margin: 0 0 22px !important;
    color: #54595f !important;
    font-family: "Basic", Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
}
body.blog #vav-archive .vav-related-card-body {
    min-height: 220px !important;
}

/* V9 — Le bandeau Blog reprend sans surcharge les dimensions et règles
   du bandeau Single définies dans vav-single.css. */


/* V12 — Forçage du rendu du Hero Blog sur les mêmes valeurs que
   .vav-single-hero dans vav-single.css.
   Le scope Blog neutralise les styles de titres globaux d'Astra/Elementor. */

body.blog #vav-archive header.vav-single-hero {
    position: relative !important;
    isolation: isolate !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: clamp(360px, 43vw, 570px) !important;
    padding: 76px 40px !important;
    color: #fff !important;
    background-color: var(--vav-navy) !important;
    background-position: center !important;
    background-size: cover !important;
    overflow: hidden !important;
}

body.blog #vav-archive header.vav-single-hero::before {
    content: "" !important;
    position: absolute !important;
    z-index: -1 !important;
    inset: 0 !important;
    pointer-events: none !important;
    background: linear-gradient(90deg, rgba(3,42,61,.78) 0%, rgba(3,42,61,.48) 48%, rgba(3,42,61,.06) 100%) !important;
}

body.blog #vav-archive .vav-single-hero-inner {
    position: relative !important;
    z-index: 1 !important;
    width: min(100%, 700px) !important;
    max-width: 700px !important;
    margin: 0 !important;
}

body.blog #vav-archive .vav-single-hero h1 {
    display: block !important;
    width: auto !important;
    max-width: 720px !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
    color: #fff !important;
    font-family: "Georgia", Sans-serif !important;
    font-size: 54px !important;
    font-weight: 600 !important;
    line-height: 1.1em !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

body.blog #vav-archive .vav-single-excerpt {
    display: block !important;
    width: auto !important;
    max-width: 620px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: rgba(255,255,255,.96) !important;
    font-family: inherit !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
}

body.blog #vav-archive .vav-single-hero .vav-single-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    min-height: 48px !important;
    margin-top: 26px !important;
    padding: 12px 24px !important;
    border-radius: 999px !important;
    background: var(--vav-orange) !important;
    color: #fff !important;
    font: 700 15px/1.2 Arial, sans-serif !important;
    text-decoration: none !important;
}

body.blog #vav-archive .vav-single-wave {
    position: absolute !important;
    z-index: 2 !important;
    left: 0 !important;
    bottom: -1px !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    pointer-events: none !important;
}

@media (min-width: 768px) and (max-width: 1024px) {
    body.blog #vav-archive .vav-single-hero h1 {
        font-size: 54px !important;
    }
}

@media (max-width: 767px) {
    body.blog #vav-archive header.vav-single-hero {
        min-height: 430px !important;
        padding: 62px 20px 82px !important;
        background-position: 58% center !important;
    }
    body.blog #vav-archive .vav-single-hero h1 {
        font-size: 36px !important;
    }
    body.blog #vav-archive .vav-single-excerpt {
        max-width: 95% !important;
        font-size: 18px !important;
    }
}


/* V13 — Actions du Hero Blog et remontée du bloc de contenu de 30 px. */
body.blog #vav-archive .vav-blog-hero .vav-single-hero-inner {
    transform: translateY(-30px) !important;
}

body.blog #vav-archive .vav-blog-hero-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 14px !important;
    margin-top: 26px !important;
}

body.blog #vav-archive .vav-blog-hero-actions .vav-blog-hero-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 12px 24px !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    font: 700 15px/1.2 Arial, sans-serif !important;
    text-decoration: none !important;
    transition: background-color .2s ease, border-color .2s ease, opacity .2s ease !important;
}

body.blog #vav-archive .vav-blog-hero-actions .vav-blog-hero-button-primary {
    color: #fff !important;
    background: var(--vav-orange, #f59a16) !important;
    border-color: var(--vav-orange, #f59a16) !important;
}

body.blog #vav-archive .vav-blog-hero-actions .vav-blog-hero-button-primary:hover {
    color: #fff !important;
    background: #d98208 !important;
    border-color: #d98208 !important;
}

body.blog #vav-archive .vav-blog-hero-actions .vav-blog-hero-button-secondary {
    color: #fff !important;
    background: rgba(255,255,255,.16) !important;
    border-color: rgba(255,255,255,.62) !important;
    backdrop-filter: blur(3px);
}

body.blog #vav-archive .vav-blog-hero-actions .vav-blog-hero-button-secondary:hover {
    color: #fff !important;
    background: rgba(255,255,255,.28) !important;
    border-color: rgba(255,255,255,.9) !important;
}

@media (max-width: 560px) {
    body.blog #vav-archive .vav-blog-hero .vav-single-hero-inner {
        transform: translateY(-18px) !important;
    }
    body.blog #vav-archive .vav-blog-hero-actions {
        gap: 10px !important;
    }
    body.blog #vav-archive .vav-blog-hero-actions .vav-blog-hero-button {
        min-height: 44px !important;
        padding: 10px 17px !important;
        font-size: 14px !important;
    }
}


/* V14 — Restauration du footer WordPress/Astra sur la page Blog.
   Le bandeau secondaire Vogue au Vent reste absent : seul le footer du site revient. */
body.blog #colophon,
body.blog .site-footer {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
}


/* V15 — Élément inférieur décoratif du Blog, avant le footer Astra. */
body.blog #vav-archive .vav-blog-bottom {
    display: block;
    width: 100%;
    height: 70px;
    margin: 0;
    overflow: hidden;
    background: #f8f8f5;
}
body.blog #vav-archive .vav-blog-bottom-wave {
    display: block;
    width: 100%;
    height: 70px;
}


/* V16 — Vague Blog visible : papier au-dessus, fond bleu du footer en dessous. */
body.blog #vav-archive .vav-blog-bottom {
    position: relative !important;
    display: block !important;
    clear: both !important;
    width: 100% !important;
    height: 90px !important;
    min-height: 90px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #103d56 !important;
    line-height: 0 !important;
}
body.blog #vav-archive .vav-blog-bottom-wave {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 90px !important;
    margin: 0 !important;
}


/* V17 — Bandeau inférieur Blog : mêmes dimensions et structure que le Single. */
body.blog #vav-archive .vav-blog-bottom.vav-single-bottom {
    position: relative !important;
    isolation: isolate !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: clamp(360px, 43vw, 570px) !important;
    margin: 0 !important;
    padding: 76px 40px !important;
    overflow: hidden !important;
    color: #fff !important;
    background-color: #103d56 !important;
    background-position: center !important;
    background-size: cover !important;
}
body.blog #vav-archive .vav-blog-bottom .vav-single-bottom-inner {
    position: relative !important;
    z-index: 3 !important;
    width: min(100%, 600px) !important;
}
body.blog #vav-archive .vav-blog-bottom h2 {
    margin: 0 0 14px !important;
    color: #fff !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(34px, 4.4vw, 52px) !important;
    line-height: 1.05 !important;
}
body.blog #vav-archive .vav-blog-bottom p {
    max-width: 520px !important;
    margin: 0 0 24px !important;
    color: rgba(255,255,255,.96) !important;
    font: 400 17px/1.55 Arial, sans-serif !important;
}
body.blog #vav-archive .vav-blog-bottom .vav-single-wave-top {
    position: absolute !important;
    z-index: 2 !important;
    top: -1px !important;
    bottom: auto !important;
    left: 0 !important;
    width: 100% !important;
    height: auto !important;
    transform: rotate(180deg) !important;
}
@media (max-width: 767px) {
    body.blog #vav-archive .vav-blog-bottom.vav-single-bottom {
        min-height: 360px !important;
        padding: 78px 24px 58px !important;
        background-position: 62% center !important;
    }
}


/* V18 — Bottom Blog : image dédiée, hauteur plafonnée à 360 px sur PC. */
body.blog #vav-archive .vav-blog-bottom.vav-single-bottom {
    position: relative !important;
    isolation: isolate !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    height: 360px !important;
    min-height: 360px !important;
    max-height: 360px !important;
    margin: 0 !important;
    padding: 78px 40px 38px !important;
    overflow: hidden !important;
    color: #fff !important;
    background-color: #103d56 !important;
    background-image: linear-gradient(90deg, rgba(4,35,51,.78) 0%, rgba(4,35,51,.48) 58%, rgba(4,35,51,.16) 100%), url("https://res.cloudinary.com/dwby6ydl7/images/f_auto,q_auto/v1793375953/Meteo-bas-de-page/Meteo-bas-de-page.png?_i=AA") !important;
    background-position: center 54% !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}
body.blog #vav-archive .vav-blog-bottom .vav-single-bottom-inner {
    position: relative !important;
    z-index: 3 !important;
    width: min(100%, 650px) !important;
    margin: 0 !important;
}
body.blog #vav-archive .vav-blog-bottom h2 {
    margin: 0 0 12px !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: clamp(34px, 3.6vw, 46px) !important;
    line-height: 1.05 !important;
}
body.blog #vav-archive .vav-blog-bottom p {
    max-width: 590px !important;
    margin: 0 0 20px !important;
    color: rgba(255,255,255,.96) !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
}
body.blog #vav-archive .vav-blog-bottom .vav-blog-bottom-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px !important;
    padding: 12px 24px !important;
    border: 1px solid #f59a16 !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: #f59a16 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}
body.blog #vav-archive .vav-blog-bottom .vav-blog-bottom-button:hover {
    color: #fff !important;
    background: #d98208 !important;
    border-color: #d98208 !important;
}
body.blog #vav-archive .vav-blog-bottom .vav-single-wave-top {
    position: absolute !important;
    z-index: 2 !important;
    top: -1px !important;
    left: 0 !important;
    width: 100% !important;
    height: 58px !important;
    transform: rotate(180deg) !important;
    pointer-events: none !important;
}
@media (max-width: 767px) {
    body.blog #vav-archive .vav-blog-bottom.vav-single-bottom {
        height: auto !important;
        min-height: 320px !important;
        max-height: none !important;
        padding: 78px 22px 42px !important;
        background-position: 58% center !important;
    }
    body.blog #vav-archive .vav-blog-bottom h2 {
        font-size: clamp(30px, 8vw, 38px) !important;
    }
}


/* V24 — Hero Blog : même conteneur centré que le Hero Single */
body.blog #vav-archive .vav-blog-hero .vav-single-hero-inner {
    width: min(100%, var(--content-width, 1140px)) !important;
    max-width: var(--content-width, 1140px) !important;
    margin-inline: auto !important;
    text-align: left !important;
}


/* V25 — Conteneur inférieur Blog : même largeur et centrage que le Hero */
body.blog #vav-archive .vav-blog-bottom .vav-single-bottom-inner {
    width: min(100%, var(--content-width, 1140px)) !important;
    max-width: var(--content-width, 1140px) !important;
    margin-inline: auto !important;
    text-align: left !important;
}
