.cabinet-extension [hidden] { display: none !important; }
.cabinet-extension { padding-block: clamp(2rem, 5vw, 4.5rem); }
.cabinet-extension img { display: block; max-width: 100%; height: auto; }
.cabinet-extension button { font: inherit; cursor: pointer; }
.cabinet-extension button:focus-visible { outline: 3px solid #52614b; outline-offset: 4px; }
.cabinet-extension .album { min-width: 0; width: 100%; }
.cabinet-extension .slide { margin: 0 0 2rem; }
.cabinet-extension .photo { width: 100%; aspect-ratio: 16 / 9; max-height: 76svh; min-height: 22rem; overflow: hidden; border-radius: .5rem; background: #252d27; }
.cabinet-extension .photo video, .cabinet-extension .photo .video-poster { width: 100%; height: 100%; object-fit: cover; object-position: 50% var(--video-y, 70%); }
.cabinet-extension .slide:first-child .photo video, .cabinet-extension .slide:first-child .photo .video-poster { object-fit: contain; object-position: 50% 50%; }
.cabinet-extension .slide:nth-child(2) { --video-y: 75%; }
.cabinet-extension .slide:nth-child(3) { --video-y: 88%; }
.cabinet-extension .slide:nth-child(4) { --video-y: 96%; }
.cabinet-extension .photo video { display: block; }
.cabinet-extension .photo .video-poster { display: none; }
.cabinet-extension figcaption { display: flex; gap: .8rem; align-items: baseline; padding-top: .85rem; color: #52614b; font: italic .95rem/1.5 Georgia, serif; }
.cabinet-extension figcaption span { flex: none; font: .65rem/1.5 Arial, sans-serif; letter-spacing: .06em; color: #65675c; }
.cabinet-extension.enhanced .stage { display: grid; }
.cabinet-extension.enhanced .slide { grid-area: 1 / 1; min-width: 0; margin: 0; visibility: hidden; pointer-events: none; transition: visibility .6s; }
.cabinet-extension.enhanced .slide .photo { opacity: 0; transition: opacity .6s ease; }
.cabinet-extension.enhanced .slide figcaption { visibility: hidden; }
.cabinet-extension.enhanced .slide.is-active { visibility: visible; pointer-events: auto; }
.cabinet-extension.enhanced .slide.is-active .photo { opacity: 1; }
.cabinet-extension.enhanced .slide.is-active figcaption { visibility: visible; }
.cabinet-extension .controls { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem 2rem; margin-top: .8rem; }
.cabinet-extension .transport { display: flex; gap: .6rem; align-items: center; }
.cabinet-extension .arrow { display: grid; place-items: center; color: #52614b; background: transparent; border: 1px solid #d8d9cb; border-radius: 50%; width: 44px; height: 44px; font-size: 1.2rem; }
.cabinet-extension .play { display: inline-flex; justify-content: center; align-items: center; gap: .65rem; border: 1px solid #d8d9cb; background: transparent; color: #354330; border-radius: 2rem; min-height: 44px; min-width: 8rem; padding: .55rem 1rem; font-size: .8rem; }
.cabinet-extension .play:hover, .cabinet-extension .arrow:hover { background: #e9ece2; }
.cabinet-extension .play:disabled { color: #65675c; cursor: default; background: transparent; }
.cabinet-extension .thumbnails { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; width: 15rem; max-width: 100%; }
.cabinet-extension .thumbnails button { padding: 3px; border: 1px solid transparent; background: transparent; border-radius: .25rem; min-height: 44px; opacity: .65; }
.cabinet-extension .thumbnails button[aria-pressed="true"] { border-color: #52614b; opacity: 1; }
.cabinet-extension .thumbnails button:hover { opacity: 1; }
.cabinet-extension .thumbnails img { width: 100%; aspect-ratio: 1; object-fit: cover; object-position: 50% 65%; border-radius: .15rem; }
.cabinet-extension .motion-note { flex-basis: 100%; margin: 0; font-size: .8rem; color: #65675c; }
.cabinet-extension .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 600px) {
  .cabinet-extension .photo { aspect-ratio: 3 / 4; min-height: 0; max-height: none; border-radius: .35rem; }
  .cabinet-extension .controls { justify-content: center; gap: 1rem; }
  .cabinet-extension .transport { justify-content: space-between; width: 100%; }
  .cabinet-extension .thumbnails { width: 100%; max-width: 18rem; }
}
@media (prefers-reduced-motion: reduce) {
  .cabinet-extension.enhanced .slide, .cabinet-extension.enhanced .slide .photo { transition: none; }
  .cabinet-extension .photo video { display: none; }
  .cabinet-extension .photo .video-poster { display: block; }
}
@media print {
  .cabinet-extension .controls, .cabinet-extension .photo video { display: none !important; }
  .cabinet-extension .photo .video-poster { display: block; }
  .cabinet-extension.enhanced .stage { display: block; }
  .cabinet-extension.enhanced .slide { opacity: 1; visibility: visible; break-inside: avoid; margin: 1rem 0; }
  .cabinet-extension.enhanced .slide .photo { opacity: 1; }
  .cabinet-extension.enhanced .slide figcaption { visibility: visible; }
  .cabinet-extension .photo { max-width: 20rem; aspect-ratio: 3 / 4; min-height: 0; max-height: none; background: transparent; }
}
