/* Museu ODC 3.0.42 — apresentação museológica das exposições. */
body.odc340-museological-exhibition .odc24-catalog-section,
body.odc340-museological-exhibition .odc339-related-exhibition {
  display: none !important;
}

body.odc340-museological-exhibition .odc24-generic-item,
body.odc340-museological-exhibition .odc16-curated-item {
  gap: clamp(1.15rem, 3vw, 2.2rem) !important;
  padding-top: clamp(.6rem, 1.7vw, 1.25rem) !important;
}

body.odc340-museological-exhibition .odc24-item-hero,
body.odc340-museological-exhibition .odc16-curated-hero {
  min-height: 0 !important;
  margin-top: 0 !important;
  padding-top: clamp(.8rem, 2.2vw, 1.65rem) !important;
  padding-bottom: clamp(1rem, 2.5vw, 1.8rem) !important;
}

body.odc340-museological-exhibition .odc24-item-synopsis {
  margin-top: 0 !important;
}

.odc340-about,
.odc340-exhibition,
.odc340-credits {
  width: min(100%, 1040px);
  margin: 0 auto;
  padding: clamp(1.1rem, 2.8vw, 2rem);
  border: 1px solid rgba(224, 171, 46, .52);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(9, 7, 5, .98), rgba(35, 15, 8, .96));
  box-sizing: border-box;
}

.odc340-about h2,
.odc340-exhibition h2,
.odc340-exhibition h3,
.odc340-credits h2 {
  margin: 0;
  color: #f3c253;
  line-height: 1.08;
  text-align: left;
}

.odc340-about h2,
.odc340-credits h2 {
  font-size: clamp(1.75rem, 4vw, 2.7rem);
}

.odc340-exhibition h2 {
  font-size: clamp(2rem, 5vw, 3.45rem);
}

.odc340-exhibition h3 {
  width: 100%;
  max-width: none;
  font-size: clamp(1.6rem, 4vw, 2.55rem);
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.odc340-about dl,
.odc340-credits dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 1.25rem 0 0;
}

.odc340-about dl > div,
.odc340-credits dl > div {
  min-width: 0;
  padding: .9rem 0;
  border-top: 1px solid rgba(224, 171, 46, .26);
}

.odc340-about dl > div:nth-child(odd),
.odc340-credits dl > div:nth-child(odd) {
  padding-right: 1.25rem;
}

.odc340-about dl > div:nth-child(even),
.odc340-credits dl > div:nth-child(even) {
  padding-left: 1.25rem;
  border-left: 1px solid rgba(224, 171, 46, .2);
}

