:root{--river:#155f7f;--river-dark:#0b4058;--turquoise:#02cdd1;--turquoise-dark:#00aab2;--turquoise-soft:#e8fcfd;--ink:#183443;--muted:#6b7e87;--line:#e5ecee;--soft:#f7fafb;--white:#fff}
html{scroll-behavior:smooth}body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#fff}.navbar{background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.navbar-brand{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:1.7rem;color:var(--river-dark)!important}.nav-link{font-weight:650;color:#35505f!important}.nav-link:hover,.nav-link.active{color:var(--turquoise-dark)!important}.btn-turquoise{background:var(--turquoise);border-color:var(--turquoise);color:#fff;font-weight:800}.btn-turquoise:hover{background:var(--turquoise-dark);border-color:var(--turquoise-dark);color:#fff}.btn-find-book{background:#fff;border:2px solid var(--turquoise);color:var(--turquoise-dark);font-weight:800;box-shadow:none}.btn-find-book:hover{background:var(--turquoise);border-color:var(--turquoise);color:#fff}.btn-project-home{background:var(--turquoise);color:#fff;border:2px solid #fff;font-weight:800}.btn-project-home:hover{background:#fff;color:var(--turquoise-dark);border-color:#fff}.btn-river{background:var(--turquoise);border-color:var(--turquoise);color:#fff;font-weight:700}.btn-river:hover{background:var(--turquoise-dark);border-color:var(--turquoise-dark);color:#fff}.btn-outline-river{background:#fff;border:2px solid var(--turquoise);color:var(--turquoise-dark);font-weight:700}.btn-outline-river:hover{background:var(--turquoise);border-color:var(--turquoise);color:#fff}.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.15em;font-size:.74rem;font-weight:850;color:var(--turquoise-dark)}.hero{padding:5.5rem 0 4rem;background:linear-gradient(180deg,#fff 0%,#f8fbfc 100%)}.hero h1,.section-title,.page-hero h1{font-family:Georgia,"Times New Roman",serif;line-height:1.05;color:var(--river-dark)}.hero h1{font-size:clamp(2.8rem,7vw,5.5rem);letter-spacing:-.03em}.section-title{font-size:clamp(2.1rem,4vw,3.4rem)}.lead{line-height:1.72}.section-pad{padding:5rem 0}.soft{background:var(--soft)}.turquoise-section{background:var(--turquoise);color:#fff}.turquoise-section h2,.turquoise-section h3{color:#fff}.cover-card{background:#fff;padding:1rem;border-radius:1.35rem;box-shadow:0 24px 60px rgba(25,65,85,.15)}.cover-card img{width:100%;display:block;border-radius:.8rem}.feature-card,.step-card,.event-card,.location-card,.press-card,.info-card{height:100%;border:1px solid var(--line);border-radius:1rem;padding:1.5rem;background:#fff;transition:.2s ease}.feature-card:hover,.event-card:hover,.location-card:hover,.press-card:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(2,205,209,.12)}.art-img{width:100%;height:340px;object-fit:cover;border-radius:1rem;border:1px solid var(--line)}.phone-img{max-height:650px;width:auto;max-width:100%;display:block;margin:auto}.location-type{font-size:.72rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:var(--turquoise-dark)}.badge-buy{background:#e7f9f7;color:#087d79}.badge-borrow{background:#eaf3fb;color:#165d86}.event-date{font-family:Georgia,serif;color:var(--river);font-size:1.15rem;font-weight:700}.page-hero{padding:4.2rem 0 2.8rem;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(2.7rem,6vw,4.8rem);letter-spacing:-.03em}.quote{font-family:Georgia,serif;font-style:italic;font-size:1.45rem;color:var(--river)}footer{border-top:1px solid var(--line);padding:2.5rem 0;color:#56707e;background:#fff}.footer-title{font-family:Georgia,serif;color:var(--river-dark);font-size:1.3rem}.small-note{font-size:.86rem;color:var(--muted)}.search-box{border:1px solid var(--line);border-radius:999px;padding:.85rem 1.1rem;width:100%;outline:none}.search-box:focus{border-color:var(--turquoise);box-shadow:0 0 0 3px rgba(2,205,209,.14)}#bookMap{height:520px;border-radius:1.2rem;border:1px solid var(--line);overflow:hidden;box-shadow:0 18px 45px rgba(14,78,94,.08)}.leaflet-popup-content-wrapper{border-radius:14px}.leaflet-popup-content{font-family:Inter,system-ui,sans-serif;color:var(--ink)}.map-legend{display:flex;gap:.75rem;flex-wrap:wrap}.map-dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:.35rem;vertical-align:-1px}.map-dot.buy{background:var(--turquoise)}.map-dot.borrow{background:var(--river)}.map-card{position:relative}.availability-band{background:var(--turquoise-soft);border-top:1px solid #cff0ed;border-bottom:1px solid #cff0ed}.text-turquoise{color:var(--turquoise-dark)!important}.bg-turquoise-soft{background:var(--turquoise-soft)}
@media(max-width:991px){.hero{padding:3.8rem 0}.section-pad{padding:3.8rem 0}.hero h1{font-size:3.3rem}#bookMap{height:430px}}


/* =========================
   ÉVÉNEMENTS — V2.4
   ========================= */
.events-hero{padding-bottom:3.5rem}
.events-upcoming{padding:3.5rem 0 4rem;background:linear-gradient(180deg,#fff 0%,#fbfefe 100%);border-bottom:1px solid var(--line)}
.upcoming-list{border-top:1px solid var(--line)}
.upcoming-row{display:grid;grid-template-columns:150px minmax(260px,.9fr) minmax(280px,1.2fr);gap:2rem;align-items:center;padding:1.45rem 0;border-bottom:1px solid var(--line)}
.upcoming-date{display:flex;align-items:baseline;gap:.7rem}
.upcoming-day{font-family:Georgia,"Times New Roman",serif;font-size:2.35rem;line-height:1;color:var(--river-dark)}
.upcoming-month{font-size:.82rem;font-weight:800;color:var(--turquoise-dark);text-transform:uppercase;letter-spacing:.06em}
.upcoming-main h3{font-family:Georgia,"Times New Roman",serif;color:var(--river-dark);font-size:1.75rem;margin:.15rem 0}
.event-kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850;color:var(--turquoise-dark)}
.upcoming-summary{color:#536d79;line-height:1.6}
.empty-event-state{padding:1.25rem 1.4rem;border:1px solid var(--line);border-radius:1rem;background:#fff}

.events-journal{background:#fff}
.event-blog{display:flex;flex-direction:column;gap:6rem}
.event-story{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:4rem;align-items:start}
.event-story:nth-child(even) .event-story-cover{order:2}
.event-story:nth-child(even) .event-story-body{order:1}
.event-story-cover{position:sticky;top:110px}
.event-story-cover img{display:block;width:100%;height:auto;max-height:760px;object-fit:contain;border-radius:1.35rem;box-shadow:0 22px 55px rgba(15,68,84,.13);background:#fff}
.event-story-meta{display:flex;flex-wrap:wrap;gap:.45rem .9rem;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--turquoise-dark);margin-bottom:1rem}
.event-story-meta span:not(:last-child)::after{content:"·";margin-left:.9rem;color:#aac2c9}
.event-story-body h2{font-family:Georgia,"Times New Roman",serif;color:var(--river-dark);font-size:clamp(2rem,4vw,3.3rem);line-height:1.05;margin-bottom:1.4rem}
.event-story-body p{font-size:1.03rem;line-height:1.78;color:#47616d}
.event-story-lead{font-size:1.25rem!important;line-height:1.65!important;color:var(--ink)!important}
.event-gallery{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem;align-items:flex-start}
.event-gallery figure{margin:0;flex:1 1 300px;max-width:calc(50% - .5rem)}
.event-gallery figure.is-portrait{flex:0 0 250px;max-width:250px}
.event-gallery figure.is-landscape{flex:1 1 320px}
.event-gallery img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:.9rem;background:#fff;box-shadow:0 10px 28px rgba(15,68,84,.08)}
.event-gallery figcaption{font-size:.78rem;color:var(--muted);margin-top:.5rem;line-height:1.45}

@media(max-width:991px){
  .upcoming-row{grid-template-columns:110px 1fr;gap:1rem 1.5rem}
  .upcoming-summary{grid-column:2}
  .event-story,.event-story:nth-child(even){grid-template-columns:1fr;gap:2rem}
  .event-story-cover,.event-story:nth-child(even) .event-story-cover{order:1;position:static}
  .event-story-body,.event-story:nth-child(even) .event-story-body{order:2}
}
@media(max-width:575px){
  .upcoming-row{grid-template-columns:1fr}
  .upcoming-summary{grid-column:auto}
  .upcoming-date{gap:.5rem}
  .event-blog{gap:4rem}
  .event-gallery{display:flex;flex-direction:column}
  .event-gallery figure,.event-gallery figure.is-portrait,.event-gallery figure.is-landscape{max-width:100%;flex:1 1 auto}
}

/* =========================
   PRESSE — V2.7
   ========================= */
.press-hero{
    padding-bottom:3.6rem;
}

.press-media-section{
    padding-top:4.2rem;
}

.press-media-list{
    display:flex;
    flex-direction:column;
}

.media-article-row{
    display:grid;
    grid-template-columns:minmax(300px, .82fr) minmax(0, 1.18fr);
    gap:4rem;
    align-items:center;
    padding:4.5rem 0;
    border-bottom:1px solid var(--line);
}

.media-article-row:first-child{
    padding-top:0;
}

.media-article-visual{
    min-width:0;
}

.media-article-image{
    display:block;
    width:100%;
    height:auto;
    max-height:520px;
    object-fit:cover;
    border-radius:1.25rem;
    box-shadow:0 20px 50px rgba(15,68,84,.12);
    background:#fff;
}

.media-article-image-print{
    width:auto;
    max-width:100%;
    max-height:620px;
    margin:0 auto;
    object-fit:contain;
}

.media-source-line{
    display:flex;
    flex-wrap:wrap;
    gap:.6rem 1rem;
    align-items:center;
    margin-bottom:1rem;
    color:var(--muted);
    font-size:.82rem;
    font-weight:750;
    text-transform:uppercase;
    letter-spacing:.075em;
}

.media-source{
    color:var(--turquoise-dark);
}

.media-article-content h2{
    font-family:Georgia,"Times New Roman",serif;
    color:var(--river-dark);
    font-size:clamp(2rem,4vw,3.35rem);
    line-height:1.05;
    margin-bottom:.9rem;
}

.media-author{
    color:var(--muted);
    font-size:.94rem;
    margin-bottom:1.3rem;
}

.media-excerpt{
    max-width:720px;
    font-size:1.08rem;
    line-height:1.78;
    color:#496570;
    margin-bottom:1.75rem;
}

.press-releases-section{
    background:var(--soft);
    border-top:1px solid var(--line);
}

.press-release-list{
    border-top:1px solid var(--line);
}

.press-release-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:2rem;
    align-items:center;
    padding:1.75rem 0;
    border-bottom:1px solid var(--line);
}

.press-release-row h3{
    font-family:Georgia,"Times New Roman",serif;
    color:var(--river-dark);
    font-size:1.55rem;
    margin:.35rem 0 .65rem;
}

.press-release-actions{
    display:flex;
    flex-wrap:wrap;
    gap:.65rem;
}

@media(max-width:991px){
    .media-article-row{
        grid-template-columns:1fr;
        gap:2rem;
        padding:3.5rem 0;
    }

    .media-article-visual{
        max-width:680px;
    }

    .media-article-image-print{
        margin:0;
    }
}

@media(max-width:575px){
    .media-article-row{
        padding:2.8rem 0;
    }

    .media-article-image{
        max-height:none;
        border-radius:1rem;
    }

    .press-release-row{
        grid-template-columns:1fr;
    }

    .press-release-actions{
        margin-top:.25rem;
    }
}


/* =========================
   TROUVER LE LIVRE — V3.0
   photos des points + popup carte
   ========================= */

.location-card-with-image{
    padding:0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
}

.location-card-photo{
    width:100%;
    overflow:hidden;
    background:var(--soft);
    border-bottom:1px solid var(--line);
}

.location-card-photo img{
    display:block;
    width:100%;
    aspect-ratio:8/5;
    object-fit:cover;
    transition:transform .35s ease;
}

.location-card-with-image:hover .location-card-photo img{
    transform:scale(1.025);
}

.location-card-body{
    padding:1.5rem;
    display:flex;
    flex-direction:column;
    flex:1;
}

.map-popup{
    margin:-13px -20px -13px -20px;
    overflow:hidden;
    border-radius:12px;
    min-width:230px;
}

.map-popup-image{
    display:block;
    width:100%;
    height:135px;
    object-fit:cover;
}

.map-popup-body{
    padding:13px 16px 15px;
    line-height:1.55;
}

.map-popup-body strong{
    display:inline-block;
    color:var(--river-dark);
    font-size:1rem;
    margin-bottom:1px;
}

.map-popup-status{
    color:var(--turquoise-dark);
    font-weight:800;
}

.map-popup-body a{
    display:inline-block;
    margin-top:5px;
    color:var(--turquoise-dark);
    font-weight:750;
    text-decoration:none;
}

.map-popup-body a:hover{
    text-decoration:underline;
}

.leaflet-popup-content{
    margin:13px 20px;
}

@media(max-width:575px){
    .location-card-photo img{
        aspect-ratio:16/10;
    }
}


/* =========================
   HEADER / ACCUEIL — V3.2
   ========================= */

.nav-buy-label{
    font-size:.72rem;
    font-weight:850;
    letter-spacing:.075em;
    text-transform:uppercase;
    color:var(--muted);
    white-space:nowrap;
}

.home-next-event{
    background:var(--turquoise-soft);
    border-top:1px solid #cff0ed;
    border-bottom:1px solid #cff0ed;
}

.home-event-date{
    color:var(--turquoise-dark);
    font-size:.83rem;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.home-regions{
    background:#fff;
}

.region-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    border-top:1px solid var(--line);
    border-left:1px solid var(--line);
}

.region-card{
    position:relative;
    min-height:230px;
    padding:1.8rem;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
    background:#fff;
}

.region-card h3{
    font-family:Georgia,"Times New Roman",serif;
    color:var(--river-dark);
    font-size:1.55rem;
    margin:.8rem 0;
}

.region-card p{
    color:#5e737d;
    line-height:1.65;
    margin-bottom:0;
}

.region-number{
    display:inline-block;
    color:var(--turquoise-dark);
    font-size:.75rem;
    font-weight:850;
    letter-spacing:.12em;
}

.home-about{
    background:var(--soft);
}

.home-about-image{
    display:block;
    width:100%;
    max-height:570px;
    object-fit:cover;
    border-radius:1.3rem;
    box-shadow:0 22px 55px rgba(15,68,84,.12);
}

.home-press{
    background:#fff;
    border-top:1px solid var(--line);
}

.home-press-image-wrap{
    display:flex;
    justify-content:center;
}

.home-press-image{
    display:block;
    width:auto;
    max-width:100%;
    max-height:500px;
    object-fit:contain;
    border-radius:1.2rem;
    box-shadow:0 18px 45px rgba(15,68,84,.10);
    background:#fff;
}

.home-press-source{
    color:var(--turquoise-dark);
    font-size:.8rem;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.08em;
}

@media(max-width:1199px){
    .region-grid{
        grid-template-columns:repeat(2, minmax(0,1fr));
    }
}

@media(max-width:991px){
    .nav-buy-label{
        display:block;
        width:100%;
        margin-bottom:.15rem;
    }

    .region-grid{
        grid-template-columns:1fr 1fr;
    }

    .home-about-image{
        max-height:500px;
    }
}

@media(max-width:575px){
    .region-grid{
        grid-template-columns:1fr;
    }

    .region-card{
        min-height:0;
    }

    .home-about-image{
        max-height:none;
    }
}


/* =========================
   ACCUEIL — V3.3
   ========================= */
.region-card-more{background:var(--turquoise-soft);display:flex;flex-direction:column;justify-content:center}
.region-card-more .region-number{color:var(--turquoise-dark)}
.region-card-more h3{max-width:420px}
.region-card-more .btn{align-self:flex-start}
.btn-with-count{display:inline-flex;align-items:center;gap:.65rem}
.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.7rem;height:1.7rem;padding:0 .45rem;border-radius:999px;font-size:.72rem;font-weight:850;line-height:1;background:var(--turquoise);color:#fff}
.btn-turquoise .count-badge,.btn-river .count-badge{background:#fff;color:var(--turquoise-dark)}
.btn-find-book .count-badge,.btn-outline-river .count-badge{background:var(--turquoise);color:#fff}
@media(max-width:575px){.btn-with-count{width:100%;justify-content:center}}

/* ==========================================================
   SOUS-PAGES — BANNIÈRES ŒUVRES DE SYLVIE — V4.0
   ========================================================== */
.subpage-banner{
    --banner-image:none;
    position:relative;
    min-height:340px;
    display:flex;
    align-items:center;
    overflow:hidden;
    border-bottom:1px solid var(--line);
    background-image:var(--banner-image);
    background-size:cover;
    background-position:center;
    isolation:isolate;
}
.subpage-banner::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.95) 28%,rgba(255,255,255,.78) 48%,rgba(255,255,255,.22) 73%,rgba(255,255,255,.03) 100%);
}
.subpage-banner-overlay{
    position:absolute;
    inset:0;
    z-index:0;
    background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(1,157,170,.06));
    pointer-events:none;
}
.subpage-banner-content{
    position:relative;
    z-index:2;
    padding-top:4.2rem;
    padding-bottom:4.2rem;
}
.subpage-banner-content .eyebrow{
    color:var(--turquoise-dark);
    margin-bottom:.8rem;
}
.subpage-banner-content h1{
    max-width:1000px;
    margin:0;
    color:var(--river-dark);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(2.7rem,5vw,5rem);
    line-height:.99;
    letter-spacing:-.035em;
    text-wrap:balance;
}
.subpage-banner-content .lead{
    max-width:790px;
    margin:1.05rem 0 0;
    color:#526b76;
    font-size:clamp(1.05rem,1.45vw,1.35rem);
    line-height:1.52;
    text-wrap:pretty;
}
@media(max-width:991px){
    .subpage-banner{min-height:300px;}
    .subpage-banner::after{background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.92) 45%,rgba(255,255,255,.62) 76%,rgba(255,255,255,.30) 100%);}
    .subpage-banner-content{padding-top:3.3rem;padding-bottom:3.3rem;}
}
@media(max-width:575px){
    .subpage-banner{min-height:285px;background-position:center;}
    .subpage-banner::after{background:linear-gradient(180deg,rgba(255,255,255,.76) 0%,rgba(255,255,255,.90) 42%,rgba(255,255,255,.98) 100%);}
    .subpage-banner-content{padding-top:2.45rem;padding-bottom:2.55rem;}
    .subpage-banner-content h1{font-size:clamp(2.25rem,11vw,3.2rem);line-height:1.01;max-width:100%;}
    .subpage-banner-content .lead{font-size:1rem;line-height:1.47;max-width:100%;margin-top:.85rem;}
}


/* =========================================================
   ACCUEIL + HEADER — V4.1
   ========================================================= */

.site-navbar{
    background:rgba(255,255,255,.97);
    border-bottom:1px solid rgba(17,73,94,.09);
    box-shadow:0 8px 30px rgba(9,63,82,.035);
    backdrop-filter:saturate(145%) blur(12px);
}

.site-navbar-inner{
    min-height:84px;
}

.site-navbar .navbar-brand{
    color:var(--river-dark);
    font-family:Georgia,"Times New Roman",serif;
    font-style:italic;
    font-size:2rem;
    line-height:1;
    letter-spacing:-.025em;
    text-decoration:none;
    white-space:nowrap;
}

.site-menu{
    gap:.15rem;
}

.site-navbar .nav-link{
    position:relative;
    color:#29424e;
    font-weight:750;
    padding:.9rem .72rem !important;
    transition:color .2s ease;
}

.site-navbar .nav-link:hover,
.site-navbar .nav-link.active{
    color:var(--turquoise-dark);
}

.site-navbar .nav-link.active::after{
    content:"";
    position:absolute;
    left:.72rem;
    right:.72rem;
    bottom:.48rem;
    height:2px;
    border-radius:4px;
    background:var(--turquoise);
}

.site-buy-label-wrap{
    margin-left:1rem;
    display:flex;
    align-items:center;
}

.site-buy-label{
    color:#62757d;
    font-size:.69rem;
    font-weight:900;
    letter-spacing:.1em;
    text-transform:uppercase;
    white-space:nowrap;
}

.site-buy-action{
    margin-left:.5rem;
}

.btn-buy-online,
.btn-buy-store{
    min-height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.52rem;
    border-radius:10px;
    padding:.68rem .95rem;
    font-weight:850;
    line-height:1;
    transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.btn-buy-online{
    background:var(--turquoise);
    color:#fff;
    border:1px solid var(--turquoise);
    box-shadow:0 8px 20px rgba(0,183,190,.14);
}

.btn-buy-online:hover{
    background:var(--turquoise-dark);
    border-color:var(--turquoise-dark);
    color:#fff;
    transform:translateY(-1px);
    box-shadow:0 10px 24px rgba(0,143,151,.19);
}

.btn-buy-store{
    background:#fff;
    color:var(--turquoise-dark);
    border:1.5px solid var(--turquoise);
}

.btn-buy-store:hover{
    background:var(--turquoise-soft);
    color:var(--turquoise-dark);
    transform:translateY(-1px);
}

.site-buy-icon{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    flex:0 0 auto;
}

.home-book-hero{
    position:relative;
    min-height:calc(100vh - 84px);
    overflow:hidden;
    isolation:isolate;
    display:flex;
    align-items:center;
    background:#eef8f8;
}

.home-book-hero-bg{
    position:absolute;
    inset:0;
    z-index:-3;
    background-image:url('../img/hero-home-v4.1.jpg');
    background-size:cover;
    background-position:center center;
    transform:scale(1.015);
}

.home-book-hero-wash{
    position:absolute;
    inset:0;
    z-index:-2;
    background:
        linear-gradient(90deg,
            rgba(255,255,255,.97) 0%,
            rgba(255,255,255,.94) 26%,
            rgba(255,255,255,.72) 43%,
            rgba(255,255,255,.13) 65%,
            rgba(255,255,255,.02) 100%),
        linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,165,176,.06));
}

.home-book-hero::after{
    content:"";
    position:absolute;
    left:-3vw;
    bottom:-7vh;
    width:34vw;
    height:28vh;
    z-index:-1;
    opacity:.7;
    background:
        radial-gradient(ellipse at center,rgba(8,200,205,.22),transparent 64%);
    filter:blur(14px);
    transform:rotate(-7deg);
    pointer-events:none;
}

.home-book-hero-row{
    min-height:calc(100vh - 84px);
    padding:5.5rem 0 5rem;
}

.home-book-copy{
    max-width:650px;
}

.home-book-eyebrow{
    color:var(--turquoise-dark);
}

.home-book-copy h1{
    color:var(--river-dark);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(3.8rem,5.5vw,6.25rem);
    line-height:.96;
    letter-spacing:-.045em;
    margin:1rem 0 1.8rem;
}

.home-book-lead{
    max-width:620px;
    color:#375765;
    font-size:clamp(1.1rem,1.45vw,1.35rem);
    line-height:1.68;
    margin-bottom:1rem;
}

.home-book-isbn{
    color:#607983;
    font-size:.88rem;
}

.home-book-product{
    position:relative;
    display:block;
    width:min(100%,760px);
    margin-left:auto;
    text-decoration:none;
    color:inherit;
    padding:1.2rem 1.1rem 4.7rem;
    border-radius:28px;
    transition:transform .28s ease, filter .28s ease;
}

.home-book-product:hover{
    transform:translateY(-8px) rotate(-.35deg);
    filter:saturate(1.04);
}

.home-book-product-glow{
    position:absolute;
    inset:5% 1% 10% 8%;
    border-radius:42%;
    background:rgba(0,195,201,.19);
    filter:blur(46px);
    z-index:-1;
    transition:transform .3s ease, opacity .3s ease;
}

.home-book-product:hover .home-book-product-glow{
    transform:scale(1.08);
    opacity:1.2;
}

.home-book-cover{
    display:block;
    width:100%;
    height:auto;
    border-radius:4px;
    box-shadow:
        0 34px 65px rgba(11,55,70,.20),
        0 9px 18px rgba(11,55,70,.12);
    transform:perspective(1500px) rotateY(-2.5deg);
    transform-origin:center right;
}

.home-book-product-action{
    position:absolute;
    left:50%;
    bottom:1.15rem;
    transform:translateX(-50%);
    min-width:245px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.8rem;
    padding:.9rem 1.25rem;
    border-radius:999px;
    color:#fff;
    background:linear-gradient(135deg,var(--turquoise),var(--turquoise-dark));
    box-shadow:0 12px 28px rgba(0,150,159,.23);
    font-weight:850;
    font-size:1.05rem;
    white-space:nowrap;
    transition:transform .25s ease, box-shadow .25s ease;
}

.home-book-product:hover .home-book-product-action{
    transform:translateX(-50%) scale(1.035);
    box-shadow:0 15px 34px rgba(0,150,159,.30);
}

.home-book-product-arrow{
    font-size:1.4rem;
    line-height:1;
    transition:transform .2s ease;
}

.home-book-product:hover .home-book-product-arrow{
    transform:translateX(4px);
}

@media (max-width:1199.98px){
    .site-navbar .nav-link{padding-left:.5rem !important;padding-right:.5rem !important;font-size:.94rem;}
    .site-buy-label-wrap{margin-left:.4rem;}
    .btn-buy-online,.btn-buy-store{padding:.65rem .72rem;font-size:.92rem;}
    .home-book-copy h1{font-size:clamp(3.35rem,5.8vw,5rem);}
}

@media (max-width:991.98px){
    .site-navbar-inner{min-height:72px;padding-top:.65rem;padding-bottom:.65rem;}
    .site-navbar .navbar-brand{font-size:1.75rem;}
    .site-menu{padding:1rem 0 .5rem;align-items:stretch !important;}
    .site-navbar .nav-link{padding:.7rem 0 !important;}
    .site-navbar .nav-link.active::after{left:0;right:auto;width:42px;bottom:.3rem;}
    .site-buy-label-wrap{margin:.8rem 0 .15rem;}
    .site-buy-action{margin:.35rem 0 0;}
    .btn-buy-online,.btn-buy-store{width:100%;min-height:48px;}

    .home-book-hero{min-height:auto;}
    .home-book-hero-row{min-height:auto;padding:4.5rem 0 4rem;}
    .home-book-hero-bg{background-position:62% center;}
    .home-book-hero-wash{
        background:linear-gradient(180deg,
            rgba(255,255,255,.96) 0%,
            rgba(255,255,255,.88) 44%,
            rgba(255,255,255,.35) 70%,
            rgba(239,250,250,.9) 100%);
    }
    .home-book-copy{text-align:center;margin:0 auto;}
    .home-book-copy h1{font-size:clamp(3rem,10vw,5rem);}
    .home-book-lead{margin-left:auto;margin-right:auto;}
    .home-book-product{margin:1.25rem auto 0;width:min(100%,700px);}
}

@media (max-width:575.98px){
    .site-navbar .navbar-brand{font-size:1.55rem;}
    .home-book-hero-row{padding:3rem 0 3rem;}
    .home-book-copy h1{font-size:clamp(2.7rem,13vw,4rem);line-height:1;}
    .home-book-lead{font-size:1.05rem;line-height:1.55;}
    .home-book-product{padding:.45rem .15rem 4.25rem;}
    .home-book-cover{transform:none;border-radius:3px;}
    .home-book-product-action{min-width:220px;font-size:.98rem;padding:.82rem 1rem;}
}


/* =========================================================
   ACCUEIL — PRODUCT CARD V4.2
   Remplace le gros visuel cliquable V4.1 par une vraie
   fiche produit / achat dans le hero.
   ========================================================= */

.home-book-shop-card{
    position:relative;
    width:min(100%,670px);
    margin-left:auto;
    padding:1.45rem 1.45rem 1.15rem;
    border:1px solid rgba(255,255,255,.92);
    border-radius:28px;
    background:rgba(255,255,255,.93);
    box-shadow:
        0 28px 70px rgba(13,63,79,.16),
        0 8px 24px rgba(13,63,79,.08);
    backdrop-filter:blur(14px);
    overflow:hidden;
}

.home-book-shop-card::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(145deg,rgba(255,255,255,.52),transparent 42%),
        radial-gradient(circle at 82% 18%,rgba(2,205,209,.08),transparent 34%);
}

.home-book-shop-visual{
    position:relative;
    z-index:1;
    display:block;
    width:min(100%,530px);
    margin:0 auto .95rem;
    padding:.25rem .75rem .45rem;
    text-decoration:none;
    transition:transform .25s ease;
}

.home-book-shop-visual:hover{
    transform:translateY(-4px);
}

.home-book-shop-glow{
    position:absolute;
    left:11%;
    right:7%;
    bottom:2%;
    height:25%;
    border-radius:50%;
    background:rgba(0,183,190,.19);
    filter:blur(30px);
    z-index:-1;
}

.home-book-shop-cover{
    display:block;
    width:100%;
    height:auto;
    border-radius:3px;
    box-shadow:
        0 22px 38px rgba(10,52,67,.18),
        0 5px 12px rgba(10,52,67,.10);
    transform:perspective(1600px) rotateY(-1.3deg) rotateX(.2deg);
    transform-origin:center right;
    transition:transform .28s ease, box-shadow .28s ease;
}

.home-book-shop-visual:hover .home-book-shop-cover{
    transform:perspective(1600px) rotateY(-1.8deg) rotateX(.2deg) translateY(-2px);
    box-shadow:
        0 28px 48px rgba(10,52,67,.21),
        0 7px 15px rgba(10,52,67,.11);
}

.home-book-shop-meta{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:.7rem;
    padding:.85rem .45rem 1rem;
    color:#657983;
    border-bottom:1px solid rgba(17,73,94,.13);
    font-size:.82rem;
}

.home-book-meta-item{
    display:inline-flex;
    align-items:center;
    gap:.42rem;
    white-space:nowrap;
}

.home-book-meta-item svg,
.home-book-shop-btn svg,
.home-book-shop-option svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    flex:0 0 auto;
}

