﻿ body.gallery-modal-open{overflow: hidden;touch-action: pinch-zoom;}.gallery-lightbox[inert]{display: none !important;}.gallery-lightbox{touch-action: pan-y pinch-zoom;position: fixed;inset: 0;box-sizing: border-box;background: rgba(0, 0, 0, 0.85);opacity: 0;pointer-events: none;display: flex;flex-direction: column;justify-content: center;align-items: center;padding: 2rem 0;transition: opacity 0.7s ease;z-index: 1000;}.gallery-lightbox.gallery-open{opacity: 1;pointer-events: auto;}.gallery-lightbox.gallery-closing{opacity: 0;pointer-events: none;}.gallery-lightbox img{max-width: 95vw;max-height: 85vh;object-fit: contain;border-radius: 0.8rem;box-shadow: 0 0 3rem rgba(0,0,0,0.5);animation: zoomIn 0.4s ease-out forwards;cursor: pointer;touch-action: pan-y pinch-zoom;}@keyframes zoomIn{from{transform: scale(0.7);opacity: 0;}to{transform: scale(1);opacity: 1;}}.gallery-lightbox-caption{margin-top: 1rem;max-width: calc(100vw - 4rem);color: var(--primary-white);font-size: 1.4rem;text-align: center;line-height: 1.3;word-wrap: break-word;pointer-events: none;}.gallery-arrow{position: absolute;top: 50%;transform: translateY(-50%);font-size: 3rem;color: var(--primary-white);background: transparent;border: none;z-index: 1001;cursor: pointer;border-radius: 50%;transition: background 0.3s ease;margin-top: 2rem;padding: 3rem;min-width: 3rem;min-height: 3rem;display: flex;align-items: center;justify-content: center;}.gallery-arrow:hover{color: var(--gallery-accent);}.gallery-arrow.left{left: 1rem;top: auto;bottom: 2rem;transform: none;}.gallery-arrow.right{right: 1rem;top: auto;bottom: 2rem;transform: none;}@media (min-width: 912px){.gallery-arrow.left{left: 2rem;bottom: 50%;top: 50%;transform: translateY(-50%);}.gallery-arrow.right{right: 2rem;bottom: 50%;top: 50%;transform: translateY(-50%);}}.gallery-close-hint{position: absolute;bottom: 1rem;right: 2rem;font-size: 1.2rem;color: var(--primary-white);opacity: 0.75;user-select: none;pointer-events: none;}.gallery-loader{position: absolute;inset: 0;display: grid;place-items: center;background: rgba(0,0,0,0.08);backdrop-filter: blur(1px);z-index: 3;}.gallery-loader::after{content: "";width: 28px;height: 28px;border-radius: 50%;border: 3px solid rgba(255,255,255,0.6);border-top-color: var(--gallery-accent);animation: spinner .8s linear infinite;}@keyframes spinner{to{transform: rotate(360deg);}}body.gallery-modal-open .scroll-actions{display: none !important;}.image-gallery .gallery-title{font-family: var(--brand-font-3);font-size: 1.8rem;font-weight: 600;color: var(--very-dark-gray);text-align: left;padding: 0.7rem 0;margin: 0 0 2rem 0;border-top: 0.15rem solid var(--silver-base);border-bottom: 0.15rem solid var(--silver-base);width: 100%;border-radius: 0.3rem;font-style: italic;}.image-gallery .gallery-grid{display: flex;flex-wrap: wrap;justify-content: center;gap: 2rem;}.image-gallery .gallery-item{flex: 0 0 auto;}.image-gallery .gallery-item{display: flex;flex-direction: column;width: 20rem;background-color: #fff;border: 0.1rem solid #e5e5e5;border-radius: 0.6rem;box-shadow: 0 0.2rem 0.8rem rgba(0,0,0,0.03);cursor: pointer;overflow: hidden;opacity: 0;transform: translateY(1.2rem);transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease, opacity 0.25s ease;}.image-gallery .gallery-item.gallery-visible{opacity: 1;transform: translateY(0);}.image-gallery .gallery-item:hover{transform: translateY(-4px);border-color: #d7d7d7;box-shadow: 0 10px 24px rgba(0,0,0,0.16), 0 0 0 3px rgba(0,0,0,0.03);}.image-gallery .gallery-thumb{display: block;width: 100%;aspect-ratio: 1 / 1;object-fit: cover;object-position: center;background: #fff;box-shadow: inset 0 0 0 1px rgba(0,0,0,0.06), 0 0.2rem 1rem rgba(0,0,0,0.08);transition: transform 0.35s ease, filter 0.25s ease, box-shadow 0.25s ease;cursor: pointer;}.image-gallery .gallery-item:hover .gallery-thumb{transform: scale(1.02);filter: saturate(1.03) contrast(1.02);}.image-gallery .gallery-caption{background-color: #626262;color: #fff;padding: 1rem 1.2rem;font-size: 1.1rem;font-family: var(--body-font);text-align: center;border-radius: 0 0 0.6rem 0.6rem;height: 4rem;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;}.image-gallery .gallery-item:hover .gallery-caption{opacity: 1;transform: translateY(0);}.image-gallery .gallery-item:focus-visible, .image-gallery .gallery-item:active{outline: none;box-shadow: 0 10px 24px rgba(0,0,0,0.16), 0 0 0 2px var(--gallery-accent);}.carousel-gallery{margin: 1rem auto 4rem auto;max-width: var(--site-content-max-width);padding: 2.4rem;position: relative;background-color: #fff;border: 0.1rem solid #ddd;border-radius: 0.6rem;box-shadow: 0 0.2rem 1.2rem rgba(0,0,0,0.05);overflow: hidden;}.carousel-gallery .gallery-header{display: block;margin-bottom: 2rem;padding: 0;}.carousel-gallery .gallery-title{font-family: var(--brand-font-3);font-size: 1.8rem;font-weight: 600;color: var(--very-dark-gray);text-align: left;padding: 0.7rem 0;margin: 0 0 2rem 0;border-top: 0.15rem solid var(--silver-base);border-bottom: 0.15rem solid var(--silver-base);width: 100%;border-radius: 0.3rem;font-style: italic;}.carousel-gallery .carousel-track{display: flex;gap: 2rem;overflow-x: auto;padding: 0 0 1.2rem 0;-webkit-overflow-scrolling: touch;scroll-snap-type: none;scroll-bheavior: auto;}.carousel-gallery .carousel-track::-webkit-scrollbar{display: none;}.carousel-gallery .gallery-card{--cap-h: 4rem;flex: 0 0 auto;width: 20rem;display: flex;flex-direction: column;align-items: stretch;background-color: #fff;border: 0.1rem solid #e5e5e5;border-radius: 0.6rem;box-shadow: 0 0.2rem 0.8rem rgba(0,0,0,0.03);position: relative;overflow: hidden;transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;}.carousel-gallery .gallery-carousel-thumb{display: block;width: 100%;aspect-ratio: 1 / 1;object-fit: cover;object-position: center;background: #fff;border-radius: 0.6rem 0.6rem 0 0;box-shadow: inset 0 0 0 1px rgba(0,0,0,0.06), 0 0.2rem 1rem rgba(0,0,0,0.08);transition: transform .35s ease, filter .25s ease, box-shadow .25s ease;cursor: pointer;}.carousel-gallery .gallery-card:hover .gallery-carousel-thumb{transform: scale(1.02);filter: saturate(1.03) contrast(1.02);}.carousel-gallery .carousel-caption{grid-row: 2;position: static;background-color: #626262;color: #fff;padding: 1rem 1.2rem;height: var(--cap-h);min-height: 0;font: 500;font-size: 1.1rem !important;font-family: var(--body-font);text-align: center;border-radius: 0 0 0.6rem 0.6rem;opacity: 1;transform: none;transition: none;pointer-events: none;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;}.carousel-gallery .carousel-scrollbar{display: flex;justify-content: center;padding: 1.6rem 0 0;}.carousel-gallery .carousel-slider{-webkit-appearance: none;appearance: none;width: 60%;height: 6px;border-radius: 3px;background: rgba(0,0,0,0.15);outline: none;cursor: pointer;transition: background .3s ease;}.carousel-gallery .carousel-slider::-webkit-slider-thumb{-webkit-appearance: none;appearance: none;width: 18px;height: 18px;border-radius: 50%;background: #fff;cursor: pointer;box-shadow: 0 0 0.8rem var(--gallery-accent);transition: box-shadow .3s ease, background .3s ease;}.carousel-gallery .carousel-slider:hover::-webkit-slider-thumb{background: #fff;box-shadow: 0 0 1.2rem var(--primary-color);}.carousel-gallery .carousel-slider::-moz-range-thumb{width: 18px;height: 18px;border-radius: 50%;background: #fff;cursor: pointer;box-shadow: 0 0 0.8rem var(--gallery-accent);transition: box-shadow .3s ease, background .3s ease;}.carousel-gallery .carousel-slider:hover::-moz-range-thumb{background: #fff;box-shadow: 0 0 1.2rem var(--primary-color);}.carousel-gallery .carousel-track.dragging{cursor: grabbing;user-select: none;}.carousel-gallery .arrow-vertical{position: absolute;top: 50%;transform: translateY(-50%);width: 4.4rem;height: 100%;max-height: 24rem;background: transparent;border: none;font-size: 3.2rem;color: var(--gallery-accent);cursor: pointer;z-index: 10;display: flex;align-items: center;justify-content: center;}.carousel-gallery .arrow-vertical.left{left: 0;transform: translate(-1.4rem, -50%);}.carousel-gallery .arrow-vertical.right{right: 0;transform: translate(1.4rem, -50%);}@media (max-width: 480px){.carousel-gallery .arrow-vertical{display: none;}}.carousel-gallery .gallery-card:focus-visible, .carousel-gallery .gallery-card:active{outline: none;box-shadow: 0 10px 24px rgba(0,0,0,0.16), 0 0 0 2px var(--gallery-accent);}@media (prefers-reduced-motion: reduce){.image-gallery .gallery-item, .image-gallery .gallery-thumb, .carousel-gallery .gallery-card, .carousel-gallery .gallery-carousel-thumb{transition: none !important;transform: none !important;}}