/* ════════════════════════════════════════════════════════════
   AMAYA SIMON — BLOOMEA — Feuille de style commune à toutes les pages
   Identité : noir & blanc, serif élégant (inspirée de l'affiche)
   ════════════════════════════════════════════════════════════ */

:root{
  --ink:#111111;
  --paper:#f4f3f0;
  --paper-2:#eceae5;
  --muted:#6b6b6b;
  --line:#d8d6d0;
  --max:1100px;
  --sticky-top:96px; /* dégage le menu sticky : marge au-dessus des blocs collants (portrait, affiche) */
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'EB Garamond',Georgia,serif;
  font-size:18px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}

h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:1.05}
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}

/* ─── MENU / EN-TÊTE DU SITE ─── */
.site-header{
  position:sticky;top:0;z-index:30;
  background:rgba(244,243,240,.94);
  -webkit-backdrop-filter:saturate(180%) blur(8px);
  backdrop-filter:saturate(180%) blur(8px);
  border-bottom:1px solid var(--line);
}
.site-header__in{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding-top:15px;padding-bottom:15px;
}
.site-brand{
  font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:1.5rem;letter-spacing:.02em;text-decoration:none;white-space:nowrap;
}
.site-nav{display:flex;flex-wrap:wrap;gap:6px 22px;justify-content:flex-end}
.site-nav a{
  text-decoration:none;text-transform:uppercase;letter-spacing:.18em;
  font-size:.72rem;color:var(--muted);padding:4px 0;
  border-bottom:1px solid transparent;transition:color .2s,border-color .2s;
}
.site-nav a:hover{color:var(--ink)}
.site-nav a.is-active{color:var(--ink);border-bottom-color:var(--ink)}
@media (max-width:640px){
  .site-header__in{flex-direction:column;gap:10px;padding-top:12px;padding-bottom:12px}
  .site-nav{justify-content:center;gap:6px 16px}
}