.home-book-meta-sep{
    width:1px;
    height:22px;
    background:rgba(17,73,94,.14);
}

.home-book-shop-actions{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.8rem;
    padding:1rem 0 .85rem;
}

.home-book-shop-btn{
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.72rem;
    border-radius:15px;
    padding:.9rem 1rem;
    text-decoration:none;
    font-size:1.05rem;
    font-weight:850;
    line-height:1;
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        background .2s ease,
        color .2s ease;
}

.home-book-shop-btn-primary{
    color:#fff;
    border:1px solid var(--turquoise);
    background:linear-gradient(135deg,var(--turquoise),var(--turquoise-dark));
    box-shadow:0 11px 24px rgba(0,160,170,.22);
}

.home-book-shop-btn-primary:hover{
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 15px 30px rgba(0,160,170,.28);
}

.home-book-shop-btn-secondary{
    color:var(--turquoise-dark);
    border:1.5px solid var(--turquoise);
    background:#fff;
}

.home-book-shop-btn-secondary:hover{
    color:var(--turquoise-dark);
    background:var(--turquoise-soft);
    transform:translateY(-2px);
}

.home-book-shop-arrow{
    font-size:1.25rem;
    line-height:1;
    transition:transform .2s ease;
}

.home-book-shop-btn-secondary:hover .home-book-shop-arrow{
    transform:translateX(4px);
}

