/*
 * GalleryFP Component for Joomla! 5.x / 6.x
 * Version 8.0.47
 * Creation date: Septembre 2026
 * Author: Fabrice4821 - https://creation-web.pro/
 * Author email: contact@creation-web.pro
 * License GNU/GPL
 */
/*
 * GalleryFP Component for Joomla! 5.x / 6.x
 * Version 8.0.47
 * Creation date: Septembre 2026
 * Author: Fabrice4821 - https://creation-web.pro/
 * Author email: contact@creation-web.pro
 * License GNU/GPL
 */
.gfp-gallery-index{display:grid;grid-template-columns:repeat(var(--gfp-gallery-cols,4),minmax(0,1fr));gap:12px}.gfp-gallery-card{display:block;background:#fbf9f4;border-radius:8px;overflow:hidden;color:#292824;text-decoration:none;box-shadow:0 2px 8px rgba(0,0,0,.10)}.gfp-gallery-cover{aspect-ratio:16/7;background:#eee8da;overflow:hidden}.gfp-gallery-cover img{width:100%;height:100%;object-fit:cover}.gfp-gallery-info{display:flex;align-items:center;justify-content:space-between;padding:8px 10px}.gfp-gallery-info strong,.gfp-gallery-info small{display:block}.gfp-gallery-info small{font-size:.75rem;color:#725c45}.gfp-arrow{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#526747;color:#fff}.gfp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.gfp-item{margin:0}.gfp-open{border:0;padding:0;background:none;width:100%;cursor:zoom-in}.gfp-item img{display:block;width:100%;height:auto;border-radius:5px}.gfp-item figcaption{padding:.4rem 0;font-size:.9rem}.gfp-lightbox{width:min(96vw,1400px);height:min(94vh,1000px);border:0;background:#171717;color:#fff;padding:44px 20px 20px}.gfp-lightbox::backdrop{background:rgba(0,0,0,.88)}.gfp-lightbox img{display:block;max-width:100%;max-height:calc(90vh - 90px);margin:auto;object-fit:contain}.gfp-lightbox p{text-align:center}.gfp-close{position:absolute;right:12px;top:8px;border:0;background:none;color:#fff;font-size:2rem}@media(max-width:991px){.gfp-gallery-index,.gfp-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.gfp-gallery-index{grid-template-columns:repeat(2,1fr);gap:8px}.gfp-grid{grid-template-columns:1fr}}/* GalleryFP 7.5.1 display modes */
.gfp-display-classic .gfp-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.gfp-display-archive .gfp-item{background:#fbf9f4;padding:8px;border:1px solid #e4ddcf;box-shadow:0 2px 7px rgba(0,0,0,.08)}
.gfp-display-polaroid .gfp-item{background:#fff;padding:10px 10px 28px;box-shadow:0 3px 12px rgba(0,0,0,.18)}
.gfp-display-polaroid .gfp-item:nth-child(3n+1){transform:rotate(-.7deg)}.gfp-display-polaroid .gfp-item:nth-child(3n+2){transform:rotate(.6deg)}
.gfp-display-masonry .gfp-grid{display:block;columns:4;column-gap:16px}.gfp-display-masonry .gfp-item{break-inside:avoid;margin:0 0 16px}
.gfp-display-bento .gfp-grid{grid-template-columns:repeat(4,1fr);grid-auto-flow:dense}.gfp-display-bento .gfp-item:nth-child(7n+1){grid-column:span 2;grid-row:span 2}.gfp-display-bento .gfp-item:nth-child(7n+4){grid-column:span 2}
.gfp-display-filmstrip .gfp-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:12px}.gfp-display-filmstrip .gfp-item{flex:0 0 min(72vw,520px);scroll-snap-align:start}
.gfp-display-fullscreen .gfp-grid{grid-template-columns:1fr}.gfp-display-fullscreen .gfp-item img{max-height:82vh;object-fit:contain;background:#111}
.gfp-display-slide .gfp-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.gfp-display-slide .gfp-item{flex:0 0 100%;scroll-snap-align:center}.gfp-display-slide .gfp-item img{max-height:75vh;object-fit:contain}
.gfp-display-folio .gfp-item{border-bottom:1px solid #d9d1c2;padding-bottom:12px}.gfp-display-folio figcaption{font-family:serif;font-size:1.05rem}
.gfp-display-miniml .gfp-grid{gap:6px}.gfp-display-miniml figcaption{display:none}.gfp-display-miniml .gfp-item img{border-radius:0}
.gfp-display-azur .gfp-grid{gap:20px}.gfp-display-azur .gfp-item{padding:8px;background:#fff;box-shadow:0 1px 8px rgba(0,0,0,.10)}
.gfp-display-twelve .gfp-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.gfp-display-twelve figcaption{font-size:.75rem}
@media(max-width:991px){.gfp-display-masonry .gfp-grid{columns:2}.gfp-display-twelve .gfp-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.gfp-display-masonry .gfp-grid{columns:1}.gfp-display-bento .gfp-grid{grid-template-columns:repeat(2,1fr)}.gfp-display-twelve .gfp-grid{grid-template-columns:repeat(2,1fr)}}
/* GalleryFP 7.6.0 interactive renderers */
.gfp-filmstrip{max-width:1100px;margin:auto}.gfp-filmstrip-stage{margin:0 0 14px;text-align:center}.gfp-filmstrip-stage .gfp-open{width:auto;max-width:100%}.gfp-filmstrip-stage img{width:auto;max-width:100%;max-height:68vh;object-fit:contain;margin:auto;border-radius:4px}.gfp-filmstrip-stage figcaption{margin-top:.45rem}.gfp-filmstrip-thumbs{display:flex;gap:9px;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:thin}.gfp-filmstrip-thumb{flex:0 0 116px;height:82px;border:2px solid transparent;padding:2px;background:#fff;cursor:pointer;border-radius:5px}.gfp-filmstrip-thumb.is-active{border-color:#526747}.gfp-filmstrip-thumb img{width:100%;height:100%;object-fit:cover;border-radius:2px}
.gfp-slider,.gfp-fullscreen{position:relative;max-width:1200px;margin:auto}.gfp-slider-track{position:relative;min-height:300px}.gfp-slide{display:none;margin:0;text-align:center}.gfp-slide.is-active{display:block}.gfp-slide .gfp-open{width:auto;max-width:100%}.gfp-slide img{width:auto;max-width:100%;max-height:72vh;object-fit:contain;margin:auto}.gfp-slider-prev,.gfp-slider-next{position:absolute;z-index:2;top:45%;width:46px;height:46px;border:0;border-radius:50%;background:rgba(52,75,57,.88);color:#fff;font-size:2rem;line-height:1;cursor:pointer}.gfp-slider-prev{left:10px}.gfp-slider-next{right:10px}.gfp-slider-counter{text-align:center;margin:.5rem}.gfp-fullscreen{max-width:none;background:#111;padding:18px}.gfp-fullscreen .gfp-slide img{max-height:82vh}.gfp-fullscreen figcaption{color:#fff;padding:.6rem}
.gfp-single{max-width:1100px;margin:auto}.gfp-single-main{text-align:center}.gfp-single-main .gfp-open{width:auto}.gfp-single-main img,.gfp-extra-media img{max-width:100%;height:auto;max-height:80vh;object-fit:contain}.gfp-details{display:grid;grid-template-columns:max-content 1fr;gap:.4rem 1rem;margin-top:1.5rem}.gfp-details dt{font-weight:700}.gfp-details dd{margin:0}.gfp-lightbox-prev,.gfp-lightbox-next{position:absolute;top:48%;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:2.5rem;width:48px;height:58px}.gfp-lightbox-prev{left:8px}.gfp-lightbox-next{right:8px}
@media(max-width:600px){.gfp-filmstrip-thumb{flex-basis:88px;height:66px}.gfp-slider-prev,.gfp-slider-next{width:38px;height:38px;font-size:1.6rem}.gfp-details{grid-template-columns:1fr}.gfp-details dd{margin-bottom:.6rem}}

/* GalleryFP 8.0.4 - affichage de l'index des galeries */
.gfp-gallery-index--compact{display:flex;flex-direction:column;gap:8px}
.gfp-gallery-index--compact .gfp-gallery-card{display:block}
.gfp-gallery-index--compact .gfp-gallery-info{min-height:58px;padding:10px 14px}
.gfp-gallery-index--covers .gfp-gallery-card{position:relative}
.gfp-gallery-index--covers .gfp-gallery-cover{position:relative;aspect-ratio:4/3}
.gfp-gallery-index--covers .gfp-gallery-cover-overlay{position:absolute;inset:auto 0 0 0;padding:28px 14px 12px;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff}
.gfp-gallery-index--covers .gfp-gallery-cover-overlay strong,.gfp-gallery-index--covers .gfp-gallery-cover-overlay small{display:block}
.gfp-gallery-index--covers .gfp-gallery-cover-overlay small{opacity:.9;font-size:.8rem}

/* GalleryFP 8.0.5 - sous-catégories */
.gfp-subcategories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0 0 32px}.gfp-subcategories .gfp-gallery-cover{aspect-ratio:4/3}.gfp-subcategories .gfp-gallery-cover img{width:100%;height:100%;object-fit:cover}@media(max-width:991.98px){.gfp-subcategories{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:575.98px){.gfp-subcategories{grid-template-columns:1fr}}
/* GalleryFP 8.0.47: shared single subcategory card */
.gfp-subcategory-card .gfp-gallery-cover{aspect-ratio:4/3}
.gfp-subcategory-card .gfp-gallery-cover img{width:100%;height:100%;object-fit:cover}

/* GalleryFP 8.0.47 - zoom tactile partagé des lightboxes */
.galleryfp-zoom-surface{touch-action:none}
.galleryfp-zoom-image{transform-origin:center center;will-change:transform;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
.galleryfp-zoom-image.is-zoomed{cursor:grab}
.galleryfp-zoom-image.is-zoomed:active{cursor:grabbing}
.galleryfp-zoom-image.is-zoom-animated{transition:transform .18s ease!important}
