/* СПОРТ-ТУР.РФ — carefully curated Maykop event photo system.
   Opt-in by CMS publication; no new theme colors or fake photo overlays. */
.story-feature[hidden],.direction-card-visual[hidden],.gallery-featured-album[hidden]{display:none!important}
.story-feature{display:block;margin:26px 0 32px;overflow:hidden;position:relative}
.story-feature picture,.direction-card-visual picture,.gallery-featured-album picture,.gallery-item picture,.project-case picture{display:block;width:100%;height:100%;overflow:hidden}
.story-feature img,.direction-card-visual img,.gallery-featured-album img,.gallery-item picture img,.project-case picture img{display:block;width:100%;height:100%;object-fit:cover}
.story-feature-primary{border-radius:16px;background:#eef1ec}
.story-feature-primary picture{height:clamp(255px,34vw,510px)}
.story-feature-primary img{object-position:center 44%}
.story-feature figcaption{font-family:Onest,system-ui,sans-serif;font-size:12px;color:#505e53;line-height:1.55;background:#f3f6f1;padding:10px 17px}
.story-feature-secondary{width:min(56%,670px);margin:12px 0 44px auto;background:#f6f7f2;border-radius:16px}
.story-feature-secondary picture{aspect-ratio: 4/3;max-height:390px}
.story-feature-secondary img{object-position:center 36%}
.direction-card-competition{position:relative;overflow:hidden;padding-bottom:152px!important}
.direction-card-visual{display:block;position:absolute;bottom:0;left:0;right:0;height:138px;overflow:hidden;background:#f1f2ee}
.direction-card-visual img{object-position:center 50%;transition:transform .25s ease}
.direction-card-competition:hover .direction-card-visual img{transform:scale(1.025)}
.gallery-featured-album{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;background:#f4f6ef;border:1px solid #e2e8dd;border-radius:18px;overflow:hidden;min-height:280px;margin-bottom:25px}
.album-cover{height:100%;min-height:280px;max-height:380px;background:#e9ece7;overflow:hidden}
.album-cover img{object-position:center 40%}
.album-info{padding:clamp(20px,4vw,45px);display:flex;flex-direction:column;align-items:start;gap:14px}
.album-info h2{font-size:clamp(25px,3vw,42px);line-height:1.08;letter-spacing:-.05em;max-width:14ch;margin:0}
.album-info p{font-size:14px;line-height:1.5;color:#59645e;margin:0}
.album-info button{cursor:pointer;margin-top:10px}
.gallery-item picture{height:100%;aspect-ratio: 3/2}
.gallery-item picture img{transition:transform .25s ease}
.gallery-item:hover picture img{transform:scale(1.02)}
.project-case picture{aspect-ratio:3/2;max-height:360px}
.project-case picture img{object-position:center}
.gallery-grid,.case-grid{scroll-margin-top:100px}
@media(max-width:768px){
 .story-feature{margin:20px 0 28px}
 .story-feature-primary picture{height:auto;aspect-ratio: 4/5;max-height:520px}
 .story-feature-primary img{object-position:center center}
 .story-feature-secondary{width:min(90%,450px);margin:12px 0 35px auto}
 .story-feature-secondary picture{aspect-ratio:4/5;max-height:480px}
 .direction-card-visual{height:135px}
 .gallery-featured-album{grid-template-columns:1fr;margin-bottom:20px}
 .album-cover{height:auto;min-height:0;aspect-ratio: 3/2}
 .album-info{padding:22px 20px 25px;gap:10px}
 .gallery-item picture{aspect-ratio:4/5}
 .project-case picture{aspect-ratio:4/5;max-height:430px}
}
@media(prefers-reduced-motion:reduce){.direction-card-visual img,.gallery-item picture img{transition:none!important}}

/* Documentary basketball photos, visually subordinate to ZaBeg primary case */
.basketball-editorial[hidden],.basketball-editorial-photo[hidden]{display:none!important}
.basketball-editorial{padding-top:45px;padding-bottom:42px}
.basketball-editorial-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}
.basketball-editorial-heading h2{font-size:clamp(28px,3vw,44px);letter-spacing:-.045em;margin:12px 0 0}
.basketball-editorial-link{font:700 13px Onest,system-ui,sans-serif;white-space:nowrap;border-bottom:1px solid #111;padding-bottom:5px}
.basketball-editorial-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:16px;align-items:stretch}
.basketball-editorial-photo{margin:0;background:#eff1ed;border:1px solid #e6e9e4;overflow:hidden;border-radius:16px;display:flex;flex-direction:column}
.basketball-editorial-photo picture{display:block;overflow:hidden;flex:1;min-height:0}
.basketball-editorial-photo img{width:100%;height:100%;object-fit:cover;display:block}
.basketball-editorial-landscape picture,.basketball-editorial-portrait picture{height:clamp(260px,35vw,430px)}
.basketball-editorial-portrait img{object-position:center 35%}
.basketball-editorial-photo figcaption{font:500 12px/1.6 Onest,system-ui,sans-serif;color:#566258;padding:12px 17px;background:#f4f6f2;min-height:50px}
@media(max-width:720px){
 .basketball-editorial{padding-top:31px;padding-bottom:32px}
 .basketball-editorial-heading{align-items:start;flex-direction:column;gap:12px}
 .basketball-editorial-grid{grid-template-columns:1fr;gap:16px}
 .basketball-editorial-landscape picture,.basketball-editorial-portrait picture{height:auto;aspect-ratio:4/5}
}


/* Editorial typographic treatment for non-sport case pending source photo selection. */
.case-no-photo{background:#f7f8f4;border:1px solid #e5e9e0;overflow:hidden;display:flex;flex-direction:column}
.case-text-top{min-height:138px;background:#f0f3e9;padding:24px 25px;display:flex;flex-direction:column;justify-content:space-between;gap:24px;border-bottom:1px solid #e2e8dc}
.case-text-top span{font:650 11px/1.3 Onest,system-ui,sans-serif;letter-spacing:.115em;color:#53604f}
.case-text-top strong{font:800 clamp(25px,3vw,37px)/1 Onest,system-ui,sans-serif;letter-spacing:-.05em;color:#111}
.case-no-photo .case-content{padding:24px 25px 26px;flex:1}
.case-no-photo .case-content h3{letter-spacing:-.035em;overflow-wrap:anywhere}
.case-no-photo .case-content p{line-height:1.68;color:#3b493e}
.case-source-link{display:inline-block;margin-top:15px;font:700 13px Onest,system-ui,sans-serif;color:#111;text-decoration:underline;text-decoration-color:#99bc46;text-underline-offset:4px}
.case-source-link:focus-visible{outline:3px solid #84b633;outline-offset:4px}
@media(max-width:640px){.case-text-top{min-height:115px;padding:20px}.case-no-photo .case-content{padding:21px}}


/* Documentary non-sport project: deliberately smaller than sporting hero photos. */
.gallery-asa-album[hidden]{display:none!important}
.gallery-asa-album{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);align-items:center;max-width:850px;min-height:176px;background:#f5f7f2;border:1px solid #e4e9de;border-radius:15px;overflow:hidden;margin:0 0 24px}
.asa-album-cover{height:100%;min-height:190px;max-height:235px;overflow:hidden;background:#e8ece6}
.asa-album-cover picture{display:block;height:100%}
.asa-album-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 56%}
.asa-album-copy{padding:22px 25px;display:flex;align-items:flex-start;flex-direction:column;gap:9px}
.asa-album-copy h2{font-size:clamp(21px,2.5vw,30px);line-height:1.16;margin:0;letter-spacing:-.035em}
.asa-album-copy p{margin:0;color:#546056;font-size:13px}
.asa-album-copy .st-btn{margin-top:5px}
.case-asa-family{max-width:610px}
.case-asa-family picture{aspect-ratio:16/10;max-height:380px;overflow:hidden}
.case-asa-family picture img{object-fit:cover;object-position:center 51%}
@media(max-width:640px){
 .gallery-asa-album{grid-template-columns:1fr;max-width:none}
 .asa-album-cover{max-height:none;min-height:0;aspect-ratio:5/4}
 .asa-album-copy{padding:18px 20px 22px}
 .case-asa-family picture{aspect-ratio:5/4;max-height:none}
}
