/* ============================================
   TOKENS — ESPACEMENTS & TYPOGRAPHIE
   ============================================ */
:root {
    --space-lg: clamp(50px, 7.5vw, 170px);
    --space-md: clamp(25px, 3.6vw, 100px);
    --space-sm: clamp(10px, 1.25vw, 40px);

--fs-body:    clamp(16px, 1.544vw, 28px);
  --fs-body-sm: clamp(14px, 1.528vw, 21px);
  --fs-h1:      clamp(22px, 2.300vw, 40px);
  --fs-h2:      clamp(18px, 1.944vw, 28px);
  --fs-link:    clamp(14px, 1.528vw, 22px);
  --fs-button:  clamp(11px, 1.528vw, 22px);
  --fs-caption: clamp(12px, 1vw, 16px);
--header-h: clamp(100px, 10vw, 320px);
}

.elementor-element-feb598a img {
    height: clamp(30px, 4vw, 100px) !important;
    width: auto !important;
    max-width: none !important;
}

/* ============================================
   RATIOS D'IMAGES ET VIDÉO
   ============================================ */
.img-portrait  { aspect-ratio: 2/3; width: 100%; object-fit: cover; }
.img-landscape { aspect-ratio: 3/2; width: 100%; object-fit: cover; }
.video-wrapper { aspect-ratio: 16/9; width: 100%; }
.video-wrapper iframe,
.video-wrapper video { width: 100%; height: 100%; object-fit: cover; }



/* ============================================
   HEADER
   ============================================ */
.header {
    padding: var(--space-md) !important;
}

/* ============================================
   MENU FULLSCREEN
   ============================================ */
.fs-menu-trigger {
    background: none;
    border: none;
    cursor: pointer;
    font-family: "Reckless", sans-serif;
    font-weight: 400;
    letter-spacing: 0.01em;
    font-size: var(--fs-h1) !important;
    padding: 0;
    color: #fff !important;
    z-index: 110 !important;
}

.fs-menu-trigger:hover,
.fs-menu-trigger:focus { background: none !important; color: #fff !important; outline: none !important; box-shadow: none !important; }
.fs-menu-close:hover,
.fs-menu-close:focus   { background: none !important; color: #000 !important; outline: none !important; box-shadow: none !important; }

.fs-menu-overlay {
    position: fixed;
    inset: 0;
    z-index: 99999 !important;
    display: flex;
    justify-content: flex-end;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.5s ease;
    overflow: hidden;
}
.fs-menu-overlay.is-open { opacity: 1; pointer-events: all; }

.fs-menu-right {
    width: 50%;
    height: 100%;
    background-color: #F0E3E0 !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: transform 0.5s cubic-bezier(0.77, 0, 0.175, 1);
    transform: translateX(100%);
}
.fs-menu-overlay.is-open .fs-menu-right { transform: translateX(0); }

.fs-menu-close {
    position: absolute;
    top: var(--space-md);
    right: var(--space-md);
    background: none;
    border: none;
    cursor: pointer;
    font-family: "Reckless", sans-serif;
    font-weight: 400;
    font-size: var(--fs-h1) !important;
    padding: 0;
    color: #000 !important;
}

.fs-menu-nav {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-sm);
}

.fs-menu-link {
    font-family: "Reckless", sans-serif;
    font-weight: 400;
    font-size: clamp(20px, 2.125vw, 60px) !important;
    color: #000 !important;
    text-decoration: none;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.4s ease, transform 0.4s ease;
}
.fs-menu-overlay.is-open .fs-menu-link { opacity: 1; transform: translateY(0); }

.fs-menu-socials {
    position: absolute;
    bottom: var(--space-md);
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: var(--space-md);
    white-space: nowrap;
}

.fs-menu-social {
    font-family: "Reckless", sans-serif;
    font-weight: 400;
    font-size: var(--fs-link) !important;
    text-decoration: underline !important;
    text-decoration-thickness: 0.9px !important;
    text-underline-offset: 2px;
    color: #000;
}

@media (max-width: 768px) {
    
    body.menu-open {
    overflow: hidden;
    position: fixed;
    width: 100%;
}
    
    .fs-menu-right { width: 100%; }
    .fs-menu-link  { font-size: clamp(28px, 8vw, 52px) !important; }
    
    .fs-menu-socials {

    bottom: var(--space-lg);

    gap: var(--space-md);
    
}

}

/* ============================================
   SLIDESHOW — 60vh au lieu de 100vh
   ============================================ */
.fs-slideshow {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}

.fs-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    z-index: 0;
    overflow: hidden;
}
.fs-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    display: block;
}

.fs-slide-info {
    position: absolute;
    bottom: var(--space-sm);
    right: var(--space-sm);
    display: flex;
    align-items: center;
    gap: 10px;
    z-index: 10;
}
.fs-slide-icon svg { width: 22px; height: 22px; display: block; flex-shrink: 0; cursor: pointer; }

