/* Modules introduced with the section/CPT admin: contacts, structure, telegram,
   team banner, galleries, persons, NPA, footer socials. Reuses theme tokens. */

/* contacts */
.contacts-block h2{margin:0 0 20px}
.contacts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:24px}
.contact-card h3{margin:0 0 8px;font-size:1rem}
.contact-card__muted{opacity:.7;font-size:.9rem;margin:0 0 6px}
.contact-row{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-bottom:1px solid var(--glass-border,rgba(255,255,255,.08))}
.contact-row:last-child{border-bottom:0}
.contact-row__label{font-size:.8rem;opacity:.7;text-transform:uppercase;letter-spacing:.04em}
.contact-row__value{font-weight:600;text-decoration:none}
.contact-map--wide{margin:0 0 24px;aspect-ratio:16/7;border-radius:var(--radius-lg,16px);overflow:hidden}
.contact-map--wide iframe{width:100%;height:100%;border:0}
.contact-map--image{background-size:cover;background-position:center}

/* structure */
.structure-unit{margin-bottom:40px}
.structure-unit__title{margin:0 0 6px}
.structure-unit__desc{opacity:.75;margin:0 0 16px}

/* telegram */
.telegram-widget{padding:20px;max-width:560px}
.telegram-widget__title{margin:0 0 12px}
.telegram-widget__frame{width:100%;height:420px;border:0;border-radius:12px;background:#fff}

/* team banner */
.team-banner__card.has-image{background-size:cover;background-position:center;position:relative;overflow:hidden}
.team-banner__card.has-image::before{content:"";position:absolute;inset:0;background:rgba(7,22,52,.7)}
.team-banner__copy{position:relative;max-width:620px}
.team-banner__copy .feature-banner-desc{opacity:.9}

/* galleries */
.gallery-grid,.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
.gallery-card{display:block;text-decoration:none;color:inherit;overflow:hidden}
.gallery-card__img{aspect-ratio:4/3;background-size:cover;background-position:center;background-color:rgba(255,255,255,.04)}
.gallery-card__img--empty{background-color:rgba(25,65,166,.12)}
.gallery-card__body{padding:16px}
.gallery-card__date,.gallery-card__meta{font-size:.8rem;opacity:.7}
.gallery-card__title{font-weight:600;margin:4px 0}
.photo-grid__item{display:block;overflow:hidden;aspect-ratio:4/3}
.photo-grid__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.photo-grid__item:hover img{transform:scale(1.03)}
.video-embed{aspect-ratio:16/9;overflow:hidden}
.video-embed iframe{width:100%;height:100%;border:0;display:block}

/* persons */
.persons-group{margin-bottom:40px}
.persons-group__title{margin:0 0 16px}
.team-card--person{text-decoration:none;color:inherit}
.team-card--person .team-card__avatar{overflow:hidden}
.team-card--person .team-card__avatar img{width:100%;height:100%;object-fit:cover;display:block}
.person-profile__grid{display:grid;grid-template-columns:minmax(200px,280px) 1fr;gap:32px;align-items:start}
.person-profile__photo{overflow:hidden;aspect-ratio:3/4;display:flex;align-items:center;justify-content:center}
.person-profile__photo img{width:100%;height:100%;object-fit:cover;display:block}
.person-profile__photo svg{width:40%;opacity:.4}
.person-profile__contacts{margin:0 0 24px}
@media (max-width:720px){.person-profile__grid{grid-template-columns:1fr}.person-profile__photo{max-width:280px}}

/* footer additions */
.footer-socials{display:flex;gap:10px;margin-top:16px}
.footer-social{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--glass-border,rgba(255,255,255,.12));color:inherit;transition:background .2s}
.footer-social:hover{background:rgba(255,255,255,.08)}
.footer-support{font-size:.85rem;opacity:.75;margin-top:8px}
.footer-license{font-size:.8rem;opacity:.65;margin-top:8px}
.site-test-mode{text-align:center;font-size:.85rem;padding:6px 12px;background:rgba(255,213,0,.15);border-bottom:1px solid rgba(255,213,0,.35)}