.home-book-shop-options{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:1rem;
    min-height:42px;
    color:#617983;
    font-size:.82rem;
}

.home-book-shop-option{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.45rem;
    color:#617983;
    text-decoration:none;
    font-weight:650;
    transition:color .2s ease;
}

.home-book-shop-option:hover{
    color:var(--turquoise-dark);
}

.home-book-shop-option svg{
    width:19px;
    height:19px;
}

.home-book-option-sep{
    width:1px;
    height:22px;
    background:rgba(17,73,94,.14);
}

/* On neutralise l'ancien composant V4.1 s'il reste ailleurs. */
.home-book-product{
    display:none;
}

@media (max-width:1199.98px){
    .home-book-shop-card{
        width:min(100%,620px);
        padding:1.25rem 1.25rem 1rem;
    }

    .home-book-shop-visual{
        width:min(100%,480px);
    }

    .home-book-shop-btn{
        font-size:.98rem;
    }
}

@media (max-width:991.98px){
    .home-book-shop-card{
        margin:1.5rem auto 0;
        width:min(100%,680px);
    }

    .home-book-shop-visual{
        width:min(100%,520px);
    }
}

@media (max-width:575.98px){
    .home-book-shop-card{
        padding:1rem;
        border-radius:21px;
    }

    .home-book-shop-visual{
        width:100%;
        padding:0 .15rem .35rem;
    }

    .home-book-shop-cover{
        transform:none;
    }

    .home-book-shop-meta{
        justify-content:flex-start;
        gap:.55rem .7rem;
        font-size:.76rem;
    }

    .home-book-meta-sep{
        display:none;
    }

    .home-book-shop-actions{
        grid-template-columns:1fr;
        gap:.65rem;
    }

    .home-book-shop-btn{
        min-height:54px;
        width:100%;
    }

    .home-book-shop-options{
        align-items:stretch;
        flex-direction:column;
        gap:.55rem;
        padding-top:.2rem;
    }

    .home-book-option-sep{
        display:none;
    }

    .home-book-shop-option{
        min-height:38px;
        justify-content:flex-start;
    }
}


/* =========================================================
   ACCUEIL — HERO V4.3
   Compact desktop hero + product card refinements
   ========================================================= */

/* Fait entrer le hero dans un écran desktop courant et laisse
   apparaître le début de la section suivante. */
.home-hero{
    min-height:calc(100vh - 92px);
    padding-top:2.25rem;
    padding-bottom:2.35rem;
    display:flex;
    align-items:center;
}

/* Le contenu gauche remonte légèrement. */
.home-hero-copy{
    padding-top:0 !important;
    margin-top:-.35rem;
}

.home-hero .eyebrow{
    margin-bottom:.7rem;
}

.home-hero h1{
    margin-top:.35rem !important;
    margin-bottom:1.25rem;
}

.home-hero .lead{
    margin-bottom:.75rem;
}

/* Carte du livre moins haute et plus compacte. */
.home-book-shop-card{
    width:min(100%,640px);
    padding:1rem 1.2rem .95rem;
    border-radius:24px;
}

/* Livre un peu plus petit pour mieux voir la bannière. */
.home-book-shop-visual{
    width:min(100%,500px);
    margin:0 auto .35rem;
    padding:0 .55rem .15rem;
}

/* Aucun effet hover / mouvement sur l'image du livre. */
.home-book-shop-visual,
.home-book-shop-visual:hover{
    transform:none !important;
}

.home-book-shop-cover,
.home-book-shop-visual:hover .home-book-shop-cover{
    transform:none !important;
    transition:none !important;
    box-shadow:
        0 18px 32px rgba(10,52,67,.16),
        0 4px 10px rgba(10,52,67,.08);
}

/* Les infos du livre remontent directement sous la couverture. */
.home-book-shop-meta{
    padding:.35rem .35rem .7rem;
    gap:.6rem;
}

/* Boutons un peu plus compacts. */
.home-book-shop-actions{
    padding:.75rem 0 0;
    gap:.75rem;
}

.home-book-shop-btn{
    min-height:54px;
}

/* La rangée "Acheter en ligne / Trouver en librairie" n'est plus utilisée. */
.home-book-shop-options{
    display:none !important;
}

/* Ajustements supplémentaires pour écrans desktop moins hauts. */
@media (min-width:992px) and (max-height:900px){
    .home-hero{
        min-height:calc(100vh - 86px);
        padding-top:1.55rem;
        padding-bottom:1.7rem;
    }

    .home-hero h1{
        font-size:clamp(3.5rem,5.1vw,5.65rem);
        line-height:.98;
        margin-bottom:1rem;
    }

    .home-hero .lead{
        font-size:1.18rem;
        line-height:1.65;
    }

    .home-book-shop-card{
        width:min(100%,610px);
        padding:.9rem 1.05rem .85rem;
    }

    .home-book-shop-visual{
        width:min(100%,455px);
        margin-bottom:.2rem;
    }

    .home-book-shop-meta{
        padding:.25rem .25rem .55rem;
        font-size:.78rem;
    }

    .home-book-shop-actions{
        padding:.6rem 0 0;
    }

    .home-book-shop-btn{
        min-height:50px;
        font-size:.98rem;
    }
}

@media (max-width:991.98px){
    .home-hero{
        min-height:auto;
        padding-top:2.2rem;
        padding-bottom:2.5rem;
    }

    .home-hero-copy{
        margin-top:0;
    }

    .home-book-shop-card{
        margin-top:1.1rem;
    }
}


/* =========================================================
   ACCUEIL — HERO V4.4
   Image de fond produit + contenu HTML
   ========================================================= */

.home-hero-v44{
    position:relative;
    min-height:calc(100vh - 92px);
    padding:3rem 0 3.4rem;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:
        url('../img/bkg-sylvie-langevin-livre.png')
        center center / cover no-repeat;
}

.home-hero-v44-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.98) 0%,
            rgba(255,255,255,.94) 22%,
            rgba(255,255,255,.74) 37%,
            rgba(255,255,255,.25) 53%,
            rgba(255,255,255,0) 69%
        );
    pointer-events:none;
}

.home-hero-v44 .container{
    z-index:2;
}

.home-hero-v44-copy{
    max-width:650px;
    padding:.25rem 0;
}