.fs-slide-caption {
    color: #fff;
    font-family: "Reckless", sans-serif;
    font-size: var(--fs-caption);
    white-space: nowrap;
    opacity: 0;
    transform: translateX(6px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    pointer-events: none;
    order: -1;
}
.fs-slide-info:hover .fs-slide-caption { opacity: 1; transform: translateX(0); }

@media (max-width: 768px) {
    .fs-slideshow { height: 70vh; }
}

/* ============================================
   BLOC TEXTE HOME
   ============================================ */
.bloc-texte {
    font-family: "Reckless", sans-serif;
    font-weight: 400;
    font-size: var(--fs-body);
    color: #000;
    margin: var(--space-lg) calc(var(--space-lg) * 2.6) !important;
}
.bloc-texte-more {
    display: inline-block;
    font-family: "Reckless", sans-serif !important;
    font-size: var(--fs-body) !important;
    color: #000;
    text-decoration: underline !important;
    text-decoration-thickness: 0.9px !important;
    text-underline-offset: 2px !important;
}

.bloc-texte2 {
    font-family: "Inter", sans-serif;
    font-weight: 400;
    font-size: var(--fs-body-sm);
    color: #000;
    line-height: 1.45;
    margin: var(--space-lg) calc(var(--space-lg) * 2.6) 0 !important;
}
.bloc-texte-more2 {
    display: inline-block;
    font-family: "Reckless", sans-serif !important;
    font-size: var(--fs-body-sm);
    color: #000 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 0.9px !important;
    text-underline-offset: 2px !important;
}

@media (max-width: 768px) {
    .bloc-texte  { margin: var(--space-lg) var(--space-md) !important; }
    .bloc-texte2 { margin: var(--space-lg) var(--space-md) 0 !important; }
}

/* ============================================
   CURATED SELECTION
   ============================================ */
.curated-section {
    width: 100%;
    margin-bottom: var(--space-lg);
    padding-left: var(--space-md);
    padding-right: var(--space-md);
    box-sizing: border-box;
}

.curated-title {
    font-family: "Reckless", sans-serif;
    font-weight: 400;
    font-size: var(--fs-h1);
    color: #000;
    margin-bottom: var(--space-md);
}

/* Grille desktop : 12 colonnes */
.curated-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    column-gap: 0;
    row-gap: var(--space-lg);
    align-items: start;
}

.curated-item { position: relative; }
.curated-link { text-decoration: none; display: block; }

.curated-item:nth-child(1) { grid-column: 2 / 6;  grid-row: 1; }
.curated-item:nth-child(2) { grid-column: 7 / 10; grid-row: 1 / 3; }
.curated-item:nth-child(3) { grid-column: 1 / 5;  grid-row: 2; }
.curated-item:nth-child(4) { grid-column: 4 / 8;  grid-row: 3; }
.curated-item:nth-child(5) { grid-column: 10 / 13; grid-row: 3; }

.curated-item:nth-child(1) .curated-img-wrap { aspect-ratio: 3/2; }
.curated-item:nth-child(2) .curated-img-wrap { aspect-ratio: 2/3; }
.curated-item:nth-child(3) .curated-img-wrap { aspect-ratio: 3/2; }
.curated-item:nth-child(4) .curated-img-wrap { aspect-ratio: 3/2; }
.curated-item:nth-child(5) .curated-img-wrap { aspect-ratio: 2/3; }

.curated-img-wrap {
    position: relative;
    overflow: hidden;
    width: 100%;
}
.curated-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}

.curated-hover {
    display: flex;
    flex-direction: column;
    opacity: 0;
    font-family: "Reckless", sans-serif;
    font-size: var(--fs-caption);
    transition: opacity 0.4s ease;
    pointer-events: none;
    padding-top: 8px;
    text-decoration:none!important;
}
.curated-link,
.curated-link:hover,
.curated-link:focus,
.curated-name {
    text-decoration: none !important;
}
.curated-item:hover .curated-hover { opacity: 1; pointer-events: all; }

/* Mobile curated — 1 colonne, pas de superposition */
@media (max-width: 768px) {
    .curated-grid {
        grid-template-columns: 1fr 1fr;
        row-gap: var(--space-sm);
    }
    .curated-hover {
    opacity: 1 !important;
    pointer-events: all;
    position: relative;
}

.curated-item:hover .curated-hover {
    opacity: 1;
}
    .curated-item:nth-child(1),
    .curated-item:nth-child(2),
    .curated-item:nth-child(3),
    .curated-item:nth-child(4),
    .curated-item:nth-child(5) {
        grid-column: auto;
        grid-row: auto;
        align-self: auto;
        margin-top: 0 !important;
    }

    /* On garde les ratios originaux — pas de surcharge */
    .curated-item:nth-child(1) .curated-img-wrap { aspect-ratio: 3/2; }
    .curated-item:nth-child(2) .curated-img-wrap { aspect-ratio: 2/3; }
    .curated-item:nth-child(3) .curated-img-wrap { aspect-ratio: 3/2; }
    .curated-item:nth-child(4) .curated-img-wrap { aspect-ratio: 3/2; }
    .curated-item:nth-child(5) .curated-img-wrap { aspect-ratio: 2/3; }
}

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

/* ============================================
   ALL WORKS
   ============================================ */
.all-works-section {
    width: 100%;
    padding-left: var(--space-md);
    padding-right: var(--space-md);
    box-sizing: border-box;
}
.all-works-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-md);
    align-items: start;
}
.all-works-item  { position: relative; }
.all-works-link  { text-decoration: none; display: block; }
.all-works-img-wrap {
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 3/2;
}
.all-works-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: bottom;
    display: block;
    transition: transform 0.6s ease;
}
.all-works-label {
    display: inline-block;
    font-family: "Reckless", sans-serif;
    font-size: var(--fs-caption);
    color: #000;
    text-decoration: underline;
    text-decoration-thickness: 0.9px;
    text-underline-offset: 2px;
    margin-top: 8px;
}
@media (max-width: 768px) {
    .all-works-grid { grid-template-columns: 1fr; }
}

/* ============================================
   FOOTER
   ============================================ */
.site-footer {
    position: fixed !important;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 950 !important;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding-left: var(--space-md);
    padding-right: var(--space-md);
    padding-bottom: var(--space-md) !important;
    box-sizing: border-box;
}
.footer-img { height: clamp(15px, 3.5vw, 60px) !important; width: auto !important; }
.site-footer-left { display: flex; align-items: center; flex-shrink: 0; max-width: 50%; }
.footer-copy {
    font-family: "Inter", sans-serif;
    font-size: var(--fs-caption);
    color: #000 !important;
}

