/* Media page grid – extends assets/css/style.css */
.media-section .section-head p{color:var(--muted)}
.media-grid{display:grid;gap:clamp(1.2rem,2.5vw,2rem);grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));align-items:start}
.media-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .25s,transform .25s}
.media-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.media-frame{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,var(--teal-950),var(--teal-700));overflow:hidden}
.media-frame>img,.media-frame>video,.media-frame>iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0;display:block}
.media-frame>video{object-fit:contain;background:#000}
.media-play{position:absolute;inset:0;border:0;padding:0;background:transparent;cursor:pointer;display:grid;place-items:center}
.media-play img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.media-play:hover img{transform:scale(1.04)}
.media-play .pbtn{position:relative;width:68px;height:68px;border-radius:50%;background:rgba(251,248,243,.92);color:var(--teal-700);display:grid;place-items:center;box-shadow:0 8px 24px -6px rgba(0,0,0,.45);transition:transform .2s,background .2s}
.media-play:hover .pbtn,.media-play:focus-visible .pbtn{transform:scale(1.08);background:#fff}
.pbtn svg{width:28px;height:28px;margin-left:4px}
.media-body{padding:1.15rem 1.3rem 1.4rem;display:flex;flex-direction:column;gap:.35rem}
.media-meta{display:flex;gap:.6rem;align-items:center;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-500)}
.media-meta .dot{width:4px;height:4px;border-radius:50%;background:var(--aqua-300)}
.media-body h3{font-family:var(--serif);font-size:1.55rem;line-height:1.15;color:var(--teal-900);margin:0}
.media-body p{margin:.2rem 0 0;color:var(--muted);white-space:pre-line}
/* audio */
.media-audio .media-frame{aspect-ratio:1/1;max-height:340px;width:100%}
.media-audio .media-frame.no-cover{background:linear-gradient(135deg,var(--plum-700),var(--teal-700));display:grid;place-items:center;color:rgba(255,255,255,.85)}
.no-cover svg{width:64px;height:64px}
.player{display:flex;align-items:center;gap:.8rem;padding:.8rem 1rem;background:var(--aqua-50);border-top:1px solid var(--line)}
.player button{flex:none;width:46px;height:46px;border-radius:50%;border:0;background:var(--teal-700);color:#fff;display:grid;place-items:center;cursor:pointer;transition:background .2s}
.player button:hover{background:var(--plum-700)}
.player button svg{width:20px;height:20px}
.player .track{flex:1;height:8px;border-radius:999px;background:var(--aqua-100);position:relative;cursor:pointer;touch-action:none}
.player .fill{position:absolute;inset:0 auto 0 0;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--teal-500),var(--plum-700))}
.player .knob{position:absolute;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:#fff;border:2px solid var(--plum-700);left:0}
.player time{font-size:.8rem;font-variant-numeric:tabular-nums;color:var(--muted);min-width:5.6em;text-align:right}
/* images */
.media-gallery{display:grid;gap:3px;grid-template-columns:repeat(2,1fr);background:var(--line)}
.media-gallery button{border:0;padding:0;cursor:zoom-in;display:block;aspect-ratio:1/1;overflow:hidden;background:var(--aqua-100)}
.media-gallery button:first-child{grid-column:1/-1;aspect-ratio:16/10}
.media-gallery.single button:first-child{aspect-ratio:4/3}
.media-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.media-gallery button:hover img{transform:scale(1.04)}
.media-gallery .more{position:relative}.media-gallery .more::after{content:attr(data-more);position:absolute;inset:0;display:grid;place-items:center;background:rgba(7,47,54,.55);color:#fff;font:600 1.6rem var(--serif)}
.lightbox{border:0;padding:0;background:transparent;max-width:min(96vw,1200px);max-height:92vh}
.lightbox::backdrop{background:rgba(7,47,54,.9)}
.lightbox img{max-width:100%;max-height:86vh;display:block;margin:auto;border-radius:10px}
.lightbox p{color:#e6f4f2;text-align:center;margin:.6rem 0 0}
.lightbox .lb-close,.lightbox .lb-nav{position:fixed;border:0;background:rgba(251,248,243,.9);color:var(--teal-900);width:46px;height:46px;border-radius:50%;font-size:1.5rem;cursor:pointer}
.lb-close{top:1rem;right:1rem}.lb-prev{left:1rem;top:50%}.lb-next{right:1rem;top:50%}
.media-loading{text-align:center;color:var(--muted)}