.home-hero-v44 .eyebrow{
    color:var(--turquoise-dark);
    font-size:.84rem;
    font-weight:850;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.home-hero-v44 h1{
    max-width:640px;
    margin-bottom:1.1rem;
    color:var(--river-dark);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(4rem,5.2vw,6rem);
    line-height:.96;
    letter-spacing:-.035em;
}

.home-hero-v44 .lead{
    max-width:575px;
    color:#355766;
    font-size:1.18rem;
    line-height:1.65;
}

.home-hero-v44-actions{
    display:flex;
    flex-wrap:wrap;
    gap:.75rem;
    margin-top:1.55rem;
}

.home-hero-v44-actions .btn{
    min-height:56px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.65rem;
    border-radius:14px;
    padding:.9rem 1.45rem;
    font-weight:850;
}

.home-hero-v44-actions svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.home-hero-v44-primary{
    box-shadow:0 12px 26px rgba(0,170,180,.22);
}

.home-hero-v44-secondary{
    color:var(--turquoise-dark);
    border:1px solid rgba(0,190,195,.34);
    background:rgba(255,255,255,.92);
    box-shadow:0 9px 22px rgba(12,60,75,.08);
}

.home-hero-v44-secondary:hover{
    color:var(--turquoise-dark);
    background:#fff;
}

.home-hero-v44-meta{
    display:flex;
    flex-wrap:wrap;
    gap:.65rem 1rem;
    margin-top:1rem;
    color:#6b7e86;
    font-size:.78rem;
}

.home-hero-v44-meta span{
    position:relative;
}

.home-hero-v44-meta span:not(:last-child)::after{
    content:"";
    position:absolute;
    top:50%;
    right:-.55rem;
    width:1px;
    height:14px;
    background:rgba(39,80,96,.18);
    transform:translateY(-50%);
}

/* Neutralise l'ancien composant produit */
.home-book-shop-card,
.home-book-product{
    display:none !important;
}

@media (min-width:992px) and (max-height:900px){
    .home-hero-v44{
        min-height:calc(100vh - 86px);
        padding:2rem 0 2.35rem;
    }

    .home-hero-v44 h1{
        font-size:clamp(3.55rem,4.9vw,5.35rem);
    }

    .home-hero-v44 .lead{
        font-size:1.08rem;
    }
}

@media (max-width:991.98px){
    .home-hero-v44{
        min-height:auto;
        padding:4rem 0 4.1rem;
        background-position:63% center;
    }

    .home-hero-v44-overlay{
        background:
            linear-gradient(
                90deg,
                rgba(255,255,255,.97) 0%,
                rgba(255,255,255,.92) 48%,
                rgba(255,255,255,.48) 75%,
                rgba(255,255,255,.16) 100%
            );
    }

    .home-hero-v44-copy{
        max-width:600px;
    }
}

@media (max-width:767.98px){
    .home-hero-v44{
        min-height:720px;
        align-items:flex-end;
        padding:16rem 0 2.2rem;
        background-position:67% top;
    }

    .home-hero-v44-overlay{
        background:
            linear-gradient(
                180deg,
                rgba(255,255,255,.02) 0%,
                rgba(255,255,255,.10) 34%,
                rgba(255,255,255,.86) 58%,
                rgba(255,255,255,.98) 76%,
                #fff 100%
            );
    }

    .home-hero-v44 h1{
        font-size:clamp(2.7rem,11vw,4rem);
        line-height:.98;
    }

    .home-hero-v44 .lead{
        font-size:1.02rem;
        line-height:1.55;
    }

    .home-hero-v44-actions{
        display:grid;
        grid-template-columns:1fr;
    }

    .home-hero-v44-actions .btn{
        width:100%;
    }
}

@media (max-width:575.98px){
    .home-hero-v44{
        min-height:680px;
        padding-top:14.5rem;
        background-position:69% top;
    }

    .home-hero-v44-meta{
        gap:.4rem .75rem;
    }

    .home-hero-v44-meta span:not(:last-child)::after{
        display:none;
    }
}


/* =========================================================
   HEADER — V4.5 CLEAN
   ========================================================= */

.site-navbar{
    background:rgba(255,255,255,.965);
    border-bottom:1px solid rgba(16,77,95,.075);
    box-shadow:0 7px 26px rgba(10,55,72,.035);
    backdrop-filter:blur(16px) saturate(150%);
}

.site-navbar-inner{
    min-height:88px;
    padding-top:.45rem;
    padding-bottom:.45rem;
}

.site-brand{
    color:var(--river-dark)!important;
    font-family:Georgia,"Times New Roman",serif;
    font-style:italic;
    font-size:2.05rem;
    line-height:1;
    letter-spacing:-.035em;
    padding:0;
    margin-right:2.6rem;
    white-space:nowrap;
    transition:color .2s ease;
}

.site-brand:hover{
    color:var(--turquoise-dark)!important;
}

.site-menu{
    gap:.05rem;
}

.site-navbar .site-menu .nav-link{
    position:relative;
    color:#294450!important;
    font-size:.94rem;
    font-weight:750;
    line-height:1;
    padding:1.15rem .7rem!important;
    transition:color .18s ease;
}

.site-navbar .site-menu .nav-link:hover,
.site-navbar .site-menu .nav-link.active{
    color:var(--turquoise-dark)!important;
}

.site-navbar .site-menu .nav-link.active::after{
    content:"";
    position:absolute;
    left:.7rem;
    right:.7rem;
    bottom:.55rem;
    height:2px;
    border-radius:999px;
    background:var(--turquoise);
}

/* Bloc achat, visuellement séparé du menu sans paraître être un deuxième menu */
.site-buy-area{
    display:flex;
    align-items:center;
    gap:.8rem;
    margin-left:1.15rem;
    padding-left:1.15rem;
    border-left:1px solid rgba(22,77,94,.11);
}

.site-buy-label{
    margin:0;
    color:#657780;
    font-size:.65rem;
    font-weight:900;
    line-height:1.15;
    letter-spacing:.105em;
    text-transform:uppercase;
    white-space:nowrap;
}

.site-buy-buttons{
    display:flex;
    align-items:center;
    gap:.55rem;
}

.btn-buy-online,
.btn-buy-store{
    min-height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.52rem;
    padding:.68rem .95rem;
    border-radius:10px;
    font-size:.91rem;
    font-weight:850;
    line-height:1;
    text-decoration:none;
    white-space:nowrap;
    transition:
        background .18s ease,
        color .18s ease,
        border-color .18s ease,
        box-shadow .18s ease,
        transform .18s ease;
}

.btn-buy-online svg,
.btn-buy-store svg{
    width:19px;
    height:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.btn-buy-online{
    color:#fff!important;
    background:var(--turquoise);
    border:1px solid var(--turquoise);
    box-shadow:0 8px 18px rgba(0,183,190,.13);
}

.btn-buy-online:hover{
    color:#fff!important;
    background:var(--turquoise-dark);
    border-color:var(--turquoise-dark);
    transform:translateY(-1px);
}

.btn-buy-store{
    color:var(--turquoise-dark)!important;
    background:#fff;
    border:1.5px solid var(--turquoise);
}

.btn-buy-store:hover{
    color:var(--turquoise-dark)!important;
    background:var(--turquoise-soft);
    transform:translateY(-1px);
}

/* Burger plus élégant que l'icône Bootstrap par défaut */
.site-navbar-toggler{
    width:46px;
    height:42px;
    padding:9px 10px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    border:1px solid rgba(18,78,95,.13)!important;
    border-radius:10px;
    box-shadow:none!important;
}

.site-toggler-line{
    display:block;
    width:21px;
    height:2px;
    border-radius:999px;
    background:var(--river-dark);
}

/* Écrans intermédiaires : le menu garde de l'air avant de basculer en mobile. */
@media (max-width:1199.98px){
    .site-navbar-inner{
        min-height:78px;
    }

    .site-brand{
        font-size:1.9rem;
    }

    .site-navbar .navbar-collapse{
        margin-top:.75rem;
        padding:.85rem 0 1rem;
        border-top:1px solid rgba(18,78,95,.08);
    }

    .site-navbar .site-menu{
        gap:0;
    }

    .site-navbar .site-menu .nav-link{
        padding:.75rem .2rem!important;
        font-size:1rem;
    }

    .site-navbar .site-menu .nav-link.active::after{
        left:.2rem;
        right:auto;
        bottom:.38rem;
        width:38px;
    }

    .site-buy-area{
        margin:1rem 0 0;
        padding:1rem 0 0;
        border-left:0;
        border-top:1px solid rgba(18,78,95,.08);
        align-items:flex-start;
        flex-direction:column;
        gap:.65rem;
    }

    .site-buy-label{
        font-size:.68rem;
    }

    .site-buy-buttons{
        width:100%;
    }

    .btn-buy-online,
    .btn-buy-store{
        flex:1 1 0;
        min-height:48px;
    }
}

@media (max-width:575.98px){
    .site-navbar-inner{
        min-height:70px;
    }

    .site-brand{
        max-width:220px;
        overflow:hidden;
        font-size:1.65rem;
    }

    .site-buy-buttons{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:.5rem;
    }

    .btn-buy-online,
    .btn-buy-store{
        width:100%;
        padding:.72rem .7rem;
        font-size:.88rem;
    }
}


/* =========================================================
   ACCUEIL — MOBILE HERO V4.6
   Sur mobile : d'abord l'image / le livre sur la roche,
   ensuite le contenu éditorial.
   ========================================================= */

@media (max-width:767.98px){

    .home-hero-v44{
        /* On transforme le hero en composition verticale :
           image forte en haut, contenu en dessous. */
        min-height:0;
        display:block;
        padding:22.5rem 0 2.4rem;

        /* L'image reste entière visuellement, avec priorité au livre
           et à la roche plutôt qu'au texte HTML. */
        background-size:auto 22.5rem;
        background-repeat:no-repeat;
        background-position:72% top;
        background-color:#fff;
    }

    .home-hero-v44-overlay{
        /* Très léger fondu uniquement au bas de l'image,
           puis blanc derrière le contenu. */
        background:
            linear-gradient(
                180deg,
                rgba(255,255,255,0) 0%,
                rgba(255,255,255,0) 69%,
                rgba(255,255,255,.50) 82%,
                rgba(255,255,255,.94) 94%,
                #fff 100%
            );
        height:22.7rem;
        bottom:auto;
    }

    .home-hero-v44 .container{
        position:relative;
        z-index:3;
    }

    .home-hero-v44-copy{
        max-width:none;
        margin:0;
        padding:1.25rem 0 0;
        background:#fff;
    }

    .home-hero-v44 .eyebrow{
        display:block;
        margin-bottom:.65rem;
        font-size:.72rem;
        letter-spacing:.115em;
    }

    .home-hero-v44 h1{
        max-width:none;
        margin:.2rem 0 .95rem!important;
        font-size:clamp(2.7rem,11vw,3.65rem);
        line-height:.98;
        letter-spacing:-.035em;
    }

    .home-hero-v44 .lead{
        max-width:none;
        margin:.75rem 0 0!important;
        font-size:1.01rem;
        line-height:1.58;
    }

    .home-hero-v44-actions{
        display:grid;
        grid-template-columns:1fr;
        gap:.65rem;
        margin-top:1.25rem;
    }

    .home-hero-v44-actions .btn{
        width:100%;
        min-height:54px;
        border-radius:13px;
    }

    .home-hero-v44-meta{
        margin-top:.85rem;
        padding-top:.1rem;
        gap:.35rem .7rem;
        font-size:.72rem;
    }

    .home-hero-v44-meta span:not(:last-child)::after{
        display:none;
    }
}

/* Téléphones étroits : un peu moins haut, mais on garde le livre visible. */
@media (max-width:575.98px){

    .home-hero-v44{
        padding-top:21rem;
        background-size:auto 21rem;
        background-position:73% top;
    }

    .home-hero-v44-overlay{
        height:21.2rem;
    }

    .home-hero-v44-copy{
        padding-top:1rem;
    }

    .home-hero-v44 h1{
        font-size:clamp(2.55rem,11.3vw,3.35rem);
    }
}

/* Très petits écrans : on cadre encore davantage sur le livre. */
@media (max-width:390px){

    .home-hero-v44{
        padding-top:19.5rem;
        background-size:auto 19.5rem;
        background-position:75% top;
    }

    .home-hero-v44-overlay{
        height:19.7rem;
    }
}


/* =========================================================
   ACCUEIL — PROCHAIN RENDEZ-VOUS V4.7
   ========================================================= */

.home-next-event{
    position:relative;
    padding:4rem 0;
    background:
        linear-gradient(135deg,#eefcfc 0%,#e1f8f8 48%,#f8fdfd 100%);
    border-top:1px solid rgba(0,190,195,.10);
    border-bottom:1px solid rgba(0,190,195,.12);
    overflow:hidden;
}

.home-next-event::before{
    content:"";
    position:absolute;
    width:320px;
    height:320px;
    right:-100px;
    top:-170px;
    border-radius:50%;
    background:rgba(0,196,199,.08);
}

.home-next-event::after{
    content:"";
    position:absolute;
    width:220px;
    height:220px;
    left:-100px;
    bottom:-150px;
    border-radius:50%;
    background:rgba(15,95,127,.045);
}

.home-next-event .container{
    position:relative;
    z-index:2;
}

.home-next-event-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:2.5rem;
    padding:2.15rem 2.3rem;
    border:1px solid rgba(0,174,180,.15);
    border-radius:24px;
    background:rgba(255,255,255,.72);
    box-shadow:0 18px 46px rgba(15,79,96,.07);
    backdrop-filter:blur(9px);
}

.home-next-event-kicker{
    display:flex;
    align-items:center;
    gap:.55rem;
    margin-bottom:1.25rem;
    color:var(--turquoise-dark);
    font-size:.74rem;
    font-weight:900;
    letter-spacing:.115em;
    text-transform:uppercase;
}

.home-next-event-dot{
    width:9px;
    height:9px;
    border-radius:50%;
    background:var(--turquoise);
    box-shadow:0 0 0 5px rgba(0,190,195,.11);
}

.home-next-event-content{
    display:flex;
    align-items:center;
    gap:2rem;
}

.home-next-event-date-block{
    flex:0 0 auto;
    min-width:118px;
    padding-right:1.9rem;
    border-right:1px solid rgba(15,95,127,.14);
}

.home-next-event-day{
    color:var(--river-dark);
    font-family:Georgia,"Times New Roman",serif;
    font-size:4.3rem;
    line-height:.82;
    letter-spacing:-.045em;
}

.home-next-event-month{
    margin-top:.6rem;
    color:var(--turquoise-dark);
    font-size:.76rem;
    font-weight:900;
    line-height:1.15;
    letter-spacing:.085em;
}

.home-next-event-month span{
    display:block;
    margin-top:.18rem;
}

.home-next-event-info{
    max-width:720px;
}

.home-next-event-type{
    margin-bottom:.35rem;
    color:var(--turquoise-dark);
    font-size:.7rem;
    font-weight:900;
    letter-spacing:.105em;
    text-transform:uppercase;
}

.home-next-event-info h2{
    margin:0;
    color:var(--river-dark);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(2.5rem,3.3vw,4rem);
    line-height:1;
    letter-spacing:-.035em;
}

.home-next-event-place{
    margin-top:.55rem;
    color:#60757f;
    font-size:1rem;
}

.home-next-event-separator{
    margin:0 .25rem;
    color:var(--turquoise-dark);
}

.home-next-event-info p{
    max-width:670px;
    margin:1rem 0 0;
    color:#657982;
    line-height:1.65;
}

.home-next-event-action{
    align-self:center;
}

.home-next-event-btn{
    min-height:55px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.65rem;
    padding:.85rem 1.15rem;
    color:var(--turquoise-dark);
    border:1.5px solid var(--turquoise);
    border-radius:13px;
    background:#fff;
    font-weight:850;
    white-space:nowrap;
    box-shadow:0 8px 20px rgba(0,178,184,.08);
    transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
}

.home-next-event-btn:hover{
    color:var(--turquoise-dark);
    background:var(--turquoise-soft);
    transform:translateY(-2px);
    box-shadow:0 12px 24px rgba(0,178,184,.13);
}

.home-next-event-arrow{
    font-size:1.1rem;
    transition:transform .18s ease;
}

.home-next-event-btn:hover .home-next-event-arrow{
    transform:translateX(3px);
}

@media(max-width:991.98px){
    .home-next-event{
        padding:3rem 0;
    }

    .home-next-event-card{
        grid-template-columns:1fr;
        gap:1.5rem;
        padding:1.7rem;
    }

    .home-next-event-action{
        width:100%;
    }

    .home-next-event-btn{
        width:100%;
    }
}

@media(max-width:575.98px){
    .home-next-event{
        padding:2.3rem 0;
    }

    .home-next-event-card{
        padding:1.35rem;
        border-radius:19px;
    }

    .home-next-event-content{
        align-items:flex-start;
        gap:1rem;
    }

    .home-next-event-date-block{
        min-width:78px;
        padding-right:1rem;
    }

    .home-next-event-day{
        font-size:3.2rem;
    }

    .home-next-event-month{
        font-size:.64rem;
    }

    .home-next-event-info h2{
        font-size:2.35rem;
    }

    .home-next-event-place{
        font-size:.88rem;
    }

    .home-next-event-info p{
        font-size:.91rem;
        line-height:1.55;
    }
}


/* =========================================================
   ACCUEIL — PARCOURS ARTISTIQUE V4.8
   ========================================================= */

.home-project-v48{
    position:relative;
    padding:4.7rem 0;
    background:
        radial-gradient(circle at 90% 20%,rgba(255,255,255,.14),transparent 30%),
        linear-gradient(135deg,#10c5c8 0%,#08b8c1 48%,#079fad 100%);
    overflow:hidden;
}

.home-project-v48::before{
    content:"";
    position:absolute;
    width:390px;
    height:390px;
    left:-160px;
    top:-210px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.14);
}

.home-project-v48::after{
    content:"";
    position:absolute;
    width:460px;
    height:460px;
    right:-180px;
    bottom:-300px;
    border-radius:50%;
    background:rgba(255,255,255,.055);
}

.home-project-v48 .container{
    position:relative;
    z-index:2;
}

.home-project-panel{
    overflow:hidden;
    border:1px solid rgba(255,255,255,.25);
    border-radius:30px;
    background:rgba(255,255,255,.09);
    box-shadow:0 28px 70px rgba(0,80,90,.15);
    backdrop-filter:blur(8px);
}

.home-project-copy{
    height:100%;
    padding:3.45rem 3.25rem;
    color:#fff;
}

.home-project-kicker{
    display:flex;
    align-items:center;
    gap:.55rem;
    margin-bottom:1rem;
    color:rgba(255,255,255,.88);
    font-size:.76rem;
    font-weight:900;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.home-project-kicker-dot{
    width:9px;
    height:9px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 0 0 5px rgba(255,255,255,.13);
}

.home-project-copy h2{
    max-width:730px;
    margin:0 0 1.25rem;
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(3rem,4.15vw,5.15rem);
    line-height:.99;
    letter-spacing:-.035em;
}

.home-project-lead{
    max-width:760px;
    margin:0 0 .85rem;
    color:#fff;
    font-size:1.18rem;
    line-height:1.63;
}

.home-project-text{
    max-width:760px;
    margin:0;
    color:rgba(255,255,255,.84);
    font-size:1rem;
    line-height:1.68;
}

.home-project-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:1rem 1.2rem;
    margin-top:1.65rem;
}

.home-project-btn{
    min-height:54px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.65rem;
    padding:.85rem 1.2rem;
    color:var(--turquoise-dark);
    border:1px solid #fff;
    border-radius:13px;
    background:#fff;
    font-weight:850;
    box-shadow:0 10px 22px rgba(0,80,90,.14);
}

.home-project-btn:hover{
    color:var(--turquoise-dark);
    background:#f8ffff;
    transform:translateY(-2px);
}

.home-project-mini-note{
    display:flex;
    align-items:center;
    gap:.55rem;
    max-width:330px;
    color:rgba(255,255,255,.83);
    font-size:.82rem;
    line-height:1.35;
}

.home-project-mini-icon{
    display:inline-grid;
    place-items:center;
    flex:0 0 auto;
    width:30px;
    height:30px;
    border:1px solid rgba(255,255,255,.28);
    border-radius:50%;
    background:rgba(255,255,255,.1);
    font-size:.9rem;
}

.home-project-visual-wrap{
    position:relative;
    height:100%;
    min-height:560px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:2.2rem;
    background:
        linear-gradient(180deg,rgba(255,255,255,.98),rgba(243,253,253,.98));
}

.home-project-visual-wrap::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 75% 25%,rgba(15,196,200,.13),transparent 35%),
        radial-gradient(circle at 20% 80%,rgba(15,95,127,.06),transparent 32%);
    pointer-events:none;
}