[data-elementor-id="122"] .site-footer {
    padding-top: var(--space-lg) !important;
    position: relative !important;
}

.page-header .entry-title,
.site-footer .footer-inner,
.site-footer:not(.dynamic-footer),
.site-header .header-inner,
.site-header:not(.dynamic-header),
body:not([class*=elementor-page-]) .site-main {
    max-width: 100% !important;
}

@media (max-width: 768px) {
    .footer-img { height: clamp(60px, 5vw, 32px) !important; }
}

/* ============================================
   GALLERY HORIZONTAL SCROLL
   ============================================ */
.gallery-scroll-wrapper {
    width: 100%;
    overflow-x: scroll;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    cursor: grab;
    white-space: nowrap;
    min-height: 100vh;
    display: flex;
    padding-top: 5vh; 
    align-items: center;
    padding-bottom: calc(var(--space-md) + 60px);
    box-sizing: border-box;
}
.gallery-scroll-wrapper::-webkit-scrollbar { display: none; }
.gallery-scroll-wrapper.is-dragging { cursor: grabbing; user-select: none; }

.gallery-scroll-track {
    display: inline-flex;
    gap: var(--space-sm);
    align-items: center;
    vertical-align: top;
}

.gallery-scroll-item {
    display: block;
    text-decoration: none;
    flex-shrink: 0;
    position: relative;
}
.gallery-scroll-img-wrap {
    position: relative;
    overflow: hidden;
    height: 48vh;
    display: block;
}
.gallery-scroll-img-wrap img {
    height: 100%;
    width: auto;
    display: block;
    object-fit: cover;
    transition: transform 0.5s ease;
}
.gallery-scroll-hover {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 2px;
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
    padding-top: 8px;
    white-space: normal;
    line-height: 1.2;
}
.gallery-scroll-item:hover .gallery-scroll-hover { opacity: 1; pointer-events: all; }
.gallery-scroll-name,
.gallery-scroll-meta {
    font-family: "Reckless", sans-serif;
    font-size: var(--fs-caption);
    color: #000;
 
    
}
.gallery-scroll-hover {
    gap: 0px;
    line-height: 1.2!important;
}

.curated-hover {
    gap: 0px;
  line-height: 1.2!important;
}


@media (max-width: 768px) {

    
    
    .gallery-scroll-wrapper {
        height: 75vh!important;
        min-height: 75vh!important;
        height: auto!important;
        padding-top: var(--header-h);
        padding-bottom: 0!important;
        align-items: center;
        display: flex;
       
    }
     .gallery-scroll-wrapper {
        align-items: center;
        justify-content: flex-start;
    }
    .gallery-scroll-hover { opacity: 1; pointer-events: all; }
}

/* ============================================
   SINGLE ARTWORK
   ============================================ */
.artwork-single {
    position: relative;
    width: 100%;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
      overflow: hidden;
}
.artwork-info {
    position: fixed;
    top: var(--header-h);
    left: var(--space-md);
    display: flex;
    flex-direction: column;
    gap: 2px;
      max-width: 20vw !important;
    z-index: 101;
}
.artwork-info-name,
.artwork-info-meta {
    font-family: "Reckless", sans-serif;
    font-size: var(--fs-caption);
    color: #000;
    line-height: 1.3;
  
}
.artwork-img-wrap { display: flex; align-items: center; justify-content: center; }
.artwork-img {
    max-height: 57vh !important;
    max-width: 60vw !important;
    display: block;
    object-fit: contain;
}

.artwork-nav {
    position: fixed;
    bottom: clamp(100px, 8vw, 190px);
    left: var(--space-md);
    z-index: 103 !important;
    display: flex;
    align-items: center;
    gap: var(--space-lg);
    pointer-events: none;
}
.artwork-nav a,
.artwork-nav button { pointer-events: all; position: relative; z-index: 103 !important; }

.artwork-nav-link {
    font-family: "Reckless", sans-serif;
    font-size: var(--fs-caption);
    color: #000;
    text-decoration: underline;
    text-decoration-thickness: 0.9px;
    text-underline-offset: 2px;
    z-index: 102;
}

.artwork-nav-link:hover, .artwork-nav-link:focus, .artwork-nav-link:active,
.artwork-eye-open-btn:hover, .artwork-eye-open-btn:focus, .artwork-eye-open-btn:active,
.artwork-eye-close-btn:hover, .artwork-eye-close-btn:focus, .artwork-eye-close-btn:active {
    background: none !important; color: #000 !important; outline: none !important; box-shadow: none !important;
}

.artwork-eye-open-btn {
    background: none; border: none; cursor: pointer; padding: 0;
    width: 22px; height: 22px; display: block;
}
.artwork-eye-open-btn img { width: 100%; height: 100%; display: block; }

#artworkEyeOpen {
    pointer-events: all !important; position: relative !important;
    z-index: 9999 !important; display: block !important;
    opacity: 1 !important; visibility: visible !important;
}

.artwork-eye-close-btn {
    position: fixed;
    top: var(--space-md); right: var(--space-md);
    background: none; border: none; cursor: pointer; padding: 0;
    width: 22px; height: 22px; display: block;
    opacity: 0; pointer-events: none;
    z-index: 999999999 !important;
}
.artwork-eye-close-btn.is-visible { opacity: 1; pointer-events: all; }
.artwork-eye-close-btn img { width: 100%; height: 100%; display: block; }

.artwork-nav-next {
    position: fixed; left: 0;
    width: 100vw; height: 100vh;
    z-index: 100; cursor: none; display: block;
}
.artwork-nav a, .artwork-nav button,
.artwork-eye-close-btn,
.artwork-zoom-overlay a, .artwork-zoom-overlay button { cursor: pointer !important; }

