/* ==========================================================
   WANTEDPEDO — HOMEPAGE NATIVE
   CSS totalement isolé du CSS historique Elementor.
   ========================================================== */

.wph-home,
.wph-home *,
.wph-home *::before,
.wph-home *::after {
    box-sizing: border-box;
}

.wph-home {
    width: 100%;
    margin: 0;
    padding: 0;
    background: #fff;
    color: #111;
}


/* ==========================================================
   LABELS
   ========================================================== */

.wph-heading-label {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 20;

    min-width: 220px;
    padding: 5px 10px;

    background:
        linear-gradient(
            90deg,
            #ca161a 0,
            #ca161a 24%,
            rgba(202,22,26,0) 100%
        );

    color: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.1;
    text-transform: uppercase;

    pointer-events: none;
}


/* ==========================================================
   TOP : 70 / 30
   ========================================================== */

.wph-top {
    display: grid;
    grid-template-columns: 70% 30%;
    width: 100%;
    margin: 0;
    padding: 0;
    gap: 0;
}

.wph-headlines,
.wph-missing {
    position: relative;
    min-width: 0;
}


/* ==========================================================
   HERO
   ========================================================== */

.wph-hero {
    position: relative;
    width: 100%;
    height: 400px;
    overflow: hidden;
    background: #111;
}

.wph-hero-slide {
    display: none;
    position: absolute;
    inset: 0;
}

.wph-hero-slide.is-active {
    display: block;
}

.wph-hero-slide > a {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    color: #fff;
    text-decoration: none;
}

.wph-hero-image {
    display: block !important;
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
}

.wph-image-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        linear-gradient(
            to top,
            rgba(0,0,0,.78) 0%,
            rgba(0,0,0,.22) 48%,
            rgba(0,0,0,.04) 100%
        );
}

.wph-hero-copy {
    position: absolute;
    z-index: 3;
    left: 4%;
    right: 8%;
    bottom: 15%;
}

.wph-hero-copy h1 {
    margin: 0 0 8px;
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.25;
    text-transform: uppercase;
}

.wph-hero-copy time,
.wph-recent-copy time {
    color: #ca161a;
    font-size: 13px;
    font-weight: 700;
}


/* ==========================================================
   DISPARITION
   ========================================================== */

.wph-missing-card {
    position: relative;
    width: 100%;
    height: 400px;
    overflow: hidden;
    background: #111;
}

.wph-missing-card > a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    color: #fff;
    text-decoration: none;
}

.wph-missing-image {
    display: block !important;
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
}

.wph-missing-card h2 {
    position: absolute;
    z-index: 3;
    left: 6%;
    right: 6%;
    bottom: 15%;

    margin: 0;

    color: #fff;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.35;
}


/* ==========================================================
   FLÈCHES
   ========================================================== */

.wph-arrow {
    position: absolute;
    z-index: 30;
    top: 50%;
    transform: translateY(-50%);

    width: 38px;
    height: 52px;

    padding: 0;
    border: 0;

    background: rgba(0,0,0,.22);
    color: #fff;

    font-size: 34px;
    font-family: Arial, sans-serif;
    line-height: 1;

    cursor: pointer;
}

.wph-arrow:hover {
    background: rgba(0,0,0,.65);
}

.wph-arrow-left {
    left: 0;
}

.wph-arrow-right {
    right: 0;
}


/* ==========================================================
   ARTICLES RÉCENTS
   ========================================================== */

.wph-recent {
    position: relative;
    width: 100%;
    margin: 0;
}

.wph-recent-slider {
    position: relative;
    width: 100%;
    height: 250px;
    overflow: hidden;
    background: #111;
}

.wph-recent-pages {
    width: 100%;
    height: 100%;
}

.wph-recent-page {
    display: none;
    width: 100%;
    height: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
}

.wph-recent-page.is-active {
    display: grid;
}

.wph-recent-card {
    position: relative;
    min-width: 0;
    height: 250px;
    overflow: hidden;
    background: #111;
}

.wph-recent-card > a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    color: #fff;
    text-decoration: none;
}

.wph-recent-image {
    display: block !important;
    position: absolute;
    inset: 0;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;

    transition: transform .35s ease;
}

.wph-recent-card:hover .wph-recent-image {
    transform: scale(1.025);
}

.wph-recent-copy {
    position: absolute;
    z-index: 3;
    left: 6%;
    right: 6%;
    bottom: 14%;
}

.wph-recent-copy h2 {
    margin: 0 0 6px;

    color: #fff;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.25;
}


/* ==========================================================
   ÉDITORIAL : 70 / 30
   ========================================================== */

.wph-editorial {
    display: grid;
    grid-template-columns: 70% 30%;

    width: 100%;
    margin: 0;
    padding: 12px 0 28px;

    gap: 8px;
    align-items: stretch;
}

.wph-tabs {
    min-width: 0;
}


/* ==========================================================
   ONGLETS
   ========================================================== */

.wph-tab-buttons {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1px;

    width: 100%;
}

.wph-tab-buttons button {
    min-height: 42px;

    padding: 6px 8px;

    border: 0;
    border-radius: 2px;

    background: #303030;
    color: #fff;

    font-size: 12px;
    font-weight: 500;

    cursor: pointer;
}