.home-project-visual-accent{
    position:absolute;
    width:300px;
    height:300px;
    border-radius:50%;
    background:rgba(0,190,195,.12);
    filter:blur(5px);
    right:11%;
    top:15%;
}

.home-project-visual{
    position:relative;
    z-index:2;
    width:min(100%,470px);
    max-height:500px;
    object-fit:contain;
    border-radius:20px;
    box-shadow:0 24px 54px rgba(10,62,78,.18);
}

.home-project-visual-caption{
    position:absolute;
    z-index:3;
    left:2rem;
    right:2rem;
    bottom:1.35rem;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.5rem;
    color:#5e7580;
    font-size:.78rem;
    text-align:center;
}

.home-project-caption-dot{
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--turquoise);
}

@media(max-width:991.98px){
    .home-project-v48{
        padding:3.4rem 0;
    }

    .home-project-copy{
        padding:2.6rem 2.3rem;
    }

    .home-project-panel{
        border-radius:25px;
    }

    .home-project-visual-wrap{
        min-height:500px;
        padding:2rem;
    }

    .home-project-visual{
        width:min(100%,430px);
        max-height:445px;
    }
}

@media(max-width:575.98px){
    .home-project-v48{
        padding:2.3rem 0;
    }

    .home-project-panel{
        border-radius:20px;
    }

    .home-project-copy{
        padding:1.75rem 1.35rem 1.55rem;
    }

    .home-project-copy h2{
        font-size:clamp(2.45rem,10.8vw,3.25rem);
    }

    .home-project-lead{
        font-size:1.02rem;
        line-height:1.56;
    }

    .home-project-text{
        font-size:.94rem;
        line-height:1.58;
    }

    .home-project-actions{
        align-items:stretch;
        flex-direction:column;
        margin-top:1.3rem;
    }

    .home-project-btn{
        width:100%;
    }

    .home-project-mini-note{
        justify-content:center;
        max-width:none;
        text-align:center;
    }

    .home-project-visual-wrap{
        min-height:420px;
        padding:1.3rem 1rem 2.7rem;
    }

    .home-project-visual{
        width:min(100%,355px);
        max-height:360px;
        border-radius:16px;
    }

    .home-project-visual-caption{
        left:1rem;
        right:1rem;
        bottom:.9rem;
        font-size:.72rem;
    }
}


/* =========================================================
   ACCUEIL — PARCOURS ARTISTIQUE V4.9
   Présentation de l'aperçu mobile simplifiée
   ========================================================= */

.home-project-visual-wrap{
    position:relative;
    min-height:560px;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:1.25rem;
    overflow:hidden;
    background:
        linear-gradient(145deg,#f8ffff 0%,#eefafa 100%);
}

/* On retire l'effet de "carte dans une carte". */
.home-project-visual-wrap::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        radial-gradient(circle at 82% 16%,rgba(15,196,200,.09),transparent 34%),
        linear-gradient(180deg,rgba(255,255,255,.35),rgba(255,255,255,0));
}

.home-project-visual-accent{
    display:none;
}

.home-project-visual{
    position:relative;
    z-index:2;
    width:100%;
    height:100%;
    max-width:none;
    max-height:none;
    object-fit:cover;
    object-position:center center;
    border-radius:22px;
    box-shadow:
        0 20px 46px rgba(10,62,78,.14),
        0 4px 14px rgba(10,62,78,.08);
}

/* La légende n'est plus utilisée. */
.home-project-visual-caption,
.home-project-caption-dot{
    display:none!important;
}

@media(max-width:991.98px){
    .home-project-visual-wrap{
        min-height:500px;
        padding:1rem;
    }

    .home-project-visual{
        min-height:460px;
        object-position:center center;
        border-radius:18px;
    }
}

@media(max-width:575.98px){
    .home-project-visual-wrap{
        min-height:0;
        padding:.85rem;
    }

    .home-project-visual{
        width:100%;
        height:auto;
        min-height:0;
        max-height:none;
        object-fit:contain;
        border-radius:16px;
    }
}


/* =========================================================
   ACCUEIL — PRESSE V5.0
   ========================================================= */

