
/* =========================================================
   TILDA / TILDIFY FULL FIX — SAFE VERSION
========================================================= */

/* =========================
   ZERO BLOCK STABILITY FIX
========================= */

.t396__elem {
    backface-visibility: hidden;
    -webkit-font-smoothing: antialiased;
}

/* ВАЖНО:
   Не ставим overflow: visible всем .t396__artboard глобально.
   Если это нужно для конкретного блока, лучше писать точечно:
   #recXXXXXXXXXX .t396__artboard { overflow: visible !important; }
*/


/* =========================
   PREVENT HORIZONTAL SCROLL
========================= */

html,
body {
    overflow-x: hidden !important;
    max-width: 100%;
}

body {
    overflow-y: visible;
}

#allrecords {
    overflow-x: hidden;
}


/* =========================
   MOBILE SCROLL SAFETY
========================= */

@media screen and (max-width: 640px) {
    html {
        height: auto !important;
        min-height: 100% !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    body {
        height: auto !important;
        min-height: 100% !important;
        overflow-x: hidden !important;
        overflow-y: visible !important;
        position: static !important;
        touch-action: pan-y !important;
        -webkit-overflow-scrolling: touch !important;
    }

    #allrecords {
        height: auto !important;
        overflow-x: hidden !important;
        overflow-y: visible !important;
        touch-action: pan-y !important;
    }

    .t396,
    .t396__artboard,
    .t396__elem,
    .tn-atom {
        touch-action: pan-y;
    }

    .t396__filter,
    .t396__carrier {
        pointer-events: none;
    }
}


/* =========================
   FLOAT ANIMATION
========================= */

@keyframes floatSoft {
    0% {
        transform: translate3d(0, 0, 0);
    }

    33% {
        transform: translate3d(0, -25px, 0);
    }

    66% {
        transform: translate3d(0, 5px, 0);
    }

    100% {
        transform: translate3d(0, 0, 0);
    }
}

.float-element {
    animation: floatSoft 5s ease-in-out infinite;
    will-change: transform;
}


/* =========================
   DIGITAL GLOW
========================= */

.digital-glow {
    position: relative;
    overflow: hidden;
}

.digital-glow::before {
    content: '';
    position: absolute;
    inset: -20%;
    background:
        radial-gradient(circle at 20% 20%, rgba(120,120,255,.18), transparent 30%),
        radial-gradient(circle at 80% 30%, rgba(0,255,200,.12), transparent 35%),
        radial-gradient(circle at 50% 80%, rgba(255,255,255,.06), transparent 40%);
    filter: blur(80px);
    z-index: 0;
    animation: glowMove 16s linear infinite;
}

@keyframes glowMove {
    0% {
        transform: translate3d(0,0,0) scale(1);
    }

    50% {
        transform: translate3d(-2%,-3%,0) scale(1.08);
    }

    100% {
        transform: translate3d(0,0,0) scale(1);
    }
}


/* =========================
   NOISE OVERLAY
========================= */

body::after {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    opacity: .035;
    mix-blend-mode: soft-light;
    background-image: url("https://grainy-gradients.vercel.app/noise.svg");
}


/* =========================
   HOVER LIFT
========================= */

.hover-lift {
    transition:
        transform .45s cubic-bezier(.16,1,.3,1),
        box-shadow .45s ease;
    will-change: transform;
}

.hover-lift:hover {
    transform: translateY(-10px) scale(1.02);
}


/* =========================
   GLASS EFFECT
========================= */

.glass-card {
    background: rgba(255,255,255,.04);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 0 40px rgba(255,255,255,.04);
}


/* =========================
   SAFE FULL WIDTH BLOCK
========================= */

#rec2235878701 {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

#rec2235878701 .t-container,
#rec2235878701 .t686__container {
    max-width: 100vw !important;
    width: 100vw !important;
    padding-left: var(--dbmTE100PaddingContainer);
    padding-right: var(--dbmTE100PaddingContainer);
    box-sizing: border-box;
}


/* =========================
   BUTTON FIX — LIMITED
========================= */

/* Не поднимаем все a/button глобально.
   Если нужен z-index, лучше задавать классу конкретной кнопки. */

.t-btn {
    position: relative;
    z-index: 5;
}


/* =========================
   IMAGE RENDER FIX
========================= */

img {
    max-width: 100%;
    height: auto;
    display: block;
}


/* =========================
   CUSTOM CURSOR
========================= */

.cursor-dot,
.cursor-outline,
#cursor-layer {
    mix-blend-mode: difference !important;
}


/* =========================
   HOVER SCALE
========================= */

.hover-scale {
    transition: transform .45s cubic-bezier(.22,1,.36,1);
    transform-origin: center;
    will-change: transform;
}

.hover-scale:hover {
    transform: translateY(-4px) scale(1.04);
    z-index: 20;
}


/* ===========================================
   Safari / iOS — скрыть элементы управления видео
=========================================== */

video {
    -webkit-appearance: none !important;
    appearance: none !important;
    object-fit: cover;
    outline: none;
}

video::-webkit-media-controls {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

video::-webkit-media-controls-enclosure {
    display: none !important;
}

video::-webkit-media-controls-panel {
    display: none !important;
}

video::-webkit-media-controls-overlay-play-button {
    display: none !important;
}

video::-webkit-media-controls-start-playback-button {
    display: none !important;
    -webkit-appearance: none !important;
}

video::-webkit-media-controls-play-button,
video::-webkit-media-controls-timeline,
video::-webkit-media-controls-current-time-display,
video::-webkit-media-controls-time-remaining-display,
video::-webkit-media-controls-volume-slider,
video::-webkit-media-controls-volume-control-container,
video::-webkit-media-controls-mute-button,
video::-webkit-media-controls-fullscreen-button,
video::-webkit-media-controls-seek-back-button,
video::-webkit-media-controls-seek-forward-button {
    display: none !important;
}

video,
video:focus,
video:active {
    outline: none !important;
    -webkit-tap-highlight-color: transparent;
}
</style>