.artwork-cursor-next {
    position: fixed; top: 0; left: 0;
    pointer-events: none;
    font-family: "Reckless", sans-serif;
    font-size: var(--fs-caption);
    color: #000; opacity: 0;
    transition: opacity 0.2s ease;
    transform: translate(-50%, -50%);
}
.artwork-cursor-next.is-visible { opacity: 1; }

.artwork-zoom-overlay {
    position: fixed; inset: 0;
    background: #fff;
    display: flex; align-items: flex-start; justify-content: center;
    opacity: 0; pointer-events: none;
    transition: opacity 0.4s ease;
    overflow: auto;
    z-index: 99999999 !important;
}
.artwork-zoom-overlay.is-open { opacity: 1; pointer-events: all; }
.artwork-zoom-overlay.is-open ~ .artwork-nav-next { pointer-events: none !important; }

.artwork-zoom-inner { cursor: grab; user-select: none; padding: var(--space-lg) !important; }
.artwork-zoom-inner.is-dragging { cursor: grabbing; }
.artwork-zoom-img { display: block; width: 100%; height: auto; max-width: none; }

@media (max-width: 768px) {
.artwork-info {

      max-width: 80vw !important;

}

.artwork-single {
    position: relative;
   height: 85vh;
    min-height: 85vh;

}
.artwork-img {
    max-height: 40vh !important;
    max-width: 80vw !important;
    display: block;
    object-fit: contain;
}
  

    /* Curseur next désactivé sur mobile */
    .artwork-nav-next {
        display: none !important;
    }
    .artwork-cursor-next {
        display: none !important;
    }
}

/* ============================================
   ABOUT PAGE
   ============================================ */
.about-page {
    width: 100%;
    padding-left: var(--space-md);
    padding-right: var(--space-md);
    box-sizing: border-box;
}
.about-header {
    display: grid;
    grid-template-columns: 1fr 0.7fr;
    gap: var(--space-lg);
    margin-bottom: var(--space-lg);
    margin-top: var(--header-h);
    align-items: start;
}
.about-header-left { display: flex; flex-direction: column; gap: var(--space-sm); }