.home-press-v50{
    position:relative;
    padding:4.7rem 0;
    background:
        linear-gradient(180deg,#ffffff 0%,#fbfefe 100%);
}

.home-press-card{
    overflow:hidden;
    border:1px solid rgba(18,76,94,.10);
    border-radius:28px;
    background:#fff;
    box-shadow:0 20px 55px rgba(16,65,80,.07);
}

.home-press-visual{
    position:relative;
    min-height:590px;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:2.5rem 2.2rem;
    background:
        radial-gradient(circle at 32% 28%,rgba(10,190,195,.11),transparent 33%),
        linear-gradient(145deg,#edfafa 0%,#f9fdfd 68%);
}

.home-press-paper{
    position:relative;
    width:min(100%,340px);
    padding:.65rem;
    border-radius:8px;
    background:#fff;
    box-shadow:
        0 24px 54px rgba(20,57,72,.16),
        0 4px 13px rgba(20,57,72,.08);
    transform:rotate(-1deg);
}

.home-press-paper::before{
    content:"";
    position:absolute;
    inset:8px -8px -8px 8px;
    z-index:-1;
    border-radius:8px;
    background:rgba(10,190,195,.08);
}

.home-press-image{
    display:block;
    width:100%;
    height:auto;
    border-radius:4px;
}

.home-press-source-pill{
    position:absolute;
    left:50%;
    bottom:1.45rem;
    transform:translateX(-50%);
    padding:.55rem .85rem;
    border:1px solid rgba(10,190,195,.18);
    border-radius:999px;
    background:rgba(255,255,255,.92);
    color:#5b727c;
    font-size:.72rem;
    font-weight:750;
    white-space:nowrap;
    box-shadow:0 7px 18px rgba(19,66,82,.08);
    backdrop-filter:blur(8px);
}

.home-press-copy{
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:3.6rem 3.5rem;
}

.home-press-kicker{
    display:flex;
    align-items:center;
    gap:.55rem;
    margin-bottom:.7rem;
    color:var(--turquoise-dark);
    font-size:.74rem;
    font-weight:900;
    letter-spacing:.115em;
    text-transform:uppercase;
}

.home-press-kicker-dot{
    width:9px;
    height:9px;
    border-radius:50%;
    background:var(--turquoise);
    box-shadow:0 0 0 5px rgba(0,190,195,.10);
}

.home-press-publication{
    margin-bottom:.95rem;
    color:var(--turquoise-dark);
    font-size:.76rem;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.home-press-copy h2{
    max-width:760px;
    margin:0 0 1.15rem;
    color:var(--river-dark);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(3rem,4vw,5rem);
    line-height:.98;
    letter-spacing:-.035em;
}

.home-press-copy p{
    max-width:760px;
    margin:0;
    color:#6b7b83;
    font-size:1.08rem;
    line-height:1.7;
}

.home-press-actions{
    margin-top:1.55rem;
}

.home-press-btn{
    min-height:52px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.65rem;
    padding:.8rem 1rem;
    color:var(--turquoise-dark);
    border:1.5px solid var(--turquoise);
    border-radius:12px;
    background:#fff;
    font-weight:850;
    box-shadow:0 8px 18px rgba(0,180,185,.07);
    transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
}

.home-press-btn:hover{
    color:var(--turquoise-dark);
    background:var(--turquoise-soft);
    transform:translateY(-2px);
    box-shadow:0 12px 24px rgba(0,180,185,.12);
}

.home-press-arrow{
    font-size:1.05rem;
    transition:transform .18s ease;
}

.home-press-btn:hover .home-press-arrow{
    transform:translateX(3px);
}

@media(max-width:991.98px){
    .home-press-v50{
        padding:3.4rem 0;
    }

    .home-press-card{
        border-radius:24px;
    }

    .home-press-visual{
        min-height:500px;
    }

    .home-press-copy{
        padding:2.6rem 2.3rem 2.8rem;
    }
}

@media(max-width:575.98px){
    .home-press-v50{
        padding:2.3rem 0;
    }

    .home-press-card{
        border-radius:20px;
    }

    .home-press-visual{
        min-height:390px;
        padding:1.5rem 1rem 3rem;
    }

    .home-press-paper{
        width:min(100%,270px);
    }

    .home-press-source-pill{
        bottom:1rem;
        font-size:.66rem;
    }

    .home-press-copy{
        padding:1.8rem 1.35rem 1.7rem;
    }

    .home-press-copy h2{
        font-size:clamp(2.45rem,10.7vw,3.3rem);
    }

    .home-press-copy p{
        font-size:.98rem;
        line-height:1.6;
    }

    .home-press-btn{
        width:100%;
    }
}

/* =========================================================
   FOOTER ART — V5.1
   Background: vraie œuvre de Sylvie extraite du livre
   assets/img/footer-sylvie.jpg
   ========================================================= */

.site-footer-art{
    position:relative;
    min-height:540px;
    display:flex;
    align-items:flex-end;
    overflow:hidden;
    color:#fff;
    background:
        url('../img/footer-sylvie.jpg')
        center 46% / cover no-repeat;
    border-top:1px solid rgba(255,255,255,.16);
}

.site-footer-art__overlay{
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(
            180deg,
            rgba(4,44,61,.03) 0%,
            rgba(4,44,61,.08) 34%,
            rgba(3,38,53,.46) 63%,
            rgba(2,31,45,.86) 100%
        ),
        linear-gradient(
            90deg,
            rgba(2,32,45,.18) 0%,
            rgba(2,32,45,.03) 45%,
            rgba(2,32,45,.15) 100%
        );
}

.site-footer-art__inner{
    position:relative;
    z-index:2;
    width:100%;
    padding-top:13rem;
    padding-bottom:3rem;
}

.site-footer-art__inner .row{
    padding-top:2rem;
    border-top:1px solid rgba(255,255,255,.28);
}

.site-footer-art__brand{
    margin-bottom:.55rem;
    font-family:Georgia,"Times New Roman",serif;
    font-size:2.2rem;
    font-style:italic;
    line-height:1;
    letter-spacing:-.03em;
    text-shadow:0 2px 16px rgba(0,0,0,.22);
}

.site-footer-art__meta{
    color:rgba(255,255,255,.84);
    font-size:1rem;
    line-height:1.65;
}

.site-footer-art__heading{
    margin-bottom:.55rem;
    color:#fff;
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.site-footer-art__link,
.site-footer-art__email{
    color:#fff;
    text-decoration:none;
    text-underline-offset:4px;
    transition:
        color .18s ease,
        opacity .18s ease,
        transform .18s ease;
}

.site-footer-art__link{
    display:block;
    width:max-content;
    max-width:100%;
    margin-bottom:.45rem;
    font-size:1rem;
}

.site-footer-art__link:hover,
.site-footer-art__email:hover{
    color:#fff;
    opacity:.82;
}

.site-footer-art__link--cta{
    display:inline-flex;
    align-items:center;
    gap:.55rem;
    margin-top:.45rem;
    padding:.72rem 1rem;
    border:1px solid rgba(255,255,255,.72);
    border-radius:999px;
    background:rgba(4,42,58,.18);
    backdrop-filter:blur(5px);
}

.site-footer-art__link--cta:hover{
    opacity:1;
    background:rgba(255,255,255,.12);
    transform:translateY(-1px);
}

.site-footer-art__email{
    display:inline-block;
    margin-bottom:.65rem;
    font-size:1rem;
}

.site-footer-art__copyright{
    color:rgba(255,255,255,.78);
    font-size:.88rem;
}

@media (max-width:991.98px){
    .site-footer-art{
        min-height:620px;
        background-position:56% center;
    }

    .site-footer-art__inner{
        padding-top:16rem;
        padding-bottom:2.4rem;
    }

    .site-footer-art__inner .row{
        padding-top:1.5rem;
    }
}

@media (max-width:575.98px){
    .site-footer-art{
        min-height:650px;
        background-position:58% center;
    }

    .site-footer-art__overlay{
        background:
            linear-gradient(
                180deg,
                rgba(3,40,55,.02) 0%,
                rgba(3,40,55,.12) 34%,
                rgba(3,40,55,.62) 62%,
                rgba(2,29,42,.94) 100%
            );
    }

    .site-footer-art__inner{
        padding-top:15rem;
        padding-bottom:2rem;
    }

    .site-footer-art__brand{
        font-size:1.9rem;
    }

    .site-footer-art__meta,
    .site-footer-art__link,
    .site-footer-art__email{
        font-size:.94rem;
    }

    .site-footer-art__link--cta{
        width:100%;
        justify-content:center;
    }
}


/* =========================================================
   FOOTER ART — V5.3 FINAL
   - retire la ligne horizontale
   - bouton unique vers le livre
   - corrige la bordure noire gauche de l'image
   ========================================================= */

.site-footer-art{
    background-image:url('../img/footer-sylvie-v5.3.jpg') !important;
    background-position:center 46% !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
}

/* Retire la ligne horizontale au-dessus du contenu. */
.site-footer-art__inner .row{
    border-top:0 !important;
    padding-top:0 !important;
}

/* Les anciens éléments du bloc livre ne sont plus utilisés. */
.site-footer-art__heading,
.site-footer-art__link,
.site-footer-art__link--cta{
    display:none !important;
}

/* Nouveau bouton unique avec le titre complet du livre. */
.site-footer-art__book-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.7rem;
    max-width:100%;
    min-height:52px;
    padding:.78rem 1.15rem;
    border:1px solid rgba(255,255,255,.78);
    border-radius:999px;
    background:rgba(3,39,54,.22);
    color:#fff;
    text-decoration:none;
    font-size:.96rem;
    font-weight:700;
    line-height:1.25;
    text-align:center;
    box-shadow:0 10px 26px rgba(0,0,0,.10);
    backdrop-filter:blur(6px);
    transition:
        background .18s ease,
        transform .18s ease,
        border-color .18s ease;
}

.site-footer-art__book-button:hover{
    color:#fff;
    background:rgba(255,255,255,.13);
    border-color:#fff;
    transform:translateY(-2px);
}

.site-footer-art__book-arrow{
    flex:0 0 auto;
    font-size:1.08rem;
    transition:transform .18s ease;
}

.site-footer-art__book-button:hover .site-footer-art__book-arrow{
    transform:translateX(3px);
}

@media (max-width:991.98px){
    .site-footer-art__book-button{
        width:max-content;
        max-width:100%;
    }
}

@media (max-width:575.98px){
    .site-footer-art__book-button{
        width:100%;
        padding:.85rem 1rem;
        font-size:.9rem;
    }
}


/* =========================================================
   FOOTER ART — V5.4
   UI texte plus structuré / premium
   ========================================================= */

.site-footer-art-v54{
    min-height:560px;
}

/* Contenu regroupé dans une barre vitrée plutôt que flottant séparément */
.site-footer-art-v54 .site-footer-art__inner{
    padding-top:14rem;
    padding-bottom:2.2rem;
}

.site-footer-art__contentbar{
    overflow:hidden;
    border:1px solid rgba(255,255,255,.20);
    border-radius:22px;
    background:
        linear-gradient(
            90deg,
            rgba(3,39,54,.68) 0%,
            rgba(3,39,54,.55) 48%,
            rgba(3,39,54,.70) 100%
        );
    box-shadow:0 20px 55px rgba(0,0,0,.18);
    backdrop-filter:blur(12px) saturate(115%);
}

.site-footer-art__block{
    min-height:142px;
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:1.7rem 2rem;
}

.site-footer-art__block--brand{
    position:relative;
}

.site-footer-art__block--brand::after,
.site-footer-art__block--book::after{
    content:"";
    position:absolute;
    top:22%;
    right:0;
    width:1px;
    height:56%;
    background:rgba(255,255,255,.18);
}

.site-footer-art__block--book{
    position:relative;
    align-items:center;
    text-align:center;
}

.site-footer-art__block--contact{
    align-items:flex-end;
}

/* Signature plus élégante */
.site-footer-art-v54 .site-footer-art__brand{
    margin-bottom:.55rem;
    font-size:2.35rem;
    line-height:.95;
    text-shadow:0 3px 18px rgba(0,0,0,.26);
}

.site-footer-art-v54 .site-footer-art__meta{
    max-width:360px;
    color:rgba(255,255,255,.86);
    font-size:.95rem;
    line-height:1.65;
}

/* Bouton central plus "objet éditorial" */
.site-footer-art-v54 .site-footer-art__book-button{
    width:min(100%,390px);
    min-height:60px;
    justify-content:space-between;
    padding:.9rem 1.15rem .9rem 1.3rem;
    border-color:rgba(255,255,255,.70);
    background:rgba(255,255,255,.07);
    font-family:Georgia,"Times New Roman",serif;
    font-size:1rem;
    font-weight:400;
    line-height:1.25;
    letter-spacing:.005em;
    box-shadow:none;
}

.site-footer-art__book-button-text{
    text-align:left;
}

.site-footer-art-v54 .site-footer-art__book-arrow{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    border-radius:50%;
    background:rgba(255,255,255,.11);
}

.site-footer-art-v54 .site-footer-art__book-button:hover{
    background:rgba(255,255,255,.13);
}

/* Contact comme un vrai bloc de contact */
.site-footer-art-v54 .site-footer-art__email{
    display:inline-flex;
    align-items:center;
    justify-content:flex-end;
    gap:.55rem;
    margin-bottom:.55rem;
    font-size:.95rem;
    font-weight:600;
}

.site-footer-art__email-icon{
    width:30px;
    height:30px;
    display:inline-grid;
    place-items:center;
    border-radius:50%;
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.18);
}

.site-footer-art__email-icon svg{
    width:16px;
    height:16px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.site-footer-art-v54 .site-footer-art__copyright{
    color:rgba(255,255,255,.66);
    font-size:.78rem;
    letter-spacing:.02em;
}

/* Desktop étroit */
@media (max-width:1199.98px){
    .site-footer-art__block{
        padding:1.5rem 1.4rem;
    }

    .site-footer-art-v54 .site-footer-art__brand{
        font-size:2.05rem;
    }

    .site-footer-art-v54 .site-footer-art__book-button{
        font-size:.93rem;
    }
}

/* Tablette/mobile : cartes empilées, sans séparateurs verticaux */
@media (max-width:991.98px){
    .site-footer-art-v54{
        min-height:650px;
    }

    .site-footer-art-v54 .site-footer-art__inner{
        padding-top:16rem;
        padding-bottom:1.5rem;
    }

    .site-footer-art__contentbar{
        border-radius:18px;
    }

    .site-footer-art__block{
        min-height:auto;
        padding:1.3rem 1.35rem;
    }

    .site-footer-art__block--brand::after,
    .site-footer-art__block--book::after{
        display:none;
    }

    .site-footer-art__block--brand,
    .site-footer-art__block--book,
    .site-footer-art__block--contact{
        align-items:flex-start;
        text-align:left !important;
    }

    .site-footer-art__block + .site-footer-art__block{
        border-top:1px solid rgba(255,255,255,.13);
    }

    .site-footer-art-v54 .site-footer-art__book-button{
        width:100%;
    }

    .site-footer-art-v54 .site-footer-art__email{
        justify-content:flex-start;
    }
}

@media (max-width:575.98px){
    .site-footer-art-v54{
        min-height:680px;
    }

    .site-footer-art-v54 .site-footer-art__inner{
        padding-top:17rem;
        padding-bottom:1rem;
    }

    .site-footer-art__contentbar{
        border-radius:16px;
    }

    .site-footer-art-v54 .site-footer-art__brand{
        font-size:1.85rem;
    }

    .site-footer-art-v54 .site-footer-art__meta{
        font-size:.9rem;
    }

    .site-footer-art-v54 .site-footer-art__book-button{
        min-height:56px;
        font-size:.9rem;
    }

    .site-footer-art-v54 .site-footer-art__email{
        font-size:.88rem;
    }
}


/* =========================================================
   SOUS-PAGES — BANNIÈRES MOBILE V5.5
   Même logique visuelle que desktop :
   texte à gauche + œuvre davantage visible vers la droite.
   ========================================================= */

@media (max-width:575px){

    .subpage-banner{
        min-height:320px;

        /* On décale le cadrage vers la partie colorée de l'œuvre
           au lieu de centrer le crop. */
        background-position:68% center !important;
        background-size:cover;
    }

    /* Le voile reste horizontal comme sur desktop :
       blanc fort sous le texte à gauche, puis l'œuvre se révèle
       progressivement vers la droite. */
    .subpage-banner::after{
        background:
            linear-gradient(
                90deg,
                rgba(255,255,255,.97) 0%,
                rgba(255,255,255,.94) 32%,
                rgba(255,255,255,.82) 52%,
                rgba(255,255,255,.42) 74%,
                rgba(255,255,255,.12) 100%
            ) !important;
    }

    .subpage-banner-overlay{
        background:
            linear-gradient(
                180deg,
                rgba(255,255,255,.02) 0%,
                rgba(1,157,170,.04) 100%
            );
    }

    .subpage-banner-content{
        width:100%;
        margin-left:0;
        margin-right:auto;
        padding-top:2.7rem;
        padding-bottom:2.8rem;
        padding-left:0;
        text-align:left;
    }

    .subpage-banner-content .eyebrow{
        max-width:88%;
        margin-left:0;
        margin-right:auto;
    }

    .subpage-banner-content h1{
        max-width:88%;
        margin-left:0;
        margin-right:auto;
        font-size:clamp(2.35rem,11vw,3.2rem);
        line-height:1;
        text-align:left;
    }

    .subpage-banner-content .lead{
        max-width:88%;
        margin-left:0;
        margin-right:auto;
        margin-top:.9rem;
        font-size:1rem;
        line-height:1.48;
        text-align:left;
    }
}

/* Très petits mobiles : garder suffisamment de l'œuvre visible
   sans repousser le texte hors écran. */
@media (max-width:390px){

    .subpage-banner{
        min-height:315px;
        background-position:65% center !important;
    }

    .subpage-banner-content h1,
    .subpage-banner-content .lead,
    .subpage-banner-content .eyebrow{
        max-width:92%;
    }
}


/* =========================================================
   SOUS-PAGES — BANNIÈRES MOBILE V5.6
   Ajoute une vraie marge intérieure à gauche/droite
   sans perdre le cadrage desktop-like de l'œuvre.
   ========================================================= */

@media (max-width:575px){

    .subpage-banner-content{
        box-sizing:border-box;
        width:100%;
        padding-left:18px !important;
        padding-right:18px !important;
    }

    .subpage-banner-content .eyebrow,
    .subpage-banner-content h1,
    .subpage-banner-content .lead{
        max-width:100% !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }
}

@media (max-width:390px){

    .subpage-banner-content{
        padding-left:16px !important;
        padding-right:16px !important;
    }
}


/* =========================================================
   TROUVER LE LIVRE — V3.1
   Carte pleine largeur + galeries photos par lieu
   ========================================================= */

.map-intro-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.5rem;
    padding:1rem 1.15rem;
    border:1px solid var(--line);
    border-radius:1rem;
    background:#fff;
}

.map-intro-copy{
    display:flex;
    align-items:center;
    gap:.8rem;
    flex-wrap:wrap;
}

.map-intro-copy strong{
    color:var(--river-dark);
    font-size:.95rem;
}

.map-legend-inline{
    align-items:center;
    justify-content:flex-end;
    color:#4f6875;
    font-size:.9rem;
}

#bookMap{
    width:100%;
    height:570px;
}

.location-card-with-image{
    padding:0;
    overflow:hidden;
}

.location-gallery{
    border-bottom:1px solid var(--line);
    background:#f3f7f8;
}

.location-gallery-stage{
    position:relative;
    width:100%;
    aspect-ratio:8/5;
    overflow:hidden;
    background:#eef3f4;
}

.location-gallery-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    opacity:0;
    visibility:hidden;
    transform:scale(1);
    transition:opacity .24s ease, visibility .24s ease;
}

