/* Layout/style preservation plus independent interactive states. */
html { scroll-behavior: smooth; }
.reveal-text { opacity: 0; transform: translateX(-25px); transition: opacity .8s ease, transform .8s ease; }
.reveal-text.is-revealed { opacity: 1; transform: none; }
.ui-rich-text-17-183.reveal-text { transition-delay: .15s; }
.ti-widget .ti-read-more { background: none; border: 0; padding: 0; font: inherit; text-align: left; cursor: pointer; }
.ti-widget .ti-review-content { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.ti-widget .ti-review-content.review-expanded { display: block; overflow: visible; height: auto !important; max-height: none !important; }
.ti-widget .ti-reviews-container-wrapper { display: flex; align-items: flex-start; }
.ti-widget .ti-review-item[hidden] { display: none !important; }
.ti-widget .ti-review-item { flex-shrink: 0; }
.ui-back-to-top__button--autohide:not(.is-visible) { opacity: 0; pointer-events: none; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .reveal-text { opacity: 1; transform: none; transition: none; } }
.gallery-dialog { position: fixed; inset: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; border: 0; padding: 0; color: #999; background: #000; overflow: hidden; }
.gallery-dialog::backdrop { background: #000; }
.gallery-dialog .lg-toolbar { position: absolute; top: 0; left: 0; right: 0; opacity: 1; z-index: 5; }
.gallery-dialog .lg-counter { padding: 16px 20px; }
.gallery-stage { position: absolute; inset: 48px 0 115px; display: flex; align-items: center; justify-content: center; overflow: auto; }
.gallery-large { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.gallery-large.is-zoomed { max-width: none; max-height: none; }
.gallery-dialog .lg-prev, .gallery-dialog .lg-next { top: 45%; }
.gallery-caption { position: absolute; bottom: 87px; left: 0; right: 0; text-align: center; font: 16px/1.4 'Open Sans', sans-serif; padding: 5px 15px; }
.gallery-thumbnails { position: absolute; bottom: 0; left: 0; right: 0; display: flex; justify-content: center; gap: 5px; overflow-x: auto; padding: 10px; background: #0d0a0a; }
.gallery-thumbnails button { flex: 0 0 100px; height: 60px; padding: 0; border: 2px solid #fff; border-radius: 5px; overflow: hidden; background: #000; cursor: pointer; }
.gallery-thumbnails button[aria-current="true"] { border-color: #01d2e8; }
.gallery-thumbnails img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 767px) { .gallery-thumbnails { justify-content: flex-start; } .gallery-caption { font-size: 13px; } }