.about-title {
    font-family: "Reckless", sans-serif;
    font-size: var(--fs-h1); color: #000; margin: 0;
}
.about-intro {
    font-family: "Inter", sans-serif;
    font-size: var(--fs-body-sm); color: #000; line-height: 1.5;
}
.about-header-right { display: flex; flex-direction: column; gap: 8px; }
.about-image { aspect-ratio: 3/2; width: 100%; object-fit: cover; }
.about-image-caption {
    font-family: "Reckless", sans-serif;
    font-size: var(--fs-caption); color: #000;
}
.about-modules { display: flex; flex-direction: column; gap: var(--space-md);  }
.about-module { display: flex; flex-direction: column; gap: var(--space-sm); align-items: start; }
.about-module-title {
    font-family: "Reckless", sans-serif;
        font-size: var(--fs-h2); color: #000; margin: 0;
}
.about-module-text {
    font-family: "Inter", sans-serif;
    font-size: var(--fs-body-sm); color: #000; line-height: 1.5;
}
.about-module-rows {
    display: grid;
    grid-template-columns: max-content 1fr;
    column-gap: clamp(10px, 0.8vw, 24px); 
    
  
    row-gap: clamp(5px, 0.2vw, 24px);
    width: 100%;
}
.about-module-rows {
    align-items: baseline;
}
.about-module-row { display: contents; }
.about-row-date { color: #000; font-family: "Reckless", sans-serif;font-size: var(--fs-body-sm); }
.about-row-text { color: #000; font-family: "Inter", sans-serif; font-size: var(--fs-body-sm); }

@media (max-width: 768px) {
    .about-header { grid-template-columns: 1fr; }
    .about-module-row { display: grid; grid-template-columns: 60px 1fr; }
    .about-module-row { display: contents; }

  .site-footer:not(.dynamic-footer) {
        padding-inline-end: var(--space-md)!important;
        
        padding-inline-start:var(--space-md)!important;
    }


}

/* ============================================
   ARTIST STATEMENT — sans marges latérales mobile
   ============================================ */
.statement-page {
    width: 100%;
    padding-top: var(--header-h);
    box-sizing: border-box;
}

.statement-module {
    max-width: 80vw;
    padding-left: clamp(80px, 25vw, 400px);
    padding-right: var(--space-md);
    margin-bottom: var(--space-md);
}
.statement-module-title {
    font-family: "Reckless", sans-serif;
    font-size: var(--fs-h2); color: #000;
    margin: 0 0 var(--space-sm) 0;
    padding-right: var(--space-md);
}

.statement-module-titleh1 {
    font-family: "Reckless", sans-serif;
    font-size: var(--fs-h1); color: #000;
    margin: 0 0 var(--space-sm) 0;
    padding-right: var(--space-md);
}
.statement-module-text {
    font-family: "Inter", sans-serif;
    font-size: var(--fs-body-sm); color: #000;
    line-height: 1.45;
    padding-right: var(--space-md);
}
.statement-module-text p { margin: 0 0 1em 0; }
.statement-module-text p:last-child { margin-bottom: 0; }

.statement-slider {
    position: relative;
    width: 100%;
    padding-left: clamp(80px, 25vw, 400px);
    margin-bottom: var(--space-sm);
}
.statement-slider-track {
    display: flex;
    gap: var(--space-sm);
    overflow-x: scroll;
    overflow-y: hidden;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    cursor: grab;
}
.statement-slider-track::-webkit-scrollbar { display: none; }
.statement-slider-track.is-dragging { cursor: grabbing; user-select: none; scroll-behavior: auto; }

.statement-slide { flex-shrink: 0; height: 55vh; display: block; position: relative; }
.statement-slide > img { aspect-ratio: 3/2; width: 100%; height: 100%; object-fit: cover; }

.statement-slider-next {
    display: block;
    margin-left: auto;
    background: none; border: none; cursor: pointer;
    padding-right: var(--space-md);
    font-family: "Reckless", sans-serif;
    font-size: var(--fs-caption); color: #000;
    text-decoration: underline;
    text-decoration-thickness: 0.9px;
    text-underline-offset: 2px;
}
.statement-slider-next:hover,
.statement-slider-next:focus,
.statement-slider-next:active {
    background: none !important; color: #000 !important;
    text-decoration: underline;
}

.statement-content-wrap { position: relative; }
.statement-content-wrap .statement-module:last-of-type { margin-bottom: 0; }

.statement-back-link {
    position: absolute; left: 0; bottom: 0;
    padding-left: var(--space-md);
    font-family: "Reckless", sans-serif;
    font-size: var(--fs-caption); color: #000;
    text-decoration: underline;
    text-decoration-thickness: 0.9px;
    text-underline-offset: 2px;
}

/* Mobile statement — 0 marge latérale, grand padding top */
@media (max-width: 768px) {
    .statement-page { padding-top: var(--header-h) !important; }
    .statement-module {
        max-width: 100%;
        padding-left: var(--space-md);
        padding-right: var(--space-md);
    }
    .statement-module-title { padding-right: 0; }
    .statement-module-text  { padding-right: 0; }
    .statement-slider { padding-left: 0; }
    .statement-slide { height: 45vh; }
    .statement-slider-next { padding-right: var(--space-md); }
    .statement-back-link   { padding-left: var(--space-md); }
}
@media (max-width: 768px) {
    .statement-slide {
        height: auto;
        max-height: 25vh;
        width: auto;
        flex-shrink: 0;
    }

    .statement-slide > img {
        height: auto;
        max-height: 25vh;
        width: auto;
        object-fit: cover;
        aspect-ratio: unset;
    }
       .statement-content-wrap {
        padding-bottom: var(--space-lg);
    }
}

@media (max-width: 768px) {
    /* Journal single slider */
    .journal-single-slide {
        height: auto;
        max-height: 30vh;
        width: auto;
        flex-shrink: 0;
    }

    .journal-single-slide img {
        height: auto;
        max-height: 30vh;
        width: auto;
        object-fit: cover;
    }

    /* Gallery horizontal scroll */
    .gallery-scroll-img-wrap {
        height: auto;
        max-height: 30vh;
    }

    .gallery-scroll-img-wrap img {
        height: auto;
        max-height: 30vh;
        width: auto;
    }
}

/* ============================================
   CONTACT PAGE
   ============================================ */
.contact-page {
    width: 100%;
    min-height: 100vh;
    display: grid;
    grid-template-columns: 1fr 0.7fr;
    gap: var(--space-lg);
    padding: var(--header-h) var(--space-md) var(--space-lg);
    box-sizing: border-box;
    align-items: start;
}
.contact-text {
    font-family: "Inter", sans-serif;
   
    font-size: var(--fs-body-sm); color: #000; line-height: 1.6;
   
}

.contact-link-url:hover,
.contact-link-url:active,
.contact-link-url:focus {
  /* remet les styles par défaut */
  color: black!important;
  outline: none;
  opacity:1!important;
}
.contact-text p { margin: 0 0 1em 0; }
.contact-text p:last-child { margin-bottom: 0; }
.contact-right { display: flex; flex-direction: column; gap: var(--space-md); }
.contact-link-item { display: flex; flex-direction: column; gap: 2px; }
.contact-link-label {
    font-family: "Inter", sans-serif;
    font-size: var(--fs-body-sm); color: #000; line-height: 1.4;
}
.contact-link-url {
    font-family: "Reckless", sans-serif;
    font-size: var(--fs-body-sm); 
    text-decoration: underline!important;
    text-decoration-thickness: 0.9px!important;
    text-underline-offset: 2px!important;
    line-height: 1.4;
    color:#000!important;
}




@media (max-width: 768px) {
    .contact-page {
        grid-template-columns: 1fr;
        gap: var(--space-md);
        min-height: unset;
        align-items: start;
         padding-top: var(--header-h); 
    }
    
    .contact-left,
    .contact-right {
        min-height: unset !important;
        height: auto !important;
    }
    
    .contact-page > * {
        min-height: unset !important;
        height: auto !important;
    }
}

/* ============================================
   JOURNAL — PAGE GRILLE
   ============================================ */
.journal-page {
    width: 100%;
    padding-left: var(--space-md);
    padding-right: var(--space-md);
    padding-top: var(--header-h);
    box-sizing: border-box;
}
.journal-page-title {
    font-family: "Reckless", sans-serif;
    font-size: var(--fs-h1); color: #000;
    margin: 0 0 var(--space-md) 0;
}
.journal-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-lg) var(--space-sm);
    align-items: start;
}
.journal-card { display: block; text-decoration: none !important; color: #000; }
.journal-card-img {
    width: 100%;
    aspect-ratio: 3/2;
    overflow: hidden;
    background: #e8e8e8;
    margin-bottom: 8px;
}
.journal-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s ease; }
.journal-card-title {
    display: block;
    font-family: "Reckless", sans-serif;
    font-size: var(--fs-body-sm); color: #000;
    text-decoration: none !important; line-height: 1.3;
}
.journal-card-date {
    display: block;
    font-family: "Reckless", sans-serif;
    font-size: var(--fs-caption); color: #000;
    text-decoration: none !important; line-height: 1.3; margin-top: 2px;
}
.journal-load-more-wrap { width: 100%; display: flex; justify-content: center; margin-top: var(--space-lg); }
.journal-load-more {
    background: none; border: none; cursor: pointer; padding: 0;
    font-family: "Reckless", sans-serif;
    font-size: var(--fs-caption); color: #000;
    text-decoration: underline;
    text-decoration-thickness: 0.9px;
    text-underline-offset: 2px;
}
.journal-load-more:hover,
.journal-load-more:focus { background: none !important; outline: none !important; box-shadow: none !important; }