.odc340-about dt,
.odc340-credits dt {
  color: #e9b63d;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.odc340-about dd,
.odc340-credits dd {
  margin: .42rem 0 0;
  color: #fff5df;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.odc340-exhibition {
  padding-bottom: clamp(1.3rem, 3vw, 2.4rem);
}

.odc340-exhibition__header {
  max-width: 820px;
}

.odc340-eyebrow,
.odc340-section__heading > div > p {
  margin: 0 0 .55rem;
  color: #efbd43;
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.odc340-section-nav {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin: 1.35rem 0 0;
}

.odc340-section-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: .62rem .95rem;
  border: 1px solid rgba(224, 171, 46, .65);
  border-radius: 999px;
  color: #f5c85b !important;
  font-weight: 750;
  text-decoration: none !important;
}

.odc340-section-nav a:hover,
.odc340-section-nav a:focus-visible {
  background: #efbd43;
  color: #160c08 !important;
  outline: 3px solid rgba(255, 255, 255, .72);
  outline-offset: 2px;
}

.odc340-section {
  scroll-margin-top: 7rem;
  margin-top: clamp(1.5rem, 4vw, 3rem);
  padding-top: clamp(1.25rem, 3vw, 2.1rem);
  border-top: 1px solid rgba(224, 171, 46, .34);
}

/* O título ocupa sempre toda a largura. A navegação não disputa espaço com ele. */
.odc340-section__heading {
  display: block;
  width: 100%;
  margin: 0 0 1.15rem;
}

.odc340-section__heading > div {
  width: 100%;
  min-width: 0;
}

.odc340-section__description {
  max-width: 760px;
  margin: .85rem 0 0;
  color: #f2dfc6;
  line-height: 1.7;
  text-align: left;
}

/* O carrossel e os controles têm largura menor que a borda principal. */
.odc340-carousel {
  display: flex;
  width: min(100%, 900px);
  margin: 0 auto;
  gap: 0;
  overflow-x: auto;
  padding: .15rem 0 .25rem;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  overscroll-behavior-inline: contain;
}

.odc340-carousel::-webkit-scrollbar {
  display: none;
}

.odc340-slide {
  flex: 0 0 100%;
  display: grid;
  grid-template-columns: minmax(250px, .9fr) minmax(280px, 1.1fr);
  width: 100%;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(224, 171, 46, .42);
  border-radius: 20px;
  background: #100906;
  scroll-snap-align: start;
  box-sizing: border-box;
}

.odc340-media {
  display: grid;
  place-items: center;
  min-height: clamp(280px, 34vw, 460px);
  max-height: 460px;
  overflow: hidden;
  background: #060504;
}

.odc340-media img {
  display: block;
  width: 100%;
  height: clamp(280px, 34vw, 460px);
  max-width: 100%;
  background: #060504;
  image-orientation: from-image;
  filter: contrast(1.035) saturate(.94);
  transform-origin: center;
}

.odc340-media.is-contain img { object-fit: contain; }
.odc340-media.is-cover img { object-fit: cover; }
.odc340-media.is-rotate-90 img { transform: rotate(90deg) scale(.78); }
.odc340-media.is-rotate-180 img { transform: rotate(180deg); }
.odc340-media.is-rotate-270 img { transform: rotate(270deg) scale(.78); }

.odc340-slide__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1rem;
  min-width: 0;
  padding: clamp(1.15rem, 3vw, 2rem);
}

.odc340-caption,
.odc340-description {
  margin: 0;
  color: #fff5df;
  line-height: 1.65;
  text-align: left;
  overflow-wrap: anywhere;
}

.odc340-caption {
  font-size: clamp(1rem, 2vw, 1.18rem);
  font-weight: 760;
}

.odc340-description {
  color: #f0dfc7;
  font-size: .96rem;
}

.odc340-record-link {
  align-self: flex-start;
  margin-top: .25rem;
  padding: .7rem 1rem;
  border: 1px solid #d8a326;
  border-radius: 999px;
  color: #f4c65c !important;
  font-weight: 800;
  text-decoration: none !important;
}

.odc340-record-link:hover,
.odc340-record-link:focus-visible {
  background: #efbd43;
  color: #1a0d08 !important;
  outline: 3px solid rgba(255, 255, 255, .75);
  outline-offset: 2px;
}

/* Setas abaixo da fotografia, com rótulos claros e contador central. */
.odc340-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 900px);
  margin: .9rem auto 0;
  gap: clamp(.65rem, 2vw, 1rem);
  color: #fff1cf;
  font-size: .9rem;
}

.odc340-controls button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  min-width: 132px;
  min-height: 44px;
  padding: .62rem 1rem;
  border: 1px solid #d8a326;
  border-radius: 999px;
  background: #1a0d08;
  color: #f3c253;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.odc340-controls [data-odc340-counter] {
  min-width: 64px;
  text-align: center;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}

.odc340-controls button:hover,
.odc340-controls button:focus-visible {
  background: #efbd43;
  color: #1a0d08;
  outline: 3px solid rgba(255, 255, 255, .75);
  outline-offset: 2px;
}

.odc340-controls button:disabled {
  opacity: .42;
  cursor: not-allowed;
  background: #100906;
  color: #d8b46a;
}

@media (max-width: 820px) {
  .odc340-carousel,
  .odc340-controls {
    width: min(100%, 680px);
  }

  .odc340-slide {
    grid-template-columns: 1fr;
  }

  .odc340-media,
  .odc340-media img {
    min-height: 0;
    height: min(68vw, 420px);
    max-height: 420px;
  }
}