.wph-tab-buttons button:hover {
    background: #222;
}

.wph-tab-buttons button.is-active {
    background: #ca161a;
}

.wph-tab-content {
    width: 100%;
    padding: 8px 0 0;
}

.wph-tab-panel {
    display: none;
}

.wph-tab-panel.is-active {
    display: block;
}


/* ==========================================================
   CONTENU DES ONGLETS
   ========================================================== */

.wph-tab-layout {
    display: grid;
    grid-template-columns: 44% 56%;
    gap: 8px;
}

.wph-featured-card {
    height: 100%;
    background: #fff;
}

.wph-featured-card > a {
    display: block;
    color: #111;
    text-decoration: none;
}

.wph-featured-image {
    width: 100%;
    height: 240px;
    overflow: hidden;
    background: #eee;
}

.wph-featured-image img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: cover !important;
}

.wph-featured-body {
    padding: 9px 8px 10px;
}

.wph-featured-body h3 {
    margin: 0 0 4px;

    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
}

.wph-featured-body time,
.wph-small-card time {
    color: #ca161a;
    font-size: 10px;
    font-weight: 700;
}

.wph-featured-body p {
    margin: 8px 0 0;

    color: #444;
    font-size: 11px;
    line-height: 1.35;
}

.wph-tab-secondary {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.wph-small-card {
    min-height: 102px;
    background: #f1f1f1;
}

.wph-small-card > a {
    display: grid;
    grid-template-columns: 145px 1fr;
    min-height: 102px;

    color: #111;
    text-decoration: none;
}

.wph-small-card img {
    display: block !important;

    width: 145px !important;
    height: 102px !important;
    max-width: none !important;

    object-fit: cover !important;
}

.wph-small-card > a > div {
    padding: 12px;
}

.wph-small-card h3 {
    margin: 0 0 5px;

    font-size: 13px;
    font-weight: 500;
    line-height: 1.25;
}


/* ==========================================================
   PROMO / MUR VIDÉO / HELLOASSO
   ========================================================== */

.wph-promo {
    position: relative;

    min-width: 0;
    height: 435px;

    overflow: hidden;

    background: #111;
    box-shadow: 0 0 5px rgba(0,0,0,.35);
}

.wph-promo-slide {
    display: none;
    position: absolute;
    inset: 0;
}

.wph-promo-slide.is-active {
    display: block;
}

.wph-promo-slide > a {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;

    background: #111;
}

.wph-promo-slide img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: contain !important;

    background: #111;
}

.wph-promo-dots {
    position: absolute;
    z-index: 20;

    left: 0;
    right: 0;
    bottom: 12px;

    display: flex;
    justify-content: center;
    gap: 8px;
}

.wph-promo-dots button {
    width: 11px;
    height: 11px;

    padding: 0;
    border: 0;
    border-radius: 50%;

    background: #ccc;

    cursor: pointer;
}

.wph-promo-dots button.is-active {
    background: #ca161a;
}


/* ==========================================================
   FAQ
   ========================================================== */

.wph-faq {
    width: min(1000px, calc(100% - 40px));
    margin: 22px auto 34px;
}


/* ==========================================================
   TABLETTE
   ========================================================== */

@media (max-width: 1100px) {

    .wph-top,
    .wph-editorial {
        grid-template-columns: 1fr;
    }

    .wph-hero,
    .wph-missing-card {
        height: 380px;
    }

    .wph-recent-page {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .wph-promo {
        height: 390px;
    }

    .wph-tab-layout {
        grid-template-columns: 42% 58%;
    }
}


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

@media (max-width: 700px) {

    .wph-heading-label {
        min-width: 160px;
        font-size: 12px;
    }

    .wph-hero,
    .wph-missing-card {
        height: 330px;
    }

    .wph-hero-copy h1 {
        font-size: 17px;
    }

    .wph-missing-card h2 {
        font-size: 17px;
    }

    .wph-recent-slider,
    .wph-recent-card {
        height: 235px;
    }

    .wph-recent-page {
        grid-template-columns: 1fr;
    }

    .wph-recent-page .wph-recent-card:not(:first-child) {
        display: none;
    }

    .wph-tab-buttons {
        display: flex;
        overflow-x: auto;
    }

    .wph-tab-buttons button {
        flex: 0 0 155px;
    }

    .wph-tab-layout {
        grid-template-columns: 1fr;
    }

    .wph-featured-image {
        height: 220px;
    }

    .wph-small-card > a {
        grid-template-columns: 105px 1fr;
    }

    .wph-small-card img {
        width: 105px !important;
    }

    .wph-promo {
        height: 320px;
    }

    .wph-faq {
        width: calc(100% - 24px);
    }
}


/* =========================================================
   CINEMATIC INTRO — HOMEPAGE
   ========================================================= */

.wp-cinematic-intro {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity 1.05s ease;
}

.wp-cinematic-intro.is-fading {
    opacity: 0;
    pointer-events: none;
}

.wp-cinematic-intro.is-hidden {
    display: none;
}

.wp-cinematic-intro__video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center center;
    background: #000;
}
