    
html, body { overflow-x: auto; }
.ft-modal-overlay { opacity: 0; transition: opacity 220ms ease; }
.ft-modal-overlay.ft-open { opacity: 1; }
.ft-modal-panel { transform: translateY(8px) scale(0.98); opacity: 0; transition: transform 220ms ease, opacity 220ms ease; will-change: transform, opacity; }
.ft-modal-overlay.ft-open .ft-modal-panel { transform: translateY(0) scale(1); opacity: 1; }
img { max-width: 100%; height: auto; display: block; }
.truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* Standard line-clamp with fallbacks */
.clamp-2 {
    display: -webkit-box;
    display: -moz-box;
    display: box;
    -webkit-line-clamp: 2;
    -moz-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    -moz-box-orient: vertical;
    box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* Fallback for browsers that don't support line-clamp */
@supports not (-webkit-line-clamp: 2) {
    .clamp-2 {
        max-height: 3em; /* Approximately 2 lines */
        line-height: 1.5;
    }
}
.blur-active { filter: blur(5px); pointer-events: none; user-select: none; }
.slide-menu { transform: translateX(-100%); transition: transform 0.35s ease; }
.slide-menu.open { transform: translateX(0); }
@keyframes slide-scroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.nav-active { color: #48BEEC; }
#mainPage { position: fixed; top: var(--promo-height, 0px); left: 0; right: 0; z-index: 30; background: rgba(255,255,255,0.95); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); box-shadow: 0 1px 6px rgba(16,24,40,0.04); }
.lg-prev, .lg-next, .lg-autoplay-button { display: none !important; }
.lg-counter { position: fixed !important; top: 12px !important; left: 12px !important; right: auto !important; bottom: auto !important; width: auto !important; padding: 6px 10px !important; font-size: 16px !important; line-height: 1 !important; background: transparent !important; border-radius: 8px !important; z-index: 99999 !important; }
.lg-backdrop { background-color: rgba(0, 0, 0, 0.75) !important; }
.lg-outer { background-color: transparent !important; }
@media (max-width: 640px) { .lg-outer img, .lg-outer .lg-image { max-width: 100% !important; max-height: 100vh !important; width: auto !important; height: auto !important; object-fit: contain !important; } }
.lg-outer.lg-zoomed img, .lg-outer.lg-zoomed .lg-image { max-width: none !important; max-height: none !important; }