@media (max-width: 650px) {
  .odc340-about,
  .odc340-exhibition,
  .odc340-credits {
    width: calc(100% - .75rem);
    padding: 1rem;
    border-radius: 17px;
  }

  .odc340-about dl,
  .odc340-credits dl {
    grid-template-columns: 1fr;
  }

  .odc340-about dl > div:nth-child(odd),
  .odc340-about dl > div:nth-child(even),
  .odc340-credits dl > div:nth-child(odd),
  .odc340-credits dl > div:nth-child(even) {
    padding-right: 0;
    padding-left: 0;
    border-left: 0;
  }

  .odc340-media,
  .odc340-media img {
    height: min(76vw, 380px);
    max-height: 380px;
  }

  .odc340-controls {
    justify-content: space-between;
    gap: .45rem;
  }

  .odc340-controls button {
    min-width: 0;
    flex: 1 1 0;
    padding-inline: .75rem;
  }
}

@media (max-width: 410px) {
  .odc340-controls button span:not([aria-hidden="true"]) {
    display: none;
  }

  .odc340-controls button {
    flex: 0 0 48px;
    min-width: 48px;
    padding: .55rem;
  }
}

/* 3.0.47 — narrativa integral do Tainacan, sem aparência de ficha técnica. */
.odc340-media {
  margin: 0;
}

.odc340-slide__content {
  justify-content: flex-start;
  align-self: stretch;
}

.odc340-slide__content .odc340-description + .odc340-description {
  margin-top: .15rem;
}

.odc340-caption {
  border-bottom: 1px solid rgba(224, 171, 46, .22);
  padding-bottom: .9rem;
}

/* O botão técnico da ficha não integra a experiência expográfica. */
.odc340-record-link {
  display: none !important;
}

@media (min-width: 821px) {
  .odc340-slide {
    align-items: stretch;
  }
  .odc340-slide__content {
    padding-block: clamp(1.25rem, 2.5vw, 2.25rem);
  }
}


/* 3.0.49 — campos catalográficos estritos da coleção Fotografias. */
.odc340-photo-title {
  margin: 0;
  color: #f3c253;
  font-size: clamp(1.22rem, 2.5vw, 1.65rem);
  line-height: 1.25;
  text-align: left;
  overflow-wrap: anywhere;
}

.odc340-photo-field {
  display: grid;
  gap: .38rem;
}

.odc340-photo-field__label {
  color: #e9b63d;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* 3.0.59 — uma TELA pode reunir de 1 a 4 fotografias do mesmo momento. */
.odc359-screen:has(.odc359-screen-grid) {
  display: block;
  padding: clamp(.8rem, 2vw, 1.15rem);
}

.odc359-screen-grid {
  display: grid;
  grid-template-columns: repeat(var(--odc359-cols, 2), minmax(0, 1fr));
  gap: clamp(.75rem, 2vw, 1.1rem);
  width: 100%;
  box-sizing: border-box;
}

.odc359-screen-grid--2 { --odc359-cols: 2; }
.odc359-screen-grid--3 { --odc359-cols: 3; }
.odc359-screen-grid--4 { --odc359-cols: 4; }

.odc359-screen-item {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(224, 171, 46, .30);
  border-radius: 16px;
  background: #0c0705;
}

.odc359-screen-media {
  display: grid;
  place-items: center;
  width: 100%;
  margin: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #060504;
}

.odc359-screen-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  image-orientation: from-image;
  transform-origin: center;
}

.odc359-screen-media.is-cover img { object-fit: cover; }
.odc359-screen-media.is-rotate-90 img { transform: rotate(90deg) scale(.78); }
.odc359-screen-media.is-rotate-180 img { transform: rotate(180deg); }
.odc359-screen-media.is-rotate-270 img { transform: rotate(270deg) scale(.78); }

.odc359-screen-item__content {
  display: grid;
  gap: .75rem;
  padding: 1rem;
}

