.gallery-container{position:relative;width:100%;overflow:hidden;display:flex;align-items:center;background:transparent;border-radius:12px;touch-action:pan-x;-webkit-overflow-scrolling:touch}.gallery-scroll-wrapper{display:flex;transition:transform .4s cubic-bezier(.4,0,.2,1);gap:var(--gallery-spacing, 16px);will-change:transform;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}@media(prefers-reduced-motion:reduce){.gallery-scroll-wrapper{transition:none}}.gallery-image-card{flex-shrink:0;border-radius:8px;overflow:hidden;background-color:var(--light-gray, #f8fafc);position:relative;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}.gallery-image-card:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 25px -5px #00d4ff4d;z-index:2}@media(hover:none){.gallery-image-card:hover{transform:none;box-shadow:none}}.gallery-image-card img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;position:relative;z-index:2;opacity:0;transition:opacity .3s ease-in-out}.gallery-image-card img.loaded{opacity:1}.gallery-image-card:not(.loaded):not(.error):before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;z-index:1}.gallery-image-card.loaded:before{display:none}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.gallery-image-card.error{background-color:#fee2e2;border:2px dashed #fca5a5;display:flex;align-items:center;justify-content:center;color:#991b1b;font-size:14px;text-align:center}.gallery-image-card.error:after{content:"Image failed to load";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:500}.gallery-empty-state{display:flex;align-items:center;justify-content:center;width:100%;height:200px;color:var(--medium-gray, #64748b);font-size:16px;font-weight:500;background-color:var(--light-gray, #f8fafc);border-radius:8px;border:2px dashed #cbd5e1;text-align:center}@media(max-width:640px){.gallery-container{--gallery-spacing: 12px;padding:0 16px}.gallery-image-card{width:calc(83.33vw - 32px);height:calc((83.33vw - 32px)*.75);min-width:280px;min-height:210px}.gallery-empty-state{height:160px;font-size:14px}}@media(min-width:641px)and (max-width:1024px){.gallery-container{--gallery-spacing: 16px;padding:0 24px}.gallery-image-card{width:calc(40vw - 24px);height:calc((40vw - 24px)*.75);min-width:300px;min-height:225px;max-width:400px;max-height:300px}}@media(min-width:1025px){.gallery-container{--gallery-spacing: 20px;padding:0 32px}.gallery-image-card{width:calc(28.57vw - 32px);height:calc((28.57vw - 32px)*.75);min-width:320px;min-height:240px;max-width:450px;max-height:338px}}@media(min-width:1440px){.gallery-container{--gallery-spacing: 24px;padding:0 40px}.gallery-image-card{width:350px;height:263px}}.gallery-container.dragging .gallery-scroll-wrapper{transition:none;cursor:grabbing}.gallery-container.dragging .gallery-image-card{pointer-events:none}.gallery-image-card:focus{outline:2px solid var(--primary-cyan, #00d4ff);outline-offset:2px;box-shadow:0 0 0 4px #00d4ff1a}@media(prefers-contrast:high){.gallery-image-card{border:1px solid #000}.gallery-empty-state{border-color:#000;color:#000}.gallery-image-card.error{border-color:#000;background-color:#fff;color:#000}}.gallery-scroll-wrapper{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}.gallery-image-card{transform:translateZ(0);backface-visibility:hidden}.gallery-container.loading .gallery-scroll-wrapper{opacity:.7}.gallery-container.loading .gallery-image-card{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.gallery-scroll-wrapper.smooth-scroll{scroll-behavior:smooth}.gallery-container::-webkit-scrollbar{height:6px}.gallery-container::-webkit-scrollbar-track{background:#0000001a;border-radius:3px}.gallery-container::-webkit-scrollbar-thumb{background:var(--primary-cyan, #00d4ff);border-radius:3px}.gallery-container::-webkit-scrollbar-thumb:hover{background:var(--secondary-blue, #4fc3f7)}@media print{.gallery-container{display:none}}@media(prefers-color-scheme:dark){.gallery-image-card{background-color:#374151}.gallery-empty-state{background-color:#374151;color:#d1d5db;border-color:#6b7280}.gallery-image-card.error{background-color:#7f1d1d;border-color:#dc2626;color:#fca5a5}}.gallery-container.auto-scrolling .gallery-scroll-wrapper{transition-duration:.6s}.gallery-container.manual-navigation .gallery-scroll-wrapper{transition-duration:.3s}.gallery-container.bounce-effect .gallery-scroll-wrapper{transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)}.gallery-container.performance-mode .gallery-scroll-wrapper,.gallery-container.performance-mode .gallery-image-card{transition:none;animation:none}.gallery-container.performance-mode .gallery-image-card:hover{transform:none;box-shadow:none}.gallery-container.is-dragging{cursor:grabbing}.gallery-container.is-dragging .gallery-scroll-wrapper{transition:none;pointer-events:none}.gallery-container.is-dragging .gallery-image-card{pointer-events:none;-webkit-user-select:none;user-select:none}.gallery-container.is-auto-scrolling .gallery-scroll-wrapper{transition-duration:.8s;transition-timing-function:ease-in-out}.gallery-container.interaction-paused .gallery-scroll-wrapper{transition-duration:.2s}.gallery-image-card.is-loading:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;z-index:1}.gallery-image-card.is-retrying{opacity:.7;animation:pulse 1s ease-in-out infinite}.gallery-image-card.just-loaded{animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.gallery-image-card:focus-visible{outline:2px solid var(--primary-cyan, #00d4ff);outline-offset:2px;box-shadow:0 0 0 4px #00d4ff26;z-index:3}.gallery-skip-link{position:absolute;top:-40px;left:6px;background:var(--primary-navy, #0B1426);color:#fff;padding:8px;text-decoration:none;border-radius:4px;z-index:1000;transition:top .3s}.gallery-skip-link:focus{top:6px}.gallery-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.gallery-image-card.size-small{width:200px!important;height:150px!important}.gallery-image-card.size-medium{width:300px!important;height:225px!important}.gallery-image-card.size-large{width:400px!important;height:300px!important}.gallery-container.performance-mode *{transition:none!important;animation:none!important;transform:none!important;box-shadow:none!important}@media(prefers-contrast:high){.gallery-image-card{border:2px solid #000}.gallery-image-card:focus{outline:3px solid #000;outline-offset:2px}.gallery-empty-state{border:3px solid #000;background-color:#fff;color:#000}}@media print{.gallery-container{display:block!important;overflow:visible!important}.gallery-scroll-wrapper{display:block!important;transform:none!important}.gallery-image-card{display:inline-block!important;page-break-inside:avoid;margin-bottom:1rem}.gallery-image-card:hover{transform:none!important;box-shadow:none!important}}
