/* Loaded only by Life at Tevah. */
.life-carousel { min-width: 0; }
.life-photo-button { display: block; width: 100%; padding: 0; border: 1px solid var(--gold-light); border-radius: 12px; overflow: hidden; background: var(--burgundy-deep); cursor: zoom-in; box-shadow: var(--shadow); touch-action: pan-y pinch-zoom; }
.life-photo-button img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.life-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px; margin-top: 16px; }
.life-controls button, .life-close { min-width: 44px; min-height: 44px; border: 1px solid #e9d3a480; border-radius: 6px; background: var(--cream); color: var(--burgundy); font: inherit; cursor: pointer; }
.life-dots { display: flex; }
.life-dots button { display: grid; place-items: center; border: 0; background: transparent; }
.life-dots button::before { content: ''; width: 9px; height: 9px; border: 1px solid var(--gold-light); border-radius: 50%; background: transparent; }
.life-dots button[aria-current="true"]::before { background: var(--gold-light); }
.life-photo-hint { text-align: center; font-size: 13px; color: var(--gold-light); margin: 10px 0 0; }
.life-lightbox { position: fixed; inset: 0; width: 100%; height: 100%; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 16px; border: 0; color: var(--cream); background: rgba(25, 12, 18, .97); }
.life-lightbox::backdrop { background: #190c12; }
.life-lightbox[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 12px; }
.life-lightbox-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.life-lightbox-top p { margin: 0; }
.life-close { padding: 8px 14px; }
.life-lightbox-stage { display: grid; place-items: center; min-height: 0; min-width: 0; touch-action: pan-y pinch-zoom; }
.life-lightbox-image { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.life-lightbox .life-controls { margin: 0; }
.life-lightbox :focus-visible { outline: 3px solid var(--gold-light); outline-offset: 3px; }
@media (max-width: 380px) { .life-dots button { min-width: 36px; width: 36px; } .life-lightbox { padding: 10px; } }

/* Integrate the slideshow into the section instead of a framed card. */
#life-at-tevah { padding: 0; }
#life-at-tevah .life-grid { width: 100%; margin: 0; grid-template-columns: minmax(0, 52fr) minmax(0, 48fr); align-items: stretch; gap: 0; min-height: clamp(620px, 42vw, 900px); }
#life-at-tevah .life-grid > div:last-child { align-self: center; padding: clamp(40px, 4vw, 80px); min-width: 0; }
#life-at-tevah .life-grid > div:last-child > p { max-width: 55ch; }
#life-at-tevah .life-values { max-width: 46rem; }
.life-carousel { position: relative; display: grid; grid-template-rows: minmax(0, 1fr) auto; background: var(--burgundy-deep); }
.life-photo-button { position: relative; min-height: 0; border: 0; border-radius: 0; box-shadow: none; }
.life-photo-button img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.life-carousel > .life-photo-hint { position: absolute; top: 12px; left: 16px; right: 16px; width: fit-content; max-width: calc(100% - 32px); padding: 5px 10px; margin: 0; border-radius: 4px; background: #411321d9; color: var(--cream); pointer-events: none; }
.life-carousel > .life-controls { margin: 0; padding: 10px 16px; }
@media (max-width: 1100px) {
  #life-at-tevah .life-grid { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .life-photo-button { aspect-ratio: 4 / 3; }
  #life-at-tevah .life-grid > div:last-child { padding: 48px max(24px, 3vw); }
}

/* Real facility photographs and descriptive captions. */
.life-photo-caption { position: absolute; bottom: 66px; left: 16px; right: 16px; width: fit-content; max-width: calc(100% - 32px); padding: 6px 12px; margin: 0; background: #411321e8; border-radius: 4px; color: var(--cream); pointer-events: none; font-size: 14px; }
.life-lightbox[open] { grid-template-rows: auto auto minmax(0, 1fr) auto; }
.life-lightbox-caption { text-align: center; margin: 0; color: var(--gold-light); font-size: 14px; }
.life-dots { flex-wrap: wrap; justify-content: center; }
.life-dots button { flex: 0 0 44px; }
.life-photo-button img { object-position: center; }
@media (max-width: 380px) { .life-dots button { flex-basis: 36px; } }
