/* ============================================================
   Smilora — лінійні декоративні елементи на фоні (за контентом)
   ============================================================ */

.smilora-float-decor {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
}

.smilora-float-decor__item {
    position: absolute;
    color: var(--black--family--color2, #060b2c);
    opacity: 0.28;
    will-change: transform;
}

.smilora-float-decor__item img {
    display: block;
    width: 100%;
    height: auto;
}

.smilora-float-decor__item--tooth-1 {
    width: clamp(88px, 11vw, 148px);
    top: 6%;
    left: 2%;
    animation: smilora-float-a 14s ease-in-out infinite;
}

.smilora-float-decor__item--smile-1 {
    width: clamp(110px, 14vw, 180px);
    top: 14%;
    right: 2%;
    animation: smilora-float-b 17s ease-in-out infinite;
}

.smilora-float-decor__item--sparkle-1 {
    width: clamp(48px, 6vw, 78px);
    bottom: 18%;
    left: 5%;
    animation: smilora-float-c 12s ease-in-out infinite;
}

.smilora-float-decor__item--brush-1 {
    width: clamp(100px, 12vw, 160px);
    bottom: 8%;
    right: 4%;
    animation: smilora-float-d 16s ease-in-out infinite;
}

.smilora-float-decor__item--tooth-2 {
    width: clamp(72px, 9vw, 118px);
    top: 48%;
    right: 10%;
    opacity: 0.22;
    animation: smilora-float-e 19s ease-in-out infinite;
}

.smilora-float-decor__item--sparkle-2 {
    width: clamp(40px, 5vw, 64px);
    top: 58%;
    left: 12%;
    opacity: 0.24;
    animation: smilora-float-f 13s ease-in-out infinite;
}

.smilora-float-decor__ring {
    position: absolute;
    border: 2px solid rgba(58, 68, 152, 0.28);
    border-radius: 50%;
}

.smilora-float-decor__ring--1 {
    width: clamp(140px, 16vw, 220px);
    height: clamp(140px, 16vw, 220px);
    top: 4%;
    right: 16%;
    animation: smilora-float-a 22s ease-in-out infinite reverse;
}

.smilora-float-decor__ring--2 {
    width: clamp(96px, 11vw, 160px);
    height: clamp(96px, 11vw, 160px);
    bottom: 6%;
    left: 18%;
    animation: smilora-float-b 18s ease-in-out infinite;
}

@keyframes smilora-float-a {
    0%, 100% { transform: translate(0, 0) rotate(0deg); }
    50% { transform: translate(12px, -18px) rotate(4deg); }
}

@keyframes smilora-float-b {
    0%, 100% { transform: translate(0, 0) rotate(0deg); }
    50% { transform: translate(-16px, 14px) rotate(-5deg); }
}

@keyframes smilora-float-c {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(10px, 12px) scale(1.06); }
}

@keyframes smilora-float-d {
    0%, 100% { transform: translate(0, 0) rotate(-2deg); }
    50% { transform: translate(-12px, -10px) rotate(3deg); }
}

@keyframes smilora-float-e {
    0%, 100% { transform: translate(0, 0) rotate(6deg); }
    50% { transform: translate(14px, 8px) rotate(-3deg); }
}

@keyframes smilora-float-f {
    0%, 100% { transform: translate(0, 0); }
    50% { transform: translate(-8px, -14px); }
}

@media (prefers-reduced-motion: reduce) {
    .smilora-float-decor__item,
    .smilora-float-decor__ring {
        animation: none !important;
    }
}

@media (max-width: 767.98px) {
    .smilora-float-decor__item--brush-1,
    .smilora-float-decor__item--tooth-2 {
        display: none;
    }

    .smilora-float-decor__item {
        opacity: 0.2;
    }
}
