/* Gallery and social additions inherit the existing Efeler design tokens. */
.social-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.site-footer .social-links a{display:inline-flex!important;align-items:center;gap:7px;min-height:42px;padding:8px 10px;border:1px solid #ffffff26;border-radius:10px;font-size:12px!important;color:#e8eaed!important;transition:background .24s,transform .24s}
.social-links a:hover{background:#ffffff0c;transform:translateY(-2px)}
.social-links .icon{width:18px;height:18px}
.mega-menu{grid-template-columns:repeat(2,minmax(0,1fr))}
.license-code{max-width:100%;font-size:clamp(1.3rem,2vw,2rem)}
.hero-class-code{font-size:clamp(1rem,2vw,1.7rem);white-space:nowrap}
.gallery-note{max-width:680px;margin-bottom:30px;font-size:15px}
.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}
.gallery-filters[hidden],.gallery-card[hidden]{display:none!important}
.gallery-filters button{border:1px solid var(--line);background:#fff;color:var(--ink);padding:10px 18px;border-radius:12px;font-size:14px;font-weight:650;cursor:pointer;transition:background .22s,color .22s,border-color .22s}
.gallery-filters button:hover{border-color:var(--red)}
.gallery-filters button[aria-pressed="true"]{background:var(--red);color:#fff;border-color:var(--red)}
.gallery-count{font-size:13px;margin-bottom:20px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.gallery-card{min-width:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}
.gallery-open{display:block;position:relative;overflow:hidden}
.gallery-open img,.gallery-preview-card img{width:100%;height:auto;aspect-ratio:1.45;object-fit:cover;transition:transform .45s}
.gallery-open:hover img,.gallery-preview-card:hover img{transform:scale(1.035)}
.gallery-enlarge{position:absolute;right:15px;bottom:15px;width:36px;height:36px;display:grid;place-items:center;background:#fffffff2;color:var(--ink);border-radius:10px}
.gallery-card figcaption{padding:19px 20px;display:grid;gap:4px}
.gallery-card figcaption>span{font-size:12px;color:var(--red);font-weight:700}
.gallery-card figcaption strong{font-size:16px;font-weight:700}
.gallery-preview-card{display:block;overflow:hidden;border-radius:var(--radius);background:#fff;border:1px solid var(--line)}
.gallery-preview-card>span{display:block;padding:18px 20px;font-size:16px;font-weight:700}
.gallery-modal-open{overflow:hidden}
.gallery-lightbox{width:min(1040px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:50px 16px 16px;border:1px solid #ffffff24;border-radius:18px;background:var(--ink);color:#fff;box-shadow:0 24px 90px #0008}
.gallery-lightbox::backdrop{background:#0d1015d9;backdrop-filter:blur(4px)}
.gallery-lightbox[open]{animation:contact-enter .22s ease-out}
.gallery-lightbox figure{margin:0}
.gallery-lightbox img{display:block;width:100%;height:auto;max-height:calc(100dvh - 170px);object-fit:contain;border-radius:10px}
.gallery-lightbox img[hidden]{display:none}
.gallery-lightbox figcaption{padding:14px 3px 0;font-size:15px}
.gallery-close{position:absolute;right:10px;top:6px;display:grid;place-items:center;width:44px;height:40px;border:0;border-radius:8px;background:transparent;color:#fff;font-size:30px;cursor:pointer}
.gallery-close:hover{background:#ffffff15}
.gallery-open:focus-visible,.gallery-preview-card:focus-visible{outline-offset:-4px}
@media(min-width:1161px){#main-nav{gap:15px}.header-inner{gap:22px}}
@media(max-width:1000px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.gallery-preview{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.gallery-grid,.gallery-preview{grid-template-columns:1fr}.gallery-filters{gap:8px}.gallery-filters button{padding:9px 12px}.gallery-lightbox{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:50px 10px 14px}.mega-menu{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.gallery-lightbox[open]{animation:none}.gallery-open:hover img,.gallery-preview-card:hover img,.social-links a:hover{transform:none}}

/* Preserve the complete framing of supplied classroom and training photos. */
.gallery-card[data-gallery-category] .gallery-open img{object-fit:contain;background:var(--soft)}
