/* Blog SimplePhotobooth - léger, responsive, orienté SEO */
.blog-body{
    min-height:100vh;
    margin:0;
    color:#fff;
    background:
        radial-gradient(circle at 12% 0, rgba(82,120,180,.28), transparent 32rem),
        linear-gradient(160deg,#111d31 0,#08111f 72%);
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
.blog-wrap{
    width:min(1120px, calc(100% - 32px));
    margin:0 auto;
    padding:44px 0 60px;
    padding-top:86px;
}
.blog-hero,.blog-card,.blog-subscribe,.blog-article{
    background:rgba(16,24,39,.82);
    border:1px solid rgba(255,255,255,.12);
    border-radius:28px;
    box-shadow:0 26px 70px rgba(0,0,0,.28);
    backdrop-filter:blur(10px);
}
.blog-hero{
    padding:clamp(28px,5vw,54px);
    margin-bottom:24px;
}
.blog-hero h1{
    max-width:820px;
    font-size:clamp(2.2rem,5vw,4.5rem);
    line-height:1;
    letter-spacing:-.055em;
    margin:0 0 18px;
}
.blog-hero p{
    max-width:760px;
    color:rgba(255,255,255,.75);
    font-size:1.12rem;
    line-height:1.65;
}
.blog-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.blog-card{
    overflow:hidden;
    display:flex;
    flex-direction:column;
    min-width:0;
}
.blog-card img{
    width:100%;
    aspect-ratio:16/9;
    object-fit:cover;
    display:block;
    background:rgba(255,255,255,.06);
}
.blog-card-content{
    padding:20px;
    display:flex;
    flex-direction:column;
    gap:10px;
    flex:1;
}
.blog-card time,.blog-article time{
    color:#f8d9aa;
    font-weight:800;
    font-size:.92rem;
}
.blog-card h2{
    margin:0;
    font-size:1.35rem;
    line-height:1.15;
}
.blog-card h2 a{
    color:#fff;
    text-decoration:none;
}
.blog-card p{
    margin:0;
    color:rgba(255,255,255,.72);
    line-height:1.55;
}
.blog-read-more{
    margin-top:auto;
    color:#fff;
    font-weight:900;
    text-decoration:none;
}
.blog-subscribe{
    margin:24px 0;
    padding:24px;
}
.blog-subscribe form{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}
.blog-subscribe input[type=email]{
    flex:1 1 260px;
    min-height:52px;
    border-radius:16px;
    border:1px solid rgba(255,255,255,.14);
    padding:13px 16px;
    font-size:1rem;
}
.blog-btn{
    min-height:52px;
    border:0;
    border-radius:16px;
    padding:13px 20px;
    color:#fff;
    font-weight:900;
    text-decoration:none;
    cursor:pointer;
    background:linear-gradient(135deg,#f1c48a 0%,#e98966 48%,#e24f56 100%);
    box-shadow:0 18px 42px rgba(226,79,86,.27);
}
.blog-article{
    padding:clamp(24px,5vw,56px);
}
.blog-article h1{
    font-size:clamp(2.1rem,5vw,4rem);
    line-height:1.02;
    letter-spacing:-.045em;
    margin:10px 0 18px;
}
.blog-article-cover{
    width:100%;
    max-height:520px;
    object-fit:cover;
    border-radius:24px;
    margin:24px 0;
    background:rgba(255,255,255,.06);
}
.blog-content{
    color:rgba(255,255,255,.84);
    font-size:1.08rem;
    line-height:1.75;
}
.blog-content h2,.blog-content h3{
    color:#fff;
    line-height:1.2;
    margin-top:1.6em;
}
.blog-content a{color:#f8d9aa;}
.blog-content img{
    max-width:100%;
    border-radius:18px;
}
.blog-video{
    position:relative;
    padding-top:56.25%;
    margin:24px 0;
    border-radius:22px;
    overflow:hidden;
    background:#000;
}
.blog-video iframe,.blog-video video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
}
.blog-empty{
    padding:28px;
    border-radius:24px;
    background:rgba(255,255,255,.06);
    color:rgba(255,255,255,.76);
}
@media(max-width:920px){
    .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:640px){
    .blog-wrap{width:calc(100% - 22px);padding:24px 0 44px;}
    .blog-grid{grid-template-columns:1fr;}
    .blog-hero,.blog-article,.blog-subscribe{border-radius:22px;padding:20px;}
    .blog-nav{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;}
    .blog-nav a{white-space:nowrap;}
    .blog-subscribe form{display:grid;}
    .blog-btn{width:100%;}
}


.blog-logo{
    display:block;
    width:min(310px, 82%);
    height:auto;
    margin:0 auto 28px;
    filter:drop-shadow(0 18px 45px rgba(0,0,0,.35));
}
.blog-logo-small{
    width:min(230px, 75%);
    margin-bottom:24px;
}
.blog-footer{
    width:min(1120px, calc(100% - 32px));
    margin:0 auto 34px;
    padding:18px 0 0;
    text-align:center;
    color:rgba(255,255,255,.72);
}
.blog-footer a{
    color:rgba(255,255,255,.82);
    text-decoration:none;
    font-weight:800;
}
.blog-footer span{
    margin:0 8px;
    color:rgba(255,255,255,.42);
}
.blog-media-library{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
    gap:12px;
    margin:14px 0 22px;
}
.blog-media-item{
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    padding:10px;
    background:rgba(255,255,255,.06);
}
.blog-media-item img,
.blog-media-item video{
    display:block;
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    border-radius:12px;
    background:#000;
}
.blog-media-item code{
    display:block;
    margin-top:8px;
    font-size:.75rem;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.wysiwyg-toolbar select{
    min-height:38px;
    border-radius:12px;
    padding:8px 10px;
    border:1px solid rgba(255,255,255,.14);
    background:#fff;
    color:#0f172a;
    font-weight:800;
}
@media(max-width:640px){
    .blog-logo{width:min(250px, 86%);margin-bottom:20px;}
    .blog-footer{width:calc(100% - 22px);font-size:.92rem;}
}

.media-insert-btn{
    width:100%;
    margin-top:8px;
    border:0;
    border-radius:12px;
    padding:9px 10px;
    color:#fff;
    background:rgba(255,255,255,.12);
    font-weight:800;
    cursor:pointer;
}


/* Galerie d’images dans les articles */
.article-gallery{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:14px;
    margin:30px 0;
}

.article-gallery.article-gallery-1{
    grid-template-columns:1fr;
}

.article-gallery.article-gallery-3{
    grid-template-columns:repeat(2,minmax(0,1fr));
}

.article-gallery.article-gallery-3 .gallery-item:first-child{
    grid-row:span 2;
}

.gallery-item{
    display:block;
    overflow:hidden;
    border-radius:18px;
    cursor:zoom-in;
    background:#111827;
    border:1px solid rgba(255,255,255,.10);
    box-shadow:0 18px 42px rgba(0,0,0,.22);
    transition:transform .2s ease, box-shadow .2s ease;
}

.gallery-item:hover{
    transform:translateY(-3px);
    box-shadow:0 24px 58px rgba(0,0,0,.30);
}

.gallery-item img{
    width:100%;
    aspect-ratio:16/10;
    display:block;
    object-fit:cover;
}

.article-gallery.article-gallery-1 .gallery-item img{
    aspect-ratio:16/8;
}

.blog-lightbox{
    position:fixed;
    inset:0;
    z-index:9999;
    display:none;
    align-items:center;
    justify-content:center;
    padding:24px;
    background:rgba(3,7,18,.92);
    backdrop-filter:blur(10px);
}

.blog-lightbox.is-open{
    display:flex;
}

.blog-lightbox img{
    max-width:96vw;
    max-height:88vh;
    border-radius:18px;
    box-shadow:0 30px 90px rgba(0,0,0,.55);
}

.blog-lightbox-close{
    position:fixed;
    top:18px;
    right:18px;
    width:48px;
    height:48px;
    border:1px solid rgba(255,255,255,.20);
    border-radius:999px;
    background:rgba(255,255,255,.12);
    color:#fff;
    font-size:30px;
    line-height:1;
    cursor:pointer;
}

.gallery-media-check{
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:8px;
    font-size:.85rem;
    color:rgba(255,255,255,.78);
}

@media(max-width:700px){
    .article-gallery,
    .article-gallery.article-gallery-3{
        grid-template-columns:1fr;
    }

    .article-gallery.article-gallery-3 .gallery-item:first-child{
        grid-row:auto;
    }

    .article-gallery.article-gallery-1 .gallery-item img,
    .gallery-item img{
        aspect-ratio:16/11;
    }

    .blog-lightbox{
        padding:12px;
    }

    .blog-lightbox img{
        max-width:96vw;
        max-height:82vh;
        border-radius:14px;
    }
}

.media-alt-fields{
    display:grid;
    gap:10px;
    margin-top:10px;
}
.media-alt-row{
    padding:12px;
    border-radius:16px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.12);
}
.media-alt-row strong{
    display:block;
    margin-bottom:8px;
}
.media-alt-form{
    margin-top:8px;
    display:grid;
    gap:8px;
}
.media-alt-form input{
    width:100%;
    border-radius:12px;
    padding:10px 12px;
    border:1px solid rgba(255,255,255,.12);
}

.media-upload-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0 18px;}
.media-delete-btn{width:100%;margin-top:8px;border:0;border-radius:12px;padding:9px 10px;color:#fff;background:rgba(226,79,86,.75);font-weight:800;cursor:pointer;}
.media-alt-input{width:100%;}
.blog-media-item.is-uploading{opacity:.65;}

.media-upload-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0 18px;}
.media-delete-btn{width:100%;margin-top:8px;border:0;border-radius:12px;padding:9px 10px;color:#fff;background:rgba(226,79,86,.75);font-weight:800;cursor:pointer;}
.media-alt-input{width:100%;}
.blog-media-item.is-uploading{opacity:.65;}
.media-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:12px;}
.media-preview-card{padding:10px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);}
.media-preview-card img,.media-preview-card video{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;background:#000;}
.media-preview-card strong{display:block;margin:8px 0;font-size:.86rem;}
.media-alt-row .media-preview-card{margin-bottom:10px;}

/* --- Correctif blog : entête compact + URLs médias propres --- */

.blog-hero{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:22px;
    align-items:center;
    padding:24px 28px;
    margin-bottom:18px;
}

.blog-hero .blog-logo{
    width:clamp(150px, 18vw, 230px);
    margin:0;
}

.blog-hero .eyebrow{
    margin-top:0;
}

.blog-hero h1{
    font-size:clamp(1.85rem,3.4vw,3.25rem);
    line-height:1.02;
    margin:0 0 10px;
}

.blog-hero p{
    margin:0;
    font-size:1rem;
    line-height:1.5;
}

.blog-card img{
    min-height:0;
}

.blog-card-content{
    padding:18px;
}

.blog-card h2{
    font-size:1.2rem;
}

.blog-subscribe{
    margin:18px 0;
    padding:20px 22px;
}

@media(max-width:760px){
    .blog-wrap{
        padding-top:18px;
    }

    .blog-hero{
        grid-template-columns:1fr;
        gap:14px;
        padding:20px;
        text-align:center;
    }

    .blog-hero .blog-logo{
        width:min(220px,75%);
        margin:0 auto;
    }

    .blog-hero h1{
        font-size:clamp(1.75rem,8vw,2.45rem);
    }

    .blog-hero p{
        font-size:.96rem;
    }
}

/* --- Refonte visuelle blog : entête moderne, inscription compacte, légendes ALT --- */
.blog-hero-modern{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(160px,240px) minmax(0,1fr);
    gap:24px;
    align-items:center;
    padding:26px 30px;
    margin-bottom:18px;
    background:
        radial-gradient(circle at 8% 10%, rgba(248,217,170,.16), transparent 24rem),
        radial-gradient(circle at 88% 0%, rgba(226,79,86,.18), transparent 22rem),
        linear-gradient(135deg, rgba(20,31,50,.96), rgba(12,20,35,.92));
}

.blog-hero-modern::after{
    content:"";
    position:absolute;
    inset:auto -8% -48% 42%;
    height:170px;
    background:linear-gradient(135deg, rgba(241,196,138,.16), rgba(226,79,86,.16));
    filter:blur(42px);
    transform:rotate(-8deg);
    pointer-events:none;
}

.blog-hero-brand,
.blog-hero-content,
.blog-hero-pills{
    position:relative;
    z-index:1;
}

.blog-hero-brand{
    display:grid;
    gap:10px;
    justify-items:start;
}

.blog-hero-modern .blog-logo{
    width:clamp(130px,16vw,200px);
    margin:0;
}

.blog-hero-modern .eyebrow{
    margin:0;
    width:max-content;
}

.blog-hero-content h1{
    max-width:780px;
    font-size:clamp(2rem,4vw,3.45rem);
    line-height:.98;
    margin:0 0 12px;
}

.blog-hero-content p{
    max-width:720px;
    font-size:1.02rem;
    line-height:1.55;
    color:rgba(255,255,255,.76);
}

.blog-hero-pills{
    grid-column:1 / -1;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:2px;
}

.blog-hero-pills span{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:7px 12px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    color:rgba(255,255,255,.82);
    font-weight:800;
    font-size:.9rem;
}

.blog-subscribe{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(260px,520px);
    gap:18px;
    align-items:center;
    padding:18px 22px;
}

.blog-subscribe h2{
    margin:0 0 4px;
    font-size:1.35rem;
}

.blog-subscribe p{
    margin:0;
    color:rgba(255,255,255,.68);
    line-height:1.45;
}

.blog-subscribe form{
    display:flex;
    gap:10px;
    align-items:center;
}

.blog-subscribe input[type=email]{
    min-height:46px;
    border-radius:14px;
}

.blog-subscribe .blog-btn{
    min-height:46px;
    padding:11px 17px;
    white-space:nowrap;
}

.article-gallery{
    align-items:start;
}

.gallery-figure{
    margin:0;
}

.article-gallery .gallery-caption{
    display:block;
    margin-top:9px;
    padding:0 4px;
    color:rgba(255,255,255,.68);
    font-size:.92rem;
    line-height:1.35;
    font-weight:700;
    text-align:center;
}

.article-gallery > .gallery-item + .gallery-caption{
    margin-bottom:4px;
}

@media(max-width:860px){
    .blog-hero-modern{
        grid-template-columns:1fr;
        text-align:left;
        padding:22px;
    }

    .blog-hero-brand{
        justify-items:start;
    }

    .blog-hero-modern .blog-logo{
        width:min(210px,70%);
    }

    .blog-subscribe{
        grid-template-columns:1fr;
    }
}

@media(max-width:620px){
    .blog-hero-modern{
        padding:20px;
        text-align:center;
    }

    .blog-hero-brand{
        justify-items:center;
    }

    .blog-hero-pills{
        justify-content:center;
    }

    .blog-subscribe{
        padding:18px;
        text-align:center;
    }

    .blog-subscribe form{
        display:grid;
        grid-template-columns:1fr;
    }

    .blog-subscribe .blog-btn{
        width:100%;
    }
}

/* --- Correctif légendes article + inscription plus discrète --- */
.blog-subscribe h2{
    font-size:clamp(1.05rem, 2.1vw, 1.45rem) !important;
    line-height:1.2;
}

.article-gallery .gallery-caption,
.blog-content figure > figcaption,
.blog-content .gallery-figure > figcaption{
    display:block;
    margin-top:9px;
    color:rgba(255,255,255,.70);
    font-size:.92rem;
    line-height:1.35;
    font-weight:700;
    text-align:center;
}

.article-gallery .gallery-figure{
    margin:0;
}

.article-gallery > .gallery-item{
    margin-bottom:0;
}

.blog-lightbox{
    flex-direction:column;
    gap:12px;
}

.blog-lightbox-caption{
    max-width:min(960px, 92vw);
    color:#fff;
    font-size:1rem;
    line-height:1.45;
    font-weight:800;
    text-align:center;
    margin:0;
}

/* --- Correctif pagination blog + légendes sous photos --- */
.article-gallery{
    align-items:start;
}

.article-gallery .gallery-figure{
    margin:0;
    display:flex;
    flex-direction:column;
    min-width:0;
}

.article-gallery .gallery-figure .gallery-item{
    width:100%;
}

.article-gallery .gallery-caption{
    display:block;
    margin-top:10px;
    padding:0 4px;
    color:rgba(255,255,255,.70);
    font-size:.92rem;
    line-height:1.35;
    font-weight:700;
    text-align:center;
}

.blog-pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px;
    margin:22px 0 8px;
}

.blog-pagination a,
.blog-pagination span{
    display:inline-flex;
    align-items:center;
    min-height:42px;
    padding:10px 15px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.13);
    background:rgba(255,255,255,.08);
    color:#fff;
    font-weight:800;
    text-decoration:none;
}

