/* Fantastix Ant — galerie éditoriale */
.ant-gallery-preview{padding:clamp(82px,9vw,132px) 5vw;background:#efeae0;color:#132017;border-top:1px solid rgba(19,32,23,.08)}
.ant-gallery-preview .section-head{margin-bottom:34px}
.gallery-preview-grid{display:grid;grid-template-columns:1.14fr 1fr 1fr;gap:14px;align-items:start}
.gallery-preview-card{display:block;color:inherit;text-decoration:none;background:#e5dfd4;border:1px solid rgba(19,32,23,.08);overflow:hidden}
.gallery-preview-card .gallery-preview-media{overflow:hidden;background:#171d18;aspect-ratio:3/2}
.gallery-preview-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.75,.25,1)}
.gallery-preview-card:hover img{transform:scale(1.025)}
.gallery-preview-caption{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;padding:17px 18px 18px;background:#f3eee5}
.gallery-preview-caption small{display:block;margin-bottom:6px;font:700 8px/1.2 "Manrope",sans-serif;letter-spacing:.16em;color:#6c7d5e;text-transform:uppercase}
.gallery-preview-caption b{display:block;font:500 19px/1.15 "Playfair Display",Georgia,serif}
.gallery-preview-caption>span:last-child{font-size:18px;color:#607052;transition:transform .2s ease}
.gallery-preview-card:hover .gallery-preview-caption>span:last-child{transform:translate(3px,-3px)}
.gallery-preview-action{display:flex;justify-content:center;margin-top:30px}
.gallery-preview-action .btn{min-width:220px;justify-content:center}

.gallery-page{background:#eee9df;color:#132017}
.gallery-page main{overflow:hidden}
.gallery-hero{width:min(1260px,90vw);margin:0 auto;padding:clamp(155px,16vw,225px) 0 clamp(58px,7vw,92px);display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:end}
.gallery-hero h1{margin:16px 0 0;font:500 clamp(62px,8.5vw,130px)/.84 "Playfair Display",Georgia,serif;letter-spacing:-.06em}
.gallery-hero h1 em{font-style:italic;font-weight:500}
.gallery-hero-copy{max-width:490px;padding-bottom:10px}
.gallery-hero-copy p{margin:0;color:#657066;font-size:13px;line-height:1.8}
.gallery-hero-note{display:block;margin-top:18px;padding-top:16px;border-top:1px solid #cfc8bc;font-size:9px;line-height:1.6;letter-spacing:.04em;color:#7c837c}
.gallery-toolbar{width:min(1260px,90vw);margin:0 auto 30px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding-top:25px;border-top:1px solid #cbc4b8}
.gallery-filter{border:1px solid #c8c0b3;background:transparent;color:#5d675f;padding:10px 14px;border-radius:999px;font:700 8px/1 "Manrope",sans-serif;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;transition:.2s ease}
.gallery-filter:hover,.gallery-filter.active{background:#152119;border-color:#152119;color:#f2eee6}
.gallery-collection{width:min(1260px,90vw);margin:0 auto;padding-bottom:clamp(90px,10vw,150px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 18px}
.gallery-entry{min-width:0;transition:opacity .25s ease,transform .25s ease}
.gallery-entry.is-hidden{display:none}
.gallery-entry--wide{grid-column:1/-1}
.gallery-photo-button{display:block;width:100%;padding:0;border:0;background:#171d18;cursor:zoom-in;overflow:hidden;text-align:left}
.gallery-photo-button img{display:block;width:100%;height:auto;max-height:78vh;object-fit:contain;background:#171d18;transition:transform .55s cubic-bezier(.2,.75,.25,1)}
.gallery-photo-button:hover img{transform:scale(1.012)}
.gallery-entry--wide .gallery-photo-button img{width:100%;max-height:none}
.gallery-caption{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:15px 2px 0;border-top:1px solid transparent}
.gallery-caption small{font:700 8px/1.25 "Manrope",sans-serif;letter-spacing:.14em;color:#77846a;text-transform:uppercase;padding-top:4px;white-space:nowrap}
.gallery-caption h2{margin:0;font:500 clamp(22px,2.1vw,34px)/1.05 "Playfair Display",Georgia,serif;letter-spacing:-.025em}
.gallery-caption p{grid-column:2;margin:6px 0 0;color:#70786f;font-size:10px;line-height:1.65;max-width:620px}
.gallery-bottom-cta{background:#07110b;color:#f2eee5;padding:clamp(76px,9vw,130px) 5vw;text-align:center}
.gallery-bottom-cta .overline{color:#9cac8c}
.gallery-bottom-cta h2{font:500 clamp(42px,6vw,82px)/.92 "Playfair Display",Georgia,serif;letter-spacing:-.045em;margin:16px auto 30px;max-width:870px}
.gallery-bottom-cta h2 em{font-style:italic;font-weight:500}
.gallery-bottom-cta .btn{margin:auto}
.gallery-dialog{width:min(94vw,1450px);max-width:none;max-height:94vh;border:0;padding:0;background:#08110c;color:#fff;box-shadow:0 30px 120px rgba(0,0,0,.55)}
.gallery-dialog::backdrop{background:rgba(2,6,4,.86);backdrop-filter:blur(5px)}
.gallery-dialog-inner{position:relative;display:flex;align-items:center;justify-content:center;min-height:40vh}
.gallery-dialog img{display:block;max-width:100%;max-height:92vh;width:auto;height:auto}
.gallery-dialog-close{position:absolute;z-index:2;right:12px;top:12px;width:42px;height:42px;border:1px solid rgba(255,255,255,.36);border-radius:50%;background:rgba(4,10,6,.64);color:white;font-size:24px;line-height:1;cursor:pointer}

@media(max-width:980px){
  .gallery-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-preview-card:first-child{grid-column:1/-1}
  .gallery-hero{grid-template-columns:1fr;gap:30px}.gallery-hero-copy{padding-bottom:0}
}
@media(max-width:720px){
  .ant-gallery-preview{padding-left:4vw;padding-right:0}
  .ant-gallery-preview .section-head{padding-right:4vw}
  .gallery-preview-grid{display:flex;overflow-x:auto;gap:10px;padding-right:4vw;padding-bottom:8px;scroll-snap-type:x mandatory;scrollbar-width:none}
  .gallery-preview-grid::-webkit-scrollbar{display:none}
  .gallery-preview-card,.gallery-preview-card:first-child{flex:0 0 min(82vw,390px);scroll-snap-align:start}
  .gallery-preview-caption{padding:14px 15px 15px}.gallery-preview-caption b{font-size:17px}
  .gallery-preview-action{justify-content:flex-start;padding-right:4vw}
  .gallery-hero{width:min(92vw,760px);padding-top:130px}.gallery-hero h1{font-size:clamp(58px,18vw,92px)}
  .gallery-toolbar,.gallery-collection{width:min(92vw,760px)}
  .gallery-collection{grid-template-columns:1fr;gap:30px}.gallery-entry--wide{grid-column:auto}
  .gallery-caption{grid-template-columns:1fr;gap:7px}.gallery-caption p{grid-column:auto;margin-top:0}.gallery-caption small{padding-top:0}
  .gallery-photo-button img{max-height:none}
}
@media(prefers-reduced-motion:reduce){.gallery-preview-card img,.gallery-photo-button img{transition:none}}
