/* B*Witched detail-page additions; base presentation comes from ../films.css */
.detail-heading { text-align:center; padding:.2rem .5rem .8rem; border-bottom:3px double var(--rule); }
.detail-heading h2 { margin:.15rem 0; color:var(--green-dark); font-size:clamp(1.45rem,3.5vw,2.15rem); }
.production-type { margin:0; color:var(--red); font:700 .78rem/1.2 Arial,Helvetica,sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.production-meta { margin:.35rem 0 0; color:#665e50; }
.story-copy { max-width:880px; margin:1rem auto 0; font-size:1rem; }
.story-copy p { margin:.85rem 0; }
.photo-section { overflow:visible; }
.featured-grid, .gallery-grid { display:grid; gap:1rem; padding:1rem; }
.featured-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.gallery-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.photo-card, .gallery-card { margin:0; background:#f7f0df; border:1px solid var(--rule); box-shadow:0 2px 7px var(--shadow); }
.photo-card a, .gallery-card a { display:block; background:#e5dac3; }
.photo-card img, .gallery-card img { display:block; width:100%; object-fit:cover; }
.photo-card img { aspect-ratio:4/3; }
.gallery-card img { aspect-ratio:4/3; }
.photo-card figcaption, .gallery-card figcaption { padding:.5rem .55rem; text-align:center; color:var(--ink); font-size:.88rem; }
.photo-card figcaption { font-weight:700; }
@media (max-width:850px) { .featured-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:600px) { .featured-grid, .gallery-grid { grid-template-columns:1fr; } .photo-card, .gallery-card { max-width:480px; width:100%; margin:auto; } }
@media print { .photo-card, .gallery-card { box-shadow:none; break-inside:avoid; } }