.location-gallery-image.is-active{
    opacity:1;
    visibility:visible;
}

.location-gallery-nav{
    position:absolute;
    z-index:4;
    top:50%;
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    transform:translateY(-50%);
    border:1px solid rgba(255,255,255,.72);
    border-radius:50%;
    background:rgba(7,56,73,.68);
    color:#fff;
    font-family:Arial,sans-serif;
    font-size:1.75rem;
    line-height:1;
    cursor:pointer;
    box-shadow:0 5px 15px rgba(0,0,0,.15);
    backdrop-filter:blur(5px);
}

.location-gallery-prev{left:12px;}
.location-gallery-next{right:12px;}

.location-gallery-nav:hover{
    background:var(--turquoise-dark);
}

.location-gallery-count{
    position:absolute;
    z-index:4;
    right:12px;
    bottom:10px;
    padding:.28rem .5rem;
    border-radius:999px;
    background:rgba(7,56,73,.72);
    color:#fff;
    font-size:.7rem;
    font-weight:800;
    backdrop-filter:blur(5px);
}

.location-gallery-thumbs{
    display:flex;
    gap:.45rem;
    padding:.6rem;
    overflow-x:auto;
    background:#fff;
    scrollbar-width:thin;
}

.location-gallery-thumb{
    flex:0 0 58px;
    width:58px;
    height:42px;
    padding:0;
    overflow:hidden;
    border:2px solid transparent;
    border-radius:.5rem;
    background:#eef3f4;
    opacity:.7;
    cursor:pointer;
}

.location-gallery-thumb.is-active{
    border-color:var(--turquoise);
    opacity:1;
}

.location-gallery-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.location-gallery-placeholder{
    min-height:100%;
    width:100%;
    aspect-ratio:8/5;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:.3rem;
    padding:1.3rem;
    text-align:center;
    color:#78909a;
    background:
        linear-gradient(135deg,#f4f7f8 0%,#eaf0f2 100%);
}

.location-gallery-placeholder strong{
    color:#617986;
    font-size:.95rem;
}

.location-gallery-placeholder span:last-child{
    font-size:.78rem;
}

.location-gallery-placeholder-icon{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    margin-bottom:.2rem;
    border:1px solid #d3e0e4;
    border-radius:50%;
    background:#fff;
    color:#8ba0a8;
    font-size:1.05rem;
}

/* Popup carte avec la même navigation photos. */
.map-popup-gallery-stage{
    position:relative;
    height:165px;
    overflow:hidden;
    background:#edf2f3;
}

.map-popup-gallery-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:0;
    visibility:hidden;
    transition:opacity .2s ease;
}

.map-popup-gallery-image.is-active{
    opacity:1;
    visibility:visible;
}

.map-popup-gallery-nav{
    position:absolute;
    z-index:5;
    top:50%;
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    transform:translateY(-50%);
    padding:0;
    border:0;
    border-radius:50%;
    background:rgba(7,56,73,.72);
    color:#fff;
    font-size:1.45rem;
    line-height:1;
    cursor:pointer;
}

.map-popup-gallery-prev{left:8px;}
.map-popup-gallery-next{right:8px;}

.map-popup-gallery-count{
    position:absolute;
    z-index:5;
    right:8px;
    bottom:7px;
    padding:.2rem .4rem;
    border-radius:999px;
    background:rgba(7,56,73,.72);
    color:#fff;
    font-size:.65rem;
    font-weight:800;
}

.map-popup-gallery-thumbs{
    display:flex;
    gap:5px;
    padding:6px;
    overflow-x:auto;
    background:#fff;
}

.map-popup-gallery-thumb{
    flex:0 0 44px;
    width:44px;
    height:32px;
    padding:0;
    overflow:hidden;
    border:2px solid transparent;
    border-radius:5px;
    background:#eef3f4;
    opacity:.72;
}

.map-popup-gallery-thumb.is-active{
    border-color:var(--turquoise);
    opacity:1;
}

.map-popup-gallery-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.map-popup-gallery-placeholder{
    height:150px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:.2rem;
    padding:1rem;
    text-align:center;
    color:#80939b;
    background:linear-gradient(135deg,#f4f7f8,#e9eff1);
}

.map-popup-gallery-placeholder strong{
    color:#617986;
}

.map-popup-gallery-placeholder span{
    font-size:.72rem;
}

@media(max-width:991px){
    #bookMap{
        height:500px;
    }
}

@media(max-width:575px){
    .map-intro-bar{
        align-items:flex-start;
        flex-direction:column;
        gap:.75rem;
    }

    .map-legend-inline{
        justify-content:flex-start;
    }

    #bookMap{
        height:440px;
        border-radius:1rem;
    }

    .location-gallery-stage,
    .location-gallery-placeholder{
        aspect-ratio:16/10;
    }

    .location-gallery-thumb{
        flex-basis:54px;
        width:54px;
        height:40px;
    }
}


/* =========================================================
   COMMANDER — V3.2
   UI produit / panier d'achat
   ========================================================= */

.order-product-section{
    background:#fff;
}

.order-product-shell{
    overflow:hidden;
    border:1px solid rgba(18,76,94,.11);
    border-radius:28px;
    background:#fff;
    box-shadow:0 22px 58px rgba(14,61,78,.08);
}

