:root{--app-height:100vh;--vh:1vh;--safe-area-top:env(safe-area-inset-top);--safe-area-bottom:env(safe-area-inset-bottom);--safe-area-left:env(safe-area-inset-left);--safe-area-right:env(safe-area-inset-right)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes swipeHint{0%,to{opacity:.7;transform:translate(0)}50%{opacity:1;transform:translate(10px)}}.gallery-modal{width:100vw;height:var(--app-height);z-index:9999;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:none;will-change:transform, opacity;background-color:#000000f2;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0;transform:translateZ(0)}.gallery-modal.show{animation:.3s ease-out fadeIn}.gallery-modal.hide{animation:.3s ease-out fadeOut}.gallery-modal *{box-sizing:border-box}.top-ui-bar{top:var(--safe-area-top);left:var(--safe-area-left);right:var(--safe-area-right);height:60px;padding:15px 20px;padding-top:calc(15px + var(--safe-area-top));padding-left:calc(20px + var(--safe-area-left));padding-right:calc(20px + var(--safe-area-right));z-index:100;background:linear-gradient(#000c,#0000);justify-content:space-between;align-items:center;transition:opacity .3s;display:flex;position:absolute}.counters-section{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.card-counter{color:#007bff;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.item-counter{color:#fff;font-size:14px;font-weight:500}.action-buttons{align-items:center;gap:12px;display:flex}.close-button,.zoom-button,.zoom-reset-button{color:#fff;cursor:pointer;-webkit-tap-highlight-color:#fff3;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00000080;border:1px solid #fff3;border-radius:8px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px;font-size:16px;transition:all .2s;display:flex}.close-button{font-size:20px}.zoom-reset-button{min-width:auto;padding:6px 12px;font-size:12px}.close-button:hover,.close-button:active,.zoom-button:hover,.zoom-button:active,.zoom-reset-button:hover,.zoom-reset-button:active{background-color:#fff3;border-color:#fff6}.zoom-button:disabled,.zoom-reset-button:disabled{opacity:.5;cursor:not-allowed}.zoom-level{color:#fff;text-align:center;min-width:40px;font-size:12px;font-weight:500}.nav-arrow{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-tap-highlight-color:#fff3;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;will-change:opacity, background-color;z-index:90;background-color:#000000b3;border:2px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:20px;transition:opacity .3s,background-color .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)translateZ(0)}.nav-arrow:hover{background-color:#000000e6}.nav-arrow.prev{left:20px}.nav-arrow.next{right:20px}.card-nav-arrow{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-tap-highlight-color:#007bff33;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;will-change:opacity, background-color, transform;z-index:95;background-color:#007bffcc;border:2px solid #007bffe6;border-radius:50%;justify-content:center;align-items:center;width:70px;height:70px;font-size:24px;transition:opacity .3s,background-color .2s,transform .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)translateZ(0);box-shadow:0 4px 12px #007bff4d}.card-nav-arrow:hover{background-color:#007bff;transform:translateY(-50%)scale(1.05);box-shadow:0 6px 16px #007bff66}.card-nav-arrow.card-prev{left:15px}.card-nav-arrow.card-next{right:15px}.image-nav-arrow{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-tap-highlight-color:#ffffff1a;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;will-change:opacity, background-color, transform;z-index:50;background-color:#0009;border:1px solid #fff6;border-radius:50%;justify-content:center;align-items:center;width:45px;height:45px;font-size:16px;transition:opacity .3s,background-color .2s,transform .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)translateZ(0);box-shadow:0 2px 8px #0000004d}.image-nav-arrow:hover{background-color:#000c;transform:translateY(-50%)scale(1.1);box-shadow:0 4px 12px #0006}.image-nav-arrow.image-prev{left:15px}.image-nav-arrow.image-next{right:15px}.content-wrapper{width:95vw;max-width:1400px;height:calc(var(--app-height) * .9);z-index:1;justify-content:center;align-items:center;gap:0;display:flex;position:relative}.media-section{flex:1;justify-content:center;align-items:center;min-width:0;height:100%;display:flex;position:relative}.image-container{width:100%;height:100%;max-height:calc(var(--app-height) * .8);will-change:transform;touch-action:manipulation;z-index:2;justify-content:center;align-items:center;transition:transform .3s,opacity .3s;display:flex;position:relative;overflow:hidden;transform:translateZ(0)}.video-container{width:100%;height:100%;max-height:calc(var(--app-height) * .8);will-change:transform;touch-action:manipulation;z-index:2;justify-content:center;align-items:center;transition:transform .3s,opacity .3s;display:flex;transform:translateZ(0)}.loading-spinner{color:#fff;z-index:10;font-size:2rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.spinner{border:4px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.gallery-image{object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:auto;-webkit-touch-callout:none;-webkit-user-drag:none;will-change:transform;border-radius:8px;max-width:100%;max-height:100%;transition:transform .3s;transform:translateZ(0)}.gallery-image.dragging{-o-transition:none;transition:none}.gallery-video{object-fit:contain;border-radius:8px;max-width:100%;max-height:100%;transform:translateZ(0)}.description-overlay{color:#fff;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);text-align:center;z-index:10;background-color:#000000e6;border:1px solid #ffffff1a;border-radius:12px;max-width:80%;padding:16px 24px;font-size:18px;line-height:1.4;transition:opacity .3s;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0000004d}.description-content{flex-direction:column;align-items:center;gap:12px;display:flex;position:relative}.description-text{text-align:center;word-wrap:break-word;width:100%;font-size:18px;line-height:1.5;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s;display:block;overflow:hidden}.description-text div,.description-text div *{color:#fff!important}.media-row{width:90vw;height:calc(var(--app-height) * .9);z-index:1;display:block;position:relative}.description-panel{color:#fff;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);max-height:calc(var(--app-height) * .9);background-color:#000000e6;border:1px solid #ffffff1a;border-radius:12px;padding:12px 20px;font-size:18px;line-height:1.4;transition:opacity .3s;overflow:auto;box-shadow:0 4px 20px #0000004d}.read-more-button{color:#fff;cursor:pointer;-o-transition:all .2s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);-webkit-tap-highlight-color:#ffffff1a;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;will-change:background-color, transform;background:#fff3;border:1px solid #ffffff4d;border-radius:15px;min-width:44px;min-height:32px;padding:4px 12px;font-size:12px;font-weight:500;transition:all .2s;transform:translateZ(0)}.read-more-button:hover,.read-more-button:active{background:#ffffff4d;border-color:#ffffff80;transform:translateZ(0)scale(1.05)}.read-more-button:active{transform:translateZ(0)scale(.98)}.swipe-hint{animation:2s ease-in-out infinite swipeHint}.ui-hidden{opacity:0;pointer-events:none}.ui-visible{opacity:1;pointer-events:auto}@media (max-width:768px){.content-wrapper{width:95vw;height:calc(var(--app-height) * .9);flex-direction:column}.media-section{height:calc(100% - 120px);position:relative}.description-panel{display:none}.description-overlay{bottom:calc(20px + var(--safe-area-bottom));-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#ffffff4d transparent;width:90%;max-width:90%;min-height:60px;max-height:120px;padding:12px 18px;font-size:13px;display:block;overflow-y:auto}.description-overlay::-webkit-scrollbar{width:4px}.description-overlay::-webkit-scrollbar-track{background:0 0}.description-overlay::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}.description-overlay::-webkit-scrollbar-thumb:hover{background:#ffffff80}.description-content{justify-content:flex-start;height:100%}.description-text{text-align:left;flex:1;max-height:none;font-size:16px;line-height:1.4;overflow-y:auto}.nav-arrow{display:none}.image-nav-arrow{width:40px;height:40px;font-size:14px;display:flex}.image-nav-arrow.image-prev{left:10px}.image-nav-arrow.image-next{right:10px}.card-nav-arrow{display:none}.card-counter{font-size:11px}.card-counter:after{content:" • Long swipe to switch";opacity:.7;font-size:10px}.read-more-button{flex-shrink:0;min-height:32px;padding:6px 14px;font-size:12px}.gallery-modal{height:100vh;height:-webkit-fill-available}}@media (max-width:480px){.content-wrapper{width:98vw}.media-section{height:calc(100% - 100px)}.top-ui-bar{padding:8px 12px}.item-counter{font-size:12px}.close-button{min-width:48px;min-height:48px}.description-overlay{width:95%;max-width:95%;min-height:50px;max-height:100px;padding:10px 16px;font-size:12px}.description-content{gap:6px}.description-text{font-size:14px;line-height:1.3}.read-more-button{min-height:28px;padding:4px 10px;font-size:11px}}@media only screen and (device-width:375px) and (device-height:812px) and (-webkit-device-pixel-ratio:3),only screen and (device-width:414px) and (device-height:896px) and (-webkit-device-pixel-ratio:2),only screen and (device-width:414px) and (device-height:896px) and (-webkit-device-pixel-ratio:3),only screen and (device-width:390px) and (device-height:844px) and (-webkit-device-pixel-ratio:3),only screen and (device-width:428px) and (device-height:926px) and (-webkit-device-pixel-ratio:3){.top-ui-bar{height:104px;padding-top:59px}}@media (min-width:769px) and (max-width:1024px){.content-wrapper{flex-direction:row;gap:20px;width:90vw;max-width:1200px}.media-section{flex:1;min-width:0}.description-panel{flex:0 0 300px;max-width:350px;display:block}.description-overlay,.nav-arrow{display:none}.image-nav-arrow{width:40px;height:40px;font-size:14px;display:flex}.image-nav-arrow.image-prev{left:12px}.image-nav-arrow.image-next{right:12px}.card-nav-arrow{width:55px;height:55px;font-size:18px;display:flex}.card-nav-arrow.card-prev{left:10px}.card-nav-arrow.card-next{right:10px}.read-more-button{min-height:40px;padding:8px 16px;font-size:13px}}@media (min-width:1024px) and (max-width:1024px){.content-wrapper{gap:18px;width:88vw}.description-panel{flex:0 0 280px;max-width:320px}.image-nav-arrow{width:42px;height:42px;font-size:15px}.image-nav-arrow.image-prev{left:10px}.image-nav-arrow.image-next{right:10px}.card-nav-arrow{width:58px;height:58px;font-size:19px}.card-nav-arrow.card-prev{left:8px}.card-nav-arrow.card-next{right:8px}}@media (min-width:1025px){.content-wrapper{flex-direction:row;gap:24px;width:85vw;max-width:1400px}.media-section{flex:1;min-width:0}.description-panel{flex:0 0 350px;max-width:420px;display:block}.description-overlay,.nav-arrow{display:none}.image-nav-arrow{width:50px;height:50px;font-size:18px;display:flex}.image-nav-arrow.image-prev{left:15px}.image-nav-arrow.image-next{right:15px}.card-nav-arrow{width:65px;height:65px;font-size:22px;display:flex}.card-nav-arrow.card-prev{left:15px}.card-nav-arrow.card-next{right:15px}.read-more-button{min-height:44px;padding:10px 18px;font-size:14px}}@supports (-webkit-touch-callout:none){.gallery-modal{height:-webkit-fill-available}}
.gallery-horizontal-scroll::-webkit-scrollbar{display:none}.custom-modal-90w{max-width:90vw;margin:1rem auto}.gallery-media-container{background-color:#000;height:60vh;min-height:300px;max-height:600px;overflow:hidden}.custom-gallery-carousel{position:relative}.custom-gallery-carousel .carousel-control-prev,.custom-gallery-carousel .carousel-control-next{opacity:.8;z-index:1000;background-color:#0000;border:2px solid #fffc;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;transition:all .3s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.custom-gallery-carousel .carousel-control-prev{left:15px}.custom-gallery-carousel .carousel-control-next{right:15px}.custom-gallery-carousel .carousel-control-prev:hover,.custom-gallery-carousel .carousel-control-next:hover{opacity:1;background-color:#0000;transform:translateY(-50%)scale(1.1)}.custom-gallery-carousel .carousel-control-prev:focus,.custom-gallery-carousel .carousel-control-next:focus{background-color:#0000}.custom-gallery-carousel .carousel-control-prev-icon,.custom-gallery-carousel .carousel-control-next-icon{filter:invert();background-size:100% 100%;width:20px;height:20px}.custom-gallery-carousel .carousel-indicators{z-index:15;margin-bottom:0;bottom:15px}.custom-gallery-carousel .carousel-indicators [data-bs-target]{opacity:.7;background-color:#ffffff80;border:2px solid #fffc;border-radius:50%;width:12px;height:12px;transition:all .3s}.custom-gallery-carousel .carousel-indicators .active{opacity:1;background-color:#fff;transform:scale(1.2)}.carousel-item-content{position:relative}.gallery-image-background{object-fit:cover;filter:blur(20px);z-index:1;opacity:.3;transform:scale(1.1)}.gallery-image-foreground{object-fit:contain;z-index:2;width:auto;max-width:100%;height:auto;max-height:100%}.gallery-video-container{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%}@media (max-width:768px){.custom-modal-90w{max-width:95vw;margin:.5rem auto}.gallery-media-container{min-height:250px}.custom-gallery-carousel .carousel-control-prev,.custom-gallery-carousel .carousel-control-next{width:40px;height:40px}.custom-gallery-carousel .carousel-control-prev{left:10px}.custom-gallery-carousel .carousel-control-next{right:10px}.custom-gallery-carousel .carousel-control-prev-icon,.custom-gallery-carousel .carousel-control-next-icon{width:16px;height:16px}.custom-gallery-carousel .carousel-indicators{bottom:10px}.custom-gallery-carousel .carousel-indicators [data-bs-target]{width:10px;height:10px}}@media (max-width:576px){.custom-modal-90w{max-width:98vw;margin:.25rem auto}.gallery-media-container{min-height:200px}.custom-gallery-carousel .carousel-control-prev,.custom-gallery-carousel .carousel-control-next{width:35px;height:35px}.custom-gallery-carousel .carousel-control-prev{left:5px}.custom-gallery-carousel .carousel-control-next{right:5px}}@media (max-height:600px){.gallery-media-container,.custom-gallery-carousel .position-relative{height:50vh;min-height:250px}}@media (max-height:500px){.gallery-media-container,.custom-gallery-carousel .position-relative{height:40vh;min-height:200px}}@media (hover:none) and (pointer:coarse){.custom-gallery-carousel .carousel-control-prev,.custom-gallery-carousel .carousel-control-next{opacity:1;background-color:#0000}}.gallery-media-container .btn-danger{box-shadow:0 2px 4px #0003;background-color:#dc3545e6!important;border-color:#dc3545e6!important}.gallery-media-container .btn-danger:hover{transform:scale(1.05);background-color:#dc3545!important;border-color:#dc3545!important}