.omedica-photo-gallery,.omedica-photo-slides,.omedica-facade {min-width:0;max-width:100%;}
.omedica-photo-gallery figure,.omedica-facade {margin:0;}
.omedica-photo-viewport {aspect-ratio:3/2;overflow:hidden;border-radius:var(--wp--custom--radius--md);background:var(--wp--preset--color--surface,#f7f7f7);}
.omedica-photo-viewport img {display:block;width:100%;height:100%;max-width:100%;object-fit:contain;}
.omedica-photo-slides {display:grid;gap:var(--wp--preset--spacing--space-md);}
.omedica-photo-slides.is-enhanced {touch-action:pan-y pinch-zoom;}
.omedica-photo-slides.is-enhanced > figure {grid-area:1/1;}
.omedica-photo-gallery figcaption,.omedica-facade figcaption {padding-block-start:var(--wp--preset--spacing--space-xs);overflow-wrap:anywhere;}
/* Shared lightbox primitives; inline controls use the same presentation. */
:is(.omedica-photo-gallery,.omedica-facade-strip) {position:relative;}
.omedica-photo-controls {position:absolute;inset:0;z-index:1;display:flex;justify-content:space-between;align-items:center;padding:var(--space-xs);pointer-events:none;box-sizing:border-box;}
.omedica-photo-controls[hidden] {display:none;}
.omedica-photo-controls button {pointer-events:auto;}
.omedica-photo-controls button:hover {border-color:var(--wp--preset--color--action);}
.omedica-photo-controls [role=status] {position:absolute;bottom:var(--space-sm);left:50%;transform:translateX(-50%);padding:var(--space-xs) var(--space-sm);background:var(--wp--preset--color--background);border-radius:var(--wp--custom--radius--pill);color:var(--wp--preset--color--text);}
.omedica-photo-controls button:focus-visible,.omedica-photo-slides:focus-visible {outline:3px solid var(--wp--preset--color--action);outline-offset:4px;}
#doctor-gallery {padding:0;border:0;background:transparent;}
.omedica-contacts-overview:not(:has(.omedica-facade)) {grid-template-columns:1fr;}
/* One responsive collection. Existing contact strip keeps its own geometry. */
.omedica-photo-collection {padding:0;border:0;background:transparent;}
.omedica-photo-collection .omedica-photo-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md);}
.omedica-photo-collection .omedica-photo-grid[data-count="1"] {grid-template-columns:minmax(0,1fr);}
.omedica-photo-collection .omedica-photo-grid[data-count="2"],.omedica-photo-collection .omedica-photo-grid[data-count="4"] {grid-template-columns:repeat(2,minmax(0,1fr));}
.omedica-photo-collection .omedica-photo-grid figure {min-width:0;margin:0;}
.omedica-photo-collection .omedica-photo-grid a {display:block;}
.omedica-photo-collection .omedica-photo-grid a:focus-visible {outline:3px solid var(--wp--preset--color--action);outline-offset:4px;}
.omedica-photo-collection > h2 {overflow-wrap:anywhere;margin-block-end:var(--space-md);}
.omedica-about-story {display:grid;gap:var(--space-xl);}
.omedica-about-story .omedica-about-hero,.omedica-about-story .omedica-director {display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--space-lg);align-items:start;}
.omedica-about-story .omedica-about-hero img {width:100%;height:auto;border-radius:var(--wp--custom--radius--md);}
.omedica-about-story .omedica-director img {width:100%;height:auto;border-radius:var(--wp--custom--radius--md);position:sticky;top:var(--space-lg);}
.omedica-about-story figure {margin:0;}
.omedica-partner-item img {object-fit:contain;width:100%;height:auto;max-height:180px;}
@media(max-width:1023px){.omedica-photo-collection .omedica-photo-grid {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:767px){.omedica-photo-collection .omedica-photo-grid,.omedica-photo-collection .omedica-photo-grid[data-count="2"],.omedica-photo-collection .omedica-photo-grid[data-count="4"] {grid-template-columns:minmax(0,1fr);}.omedica-about-story .omedica-about-hero,.omedica-about-story .omedica-director {grid-template-columns:minmax(0,1fr);}}
/* Ordered modules replace the count-only horizontal slots. No dense packing/DOM reorder. */
.omedica-photo-collection .omedica-photo-grid.omedica-gallery-modules {display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-lg);}
.omedica-gallery-module {display:grid;grid-template-columns:var(--omedica-gallery-columns);gap:var(--space-md);align-items:start;min-width:0;}
.omedica-photo-collection .omedica-gallery-module .omedica-photo-viewport {aspect-ratio:var(--omedica-photo-ratio);background:transparent;}
.omedica-gallery-module.is-portraits {max-width:calc(3 * 25rem);width:100%;justify-self:center;}
.omedica-gallery-module.is-portraits[data-module-count="1"] {max-width:25rem;}
.omedica-gallery-module.is-portraits[data-module-count="2"] {max-width:50rem;}
.omedica-gallery-module:is(.is-portrait-start,.is-portrait-end) {align-items:stretch;grid-template-rows:repeat(2,minmax(0,1fr));}
.omedica-gallery-module.is-portrait-start > :first-child {grid-column:1;grid-row:1 / span 2;}
.omedica-gallery-module.is-portrait-start > :nth-child(2) {grid-column:2;grid-row:1;}
.omedica-gallery-module.is-portrait-start > :nth-child(3) {grid-column:2;grid-row:2;}
.omedica-gallery-module.is-portrait-end > :first-child {grid-column:1;grid-row:1;}
.omedica-gallery-module.is-portrait-end > :nth-child(2) {grid-column:1;grid-row:2;}
.omedica-gallery-module.is-portrait-end > :nth-child(3) {grid-column:2;grid-row:1 / span 2;}
.omedica-gallery-module:is(.is-portrait-start,.is-portrait-end) > figure {display:flex;flex-direction:column;}
.omedica-gallery-module:is(.is-portrait-start,.is-portrait-end) .omedica-photo-viewport {flex:1;min-height:0;}
.omedica-single-direction .omedica-service-hero.has-direction-media {grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:var(--space-lg);}
.omedica-single-direction .omedica-direction-media {min-width:0;}
.omedica-single-direction .omedica-direction-photo {display:block;width:100%;height:auto;aspect-ratio:auto;max-height:38rem;object-fit:contain;border-radius:var(--wp--custom--radius--md);}
@media(max-width:1199px) {
 .omedica-gallery-module {gap:var(--space-sm);}
}
@media(max-width:767px) {
 .omedica-photo-collection .omedica-gallery-module {grid-template-columns:minmax(0,1fr);grid-template-rows:auto;max-width:100%;}
 .omedica-photo-collection .omedica-gallery-module:is(.is-portrait-start,.is-portrait-end) > figure {grid-column:auto;grid-row:auto;display:block;}
 .omedica-gallery-module .is-portrait {width:100%;max-width:25rem;justify-self:center;}
 .omedica-single-direction .omedica-service-hero.has-direction-media {grid-template-columns:minmax(0,1fr);}
 .omedica-single-direction .omedica-direction-photo {max-height:32rem;}
}

