.training-gallery { box-sizing:border-box; max-width:1200px; margin:0 auto; padding:32px 24px 56px; color:#12364d; }
.training-gallery-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:28px; }
.training-gallery-heading>div:first-child { max-width:760px; }
.training-gallery h2 { font-size:clamp(28px,3vw,40px); line-height:1.15; margin:10px 0 18px; }
.training-gallery-heading p:not(.site-kicker) { font-size:17px; line-height:1.7; margin:0; color:#46657a; }
.training-gallery-controls { display:flex; gap:10px; flex-shrink:0; }
.training-gallery-controls[hidden] { display:none; }
.training-gallery-controls button { width:48px; height:48px; border:1px solid #b8ccd8; border-radius:50%; background:#fff; color:#12364d; font-size:24px; cursor:pointer; }
.training-gallery-controls button:hover { background:#edf6f7; }
.training-gallery-controls button:disabled { opacity:.35; cursor:default; }
.training-gallery-track { display:flex; gap:24px; overflow-x:auto; padding:0 0 16px; scroll-snap-type:x mandatory; scrollbar-color:#1097a7 #e8eff2; }
.training-gallery-card { flex:0 0 calc(33.333% - 16px); min-width:0; margin:0; border:1px solid #d4e0e6; border-radius:12px; overflow:hidden; background:#fff; scroll-snap-align:start; }
.training-gallery-card a { position:relative; display:block; height:420px; overflow:hidden; }
.training-gallery-card img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .25s ease; }
.training-gallery-card a:hover img { transform:scale(1.025); }
.training-gallery-zoom { position:absolute; right:16px; bottom:16px; background:#103448; color:#fff; padding:8px 12px; border-radius:5px; font-size:12px; }
.training-gallery-card figcaption { display:flex; align-items:center; gap:16px; padding:20px; font-size:16px; }
.training-gallery-card figcaption>span { color:#0c8ea0; font-size:12px; }
.training-gallery-hint { margin:12px 0 0; color:#577487; font-size:13px; text-align:left!important; }
.training-gallery :focus-visible { outline:3px solid #1097a7; outline-offset:3px; }
.training-gallery-dialog { box-sizing:border-box; position:fixed; inset:0; margin:auto!important; width:calc(100% - 32px); max-width:1200px; height:calc(100% - 32px); max-height:960px; padding:16px; border:0; border-radius:12px; background:#082538; color:#fff; overflow:hidden; }
.training-gallery-dialog[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; gap:12px; }
.training-gallery-dialog:not([open]) { display:none; }
.training-gallery-dialog::backdrop { background:rgba(3,18,29,.88); }
.training-gallery-dialog-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.training-gallery-dialog-toolbar>span { padding-left:8px; color:#dce9ef; font-size:14px; }
.training-gallery-dialog-toolbar>button { min-height:44px; padding:10px 16px; background:#fff; border:0; border-radius:6px; color:#12364d; cursor:pointer; }
.training-gallery-dialog-stage { position:relative; min-width:0; min-height:0; }
.training-gallery-dialog-stage>img { display:block; width:100%; height:100%; max-width:100%; max-height:100%; margin:0 auto; object-fit:contain; object-position:center; }
.training-gallery-dialog-stage>button { position:absolute; top:50%; transform:translateY(-50%); display:flex; align-items:center; justify-content:center; width:48px; height:56px; border:1px solid #7c9aaa; border-radius:8px; background:rgba(8,37,56,.92); color:#fff; font-size:36px; line-height:1; cursor:pointer; }
.training-gallery-dialog-stage>button:hover { background:#1097a7; }
[data-training-dialog-prev] { left:8px; }
[data-training-dialog-next] { right:8px; }
.training-gallery-dialog>[data-training-caption] { margin:0; text-align:center!important; font-size:15px; line-height:1.4; color:#fff; }
@media(max-width:600px) { .training-gallery-dialog{width:calc(100% - 16px);height:calc(100% - 16px);padding:12px}.training-gallery-dialog-stage>button{width:44px;height:48px}[data-training-dialog-prev]{left:0}[data-training-dialog-next]{right:0} }
@media(max-width:1000px) { .training-gallery-card{flex-basis:calc(50% - 12px)}.training-gallery-card a{height:360px} }
@media(max-width:700px) { .training-gallery{padding:24px 20px 40px}.training-gallery-heading{display:block}.training-gallery-controls{margin-top:20px}.training-gallery-card{flex-basis:86%}.training-gallery-card a{height:360px}.training-gallery-card figcaption{padding:16px; font-size:15px}.training-gallery-track{gap:16px} }
@media(prefers-reduced-motion:reduce){.training-gallery-card img{transition:none}.training-gallery-card a:hover img{transform:none}}
