/* Scoped to CAMeC Project Room content only. No global theme overrides. */
.camec-pr-sections{max-width:1140px;margin:clamp(2rem,5vw,5rem) auto 0;padding:0 clamp(1rem,3vw,2rem);color:inherit}
.camec-pr-sections section{margin:0;padding:clamp(2rem,5vw,4rem) 0;border-top:1px solid #d7d7d7}
.camec-pr-sections .camec-pr-eyebrow{text-transform:uppercase;font-size:.75rem;letter-spacing:.07em;font-weight:600;margin:0 0 .75rem}
.camec-pr-sections h2{font-size:clamp(1.75rem,3vw,2.65rem);line-height:1.13;letter-spacing:-.025em;margin:0 0 1rem;font-weight:750}
.camec-pr-sections h3{font-size:1rem;margin:1.2rem 0 .35rem}
.camec-pr-sections p{line-height:1.6}
.camec-pr-artist{background:#f2f2f2;padding-left:clamp(1rem,3vw,2.5rem)!important;padding-right:clamp(1rem,3vw,2.5rem)!important}
.camec-pr-artist-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}
.camec-pr-artist-content{min-width:0;overflow-wrap:anywhere}
.camec-pr-portrait{margin:0;max-width:100%}
.camec-pr-portrait img{display:block;width:100%;height:auto;object-fit:contain}
.camec-pr-sections figcaption{font-size:.8125rem;line-height:1.5;margin-top:.5rem;color:#333}
.camec-pr-years{font-size:.95rem;margin:.3rem 0 1.5rem}
.camec-pr-artist-link{display:inline-flex;gap:.45rem;align-items:center;text-decoration:underline;text-underline-offset:.2em}
.camec-pr-gallery-intro{max-width:60ch;margin-bottom:1.5rem}
.camec-pr-masonry{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px;margin:1.5rem 0 0}
.camec-pr-photo{display:block;flex:0 1 calc(33.333% - 11px);min-width:0;margin:0;box-sizing:border-box}
.camec-pr-photo-link{display:block;position:relative;cursor:zoom-in}
.camec-pr-photo img{width:100%;height:auto;max-width:100%;display:block;object-fit:contain;background:#f5f5f5}
.camec-pr-photo-link:focus-visible,.camec-pr-sections a:focus-visible{outline:3px solid #111;outline-offset:4px}
.camec-pr-credits{font-size:.85rem;margin-top:1rem;color:#333}
.camec-pr-bio-long,.camec-pr-sources,.camec-pr-extra{max-width:75ch}
@media(max-width:767px){.camec-pr-artist-grid{grid-template-columns:1fr}.camec-pr-portrait{max-width:440px}.camec-pr-masonry{gap:12px}.camec-pr-photo{flex-basis:calc(50% - 6px)}}
@media(max-width:540px){.camec-pr-photo{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.camec-pr-sections *{scroll-behavior:auto!important}}
/* Native modal: keyboard focus is contained by showModal; Esc closes it. */
.camec-pr-dialog{border:0;padding:1.25rem;max-width:min(96vw,1100px);max-height:95vh;background:#fff;color:#111;box-shadow:0 1rem 4rem #0007}
.camec-pr-dialog::backdrop{background:rgba(0,0,0,.78)}
.camec-pr-dialog-toolbar{display:flex;justify-content:flex-end;gap:.65rem;margin-bottom:1rem}
.camec-pr-dialog-toolbar button{background:#fff;color:#111;border:2px solid #222;min-width:44px;min-height:44px;cursor:pointer}
.camec-pr-dialog-toolbar button:focus-visible{outline:3px solid #000;outline-offset:3px}
.camec-pr-dialog-figure{margin:0;text-align:center}
.camec-pr-dialog-figure img{display:block;max-width:100%;max-height:72vh;width:auto;height:auto;margin:auto}
.camec-pr-dialog-figure figcaption{margin-top:.6rem;line-height:1.5}
.camec-pr-dialog-counter{text-align:center;font-size:.85rem;margin:.6rem 0 0}

/* 1.3: artist as full-bleed editorial band; layout inside remains aligned to theme. */
.camec-pr-sections{max-width:1140px;box-sizing:border-box}
.camec-pr-sections .camec-pr-artist{
  width:100vw;width:100dvw;max-width:none;
  margin-left:calc(50% - 50vw);margin-left:calc(50% - 50dvw);
  padding:clamp(2.5rem,6vw,5rem) clamp(1rem,3vw,2rem)!important;
  border-top:0;background:#ededed;box-sizing:border-box;
}
.camec-pr-artist-inner{max-width:1140px;margin-inline:auto}
.camec-pr-artist-grid{grid-template-columns:minmax(0,1.6fr) minmax(220px,.85fr);align-items:start;gap:clamp(1.5rem,4vw,4.5rem)}
.camec-pr-artist--no-portrait .camec-pr-artist-grid{display:block}
.camec-pr-artist--no-portrait .camec-pr-artist-content{max-width:95ch}
.camec-pr-artist .camec-pr-bio{max-width:80ch}
.camec-pr-disclosure{max-width:90ch;margin-top:1.25rem;border-top:1px solid #bbb}
.camec-pr-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;padding:.8rem 0;cursor:pointer;font-weight:700;list-style:none;text-decoration:underline;text-underline-offset:.2em}
.camec-pr-disclosure summary::-webkit-details-marker{display:none}
.camec-pr-disclosure summary:focus-visible{outline:3px solid #111;outline-offset:3px}
.camec-pr-disclosure[open] summary span{transform:rotate(45deg)}
.camec-pr-disclosure-content{padding:0 0 1.6rem;max-width:75ch}
.camec-pr-disclosure-content>div+div{margin-top:1.4rem}
.camec-pr-disclosure-content h3{margin:.9rem 0 .5rem}
.camec-pr-artist-official{margin-top:1.5rem}
@media(max-width:767px){
 .camec-pr-artist-grid{grid-template-columns:1fr}
 .camec-pr-portrait{max-width:min(440px,100%)}
}


/* 2.0 - true justified rows: proportional images, zero artificial height. */
.camec-pr-sections .camec-pr-masonry {
  display:flex;flex-flow:column nowrap;align-items:stretch;
  gap:clamp(12px,1.5vw,18px); width:100%;max-width:100%;
  height:auto;min-height:0;margin-top:1.5rem;
}
.camec-pr-sections .camec-pr-justified-row {
  display:flex;align-items:flex-start;flex-wrap:nowrap;
  gap:clamp(12px,1.5vw,18px);
  width:100%;min-height:0;height:auto;margin:0;padding:0;
}
.camec-pr-sections .camec-pr-justified-row > .camec-pr-photo {
  display:block;flex:0 0 auto;min-width:0;max-width:none;
  height:auto;min-height:0;max-height:none;
  margin:0;padding:0;aspect-ratio:auto;
}
.camec-pr-sections .camec-pr-justified-row > .camec-pr-photo > .camec-pr-photo-link {display:block;position:relative;width:100%;}
.camec-pr-sections .camec-pr-justified-row > .camec-pr-photo img {
  display:block;width:100%;height:auto;max-width:100%;max-height:none;
  object-fit:contain;aspect-ratio:auto;background:transparent;
}
/* Before JS initialization, allow a readable wrap layout. */
.camec-pr-sections .camec-pr-masonry:not([data-camec-laid-out]) {flex-flow:row wrap;align-items:flex-start;}
.camec-pr-sections .camec-pr-masonry:not([data-camec-laid-out]) > .camec-pr-photo {flex:0 1 calc(33.333% - 12px);}
@media(max-width:767px) {
  .camec-pr-sections .camec-pr-masonry:not([data-camec-laid-out]) > .camec-pr-photo {flex-basis:calc(50% - 8px);}
}
@media(max-width:560px) {
  .camec-pr-sections .camec-pr-justified-row {display:block;}
  .camec-pr-sections .camec-pr-justified-row > .camec-pr-photo {width:100%!important;margin-bottom:12px;}
  .camec-pr-sections .camec-pr-justified-row > .camec-pr-photo:last-child {margin-bottom:0;}
  .camec-pr-sections .camec-pr-masonry:not([data-camec-laid-out]) > .camec-pr-photo {flex-basis:100%;}
}

/* 2.1: measured justified rows - override inherited Elementor/theme figure sizes.
   Height is computed from the ORIGINAL image ratio; image content is never cropped. */
@media (min-width:561px) {
 .camec-pr-sections .camec-pr-masonry[data-camec-laid-out] .camec-pr-justified-row {
   display:flex!important; flex-flow:row nowrap!important; align-items:flex-start!important;
   align-content:flex-start!important; justify-content:flex-start!important;
   min-height:0!important; max-height:none!important; margin:0!important; padding:0!important;
 }
 .camec-pr-sections .camec-pr-masonry[data-camec-laid-out] .camec-pr-justified-row > figure.camec-pr-photo {
   display:block!important; flex-shrink:0!important; flex-grow:0!important;
   min-height:0!important; max-height:none!important; margin:0!important; padding:0!important; overflow:visible!important;
 }
 .camec-pr-sections .camec-pr-masonry[data-camec-laid-out] .camec-pr-justified-row > figure.camec-pr-photo > a.camec-pr-photo-link {
   display:block!important; width:100%!important; height:100%!important; margin:0!important; padding:0!important;
 }
 .camec-pr-sections .camec-pr-masonry[data-camec-laid-out] .camec-pr-justified-row > figure.camec-pr-photo img {
   display:block!important; width:100%!important; height:100%!important; max-width:100%!important; max-height:100%!important;
   object-fit:contain!important; object-position:center!important; margin:0!important; padding:0!important;
 }
}
@media (max-width:560px) {
 .camec-pr-sections .camec-pr-justified-row {height:auto!important;}
 .camec-pr-sections .camec-pr-justified-row > figure.camec-pr-photo {height:auto!important;}
 .camec-pr-sections .camec-pr-justified-row > figure.camec-pr-photo img {height:auto!important;}
}

/* 2.2 Responsive: breakpoint based on actual gallery width, not viewport.
   Desktop justified rows untouched. On narrow containers each image gets its
   natural height, with only one vertical gap between photographs. */
.camec-pr-sections .camec-pr-masonry[data-camec-mobile="1"] {
  display:flex!important; flex-direction:column!important; gap:12px!important;
}
.camec-pr-sections .camec-pr-masonry[data-camec-mobile="1"] .camec-pr-justified-row {
  display:block!important; width:100%!important; height:auto!important;
  min-height:0!important; margin:0!important; padding:0!important;
}
.camec-pr-sections .camec-pr-masonry[data-camec-mobile="1"] .camec-pr-justified-row > figure.camec-pr-photo {
  display:block!important; width:100%!important; height:auto!important; min-height:0!important;
  max-height:none!important; margin:0!important; padding:0!important;
}
.camec-pr-sections .camec-pr-masonry[data-camec-mobile="1"] .camec-pr-justified-row > figure.camec-pr-photo > a.camec-pr-photo-link {
  display:block!important; width:100%!important; height:auto!important;
}
.camec-pr-sections .camec-pr-masonry[data-camec-mobile="1"] .camec-pr-justified-row > figure.camec-pr-photo img {
  display:block!important; width:100%!important; height:auto!important; max-height:none!important;
  object-fit:contain!important;
}
@media (max-width:767px) {
 .camec-pr-sections {padding-inline:16px;}
 .camec-pr-gallery h2 {overflow-wrap:break-word;}
 .camec-pr-sections .camec-pr-artist {padding-inline:16px!important;}
}

/* 2.2.1 - Smartphone: centered artwork, original aspect ratio. Desktop untouched.
   Activated by JS when the gallery's actual width is below 720px. */
.camec-pr-sections .camec-pr-masonry[data-camec-mobile="1"] .camec-pr-justified-row {
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:0!important;
}
.camec-pr-sections .camec-pr-masonry[data-camec-mobile="1"] .camec-pr-justified-row > figure.camec-pr-photo {
  flex:0 0 auto!important;
  width:100%!important;
  max-width:100%!important;
  margin-inline:auto!important;
  align-self:center!important;
}
.camec-pr-sections .camec-pr-masonry[data-camec-mobile="1"] .camec-pr-justified-row > figure.camec-pr-photo--portrait {
  width:82%!important;
  max-width:420px!important;
}
.camec-pr-sections .camec-pr-masonry[data-camec-mobile="1"] .camec-pr-justified-row > figure.camec-pr-photo > a.camec-pr-photo-link {
  width:100%!important;
  margin-inline:auto!important;
}
.camec-pr-sections .camec-pr-masonry[data-camec-mobile="1"] .camec-pr-justified-row > figure.camec-pr-photo img {
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
}

/* 2.2.2: smartphone-only compact stack. Flatten justified-row wrappers to
   prevent any inherited row height, gap or margin creating blank tracks. */
@media screen and (max-width: 600px) {
  .camec-pr-sections .camec-pr-masonry[data-camec-mobile="1"] {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important;
    justify-items:stretch!important;
    align-content:start!important;
    row-gap:16px!important;
    column-gap:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:1.5rem 0 0!important;
    padding:0!important;
  }
  .camec-pr-sections .camec-pr-masonry[data-camec-mobile="1"] > .camec-pr-justified-row {
    display:contents!important;
  }
  .camec-pr-sections .camec-pr-masonry[data-camec-mobile="1"] figure.camec-pr-photo {
    display:block!important;
    grid-column:1!important;
    position:static!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    align-self:start!important;
    justify-self:center!important;
    margin:0!important;
    padding:0!important;
    flex:none!important;
    aspect-ratio:auto!important;
  }
  .camec-pr-sections .camec-pr-masonry[data-camec-mobile="1"] figure.camec-pr-photo--portrait {
    width:82%!important;
    max-width:420px!important;
  }
  .camec-pr-sections .camec-pr-masonry[data-camec-mobile="1"] figure.camec-pr-photo > a.camec-pr-photo-link {
    display:block!important;
    position:static!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
  }
  .camec-pr-sections .camec-pr-masonry[data-camec-mobile="1"] figure.camec-pr-photo img {
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    object-fit:contain!important;
  }
}

/* 2.2.3: compact mobile uses DIRECT figure children, not justified-row wrappers.
   Explicitly reset legacy gallery rules while leaving desktop/tablet alone. */
@media screen and (max-width:600px) {
 .camec-pr-sections .camec-pr-gallery {padding-bottom:32px;}
 .camec-pr-sections .camec-pr-gallery h2 {margin-bottom:0!important;}
 .camec-pr-sections .camec-pr-gallery .camec-pr-masonry[data-camec-compact-phone="1"] {
   display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;
   align-items:center!important;justify-content:flex-start!important;align-content:normal!important;
   gap:16px!important;row-gap:16px!important;column-gap:0!important;
   width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
   margin:12px 0 0!important;padding:0!important;
 }
 .camec-pr-sections .camec-pr-gallery .camec-pr-masonry[data-camec-compact-phone="1"] > figure.camec-pr-photo {
   display:block!important;position:static!important;float:none!important;flex:none!important;
   flex-grow:0!important;flex-shrink:0!important;flex-basis:auto!important;
   align-self:center!important;clear:both!important;box-sizing:border-box!important;
   width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
   margin:0!important;padding:0!important;overflow:visible!important;aspect-ratio:auto!important;
 }
 .camec-pr-sections .camec-pr-gallery .camec-pr-masonry[data-camec-compact-phone="1"] > figure.camec-pr-photo--portrait {
   width:82%!important;max-width:420px!important;
 }
 .camec-pr-sections .camec-pr-gallery .camec-pr-masonry[data-camec-compact-phone="1"] > figure.camec-pr-photo > a.camec-pr-photo-link {
   display:block!important;position:static!important;width:100%!important;height:auto!important;
   min-height:0!important;margin:0!important;padding:0!important;line-height:0!important;
 }
 .camec-pr-sections .camec-pr-gallery .camec-pr-masonry[data-camec-compact-phone="1"] > figure.camec-pr-photo img {
   display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
   margin:0!important;padding:0!important;object-fit:contain!important;object-position:center!important;
 }
 .camec-pr-sections .camec-pr-gallery .camec-pr-masonry[data-camec-compact-phone="1"] > figure.camec-pr-photo figcaption {
   line-height:1.5!important;margin:8px 0 0!important;
 }
}

/* 2.3.0 — project room structure. Gallery/photo rules left untouched. */
.camec-pr-show-eyebrow {font-size:.75rem!important;font-weight:700!important;letter-spacing:.07em;text-transform:uppercase;margin:0 0 1.1rem!important;line-height:1.4!important;}
.camec-pr-sections .camec-pr-visit {background:#f3f3f3;border:0;box-sizing:border-box;width:100vw;width:100dvw;max-width:none;margin-left:calc(50% - 50vw);margin-left:calc(50% - 50dvw);padding:clamp(2.5rem,5vw,4.5rem) clamp(1rem,3vw,2rem);}
.camec-pr-visit-inner {max-width:1140px;margin-inline:auto;}
.camec-pr-sections .camec-pr-visit-exhibition {font-size:clamp(1.1rem,2.2vw,1.55rem);letter-spacing:-.015em;line-height:1.25;font-weight:700;margin:1.5rem 0 1.8rem;max-width:55ch;}
.camec-pr-visit-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 2.5rem;margin:0;}
.camec-pr-visit-entry {min-width:0;border-top:1px solid #ccc;padding-top:.85rem;}
.camec-pr-visit-entry dt {font-size:.85rem;font-weight:700;margin:0 0 .4rem;}
.camec-pr-visit-entry dd {margin:0;overflow-wrap:anywhere;line-height:1.5;}
.camec-pr-visit-entry a{text-decoration:underline;text-underline-offset:3px;}
@media(max-width:600px){.camec-pr-visit-grid{grid-template-columns:1fr;gap:1rem}.camec-pr-sections .camec-pr-visit{padding-block:2.25rem}}