/* Gallery pages use the wide content rail rather than the prose measure. */
.entry-content > .omedica-media-page {max-width:var(--wp--style--global--wide-size);width:100%;}

/* Documents share ordered row tracks; landscape sources span two cells.
   Contain preserves every pixel of certificate text within a consistent shell. */
.omedica-photo-collection--documents .omedica-photo-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--content-gap);align-items:stretch;}
.omedica-photo-collection--documents .omedica-photo-tile {display:flex;min-width:0;margin:0;flex-direction:column;}
.omedica-photo-collection--documents .omedica-photo-tile.is-landscape {grid-column:span 2;}
.omedica-photo-collection--documents .omedica-photo-viewport {display:flex;align-items:center;justify-content:center;box-sizing:border-box;aspect-ratio:3/4;width:100%;padding:var(--space-xs);border:1px solid var(--wp--preset--color--border);background:var(--wp--preset--color--background);}
.omedica-photo-collection--documents .is-landscape .omedica-photo-viewport {aspect-ratio:3/2;}
.omedica-photo-collection--documents .omedica-photo-viewport img {display:block;width:100%;height:100%;object-fit:contain;}
@media(max-width:1199px){.omedica-photo-collection--documents .omedica-photo-grid {grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:767px){.omedica-photo-collection--documents .omedica-photo-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm);}}

/* Doctors and directions share natural-ratio rows. Portraits get their own width,
   rather than letterboxing inside a landscape cell; originals remain intact. */
.omedica-gallery-module.is-row {align-items:start;}
.omedica-gallery-module.is-row[data-module-count="1"] {max-width:50rem;width:100%;justify-self:center;}
.omedica-gallery-module.is-row.is-portraits[data-module-count="1"] {max-width:25rem;}