.blog-pagination span{
    color:rgba(255,255,255,.70);
    font-weight:700;
}

.blog-subscribe{
    margin-top:26px;
}

/* --- Correctif bloc inscription + navigation SEO propre --- */
.blog-subscribe.blog-subscribe-compact{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
    gap:22px;
    align-items:center;
    padding:22px 24px;
    background:
        radial-gradient(circle at 4% 0%, rgba(241,196,138,.16), transparent 18rem),
        radial-gradient(circle at 98% 110%, rgba(226,79,86,.16), transparent 18rem),
        rgba(16,24,39,.82);
}

.blog-subscribe.blog-subscribe-compact::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:5px;
    height:100%;
    background:linear-gradient(180deg,#f1c48a,#e24f56);
    opacity:.95;
}

.blog-subscribe-text{
    position:relative;
    z-index:1;
}

.blog-subscribe-text .eyebrow{
    margin:0 0 8px;
    width:max-content;
}

.blog-subscribe.blog-subscribe-compact h2{
    margin:0 0 8px;
    font-size:clamp(1.18rem,2.15vw,1.65rem) !important;
    line-height:1.12;
    letter-spacing:-.025em;
}

.blog-subscribe.blog-subscribe-compact p{
    max-width:620px;
    margin:0;
    color:rgba(255,255,255,.70);
    line-height:1.5;
}

.blog-subscribe-form{
    position:relative;
    z-index:1;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    padding:8px;
    border-radius:20px;
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.10);
}

.blog-subscribe-form input[type=email]{
    min-height:48px;
    border-radius:15px;
    box-shadow:none;
}

.blog-subscribe-form .blog-btn{
    min-height:48px;
    border-radius:15px;
    padding:11px 18px;
}

@media(max-width:820px){
    .blog-subscribe.blog-subscribe-compact{
        grid-template-columns:1fr;
        gap:16px;
    }
}

@media(max-width:560px){
    .blog-subscribe.blog-subscribe-compact{
        padding:20px;
    }

    .blog-subscribe-form{
        grid-template-columns:1fr;
    }
}


/* Prévisualisation article */
.blog-preview-banner{
    margin:0 0 16px;
    padding:13px 16px;
    border-radius:16px;
    background:rgba(241,196,138,.14);
    border:1px solid rgba(241,196,138,.28);
    color:#f8d9aa;
    font-weight:900;
    text-align:center;
}
