/* Case content only. Outer page remains single-zg3_portfolio.php. */
.wc-case { --wc-surface:rgba(34,34,34,.04); }
.zg3-prose .wc-case .wc-jump { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:14px; line-height:1.5; text-decoration:none; }
.wc-case .wc-icon { flex-shrink:0; display:block; color:var(--zg3-primary); margin-bottom:20px; }
.wc-case .bento-date-grid { margin:28px 0 0; }
.wc-case .bento-date-card, .wc-case .production-card, .wc-case .programme-card { border:0; background:var(--wc-surface); }
.wc-case .bento-date-card { min-height:158px; padding:22px; }
.wc-case .bento-date-card__value { font-size:clamp(19px,2vw,25px); line-height:1.2; letter-spacing:-.04em; }
.wc-case .bento-date-card__sub { font-size:13px; }
.wc-case .production-grid, .wc-case .wc-day-grid, .wc-case .wc-care-grid, .wc-case .wc-style-grid { display:grid; gap:12px; }
.wc-case .production-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin:26px 0; }
.wc-case .wc-day-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.wc-case .wc-care-grid { grid-template-columns:1fr 1fr; }
.zg3-prose .wc-case :is(.production-card__title,.programme-card__title) { margin:0 0 8px; font-size:18px; line-height:1.25; font-weight:700; }
.zg3-prose .wc-case :is(.production-card__sub,.programme-card__desc) { margin:0; font-size:14px; line-height:1.65; }
.wc-case .art-p { max-width:850px; }
.wc-case .wc-gallery { margin:28px 0 36px; min-width:0; }
.wc-case .wc-gallery__top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.zg3-prose .wc-case .wc-gallery__title { margin:0; font-size:14px; font-weight:600; color:var(--zg3-gray); line-height:1.4; }
.wc-case .wc-gallery__controls { display:flex; align-items:center; gap:10px; flex-shrink:0; font-size:12px; font-variant-numeric:tabular-nums; }
.wc-case .wc-gallery__controls button { display:grid; place-items:center; width:38px; height:38px; padding:0; border:0; border-radius:50%; background:var(--zg3-black); color:var(--zg3-white); font-size:20px; cursor:pointer; }
.wc-case .wc-gallery__controls button:disabled { opacity:.2; cursor:default; }
.wc-case .wc-gallery__track { display:flex; gap:14px; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none; -ms-overflow-style:none; }
.wc-case .wc-gallery__track::-webkit-scrollbar { display:none; }
.wc-case .wc-gallery__slide { flex:0 0 calc((100% - 28px)/3); min-width:0; margin:0; scroll-snap-align:start; }
.wc-case .wc-gallery--landscape .wc-gallery__slide { flex-basis:calc((100% - 14px)/2); }
.wc-case .wc-gallery__zoom { position:relative; display:block; width:100%; padding:0; border:0; background:transparent; cursor:zoom-in; overflow:hidden; border-radius:var(--zg3-r-lg); }
.zg3-prose .wc-case .wc-gallery__zoom img { width:100%; height:auto; aspect-ratio:2/3; object-fit:cover; margin:0; border-radius:0; }
.zg3-prose .wc-case .wc-gallery--landscape img { aspect-ratio:4/3; }
.wc-case .wc-gallery__expand { position:absolute; right:12px; bottom:12px; display:grid; place-items:center; width:30px; height:30px; background:rgba(255,255,255,.9); color:#222; border-radius:50%; font-size:18px; pointer-events:none; }
.wc-case .wc-gallery figcaption { margin-top:9px; font-size:12px; line-height:1.45; color:var(--zg3-gray); }
.wc-case .wc-style-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin:24px 0; }
.zg3-prose .wc-case .wc-style { display:flex; flex-direction:column; color:var(--zg3-black); text-decoration:none; }
.wc-case .programme-card__cover { min-height:0; }
.zg3-prose .wc-case .programme-card__cover img { width:100%; height:235px; object-fit:cover; border-radius:0; margin:0; }
.wc-case .programme-card__body { display:flex; flex-direction:column; flex:1; padding:22px; }
.wc-case .wc-style__link { display:flex; justify-content:space-between; align-items:center; gap:10px; padding-top:20px; margin-top:auto; color:var(--zg3-primary); font-size:13px; font-weight:600; line-height:1.4; }
.wc-case .wc-style:hover img { filter:brightness(1.05); }
.zg3-prose .wc-case .wc-format-note { font-size:14px; line-height:1.7; margin:20px 0 0; color:var(--zg3-gray); }
.wc-case a:focus-visible, .wc-case button:focus-visible, .wc-case [tabindex]:focus-visible { outline:2px solid var(--zg3-primary); outline-offset:3px; }
@media(max-width:1000px) { .wc-case .wc-day-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:760px) {
 .wc-case .bento-date-card { padding:18px; min-height:148px; }
 .wc-case .bento-date-card__value { font-size:22px; }
 .wc-case .production-grid, .wc-case .wc-style-grid { grid-template-columns:1fr; }
 .wc-case .wc-care-grid { grid-template-columns:1fr; }
 .wc-case .production-card { padding:20px; }
 .wc-case .wc-details .production-card { display:grid; grid-template-columns:28px 1fr; gap:0 16px; }
 .wc-case .wc-details .wc-icon { grid-row:1/3; margin:0; }
 .wc-case .wc-gallery__slide { flex-basis:82%; }
 .wc-case .wc-gallery--landscape .wc-gallery__slide { flex-basis:88%; }
 .wc-case .wc-gallery__controls { gap:6px; }
 .wc-case .wc-gallery__controls button { width:32px; height:32px; }
 .wc-case .wc-gallery__title { max-width:55%; }
 .wc-case .wc-style-grid { gap:20px; }
 .zg3-prose .wc-case .programme-card__cover img { height:230px; }
 .wc-case .wc-jump { font-size:13px; }
 .wc-case .wc-icon { margin-bottom:14px; }
}