/* Large landscapes and adjacent portrait pairs preserve source order and originals. */
@media(max-width:767px){
 html:not(.special) body .omedica-photo-collection:not(.omedica-photo-collection--documents) .omedica-gallery-module {grid-template-columns:repeat(auto-fit,minmax(min(100%,max(8rem,calc((100% - var(--space-sm)) / 2))),1fr));grid-template-rows:auto;gap:var(--space-sm);width:100%;max-width:none;}
 html:not(.special) body .omedica-photo-collection:not(.omedica-photo-collection--documents) .omedica-gallery-module > figure {grid-column:1/-1;grid-row:auto;width:100%;max-width:none;display:block;}
 html:not(.special) body .omedica-photo-collection:not(.omedica-photo-collection--documents) .omedica-photo-viewport {aspect-ratio:3/2;background:var(--wp--preset--color--surface);}
 html:not(.special) body .omedica-photo-collection:not(.omedica-photo-collection--documents) .omedica-photo-viewport img {object-fit:contain;}
 html:not(.special) body .omedica-photo-collection:not(.omedica-photo-collection--documents) .omedica-gallery-module > :is(.is-portrait:has(+ .is-portrait),.is-portrait + .is-portrait) {grid-column:auto;}
 html:not(.special) body .omedica-photo-collection:not(.omedica-photo-collection--documents) .omedica-gallery-module > :is(.is-portrait:has(+ .is-portrait),.is-portrait + .is-portrait) .omedica-photo-viewport {aspect-ratio:var(--omedica-photo-ratio);background:transparent;}
 html:not(.special) body .omedica-photo-collection:not(.omedica-photo-collection--documents) .omedica-gallery-module:has(> .is-portrait:nth-child(3)) > .is-portrait:last-child {grid-column:1/-1;}


}

/* Every mobile photograph has its source ratio, including lone/odd portraits. */
@media(max-width:767px){
 html:not(.special) body .omedica-photo-collection:not(.omedica-photo-collection--documents) .omedica-gallery-module > .omedica-photo-tile .omedica-photo-viewport {aspect-ratio:var(--omedica-photo-natural-ratio,var(--omedica-photo-ratio));background:transparent;}
 html:not(.special) body .omedica-photo-collection:not(.omedica-photo-collection--documents) .omedica-gallery-module > .omedica-photo-tile.is-portrait {max-width:18rem;justify-self:center;}
 html:not(.special) body .omedica-photo-collection:not(.omedica-photo-collection--documents) .omedica-photo-viewport img {object-fit:contain;}
 html body main figure.wp-block-image.is-natural-portrait:not(.omedica-home-slide figure) {width:fit-content;max-width:100%;margin-inline:auto;}
 html body main figure.wp-block-image.is-natural-portrait:not(.omedica-home-slide figure) > img {width:auto;height:auto;max-width:100%;max-height:70svh;aspect-ratio:auto;object-fit:contain;border-radius:inherit;}
 html body .omedica-direction-media:has(.omedica-direction-photo[data-photo-orientation=portrait]) {max-width:18rem;width:100%;justify-self:center;}
 html body .omedica-direction-photo[data-photo-orientation=portrait] {height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;}
}

/* Opt-in editorial rail. Existing doctor/About collections retain their layout. */
.omedica-editorial-rail {--rail-height:clamp(15rem,26vw,24rem);min-width:0;width:100%;max-width:100%;margin-inline:auto;box-sizing:border-box;}
.omedica-editorial-rail > .omedica-photo-track {display:flex;gap:var(--space-md);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-behavior:smooth;padding:var(--wp--custom--focus--offset,3px);min-width:0;max-width:100%;box-sizing:border-box;align-items:flex-start;}
.omedica-editorial-rail .omedica-photo-tile {flex:0 0 auto;width:calc(var(--rail-height) * var(--rail-ratio,1.5));min-width:0;margin:0;scroll-snap-align:start;}
html body .omedica-editorial-rail .omedica-photo-viewport {display:block;width:100%;height:var(--rail-height);aspect-ratio:auto;background:transparent;}
html body .omedica-editorial-rail .omedica-photo-viewport img {display:block;width:100%;height:100%;object-fit:contain;border-radius:var(--wp--custom--radius--sm);}
.omedica-editorial-rail .omedica-photo-controls {position:static;inset:auto;justify-content:flex-end;gap:var(--space-xs);margin-block-start:var(--space-sm);padding:0;}
.omedica-editorial-rail .omedica-photo-controls[hidden] {display:none;}
/* Expand the gallery only; neighboring reading paragraphs keep their established measure. */
html body .omedica-page-entry .omedica-publication > .omedica-editorial-body:has(.omedica-editorial-rail) {max-width:none;}
html body .omedica-publication .omedica-editorial-body:has(.omedica-editorial-rail) > :not(.omedica-editorial-rail) {max-width:var(--omedica-reading-width,var(--wp--style--global--content-size));margin-inline:auto;}
@media(max-width:767px){.omedica-editorial-rail {--rail-height:14rem;}.omedica-editorial-rail > .omedica-photo-track {gap:var(--space-sm);}}
@media(prefers-reduced-motion:reduce){.omedica-editorial-rail > .omedica-photo-track {scroll-behavior:auto;}}

/* Center a short photo group. Auto margins collapse to zero for an overflowing rail. */
.omedica-editorial-rail .omedica-photo-track > .omedica-photo-tile:first-child {margin-inline-start:auto;}
.omedica-editorial-rail .omedica-photo-track > .omedica-photo-tile:last-child {margin-inline-end:auto;}