.odc359-screen-item .odc340-photo-title {
  font-size: clamp(1rem, 1.7vw, 1.28rem);
}

.odc359-screen-item .odc340-caption,
.odc359-screen-item .odc340-description {
  font-size: .92rem;
}

.odc359-section-teaser {
  width: min(100%, 900px);
  margin: 1.25rem auto 0;
  padding: 1rem 1.15rem;
  border-top: 1px solid rgba(224, 171, 46, .32);
  color: #f3c253;
  font-weight: 800;
  font-style: italic;
  text-align: center;
}

@media (max-width: 820px) {
  .odc359-screen-grid--3,
  .odc359-screen-grid--4 { --odc359-cols: 2; }
}

@media (max-width: 560px) {
  .odc359-screen-grid--2,
  .odc359-screen-grid--3,
  .odc359-screen-grid--4 { --odc359-cols: 1; }
  .odc359-screen-media { aspect-ratio: 4 / 3; }
}


/* 3.0.60 — legenda expográfica imediatamente abaixo de cada fotografia. */
.odc340-profile-ray .odc360-photo-figure {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
  background: #0c0705;
}

.odc340-profile-ray .odc360-photo-caption {
  display: grid;
  gap: .32rem;
  margin: 0;
  padding: .72rem .9rem .82rem;
  border-top: 1px solid rgba(224, 171, 46, .30);
  background: #100906;
  text-align: left;
}

.odc340-profile-ray .odc360-photo-caption .odc340-caption {
  margin: 0;
  padding: 0;
  border-bottom: 0;
  color: #fff5df;
  font-size: clamp(.88rem, 1.5vw, 1rem);
  font-weight: 600;
  line-height: 1.5;
}

.odc340-profile-ray .odc360-photo-caption .odc340-photo-field__label {
  font-size: .68rem;
}

.odc340-profile-ray .odc360-photo-figure--grid {
  border-bottom: 1px solid rgba(224, 171, 46, .12);
}

@media (max-width: 820px) {
  .odc340-profile-ray .odc360-photo-caption {
    padding: .68rem .78rem .76rem;
  }
}


/* 3.0.76 — narrativa curatorial do mapa de telas “Da Raiz ao Mundo”. */
.odc376-curatorial-opening{
  width:100%;
  max-width:920px;
  margin:18px 0 22px;
  padding:18px 20px;
  border-left:3px solid #d8aa33;
  border-radius:0 14px 14px 0;
  background:rgba(255,255,255,.025);
}
.odc376-curatorial-opening p{
  margin:0 0 .72em;
  color:#f3eadc;
  font-size:clamp(.98rem,1.15vw,1.08rem);
  line-height:1.68;
  text-align:left!important;
  text-align-last:left!important;
}
.odc376-curatorial-opening p:last-child{margin-bottom:0}
.odc376-curatorial-opening .odc376-closing-date{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid rgba(216,170,51,.34);
  color:#f0c85b;
}
.odc376-map-section-text{
  max-width:900px;
  margin:10px 0 18px!important;
  line-height:1.65!important;
}
@media(max-width:680px){
  .odc376-curatorial-opening{padding:15px 14px;margin:14px 0 18px}
  .odc376-curatorial-opening p{font-size:.98rem;line-height:1.58}
}


/* 3.0.84 — Exposição Mestre Ray: somente fotografia + legenda.
 * Sem título/descrição da foto, sem sinopse e sem recorte das imagens. */
body.odc340-profile-ray .odc24-item-synopsis,
body.odc340-profile-ray .odc340-photo-title,
body.odc340-profile-ray .odc340-photo-field--description,
body.odc340-profile-ray .odc340-description,
body.odc340-profile-ray .odc376-closing-date {
  display: none !important;
}