@media (max-width: 768px) {
    .journal-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
    .journal-grid { grid-template-columns: 1fr; }
}

/* ============================================
   JOURNAL — SINGLE — sans marges latérales mobile
   ============================================ */
.journal-single {
    width: 100%;
    padding-top: var(--header-h);
    padding-bottom: var(--space-lg);
    box-sizing: border-box;
}
.journal-single-slider {
    position: relative; width: 100%;
    padding-left: clamp(80px, 25vw, 400px);
    margin-bottom: var(--space-md);
}
.journal-single-slider-track {
    display: flex; gap: var(--space-sm);
    overflow-x: scroll; overflow-y: hidden;
    scrollbar-width: none; -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth; cursor: grab;
}
.journal-single-slider-track::-webkit-scrollbar { display: none; }
.journal-single-slider-track.is-dragging { user-select: none; scroll-behavior: auto; }
.journal-single-slide { flex-shrink: 0; height: 55vh; }
.journal-single-slide img { height: 100%; width: auto; display: block; object-fit: cover; }

.journal-single-content {
    padding-left: clamp(80px, 25vw, 400px);
    padding-right: var(--space-md);
    max-width: 80vw;
}
.journal-single-module { margin-bottom: var(--space-md); }
.journal-single-module:last-of-type { margin-bottom: 0; }
.journal-single-title {
    font-family: "Reckless", sans-serif;
    font-size: var(--fs-h1); color: #000; margin: 0 0 4px 0;
}
.journal-single-date {
    font-family: "Inter", sans-serif;
    font-size: var(--fs-caption); color: #000; display: block;
}
.journal-single-module-title {
    font-family: "Reckless", sans-serif;
    font-size: var(--fs-body); color: #000; margin: 0 0 var(--space-sm) 0;
}
.journal-single-module-text {
    font-family: "Inter", sans-serif;
    font-size: var(--fs-body-sm); color: #000; line-height: 1.6;
}
.journal-single-module-text p { margin: 0 0 1em 0; }
.journal-single-module-text p:last-child { margin-bottom: 0; }

.journal-single-nav {
    display: flex; align-items: center; gap: var(--space-lg);
    margin-top: var(--space-lg);
    padding-left: var(--space-md); padding-right: var(--space-md);
}
.journal-nav-link {
    font-family: "Reckless", sans-serif;
    font-size: var(--fs-caption); color: #000;
    text-decoration: underline;
    text-decoration-thickness: 0.9px;
    text-underline-offset: 2px;
}

/* Mobile journal single — 0 marge latérale, grand padding top */
@media (max-width: 768px) {
    .journal-single { padding-top: var(--header-h) !important; }
    .journal-single-slider { padding-left: 0; }
    .journal-single-slide { height: 45vh; }
    .journal-single-content { padding-left: var(--space-md); max-width: 100%; }
    .journal-single-nav    { padding-left: var(--space-md); }
}

/* ============================================
   COLLABORATIONS — PAGE GRILLE
   ============================================ */
.collab-page {
    width: 100%;
    padding-left: var(--space-md); padding-right: var(--space-md);
    padding-top: var(--header-h); padding-bottom: var(--space-lg);
    box-sizing: border-box;
}
.collab-page-title {
    font-family: "Reckless", sans-serif;
    font-size: var(--fs-h1); color: #000; margin: 0 0 var(--space-md) 0;
}
.collab-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-lg) var(--space-sm);
    align-items: start;
}
.collab-card { display: block; text-decoration: none !important; color: #000; }
.collab-card-img {
    width: 100%; aspect-ratio: 3/2;
    overflow: hidden; background: #e8e8e8; margin-bottom: 8px;
}
.collab-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s ease; }
.collab-card:hover .collab-card-img img { transform: scale(1.02); }
.collab-card-info { display: flex; flex-direction: column; gap: 2px; }
.collab-card-title {
    display: block; font-family: "Reckless", sans-serif;
    font-size: var(--fs-body-sm); color: #000;
    text-decoration: none !important; line-height: 1.3;
}
.collab-card-meta {
    display: block; font-family: "Inter", sans-serif;
    font-size: var(--fs-caption); color: #000;
    text-decoration: none !important; line-height: 1.3;
}
@media (max-width: 768px) { .collab-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .collab-grid { grid-template-columns: 1fr; } }

/* ============================================
   COLLABORATIONS — SINGLE
   ============================================ */
.collab-single { width: 100%; min-height: 100vh; box-sizing: border-box; }

.collab-single-info {
    left: var(--space-md);
    display: flex; flex-direction: column; gap: 2px; z-index: 101;
}
.collab-single-name,
.collab-single-meta {
    font-family: "Reckless", sans-serif;
    font-size: var(--fs-caption); color: #000; line-height: 1.3;
}

.collab-single-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    height: 100vh; overflow: hidden;
}

.collab-single-left {
    overflow-y: scroll; overflow-x: hidden; scrollbar-width: none;
    padding-left: var(--space-md); padding-right: var(--space-md);
    padding-top: var(--header-h);
    display: flex; flex-direction: column; gap: var(--space-lg);
    position: relative; z-index: 1;
}
.collab-single-left::-webkit-scrollbar { display: none; }

