/* =========================================================
   Lille Europe Chapter — Page Photos
   ========================================================= */

body.lec-photos-page {
    background: #f4f4f2;
}

body.lec-photos-page .page-header {
    display: none !important;
}

body.lec-photos-page .site-main {
    padding-bottom: 80px;
}

/* =========================================================
   TITRE
   ========================================================= */

body.lec-photos-page .entry-title {
    width: min(1120px, calc(100% - 36px));
    margin: 55px auto 14px;

    color: #111;

    font-size: clamp(38px, 5.5vw, 58px);
    line-height: 1;
    font-weight: 900;

    text-transform: uppercase;
}

/* =========================================================
   CONTENU
   ========================================================= */

body.lec-photos-page .entry-content {
    width: min(1120px, calc(100% - 36px));
    margin: 0 auto;
}

/* Introduction éventuelle */
body.lec-photos-page .lec-photo-intro {
    max-width: 760px;
    margin: 0 0 38px;

    color: #666;

    font-size: 17px;
    line-height: 1.7;
}

/* =========================================================
   ANNÉE
   ========================================================= */

body.lec-photos-page .lec-photo-year {
    margin: 55px 0 24px;

    color: #111;

    font-size: clamp(30px, 4vw, 40px);
    line-height: 1;
    font-weight: 900;
}

body.lec-photos-page .lec-photo-year::after {
    content: "";
    display: block;

    width: 54px;
    height: 4px;

    margin-top: 12px;

    background: #f36c21;
}

/* =========================================================
   GRILLE
   ========================================================= */

body.lec-photos-page .lec-photo-grid {
    display: grid !important;

    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

    gap: 24px !important;

    width: 100% !important;

    margin: 0 0 50px !important;
    padding: 0 !important;

    float: none !important;
    clear: both !important;
}

/* =========================================================
   CARTE
   ========================================================= */

body.lec-photos-page .lec-photo-card {
    display: block !important;

    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden;

    border: 1px solid #dededb;

    border-radius: 10px;

    background: #fff;

    box-shadow: 0 8px 24px rgba(0, 0, 0, .08);

    box-sizing: border-box;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

body.lec-photos-page .lec-photo-card:hover {
    transform: translateY(-4px);

    border-color: #f36c21;

    box-shadow: 0 16px 34px rgba(0, 0, 0, .13);
}

/* =========================================================
   IMAGE
   ========================================================= */

body.lec-photos-page .lec-photo-card-image {
    display: block;

    width: 100%;
    height: 220px;

    overflow: hidden;

    background: #111;
}

body.lec-photos-page .lec-photo-card-image img {
    display: block;

    width: 100% !important;
    height: 100% !important;

    max-width: none !important;

    margin: 0 !important;

    object-fit: cover;

    transition: transform .22s ease;
}

body.lec-photos-page .lec-photo-card:hover .lec-photo-card-image img {
    transform: scale(1.035);
}

/* =========================================================
   CONTENU DE LA CARTE
   ========================================================= */

body.lec-photos-page .lec-photo-card-body {
    display: block !important;

    padding: 22px;
}

body.lec-photos-page .lec-photo-card h3 {
    margin: 0 0 10px;

    color: #111;

    font-size: 22px;
    line-height: 1.15;
    font-weight: 900;
}

body.lec-photos-page .lec-photo-card p {
    margin: 0;

    color: #777;

    font-size: 14px;
    line-height: 1.55;
}

/* =========================================================
   BOUTON
   ========================================================= */

body.lec-photos-page .lec-photo-card a:not(.lec-photo-card-image) {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 42px;

    margin-top: 18px;
    padding: 0 16px;

    border-radius: 5px;

    background: #f36c21;

    color: #fff !important;

    font-size: 14px;
    font-weight: 800;

    text-decoration: none !important;
}

body.lec-photos-page .lec-photo-card a:not(.lec-photo-card-image):hover {
    background: #c9500e;
}

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

@media (max-width: 950px) {

    body.lec-photos-page .lec-photo-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

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

@media (max-width: 650px) {

    body.lec-photos-page .entry-title {
        width: calc(100% - 28px);

        margin-top: 38px;

        font-size: 38px;
    }

    body.lec-photos-page .entry-content {
        width: calc(100% - 28px);
    }

    body.lec-photos-page .lec-photo-grid {
        grid-template-columns: 1fr !important;

        gap: 18px !important;
    }

    body.lec-photos-page .lec-photo-card-body {
        padding: 18px;
    }
}

/* =========================================================
   ACCESSIBILITÉ / ANIMATION RÉDUITE
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    body.lec-photos-page .lec-photo-card,
    body.lec-photos-page .lec-photo-card-image img {
        transition: none;
    }
}