/* Uma fotografia: card enxuto, imagem inteira e legenda logo abaixo. */
body.odc340-profile-ray .odc340-slide:not(:has(.odc359-screen-grid)) {
  display: block;
  width: 100%;
  max-width: 900px;
  margin-inline: auto;
}
body.odc340-profile-ray .odc340-slide:not(:has(.odc359-screen-grid)) .odc360-photo-figure {
  width: 100%;
}
body.odc340-profile-ray .odc340-media {
  width: 100%;
  min-height: 0;
  max-height: none;
  aspect-ratio: auto;
  overflow: hidden;
  background: #060504;
}
body.odc340-profile-ray .odc340-media img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: min(72vh, 680px);
  margin: 0 auto;
  object-fit: contain !important;
  object-position: center center !important;
}
body.odc340-profile-ray .odc340-media.is-cover img { object-fit: contain !important; }

/* Blocos de 2–4 fotos: todas cabem no card sem cortar. */
body.odc340-profile-ray .odc359-screen-media {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #060504;
}
body.odc340-profile-ray .odc359-screen-media img,
body.odc340-profile-ray .odc359-screen-media.is-cover img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain !important;
  object-position: center center !important;
}
body.odc340-profile-ray .odc359-screen-item__content { display: none !important; }

/* A descrição da seção vem do Tainacan e fica separada da legenda fotográfica. */
body.odc340-profile-ray .odc340-section__description {
  width: min(100%, 900px);
  max-width: 900px;
  margin: .7rem auto 1rem;
  padding: .85rem 1rem;
  border-left: 3px solid #e0ab2e;
  background: rgba(224,171,46,.055);
  color: #f2dfc6;
}

@media (max-width: 560px) {
  body.odc340-profile-ray .odc340-media img { max-height: 68vh; }
  body.odc340-profile-ray .odc340-section__description { padding: .72rem .8rem; }
}

/* 3.0.88 — ajuste EXCLUSIVO da fotografia Mestre Ray + Mestre Camisa (1991).
 * Nenhuma outra fotografia da exposição muda de tamanho ou enquadramento. */
body.odc340-profile-ray .odc388-camisa-card {
  align-self: start;
}
body.odc340-profile-ray .odc388-camisa-media {
  aspect-ratio: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: #060504;
}
body.odc340-profile-ray .odc388-camisa-media img,
body.odc340-profile-ray .odc388-camisa-media.is-cover img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}

/* 3.0.103 — Mestre Ray: Sinopse no bloco textual e título próprio antes dos botões. */
body.odc340-profile-ray .odc3103-ray-sections-title {
  width: min(100%, 920px);
  margin: 1.35rem auto .75rem;
  color: #f5e5c7;
  font-size: clamp(1.28rem, 2vw, 1.7rem);
  font-weight: 850;
  line-height: 1.2;
}
body.odc340-profile-ray .odc340-section-nav {
  margin-top: 0;
}

/* 3.0.106 — Mestre Ray: restauração segura do carrossel após 3.0.105.
 * Mantém a montagem expográfica da 3.0.104, sem setas sobre as fotos.
 * Fotos cabem inteiras no quadro; controles ficam logo abaixo, compactos. */
body.odc340-profile-ray .odc340-media,
body.odc340-profile-ray .odc359-screen-media {
  overflow: hidden !important;
  background: #060504;
}

/* Foto única: mostrar inteira sem criar altura artificial. */
body.odc340-profile-ray .odc340-media img,
body.odc340-profile-ray .odc340-media.is-cover img,
body.odc340-profile-ray .odc340-media.is-contain img {
  object-fit: contain !important;
  object-position: center center !important;
}

/* Blocos expográficos de 2–4 fotos: preservar o quadro e encaixar cada imagem. */
body.odc340-profile-ray .odc359-screen-media img,
body.odc340-profile-ray .odc359-screen-media.is-cover img,
body.odc340-profile-ray .odc359-screen-media.is-contain img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}