.collab-single-right {
    overflow-y: scroll; overflow-x: hidden; scrollbar-width: none;
    padding-top: var(--header-h); padding-bottom: var(--space-md) !important;
    padding-left: var(--space-md); padding-right: var(--space-md);
    border-left: 1px solid #e0e0e0;
    display: flex; flex-direction: column; gap: var(--space-lg);
    position: relative; z-index: 1;
}
.collab-single-right::-webkit-scrollbar { display: none; }

.collab-img-block { position: relative; width: 100%; }
.collab-img { width: 100%; height: auto; display: block; object-fit: cover; }

.collab-eye-open-btn {
    position: relative; display: block;
    margin-top: 6px; margin-left: auto;
    background: none; border: none; cursor: pointer; padding: 0;
    width: 22px; height: 22px;
    opacity: 0; transition: opacity 0.3s ease;
}
.collab-portrait-wrap:hover .collab-eye-open-btn { opacity: 1; }
.collab-eye-open-btn img { width: 100%; height: 100%; display: block; }

.collab-nav-link:hover, .collab-nav-link:focus, .collab-nav-link:active,
.collab-eye-open-btn:hover, .collab-eye-open-btn:focus, .collab-eye-open-btn:active,
#collabEyeClose:hover, #collabEyeClose:focus, #collabEyeClose:active,
.collab-zoom-prev:hover, .collab-zoom-prev:focus, .collab-zoom-prev:active {
    background: none !important; color: #000 !important; outline: none !important; box-shadow: none !important;
}
.collab-zoom-prev:hover, .collab-zoom-prev:focus, .collab-zoom-prev:active {
    text-decoration: underline;
}

