/** * Boat Gallery Styles * Styles pour les galeries photos des pages bateaux * Charte graphique:Noir (#1a1a2e) et Orange (#ff6300) */:root{ --gallery-primary:#1a1a2e;--gallery-primary-light:#2d2d44;--gallery-accent:#ff6300;--gallery-accent-light:#ff8533;--gallery-dark:#1a1a2e;--gallery-gray:#6c757d;--gallery-light-gray:#f8f9fa;--gallery-white:#ffffff; --gallery-shadow-sm:0 2px 4px rgba(0,0,0,0.08);--gallery-shadow-md:0 4px 20px rgba(0,0,0,0.12);--gallery-shadow-lg:0 8px 30px rgba(0,0,0,0.16);--gallery-shadow-xl:0 12px 48px rgba(0,0,0,0.24); --gallery-transition:all 0.3s cubic-bezier(0.4,0,0.2,1);--gallery-transition-fast:all 0.2s cubic-bezier(0.4,0,0.2,1)}.gallery-section{background:linear-gradient(180deg,#f8f9fa 0%,#e9ecef 100%);padding:3rem 0;position:relative}.gallery-section::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--gallery-accent),var(--gallery-accent-light),var(--gallery-accent))}.gallery-loader{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(26,26,46,0.95);backdrop-filter:blur(10px);display:flex;justify-content:center;align-items:center;z-index:9999;visibility:hidden;opacity:0;transition:var(--gallery-transition)}.gallery-loader.active{visibility:visible;opacity:1}.gallery-loader .spinner-border{width:3rem;height:3rem;border-width:0.3rem;color:var(--gallery-accent)}.gallery-container{padding:2rem 0;position:relative}.gallery-header{text-align:center;margin-bottom:2.5rem;position:relative;z-index:1}.gallery-main-title{font-size:2rem;font-weight:700;color:var(--gallery-dark);margin-bottom:0.5rem;position:relative;display:block}.gallery-main-title::after{content:'';display:block;width:80px;height:4px;background:linear-gradient(90deg,var(--gallery-accent),var(--gallery-accent-light));margin:15px auto 0;border-radius:2px}.gallery-main-description{font-size:1rem;color:var(--gallery-gray);max-width:600px;margin:1rem auto;line-height:1.6}.gallery-stats{display:inline-flex;align-items:center;gap:0.5rem;padding:0.75rem 1.5rem;background:linear-gradient(135deg,var(--gallery-primary) 0%,var(--gallery-primary-light) 100%);border-radius:50px;box-shadow:var(--gallery-shadow-md);margin-top:1rem;font-weight:600;color:var(--gallery-white);margin-left:auto;margin-right:auto}.gallery-stats i{font-size:1.25rem;color:var(--gallery-accent)}.gallery-categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem;position:relative;z-index:1}.gallery-category-card{background:var(--gallery-white);border-radius:16px;overflow:hidden;transition:var(--gallery-transition);cursor:pointer;box-shadow:var(--gallery-shadow-sm);position:relative;animation:fadeInUp 0.5s ease forwards;opacity:0;border:1px solid #e9ecef}.gallery-category-card:nth-child(1){animation-delay:0.1s}.gallery-category-card:nth-child(2){animation-delay:0.15s}.gallery-category-card:nth-child(3){animation-delay:0.2s}.gallery-category-card:nth-child(4){animation-delay:0.25s}.gallery-category-card:nth-child(5){animation-delay:0.3s}.gallery-category-card:nth-child(6){animation-delay:0.35s}.gallery-category-card:nth-child(7){animation-delay:0.4s}.gallery-category-card:nth-child(8){animation-delay:0.45s}.gallery-category-card:nth-child(9){animation-delay:0.5s}.gallery-category-card:nth-child(10){animation-delay:0.55s}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.gallery-category-card:hover{transform:translateY(-6px);box-shadow:var(--gallery-shadow-lg);border-color:var(--gallery-accent)}.gallery-card-image-wrapper{position:relative;height:200px;overflow:hidden;background:linear-gradient(135deg,var(--gallery-primary) 0%,var(--gallery-primary-light) 100%)}.gallery-card-image{width:100%;height:100%;object-fit:cover;transition:var(--gallery-transition)}.gallery-category-card:hover .gallery-card-image{transform:scale(1.08);filter:brightness(1.05)}.gallery-card-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(180deg,transparent 0%,rgba(26,26,46,0.95) 100%);color:var(--gallery-white);padding:3rem 1rem 1rem;transform:translateY(100%);transition:var(--gallery-transition)}.gallery-category-card:hover .gallery-card-overlay{transform:translateY(0)}.gallery-overlay-title{font-size:1rem;font-weight:600;margin-bottom:0.25rem;color:var(--gallery-white)}.gallery-overlay-count{display:flex;align-items:center;gap:0.5rem;font-size:0.85rem;color:var(--gallery-accent)}.gallery-overlay-count i{color:var(--gallery-accent)}.gallery-card-body{padding:1rem;background:var(--gallery-white)}.gallery-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0}.gallery-card-title{font-size:1rem;font-weight:600;color:var(--gallery-dark);margin:0;flex:1}.gallery-card-badge{background:linear-gradient(135deg,var(--gallery-accent) 0%,var(--gallery-accent-light) 100%);color:var(--gallery-white);padding:0.25rem 0.75rem;border-radius:20px;font-size:0.8rem;font-weight:700;white-space:nowrap;min-width:32px;text-align:center}.gallery-card-description{color:var(--gallery-gray);font-size:0.85rem;line-height:1.5;margin:0.5rem 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}#galleryModal .modal-dialog{max-width:95vw}#galleryModal .modal-content{border-radius:16px;border:none;background:var(--gallery-white);box-shadow:var(--gallery-shadow-xl);overflow:hidden}#galleryModal .modal-header{background:linear-gradient(135deg,var(--gallery-primary) 0%,var(--gallery-primary-light) 100%);color:var(--gallery-white);padding:1rem 1.5rem;border:none;border-bottom:3px solid var(--gallery-accent)}#galleryModal .modal-title{font-weight:700;font-size:1.25rem}#galleryModal .btn-close{filter:brightness(0) invert(1);opacity:0.8;transition:var(--gallery-transition-fast)}#galleryModal .btn-close:hover{opacity:1;transform:rotate(90deg)}#galleryModal .modal-body{padding:1.5rem;background:var(--gallery-light-gray)}#galleryCarousel{background:var(--gallery-primary);border-radius:12px;overflow:hidden;box-shadow:var(--gallery-shadow-md)}#galleryCarousel .carousel-inner{border-radius:12px;background:var(--gallery-primary)}#galleryCarousel .carousel-item{transition:transform 0.6s ease-in-out}#galleryCarousel img{max-height:70vh;width:100%;object-fit:contain;background:var(--gallery-primary)}#galleryCarousel .ratio{max-height:70vh;background:var(--gallery-primary);border-radius:12px}#galleryCarousel .carousel-control-prev,#galleryCarousel .carousel-control-next{width:50px;height:50px;background:var(--gallery-accent);border-radius:50%;top:50%;transform:translateY(-50%);opacity:0.9;transition:var(--gallery-transition-fast)}#galleryCarousel .carousel-control-prev:hover,#galleryCarousel .carousel-control-next:hover{opacity:1;background:var(--gallery-accent-light);transform:translateY(-50%) scale(1.1)}#galleryCarousel .carousel-control-prev{left:20px}#galleryCarousel .carousel-control-next{right:20px}#galleryCarousel .carousel-control-prev-icon,#galleryCarousel .carousel-control-next-icon{width:20px;height:20px}#photoInfo{background:var(--gallery-white);padding:1rem;border-radius:12px;margin-top:1rem;box-shadow:var(--gallery-shadow-sm);border-left:4px solid var(--gallery-accent)}#photoTitle{color:var(--gallery-dark);font-size:1.1rem;font-weight:700;margin-bottom:0.5rem}#photoDescription{color:var(--gallery-gray);font-size:0.9rem;line-height:1.6;margin:0}#thumbnailsContainer{background:var(--gallery-white);padding:0.75rem;border-radius:12px;box-shadow:var(--gallery-shadow-sm);scrollbar-width:thin;scrollbar-color:var(--gallery-accent) var(--gallery-light-gray)}#thumbnailsContainer::-webkit-scrollbar{height:8px}#thumbnailsContainer::-webkit-scrollbar-track{background:var(--gallery-light-gray);border-radius:4px}#thumbnailsContainer::-webkit-scrollbar-thumb{background:var(--gallery-accent);border-radius:4px}#thumbnailsContainer::-webkit-scrollbar-thumb:hover{background:var(--gallery-accent-light)}.gallery-thumbnail{width:100px;height:75px;object-fit:cover;cursor:pointer;border:3px solid transparent;border-radius:8px;transition:var(--gallery-transition-fast);flex-shrink:0}.gallery-thumbnail:hover{transform:scale(1.05);border-color:var(--gallery-accent-light);box-shadow:var(--gallery-shadow-md)}.gallery-thumbnail.active{border-color:var(--gallery-accent);box-shadow:0 0 0 3px rgba(255,99,0,0.3);transform:scale(1.08)}@media (max-width:1200px){.gallery-categories-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}@media (max-width:768px){.gallery-section{padding:2rem 0}.gallery-main-title{font-size:1.5rem}.gallery-main-description{font-size:0.95rem}.gallery-categories-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.gallery-card-image-wrapper{height:140px}.gallery-card-body{padding:0.75rem}.gallery-card-title{font-size:0.9rem}.gallery-card-badge{font-size:0.75rem;padding:0.2rem 0.5rem}#galleryCarousel img{max-height:50vh}#galleryCarousel .carousel-control-prev,#galleryCarousel .carousel-control-next{width:40px;height:40px}#galleryCarousel .carousel-control-prev{left:10px}#galleryCarousel .carousel-control-next{right:10px}.gallery-thumbnail{width:70px;height:55px}#galleryModal .modal-body{padding:1rem}}@media (max-width:576px){.gallery-main-title{font-size:1.25rem}.gallery-categories-grid{grid-template-columns:repeat(2,1fr);gap:0.75rem;padding:0}.gallery-card-image-wrapper{height:120px}.gallery-card-title{font-size:0.85rem}.gallery-stats{font-size:0.85rem;padding:0.5rem 1rem}#galleryModal .modal-header{padding:0.75rem 1rem}#galleryModal .modal-title{font-size:1rem}}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,99,0,0.4)}70%{box-shadow:0 0 0 15px rgba(255,99,0,0)}100%{box-shadow:0 0 0 0 rgba(255,99,0,0)}}.gallery-category-card:hover .gallery-card-badge{animation:pulse 1.5s infinite}.gallery-category-card[data-empty="true"]{opacity:0.6}.gallery-category-card[data-empty="true"] .gallery-card-badge{background:var(--gallery-gray)}.gallery-category-card[data-empty="true"]:hover{transform:none;cursor:default}.gallery-category-card:focus-visible,.gallery-thumbnail:focus-visible{outline:3px solid var(--gallery-accent);outline-offset:2px}.btn-close:focus-visible{box-shadow:0 0 0 0.25rem rgba(255,255,255,0.5)}@media print{.gallery-section{background:none}.gallery-category-card{break-inside:avoid;box-shadow:none;border:1px solid #ddd}#galleryModal{display:none}}