/* Navegação logo após o bloco de fotos, sem círculos/overlays gigantes. */
body.odc340-profile-ray .odc340-controls--below {
  position: static !important;
  inset: auto !important;
  width: min(100%, 900px) !important;
  height: auto !important;
  min-height: 0 !important;
  margin: .45rem auto .2rem !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .55rem !important;
  pointer-events: auto !important;
}
body.odc340-profile-ray .odc340-controls--below button {
  position: static !important;
  flex: 0 1 170px !important;
  width: auto !important;
  min-width: 118px !important;
  height: auto !important;
  min-height: 40px !important;
  padding: .5rem .8rem !important;
  border-radius: 999px !important;
  pointer-events: auto !important;
  box-shadow: none !important;
}
body.odc340-profile-ray .odc340-controls--below [data-odc340-counter] {
  position: static !important;
  transform: none !important;
  min-width: 58px !important;
  padding: 0 .25rem !important;
  background: transparent !important;
}
body.odc340-profile-ray .odc359-section-teaser {
  margin-top: .55rem !important;
}

@media (max-width: 560px) {
  body.odc340-profile-ray .odc340-controls--below {
    justify-content: space-between !important;
    gap: .35rem !important;
  }
  body.odc340-profile-ray .odc340-controls--below button {
    flex: 0 0 48px !important;
    min-width: 48px !important;
    width: 48px !important;
    min-height: 42px !important;
    padding: .45rem !important;
  }
  body.odc340-profile-ray .odc340-controls--below button span:not([aria-hidden="true"]) {
    display: none !important;
  }
}


/* 3.0.107 — Mestre Ray: fotos completas, contidas no card e sem excesso de altura.
 * Ajuste estritamente visual da exposição Da Raiz ao Mundo.
 * A imagem nunca é recortada; o card limita apenas o tamanho de exibição. */
body.odc340-profile-ray .odc340-media,
body.odc340-profile-ray .odc359-screen-media {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  overflow: hidden !important;
  padding: .35rem !important;
  box-sizing: border-box !important;
  background: #060504 !important;
}

/* Foto única: inteira e confortável, sem virar um painel gigante. */
body.odc340-profile-ray .odc340-slide:not(:has(.odc359-screen-grid)) .odc340-media img,
body.odc340-profile-ray .odc340-slide:not(:has(.odc359-screen-grid)) .odc340-media.is-cover img,
body.odc340-profile-ray .odc340-slide:not(:has(.odc359-screen-grid)) .odc340-media.is-contain img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: min(58vh, 540px) !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}

/* Blocos de 2–4 fotos: cada foto inteira, em escala menor para caber no conjunto. */
body.odc340-profile-ray .odc359-screen-media img,
body.odc340-profile-ray .odc359-screen-media.is-cover img,
body.odc340-profile-ray .odc359-screen-media.is-contain img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: min(46vh, 390px) !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}

/* Evita cards muito altos quando a legenda é curta e reduz o vazio entre telas. */
body.odc340-profile-ray .odc360-photo-figure,
body.odc340-profile-ray .odc359-screen-item {
  align-self: start !important;
  height: auto !important;
  min-height: 0 !important;
}
body.odc340-profile-ray .odc359-screen-grid {
  align-items: start !important;
  gap: .75rem !important;
}
body.odc340-profile-ray .odc340-carousel {
  padding-bottom: .05rem !important;
}
body.odc340-profile-ray .odc340-controls--below {
  margin-top: .35rem !important;
}

/* Retira somente da exposição Mestre Ray o bloco genérico "Acesso ao conteúdo". */
body.odc340-profile-ray .odc24-public-access,
body.odc340-profile-ray .odc16-external-source.odc24-public-access {
  display: none !important;
}

@media (max-width: 820px) {
  body.odc340-profile-ray .odc340-slide:not(:has(.odc359-screen-grid)) .odc340-media img,
  body.odc340-profile-ray .odc340-slide:not(:has(.odc359-screen-grid)) .odc340-media.is-cover img,
  body.odc340-profile-ray .odc340-slide:not(:has(.odc359-screen-grid)) .odc340-media.is-contain img {
    max-height: min(56vh, 480px) !important;
  }
  body.odc340-profile-ray .odc359-screen-media img,
  body.odc340-profile-ray .odc359-screen-media.is-cover img,
  body.odc340-profile-ray .odc359-screen-media.is-contain img {
    max-height: min(42vh, 340px) !important;
  }
}