.order-product-visual{
    position:relative;
    min-height:650px;
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:2.25rem;
    background:
        radial-gradient(circle at 50% 22%,rgba(0,197,201,.09),transparent 35%),
        linear-gradient(145deg,#f4fbfb 0%,#edf6f7 100%);
}

.order-product-badges{
    position:absolute;
    top:1.35rem;
    left:1.35rem;
    display:flex;
    flex-wrap:wrap;
    gap:.45rem;
    z-index:2;
}

.order-product-badges span{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:.35rem .65rem;
    border:1px solid rgba(0,190,195,.16);
    border-radius:999px;
    background:rgba(255,255,255,.88);
    color:#47626f;
    font-size:.69rem;
    font-weight:850;
    letter-spacing:.05em;
    text-transform:uppercase;
    backdrop-filter:blur(8px);
}

.order-product-cover{
    width:min(100%,560px);
    margin:1.6rem auto 1.25rem;
    padding:1rem;
    border-radius:20px;
    background:#fff;
    box-shadow:
        0 24px 48px rgba(22,62,76,.14),
        0 5px 14px rgba(22,62,76,.06);
}

.order-product-cover img{
    width:100%;
    height:auto;
    display:block;
    border-radius:12px;
}

.order-product-visual-meta{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:.6rem 1.25rem;
    color:#667f89;
    font-size:.8rem;
}

.order-product-availability{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    color:#168b82;
    font-weight:800;
}

.order-product-availability-dot{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#1eb9a8;
    box-shadow:0 0 0 4px rgba(30,185,168,.10);
}

.order-product-panel{
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:3.5rem 3.5rem 3.2rem;
}

.order-product-title{
    margin-top:.6rem;
    margin-bottom:1rem;
    font-size:clamp(2.5rem,3.5vw,4.25rem);
    line-height:1.02;
}

.order-product-description{
    max-width:660px;
    margin-bottom:1.2rem;
}

.order-product-made{
    display:flex;
    align-items:center;
    gap:.85rem;
    padding:.9rem 1rem;
    border:1px solid rgba(0,190,195,.15);
    border-radius:14px;
    background:rgba(0,190,195,.055);
}

.order-product-made-icon{
    flex:0 0 42px;
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#fff;
    color:var(--turquoise-dark);
    box-shadow:0 5px 14px rgba(0,0,0,.05);
}

.order-product-made-icon svg{
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.75;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.order-product-made strong,
.order-product-made span{
    display:block;
}

.order-product-made strong{
    color:var(--river-dark);
    font-size:.95rem;
}

.order-product-made div > span{
    margin-top:.1rem;
    color:#68808a;
    font-size:.84rem;
}

.order-product-divider{
    height:1px;
    margin:1.35rem 0;
    background:var(--line);
}

.order-product-choice-title{
    margin-bottom:.75rem;
    color:var(--river-dark);
    font-size:.86rem;
    font-weight:900;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.order-product-actions{
    display:flex;
    flex-direction:column;
    gap:.7rem;
}

.order-buy-button{
    width:100%;
    min-height:72px;
    display:flex;
    align-items:center;
    gap:.9rem;
    padding:.8rem 1rem;
    border:1.5px solid transparent;
    border-radius:14px;
    text-decoration:none;
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        background .18s ease,
        border-color .18s ease;
}

.order-buy-button-primary{
    background:var(--turquoise);
    color:#fff;
    box-shadow:0 10px 22px rgba(0,190,195,.16);
}

.order-buy-button-primary:hover{
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 14px 28px rgba(0,190,195,.22);
}

.order-buy-button-secondary{
    border-color:var(--turquoise);
    background:#fff;
    color:var(--turquoise-dark);
}

.order-buy-button-secondary:hover{
    color:var(--turquoise-dark);
    background:var(--turquoise-soft);
    transform:translateY(-2px);
}

.order-buy-button-icon{
    flex:0 0 42px;
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:12px;
}

.order-buy-button-primary .order-buy-button-icon{
    background:rgba(255,255,255,.14);
}

.order-buy-button-secondary .order-buy-button-icon{
    background:var(--turquoise-soft);
}

.order-buy-button-icon svg{
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.order-buy-button-copy{
    min-width:0;
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    text-align:left;
}

.order-buy-button-copy strong{
    font-size:1rem;
    line-height:1.2;
}

.order-buy-button-copy small{
    margin-top:.16rem;
    font-size:.72rem;
    opacity:.78;
}

.order-buy-button-arrow{
    flex:0 0 auto;
    font-size:1.25rem;
    transition:transform .18s ease;
}

.order-buy-button:hover .order-buy-button-arrow{
    transform:translateX(4px);
}

.order-product-note{
    margin:.9rem 0 0;
    color:#7a8d95;
    font-size:.76rem;
    line-height:1.45;
}

@media(max-width:991.98px){

    .order-product-shell{
        border-radius:22px;
    }

    .order-product-visual{
        min-height:auto;
        padding:2rem 1.5rem 1.6rem;
    }

    .order-product-cover{
        width:min(100%,520px);
    }

    .order-product-panel{
        padding:2.3rem 2rem 2.5rem;
    }
}

@media(max-width:575.98px){

    .order-product-section{
        padding-top:2rem;
    }

    .order-product-shell{
        border-radius:18px;
    }

    .order-product-visual{
        padding:3.5rem 1rem 1.25rem;
    }

    .order-product-badges{
        top:.9rem;
        left:.9rem;
    }

    .order-product-cover{
        margin:.6rem auto 1rem;
        padding:.65rem;
        border-radius:14px;
    }

    .order-product-cover img{
        border-radius:9px;
    }

    .order-product-visual-meta{
        justify-content:flex-start;
        font-size:.74rem;
    }

    .order-product-panel{
        padding:1.7rem 1.1rem 1.6rem;
    }

    .order-product-title{
        font-size:clamp(2.2rem,10vw,3rem);
    }

    .order-product-made{
        align-items:flex-start;
    }

    .order-buy-button{
        min-height:68px;
        gap:.7rem;
        padding:.72rem .8rem;
    }

    .order-buy-button-icon{
        flex-basis:38px;
        width:38px;
        height:38px;
    }

    .order-buy-button-copy strong{
        font-size:.93rem;
    }
}


/* =========================================================
   COMMANDER — V5.9
   Correction alignement icône "Imprimé au Québec"
   ========================================================= */

.order-product-made .order-product-made-icon{
    display:grid !important;
    place-items:center !important;
    align-self:center;
    flex:0 0 42px;
    width:42px;
    height:42px;
    margin:0;
    line-height:1;
}

.order-product-made .order-product-made-icon svg{
    display:block;
    width:21px;
    height:21px;
    margin:0;
}

.order-product-made > div{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:42px;
}

@media(max-width:575.98px){
    .order-product-made{
        align-items:center !important;
    }

    .order-product-made .order-product-made-icon{
        align-self:center;
    }
}


/* =========================================================
   LE PROJET — V4.0
   Roadmap évolutive vers le lancement 2028
   ========================================================= */

.project-intro-section{
    background:#fff;
}

.project-launch-card{
    position:relative;
    min-height:360px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:2rem;
    overflow:hidden;
    border:1px solid rgba(0,190,195,.15);
    border-radius:28px;
    background:
        radial-gradient(circle at 82% 18%,rgba(0,199,205,.16),transparent 30%),
        linear-gradient(145deg,#f4fbfb 0%,#eaf7f7 100%);
    box-shadow:0 22px 50px rgba(18,73,88,.08);
}

.project-launch-card::before{
    content:"2028";
    position:absolute;
    top:-.3rem;
    right:1.2rem;
    color:rgba(0,174,181,.085);
    font-family:Georgia,"Times New Roman",serif;
    font-size:9.5rem;
    line-height:1;
    pointer-events:none;
}

.project-launch-card__label{
    position:relative;
    z-index:2;
    margin-bottom:.35rem;
    color:var(--turquoise-dark);
    font-size:.74rem;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.project-launch-card > strong{
    position:relative;
    z-index:2;
    color:var(--river-dark);
    font-family:Georgia,"Times New Roman",serif;
    font-size:5rem;
    font-weight:400;
    line-height:.95;
}

.project-launch-card p{
    position:relative;
    z-index:2;
    max-width:420px;
    margin:.9rem 0 1.4rem;
    color:#607984;
    font-size:1rem;
    line-height:1.6;
}

.project-launch-card__status{
    position:relative;
    z-index:2;
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    width:max-content;
    padding:.55rem .8rem;
    border-radius:999px;
    background:#fff;
    color:#49636e;
    font-size:.78rem;
    font-weight:800;
    box-shadow:0 8px 18px rgba(0,0,0,.05);
}

.project-launch-card__status span{
    width:9px;
    height:9px;
    border-radius:50%;
    background:var(--turquoise);
    box-shadow:0 0 0 5px rgba(0,190,195,.10);
}


/* Application */

.project-app-section{
    background:#f7fbfb;
}

.project-app-shell{
    overflow:hidden;
    border:1px solid rgba(14,74,92,.10);
    border-radius:30px;
    background:#fff;
    box-shadow:0 24px 60px rgba(14,62,78,.07);
}

.project-app-copy{
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:3.6rem;
}

.project-app-copy .section-title{
    max-width:700px;
}

.project-feature-list{
    display:flex;
    flex-direction:column;
    gap:.85rem;
    margin-top:1.5rem;
}

.project-feature{
    display:flex;
    gap:.9rem;
    padding:1rem 0;
    border-top:1px solid var(--line);
}

.project-feature__icon{
    flex:0 0 42px;
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--turquoise-soft);
    color:var(--turquoise-dark);
    font-size:.72rem;
    font-weight:900;
}

.project-feature strong{
    display:block;
    margin-bottom:.15rem;
    color:var(--river-dark);
}

.project-feature p{
    margin:0;
    color:#68808a;
    font-size:.9rem;
    line-height:1.5;
}

.project-app-visual{
    min-height:650px;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:2rem;
    background:
        radial-gradient(circle at 50% 30%,rgba(255,255,255,.94),rgba(255,255,255,.40) 45%,transparent 65%),
        linear-gradient(145deg,#08c6ca,#06aeb7);
}

.project-app-visual img{
    width:min(100%,560px);
    max-height:610px;
    object-fit:contain;
    border-radius:22px;
    box-shadow:0 24px 55px rgba(0,70,80,.20);
}


/* Roadmap */

.project-roadmap-section{
    background:#fff;
}

.project-roadmap-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:2rem;
    margin-bottom:2.5rem;
}

.project-roadmap-heading > div:first-child{
    max-width:850px;
}

.project-roadmap-key{
    display:flex;
    flex-wrap:wrap;
    gap:.45rem;
    justify-content:flex-end;
}

.project-roadmap-key span{
    display:inline-flex;
    align-items:center;
    min-height:32px;
    padding:.35rem .65rem;
    border-radius:999px;
    font-size:.7rem;
    font-weight:900;
    letter-spacing:.04em;
}

.project-roadmap-key .is-done{
    background:#e9f7f3;
    color:#278875;
}

.project-roadmap-key .is-current{
    background:var(--turquoise-soft);
    color:var(--turquoise-dark);
}

.project-roadmap-key .is-next{
    background:#f3f6f7;
    color:#738993;
}

.project-roadmap{
    position:relative;
    max-width:1120px;
    margin:0 auto;
}

.project-roadmap::before{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    left:30px;
    width:2px;
    background:
        linear-gradient(
            180deg,
            #55baa9 0%,
            var(--turquoise) 24%,
            #dce6e9 55%,
            #dce6e9 100%
        );
}

.project-roadmap-item{
    position:relative;
    display:grid;
    grid-template-columns:62px 1fr;
    gap:1.35rem;
    padding:0 0 1.35rem;
}

.project-roadmap-marker{
    position:relative;
    z-index:2;
    width:62px;
    height:62px;
    display:grid;
    place-items:center;
    border:6px solid #fff;
    border-radius:50%;
    background:#edf2f4;
    color:#778c95;
    font-size:.76rem;
    font-weight:900;
    box-shadow:0 4px 16px rgba(21,64,79,.08);
}

.project-roadmap-item.is-done .project-roadmap-marker{
    background:#dff3ed;
    color:#278875;
    font-size:1.1rem;
}

.project-roadmap-item.is-current .project-roadmap-marker{
    background:var(--turquoise);
    color:#fff;
}

.project-roadmap-item--launch .project-roadmap-marker{
    background:var(--river-dark);
    color:#fff;
    font-size:.65rem;
}

.project-roadmap-content{
    padding:1.35rem 1.5rem 1.45rem;
    border:1px solid var(--line);
    border-radius:20px;
    background:#fff;
    box-shadow:0 10px 30px rgba(15,62,77,.035);
}

.project-roadmap-item.is-current .project-roadmap-content{
    border-color:rgba(0,190,195,.28);
    background:
        linear-gradient(90deg,rgba(0,190,195,.045),#fff 32%);
}

.project-roadmap-item--launch .project-roadmap-content{
    border-color:rgba(0,80,104,.18);
    background:
        linear-gradient(110deg,#f2fbfb,#fff 58%);
}

.project-roadmap-status{
    display:block;
    margin-bottom:.4rem;
    color:#82969e;
    font-size:.66rem;
    font-weight:900;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.project-roadmap-item.is-done .project-roadmap-status{
    color:#278875;
}

.project-roadmap-item.is-current .project-roadmap-status{
    color:var(--turquoise-dark);
}

.project-roadmap-item--launch .project-roadmap-status{
    color:var(--river-dark);
}

.project-roadmap-content h3{
    margin:0 0 .45rem;
    color:var(--river-dark);
    font-family:Georgia,"Times New Roman",serif;
    font-size:1.65rem;
    font-weight:400;
}

.project-roadmap-content p{
    max-width:850px;
    margin:0;
    color:#607984;
    line-height:1.62;
}

.project-roadmap-note{
    max-width:930px;
    margin:2.2rem auto 0;
    padding:1rem 1.25rem;
    border-left:3px solid var(--turquoise);
    background:var(--turquoise-soft);
    color:#607984;
    line-height:1.55;
}

.project-roadmap-note strong{
    color:var(--river-dark);
}


/* Responsive */

@media(max-width:991.98px){

    .project-app-copy{
        padding:2.5rem 2rem;
    }

    .project-app-visual{
        min-height:auto;
        padding:2rem;
    }

    .project-app-visual img{
        max-height:520px;
    }

    .project-roadmap-heading{
        align-items:flex-start;
        flex-direction:column;
    }

    .project-roadmap-key{
        justify-content:flex-start;
    }
}

@media(max-width:575.98px){

    .project-launch-card{
        min-height:310px;
        padding:1.4rem;
        border-radius:20px;
    }

    .project-launch-card::before{
        top:.1rem;
        right:.5rem;
        font-size:7rem;
    }

    .project-launch-card > strong{
        font-size:4.2rem;
    }

    .project-app-shell{
        border-radius:20px;
    }

    .project-app-copy{
        padding:1.7rem 1.15rem;
    }

    .project-app-visual{
        padding:1rem;
    }

    .project-app-visual img{
        width:100%;
        max-height:none;
        border-radius:14px;
    }

    .project-roadmap::before{
        left:23px;
    }

    .project-roadmap-item{
        grid-template-columns:48px 1fr;
        gap:.8rem;
    }

    .project-roadmap-marker{
        width:48px;
        height:48px;
        border-width:5px;
        font-size:.66rem;
    }

    .project-roadmap-content{
        padding:1rem 1rem 1.1rem;
        border-radius:15px;
    }

    .project-roadmap-content h3{
        font-size:1.35rem;
    }

    .project-roadmap-content p{
        font-size:.9rem;
    }
}