/* ─── HERO ─── */
.hero{
  min-height:82vh;
  display:grid;
  grid-template-columns:1.05fr 1fr;
  align-items:stretch;
  border-bottom:1px solid var(--line);
}
.hero__text{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:64px 56px;
}
.eyebrow{
  font-family:'EB Garamond',serif;
  letter-spacing:.32em;
  text-transform:uppercase;
  font-size:.72rem;
  color:var(--muted);
  margin-bottom:26px;
}
.hero__title{
  font-style:italic;
  font-size:clamp(3.4rem,9vw,6.4rem);
  letter-spacing:.01em;
}
.hero__sub{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.2rem,3.2vw,1.7rem);
  color:var(--muted);
  margin-top:8px;
  letter-spacing:.02em;
}
.hero__tags{
  margin-top:34px;
  font-size:1.05rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ink);
}
.hero__tags span{opacity:.55;padding:0 .5em}
.hero__cta{margin-top:42px}
.btn{
  display:inline-block;
  border:1px solid var(--ink);
  padding:14px 30px;
  text-decoration:none;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:.78rem;
  transition:background .25s ease,color .25s ease;
  background:transparent;
  color:var(--ink);
  cursor:pointer;
}
.btn:hover{background:var(--ink);color:var(--paper)}
.hero__media{
  position:relative;
  overflow:hidden;
  background:var(--paper-2);
}
.hero-slide{
  position:absolute;inset:0;
  background:center/cover no-repeat;
  filter:grayscale(100%) contrast(1.02);
  opacity:0;
  transition:opacity 1.2s ease;
}
.hero-slide.active{opacity:1}
.hero-dots{
  position:absolute;left:0;right:0;bottom:18px;z-index:2;
  display:flex;gap:9px;justify-content:center;
}
.hero-dots button{
  width:8px;height:8px;padding:0;border:none;border-radius:50%;cursor:pointer;
  background:rgba(255,255,255,.5);transition:background .25s,transform .25s;
}
.hero-dots button.on{background:#fff;transform:scale(1.3)}
.hero-credit{
  position:absolute;right:14px;bottom:14px;z-index:2;
  font-family:'EB Garamond',serif;font-size:.72rem;letter-spacing:.06em;
  color:rgba(255,255,255,.85);text-shadow:0 1px 4px rgba(0,0,0,.55);
}

/* ─── SECTIONS ─── */
section{padding:84px 0}
.section-label{
  letter-spacing:.3em;
  text-transform:uppercase;
  font-size:.72rem;
  color:var(--muted);
  margin-bottom:28px;
}

/* ─── EN-TÊTE DE PAGE (pages intérieures) ─── */
.page-head{padding:64px 0 6px}
.page-head h1{font-size:clamp(2.4rem,6.5vw,3.9rem);font-style:italic}
.page-head .section-label{margin-bottom:16px}
.page-head .lead{color:var(--muted);max-width:640px;margin-top:16px}

/* ─── Lien « en savoir plus » (aperçu accueil) ─── */
.more{margin-top:32px}
.more a{
  display:inline-flex;align-items:center;gap:9px;text-decoration:none;
  text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;
  border-bottom:1px solid var(--ink);padding-bottom:4px;transition:opacity .2s;
}
.more a:hover{opacity:.55}
.expo .more a{border-bottom-color:var(--paper)}

/* En aperçu accueil, ne montrer que les deux premiers paragraphes */
.teaser-text > p:nth-of-type(n+3){display:none}

/* ─── PARCOURS ─── */
.about-section{background:#ffffff}   /* bande claire pour séparer du carrousel */
.about{
  display:grid;
  grid-template-columns:0.9fr 1.1fr;
  gap:56px;
  align-items:start;
}
.about__photo{
  aspect-ratio:4/5;
  background:var(--paper-2) center/cover no-repeat;
  filter:grayscale(100%);
  background-image:url('../images/amaya-portrait.jpg');
  position:sticky;          /* reste visible pendant le défilement du texte */
  top:var(--sticky-top);
}
.about h2{font-size:clamp(2rem,5vw,3rem);margin-bottom:22px}
.about p{margin-bottom:18px;color:#2a2a2a}

/* ─── BLOOMEA (expo) ─── */
.expo{
  background:var(--ink);
  color:var(--paper);
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
}
.expo .section-label{color:#b9b7b1}
.expo__grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:60px;
  align-items:start;
}
.expo h2{
  font-style:italic;
  font-size:clamp(2.6rem,7vw,4.6rem);
}
.expo__sub{font-family:'Cormorant Garamond',serif;font-size:1.35rem;color:#cfcdc7;margin-top:6px}
.expo__statement{margin-top:30px;color:#dcdad4;max-width:48ch;padding-bottom:26px;border-bottom:1px solid rgba(244,243,240,.14)}
.expo__statement p{margin-bottom:14px}
.expo__statement p:last-child{margin-bottom:0}
.expo__desc{margin-top:26px;color:#dcdad4;max-width:48ch}
.expo__desc p{margin-bottom:14px}
.expo__info{
  margin-top:30px;
  display:grid;
  gap:22px;
}
.expo__info dt{
  letter-spacing:.22em;
  text-transform:uppercase;
  font-size:.68rem;
  color:#b9b7b1;
  margin-bottom:4px;
}
.expo__info dd{font-size:1.25rem;font-family:'Cormorant Garamond',serif}
.expo__poster{
  background:#222 center/cover no-repeat;
  aspect-ratio:3/4;
  background-image:url('../images/bloomea-affiche.jpg');
  filter:grayscale(100%);
  position:sticky;          /* reste visible pendant le défilement du texte, désormais plus long */
  top:var(--sticky-top);
}

/* ─── MOMENT CHORÉGRAPHIQUE (page Exposition) ─── */
.chore-gallery{
  margin-top:36px;
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(140px,1fr));
  gap:14px;
  max-width:52ch;
}
.chore-photo{
  aspect-ratio:2/3;
  background:#222 center/cover no-repeat;
  filter:grayscale(100%);
  border:1px solid rgba(244,243,240,.18);
}
.chore-credit{
  margin-top:12px;max-width:52ch;
  font-family:'EB Garamond',serif;font-size:.72rem;letter-spacing:.06em;
  color:#9a9891;text-align:right;
}

/* ─── APERÇU PHOTOS (accueil) ─── */
.photos-teaser-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;
}
.photos-teaser-grid .ph{
  aspect-ratio:4/5;background:var(--paper-2) center/cover no-repeat;border:1px solid var(--line);
}

/* ─── GALERIE PHOTOS (page Photos, par collection) ─── */
.collection{padding:0}
.collection + .collection{margin-top:64px}
.collection__name{font-family:'Cormorant Garamond',serif;font-size:clamp(1.9rem,4.5vw,2.8rem);margin-bottom:4px}
.collection__count{color:var(--muted);font-size:.9rem;letter-spacing:.04em;margin-bottom:26px}
.gallery-grid{column-count:3;column-gap:24px}
@media (max-width:900px){.gallery-grid{column-count:2}}
@media (max-width:560px){.gallery-grid{column-count:1}}
.gallery-item{break-inside:avoid;margin:0 0 24px;display:block}
.gallery-item__frame{position:relative}
.gallery-item__frame.is-zoomable{cursor:zoom-in}
.gallery-item img{width:100%;height:auto;display:block;border:1px solid var(--line);background:var(--paper-2)}
.gallery-item.is-vendu .gallery-item__frame img{filter:grayscale(100%);opacity:.55}
.gallery-item__badge{
  position:absolute;top:10px;left:10px;
  background:var(--ink);color:var(--paper);
  text-transform:uppercase;letter-spacing:.16em;font-size:.66rem;
  padding:6px 11px;
}
.gallery-item__row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-top:10px;
}
.gallery-item__ref{font-family:'Cormorant Garamond',serif;font-size:1.05rem}
.gallery-item__sold{color:var(--muted);font-style:italic;font-size:.85rem;letter-spacing:.02em}
.gallery-item .btn{font-size:.66rem;padding:9px 15px;letter-spacing:.14em}
.gallery-empty{color:var(--muted);font-style:italic;margin-top:20px}
.btn-cart-toggle.is-in-cart{background:var(--ink);color:var(--paper)}
.btn-cart-toggle.is-in-cart:hover{background:transparent;color:var(--ink)}

/* ─── TARIFS (aperçu commande) ─── */
.order h2{font-size:clamp(2rem,5vw,3rem);margin-bottom:14px}
.order .lead{color:var(--muted);max-width:680px;margin-bottom:40px}
.tarifs{max-width:760px;border:1px solid var(--line);padding:26px 28px;margin-bottom:40px}
.tarifs__title{font-family:'Cormorant Garamond',serif;font-size:1.6rem}
.tarifs__sub{color:var(--muted);font-size:.95rem;margin-bottom:18px;font-style:italic}
.tarifs__grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px 26px}
.tarifs__grid li{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:8px}
.tarifs__grid .fmt{font-family:'Cormorant Garamond',serif;font-size:1.2rem}
.tarifs__grid .px{font-weight:500;letter-spacing:.02em}

/* Bouton PayPal (page Photos) */
.btn-paypal{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#fff;border:1px solid var(--ink);text-decoration:none}
.btn-paypal:hover{background:transparent;color:var(--ink)}
.btn-paypal .pp-logo{width:18px;height:18px;fill:currentColor;flex:none;display:block}

.btn-dark{background:var(--ink);color:var(--paper);border:1px solid var(--ink);cursor:pointer}
.btn-dark:hover{background:transparent;color:var(--ink)}

/* ─── PANIER (barre fixe, page Photos) ─── */
.cart-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:40;
  background:var(--ink);color:var(--paper);
  display:flex;flex-direction:column;
  box-shadow:0 -6px 24px rgba(0,0,0,.25);
}
.cart-bar[hidden]{display:none}
.cart-bar__summary{
  padding:16px 28px;
  display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:space-between;
}
.cart-bar__info{min-width:0}
.cart-bar__toggle{
  background:none;border:none;color:var(--paper);cursor:pointer;padding:0;
  font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:500;
  display:flex;align-items:center;gap:8px;
}
.cart-bar__chevron{font-size:.9rem;color:#c9c7c1}
.cart-bar__totals{display:flex;gap:18px;align-items:baseline;font-size:.9rem;color:#c9c7c1;flex-wrap:wrap}
.cart-bar__totals strong{font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--paper);font-weight:500}
.cart-bar__actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.cart-bar .btn-dark{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.cart-bar .btn-dark:hover{background:transparent;color:var(--paper)}

/* Détail du panier : liste dépliable, une ligne par tirage, suppression individuelle */
.cart-bar__detail{
  max-height:42vh;overflow-y:auto;
  border-bottom:1px solid rgba(244,243,240,.18);
  padding:14px 28px;
}
.cart-detail__list{list-style:none}
.cart-detail__item{
  display:flex;align-items:center;gap:14px;
  padding:10px 0;border-bottom:1px solid rgba(244,243,240,.12);
}
.cart-detail__item:last-child{border-bottom:none}
.cart-detail__thumb{width:44px;height:56px;object-fit:cover;border:1px solid rgba(244,243,240,.25);flex:none}
.cart-detail__label{flex:1;min-width:0;font-size:.92rem;display:flex;flex-direction:column;gap:2px}
.cart-detail__sub{font-size:.78rem;color:#c9c7c1}
.cart-detail__remove{
  background:none;border:none;color:#c9c7c1;cursor:pointer;
  font-size:1.5rem;line-height:1;padding:4px 6px;flex:none;
}
.cart-detail__remove:hover{color:var(--paper)}
@media (max-width:700px){
  .cart-bar__summary{padding:14px 18px;justify-content:center;text-align:center}
  .cart-bar__detail{padding:12px 18px}
}

/* ─── LIGHTBOX (agrandissement au clic, page Photos) ─── */
.lightbox{
  position:fixed;inset:0;z-index:80;
  background:rgba(10,10,10,.94);
  display:flex;align-items:center;justify-content:center;
}
.lightbox[hidden]{display:none}
.lightbox__img{max-width:90vw;max-height:88vh;object-fit:contain;box-shadow:0 12px 48px rgba(0,0,0,.5)}
.lightbox__close,.lightbox__prev,.lightbox__next{
  position:absolute;background:none;border:none;color:#fff;cursor:pointer;
  line-height:1;transition:opacity .2s;
}
.lightbox__close:hover,.lightbox__prev:hover,.lightbox__next:hover{opacity:.65}
.lightbox__close{top:18px;right:24px;font-size:2.4rem}
.lightbox__prev,.lightbox__next{top:50%;transform:translateY(-50%);font-size:3rem;padding:0 18px}
.lightbox__prev{left:6px}
.lightbox__next{right:6px}
@media (max-width:600px){
  .lightbox__prev,.lightbox__next{font-size:2.2rem;padding:0 8px}
  .lightbox__close{top:10px;right:14px;font-size:2rem}
}

/* ─── FOOTER ─── */
footer.site-footer{
  border-top:1px solid var(--line);
  padding:46px 0;
  text-align:center;
  color:var(--muted);
  font-size:.9rem;
  letter-spacing:.04em;
}
footer.site-footer .name{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.4rem;color:var(--ink);letter-spacing:.02em}
footer.site-footer nav{margin-top:14px;display:flex;flex-wrap:wrap;gap:6px 20px;justify-content:center}
footer.site-footer nav a{text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem}
footer.site-footer nav a:hover{color:var(--ink)}

/* ─── RESPONSIVE ─── */
@media (max-width:880px){
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero__media{min-height:60vh;order:-1}
  .hero__text{padding:54px 28px}
  .expo__grid{grid-template-columns:1fr;gap:38px}
  .expo__poster{max-width:360px;position:static}
}

/* Parcours : on ne passe en une colonne que sur téléphone, pour garder
   le portrait sticky à droite sur tablette */
@media (max-width:700px){
  .about{grid-template-columns:1fr;gap:30px}
  /* Portrait « sticky compact » : épinglé en haut, hauteur réduite,
     fond opaque + z-index pour que le texte défile proprement dessous. */
  .about__photo{
    order:-1;
    position:sticky;
    top:0;
    z-index:2;
    width:100%;
    max-width:none;
    margin:0;
    aspect-ratio:auto;
    /* Hauteurs en svh (viewport STABLE) pour que la photo ne change pas de
       taille quand la barre d'adresse mobile se masque au défilement.
       Repli en px pour les navigateurs sans support de svh. */
    height:340px;
    height:46svh;
    background-color:#fff;
    background-size:auto 300px;
    background-size:auto 40svh;
    background-position:center top;
    box-shadow:0 6px 16px rgba(0,0,0,.12);
  }
}
