/* Galeriler — ortak stil dosyasına dokunmadan içerik ve görüntüleyiciler */
.media-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.media-card { display:block; min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); }
.media-thumb { position:relative; display:block; overflow:hidden; aspect-ratio:4/3; background:var(--navy); }
.media-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.media-card:hover .media-thumb img { transform:scale(1.035); }
.media-caption { display:block; padding:18px 20px; color:var(--navy); font-family:Georgia,serif; font-size:19px; line-height:1.4; }
.media-card:hover .media-caption { color:var(--burgundy); }
.media-icon { position:absolute; inset:0; display:grid; place-items:center; color:white; background:rgb(0 0 0 / 10%); }
.media-icon svg { width:52px; height:52px; padding:14px; border-radius:50%; background:var(--burgundy); box-shadow:0 4px 20px rgb(0 0 0 / 20%); }
.media-zoom { position:absolute; bottom:12px; right:12px; padding:3px 10px; border-radius:4px; color:white; background:rgb(16 32 44 / 85%); font-size:13px; }
body.gallery-open { overflow:hidden; }
.media-viewer { color:white; border:0; background:var(--navy-dark); padding:0; }
.media-viewer::backdrop { background:rgb(0 0 0 / 90%); }
.photo-viewer { width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; border-radius:0; }
.viewer-shell { height:100%; display:flex; flex-direction:column; }
.viewer-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 24px; }
.viewer-toolbar h2 { margin:0; color:white; font-size:20px; }
.viewer-button { min-width:44px; min-height:44px; border:1px solid #71808b; border-radius:6px; padding:8px 14px; color:white; background:transparent; line-height:1.4; }
.viewer-button:hover { background:var(--burgundy); }
.viewer-stage { position:relative; display:flex; align-items:center; justify-content:center; flex:1; min-height:0; padding:0 76px; }
.viewer-photo { width:100%; height:100%; object-fit:contain; }
.viewer-arrow { position:absolute; top:50%; transform:translateY(-50%); font-size:28px; }
.viewer-arrow[data-prev] { left:16px; }
.viewer-arrow[data-next] { right:16px; }
.viewer-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:18px 24px; }
.viewer-bottom p { margin:0; flex:1 1 200px; }
.viewer-counter { font-size:14px; color:#c8d1d8; white-space:nowrap; }
.video-viewer { width:min(1000px,calc(100% - 32px)); max-height:calc(100dvh - 32px); border-radius:var(--radius); }
.video-stage { background:#000; }
.video-stage video,.video-stage iframe { display:block; width:100%; aspect-ratio:16/9; max-height:70dvh; border:0; object-fit:contain; }
.video-stage [hidden] { display:none; }
.video-status { margin:0; padding:12px 24px; font-size:14px; }
.video-status:empty { display:none; }
@media(max-width:960px) { .media-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:480px) { .media-grid { gap:16px; } .media-caption { padding:14px; font-size:16px; } .viewer-stage { padding:0 48px; } .viewer-arrow[data-prev] { left:4px; } .viewer-arrow[data-next] { right:4px; } .viewer-arrow { padding:4px; min-width:40px; } .viewer-toolbar,.viewer-bottom { padding:12px; } .viewer-toolbar h2 { font-size:17px; } }
@media(prefers-reduced-motion:reduce) { .media-thumb img { transition:none; } }