.collab-text-module { display: flex; flex-direction: column; gap: var(--space-sm); }
.collab-text-title { font-family: "Reckless", sans-serif; font-size: var(--fs-h1); color: #000; margin: 0; }
.collab-text-intro { font-family: "Reckless", sans-serif; font-size: var(--fs-body); color: #000; line-height: 1.6; }
.collab-text-body  { font-family: "Inter", sans-serif; font-size: var(--fs-body-sm); color: #000; line-height: 1.6; }
.collab-text-body p { margin: 0 0 1em 0; }
.collab-text-body p:last-child { margin-bottom: 0; }

.collab-single-nav {
    display: flex; align-items: center; gap: var(--space-lg);
    margin-top: auto; padding-top: var(--space-lg);
}
.collab-nav-link {
    font-family: "Reckless", sans-serif; font-size: var(--fs-caption); color: #000;
    text-decoration: underline; text-decoration-thickness: 0.9px; text-underline-offset: 2px;
}
.collab-left-nav {
    display: flex; align-items: center; gap: var(--space-lg); margin-bottom: var(--space-md);
}
.collab-left-nav .collab-nav-link:first-child { margin-right: auto; }

/* Zoom collab */
#collabEyeClose {
    position: fixed !important;
    top: var(--space-md) !important; right: var(--space-md) !important;
    background: none !important; border: none !important; cursor: pointer !important;
    padding: 0 !important; width: 22px !important; height: 22px !important;
    opacity: 0 !important; pointer-events: none !important; display: block !important;
    z-index: 99999999999 !important;
}
#collabEyeClose.is-visible { opacity: 1 !important; pointer-events: all !important; }
#collabEyeClose img { width: 100% !important; height: 100% !important; display: block !important; }

#collabZoomOverlay {
    flex-direction: column; align-items: start; justify-content: flex-start;
    z-index: 99999999 !important;
}
#collabZoomOverlay.is-open { cursor: none; }
#collabZoomOverlay.is-open,
#collabZoomOverlay.is-open * { cursor: none !important; }
#collabZoomOverlay .collab-zoom-nav,
#collabZoomOverlay .collab-zoom-prev { cursor: pointer !important; }
#collabEyeClose { cursor: pointer !important; }

#collabZoomOverlay .collab-zoom-inner { width: auto; max-width: 100%; }
#collabZoomImg { padding-left: var(--space-lg); padding-right: var(--space-lg); }

.collab-zoom-nav {
    position: relative; bottom: var(--space-md); left: var(--space-md);
    z-index: 10002; display: flex; gap: var(--space-lg);
}
.collab-zoom-cursor {
    position: fixed; pointer-events: none; z-index: 10001;
    font-family: "Reckless", sans-serif; font-size: var(--fs-caption); color: #000;
    opacity: 0; transition: opacity 0.2s ease; transform: translate(-50%, -50%);
}
.collab-zoom-cursor.is-visible { opacity: 1; }

.collab-zoom-prev, .collab-zoom-next {
    background: none; border: none; cursor: pointer; padding: 0;
    font-family: "Reckless", sans-serif; font-size: var(--fs-caption); color: #000;
    text-decoration: underline; text-decoration-thickness: 0.9px; text-underline-offset: 2px;
}
.collab-zoom-prev:hover, .collab-zoom-prev:focus,
.collab-zoom-next:hover, .collab-zoom-next:focus {
    background: none !important; outline: none !important; box-shadow: none !important;
}

/* Layout images collab */
.collab-img-block--landscape .collab-img { aspect-ratio: 3/2; width: 100%; height: 100% !important; object-fit: cover; }
.collab-portrait-wrap { width: 100%; display: flex; flex-direction: column; align-items: flex-end; }
.collab-img-block--portrait .collab-portrait-wrap { width: 60%; margin-left: auto; margin-right: auto; }
.collab-img-block--portrait .collab-img { aspect-ratio: 2/3; width: 100%; height: auto; object-fit: cover; }

.collab-duo {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 0; align-items: start;
}
.collab-duo-item { display: flex; justify-content: flex-start; }
.collab-duo-item--offset { margin-top: var(--space-lg); justify-content: flex-end; }
.collab-duo-item .collab-portrait-wrap { width: 70%; height: auto; }
.collab-duo-item .collab-img { aspect-ratio: 2/3; width: 100%; height: 100%; object-fit: cover; }

.collab-bg-right { position: fixed; top: 0; right: 0; width: 50%; height: 100%; z-index: 0; pointer-events: none; }

.collab-video-wrap {
    aspect-ratio: 16/9; width: 100%;
    margin-left: auto; margin-right: auto;
    overflow: hidden; position: relative;
}
.collab-video-wrap iframe {
    position: absolute; top: 0; left: 0;
    width: 100%; height: 100%; display: block; border: none;
}

/* Mobile collab */
@media (max-width: 768px) {




        .collab-single-layout {
        grid-template-columns: 1fr;
        height: auto;
        overflow: visible;
        display: flex;
        flex-direction: column;
    }
    
      .collab-eye-open-btn {
        display:none;
    }

    /* Alternance image / texte */
    .collab-single-left  { order: 1; overflow: visible; height: auto; }
    .collab-single-right { order: 2; overflow: visible; height: auto; border-left: none; border-top: 1px solid #e0e0e0; }

    /* La couleur de fond droite couvre tout l'écran */
    .collab-bg-right {
        position: fixed;
        top: 0;
        left: 0;          /* ← left au lieu de right */
        width: 100%!important;      /* ← 100% au lieu de 50% */
        height: 100%;
        z-index: 0;
        pointer-events: none;
    }
}

/* ============================================
   CURSOR COLLAB NEXT
   ============================================ */
#collabCursorNext {
    position: fixed; pointer-events: none;
    font-family: "Reckless", sans-serif; font-size: var(--fs-caption); color: #000;
    opacity: 0; transition: opacity 0.2s ease; transform: translate(-50%, -50%);
    z-index: 101;
}
#collabCursorNext.is-visible { opacity: 1; }

/* ============================================
   Z-INDEX GLOBAL
   ============================================ */
.header, #masthead { z-index: 99999999 !important; }

.artwork-eye-close-btn,
.artwork-eye-open-btn,
.artwork-cursor-next { z-index: 99999999999 !important; }

.artwork-nav-next { z-index: 100; }

/* ============================================
   COLLAB SINGLE — LAYOUT MOBILE ALTERNÉ
   ============================================ */

/* Desktop : layout mobile caché */
.collab-mobile-layout { display: none; }

@media (max-width: 768px) {

    /* Cacher le layout desktop */
    .collab-single-layout { display: none !important; }

    /* Afficher le layout mobile */
    .collab-mobile-layout {
        display: flex;
        flex-direction: column;
        width: 100%;
        
         padding-top: var(--header-h) !important;
        box-sizing: border-box;
        position: relative;
        z-index: 1;
    }
  
      .collab-mobile-img.collab-img-block--portrait {
        width: 70%;
        margin-left: auto;
        margin-right: 0;
        padding-left: 0;
        padding-right: var(--space-md);
    } 


    /* Bloc image mobile */
    .collab-mobile-img {
        width: 100%;
        padding-left: var(--space-md);
        padding-right: var(--space-md);
        box-sizing: border-box;
        margin-bottom: var(--space-lg);
    }

    /* Bloc texte mobile */
    .collab-mobile-text {
        width: 100%;
        padding-left: var(--space-md);
        padding-right: var(--space-md);
        padding-top: Opx;
        padding-bottom: var(--space-lg);
        box-sizing: border-box;
       
    }

    /* Nav mobile */
    .collab-mobile-nav {
        padding-left: var(--space-md);
        padding-right: var(--space-md);
        padding-bottom: var(--space-lg);
        box-sizing: border-box;
    }

    /* La couleur de fond couvre tout l'écran */
    .collab-bg-right {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 0;
        pointer-events: none;
        opacity: 0.35; /* légère pour ne pas écraser les images */
    }

    /* Images pleine largeur sur mobile */
    .collab-mobile-img .collab-img { width: 100%; height: auto; }
    .collab-mobile-img .collab-portrait-wrap { width: 100%; }
    .collab-mobile-img .collab-img-block--portrait .collab-portrait-wrap { width: 75%; }
    .collab-mobile-img .collab-video-wrap { aspect-ratio: 16/9; }

.collab-mobile-img .collab-duo {
        grid-template-columns: 1fr;
        gap: var(--space-lg);
    }
    .collab-mobile-img .collab-duo-item--offset {
        margin-top: 0;
        justify-content: flex-end;
    }
    .collab-mobile-img .collab-duo-item .collab-portrait-wrap { width: 70%; }


}

/* Variable couleur injectée via PHP inline style sur .collab-single */
/* Dans le PHP, ajouter sur .collab-single : style="--collab-bg: <?= esc_attr($bg_color) ?>" */



@media (max-width: 768px) {
    .gallery-scroll-img-wrap { height: 45vh; }
    .gallery-scroll-wrapper  { padding-right: 15vw; } /* laisse dépasser */

    .statement-slide         { height: 45vh; }
    .journal-single-slide    { height: 45vh; }
    .gallery-scroll-wrapper {
        padding-top: 0;
        padding-bottom: 0;
        display: flex;
        align-items: center;
        min-height: 100vh;
    }
}

@media (max-width: 768px) {
    .collab-bg-right {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 0;
        pointer-events: none;
        opacity: 1; /* ← 1 au lieu de 0.35 */
    }
}

@media (max-width: 768px) {
    .statement-slide {
        position: relative;
    }

    .statement-slide .fs-slide-info {
        position: absolute;
        bottom: var(--space-sm);
        right: var(--space-sm);
        opacity: 1;
        pointer-events: all;
    }

    .statement-slide .fs-slide-caption {
        opacity: 1;
        transform: translateX(0);
    }

    .statement-slide .fs-slide-icon {
        display: none; /* cache le i, la légende est directement visible */
    }
}