@media (max-width: 560px) {
  body.odc340-profile-ray .odc340-media,
  body.odc340-profile-ray .odc359-screen-media {
    padding: .2rem !important;
  }
  body.odc340-profile-ray .odc340-slide:not(:has(.odc359-screen-grid)) .odc340-media img,
  body.odc340-profile-ray .odc340-slide:not(:has(.odc359-screen-grid)) .odc340-media.is-cover img,
  body.odc340-profile-ray .odc340-slide:not(:has(.odc359-screen-grid)) .odc340-media.is-contain img {
    max-height: 62vh !important;
  }
  body.odc340-profile-ray .odc359-screen-media img,
  body.odc340-profile-ray .odc359-screen-media.is-cover img,
  body.odc340-profile-ray .odc359-screen-media.is-contain img {
    max-height: 48vh !important;
  }
}

/* ODC Exposições Tainacan Universal */
.odcx-about,.odcx-synopsis,.odcx-exhibition,.odcx-credits{max-width:1180px;margin:28px auto;padding:28px;border:1px solid rgba(222,176,43,.55);border-radius:24px;background:rgba(14,8,5,.92);color:#f7f0e5;box-sizing:border-box}
.odcx-about h2,.odcx-synopsis h2,.odcx-exhibition h2,.odcx-credits h2,.odcx-section h3{color:#efc24a;margin-top:0}
.odcx-section-head{display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.odcx-about dl,.odcx-credits dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:0}
.odcx-about dl>div,.odcx-credits dl>div{padding:14px 0;border-top:1px solid rgba(222,176,43,.34)}
.odcx-about dt,.odcx-credits dt,.odcx-field>span{display:block;color:#efc24a;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.odcx-about dd,.odcx-credits dd{margin:6px 0 0}
.odcx-synopsis p,.odcx-section-description,.odcx-field p{line-height:1.65}
.odcx-nav{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 28px}
.odcx-nav a,.odcx-controls button,.odcx-edit{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 16px;border:1px solid #dcb02b;border-radius:999px;color:#f5d66b;text-decoration:none;background:#1a0d06;font-weight:700}
.odcx-nav a:hover,.odcx-controls button:hover,.odcx-edit:hover{background:#dcb02b;color:#160b05}
.odcx-section{padding:26px 0;border-top:1px solid rgba(222,176,43,.35);scroll-margin-top:110px}
.odcx-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:18px}.odcx-carousel::-webkit-scrollbar{display:none}
.odcx-slide{flex:0 0 100%;scroll-snap-align:start;min-width:0}
.odcx-grid{display:grid;gap:18px}.odcx-grid--1{grid-template-columns:1fr}.odcx-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.odcx-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.odcx-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
.odcx-card{margin:0;border:1px solid rgba(222,176,43,.38);border-radius:18px;overflow:hidden;background:#0c0908;min-width:0}
.odcx-media{display:flex;align-items:center;justify-content:center;background:#050505;min-height:220px}.odcx-media img{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain}
.odcx-card figcaption{padding:18px}.odcx-field+.odcx-field{margin-top:14px}.odcx-field p{margin:6px 0 0}
.odcx-controls{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:16px}.odcx-controls button:disabled{opacity:.45;cursor:not-allowed}
.odcx-edit{font-size:.82rem}.odcx-edit-item{margin-top:16px}
.odcx-eyebrow{color:#efc24a;font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}
@media(max-width:760px){.odcx-about,.odcx-synopsis,.odcx-exhibition,.odcx-credits{margin:18px 10px;padding:20px}.odcx-about dl,.odcx-credits dl{grid-template-columns:1fr}.odcx-grid--2,.odcx-grid--3,.odcx-grid--4{grid-template-columns:1fr}.odcx-media img{max-height:62vh}.odcx-nav{display:grid;grid-template-columns:1fr 1fr}.odcx-nav a{text-align:center}.odcx-controls{gap:8px}.odcx-controls button{padding:8px 12px}}