/* Program posters: show their photographic upper area without embedded copy. */
.wc-case .wc-style:nth-child(-n+2) .programme-card__cover { height:235px; overflow:hidden; }
.zg3-prose .wc-case .wc-style:nth-child(-n+2) .programme-card__cover img { height:auto; transform:scale(1.5); transform-origin:top center; }
@media(max-width:760px) { .wc-case .wc-style:nth-child(-n+2) .programme-card__cover { height:230px; } }

/* Space and readable line lengths for this case's standard heading block. */
.postid-22657 .zg3-art-h1 { margin-bottom:24px; }
.postid-22657 .zg3-art-lead { margin:0; text-wrap:pretty; }

/* SVG controls have fixed geometry, independent of font metrics. */
.wc-case .wc-gallery__controls button,
.wc-case .wc-gallery__expand { display:flex; align-items:center; justify-content:center; line-height:0; }
.wc-case .wc-gallery__expand { width:34px; height:34px; }
.wc-case .wc-control-icon { display:block; flex:0 0 18px; width:18px; height:18px; margin:0; }

/* Counter length must not move the previous/next buttons during a swipe. */
.wc-case .wc-gallery__controls { display:grid; grid-template-columns:38px 56px 38px; }
.wc-case [data-wc-count] { display:block; width:56px; text-align:center; white-space:nowrap; }
@media(max-width:767px) {
 .wc-case .wc-gallery__controls { grid-template-columns:32px 48px 32px; gap:6px; }
 .wc-case [data-wc-count] { width:48px; }
 .wc-case .wc-gallery__controls button { width:32px; height:32px; }
 /* Only the image strip reaches the viewport edges; article text stays aligned. */
 .wc-case .wc-gallery__track { margin-inline:calc(-1 * var(--zg3-sp-16)); scroll-padding-left:var(--zg3-sp-16); gap:24px; }
 .wc-case .wc-gallery__slide { flex-basis:82%; }
 .wc-case .wc-gallery--landscape .wc-gallery__slide { flex-basis:88%; }
 .wc-case .wc-gallery__slide:first-child { margin-left:var(--zg3-sp-16); }
 /* The last photo fills the content guides: 16px on both sides, no previous-card sliver. */
 .wc-case .wc-gallery__slide:last-child,
 .wc-case .wc-gallery--landscape .wc-gallery__slide:last-child {
   flex-basis:calc(100% - 2 * var(--zg3-sp-16));
   margin-right:var(--zg3-sp-16);
 }
 .zg3-prose .wc-case .wc-gallery__zoom img { aspect-ratio:var(--wc-photo-ratio, 3 / 4); height:auto; object-fit:contain; }
 .wc-case .wc-gallery figcaption { padding-inline:12px; }
}
