﻿:root {
    --mp-blue: #3d73ff;
    --mp-blue-strong: #4f80ff;
    --mp-dark: #343f5a;
    --mp-text: #222222;
    --mp-muted: #7a7a7a;
    --mp-surface: #ffffff;
    --mp-border: rgba(117, 117, 117, 0.11);
    --mp-shadow: 0 18px 48px rgba(25, 44, 84, 0.14);
    --mp-radius: 24px;
    --mp-ease: cubic-bezier(.22,1,.36,1);
}

html {
    scroll-behavior: smooth;
}

body {
    overflow-x: hidden;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 12% 14%, rgba(79, 128, 255, 0.12), transparent 28%),
        radial-gradient(circle at 88% 16%, rgba(61, 115, 255, 0.08), transparent 24%),
        radial-gradient(circle at 50% 100%, rgba(96, 91, 229, 0.08), transparent 26%);
    z-index: 0;
}

.site-header,
.site-main,
.site-footer {
    position: relative;
    z-index: 1;
}

.site-header {
    transition: background-color .35s var(--mp-ease), box-shadow .35s var(--mp-ease), backdrop-filter .35s var(--mp-ease);
}

.site-header.is-stuck {
    background: rgba(255,255,255,.92);
    box-shadow: 0 10px 40px rgba(19, 37, 76, .12);
    backdrop-filter: blur(14px);
}

.wpr-nav-menu > li,
.wpr-mobile-nav-menu > li,
.sub-menu > li,
.wpr-mobile-sub-menu > li,
.wpr-anim-on-scroll,
.elementor-widget,
.e-con,
.elementor-column,
.elementor-section {
    transition: transform .7s var(--mp-ease), opacity .7s var(--mp-ease), box-shadow .35s var(--mp-ease);
}

.elementor-invisible,
.reveal-pending {
    opacity: 0;
    transform: translateY(28px);
}

.is-visible {
    opacity: 1 !important;
    transform: none !important;
}

.wpr-button,
button,
input,
textarea,
.wpr-stt-btn,
.wpr-pc-btn,
.wpr-mobile-toggle {
    transition: transform .3s var(--mp-ease), box-shadow .3s var(--mp-ease), background-color .3s var(--mp-ease), color .3s var(--mp-ease), border-color .3s var(--mp-ease);
}

.wpr-button:hover,
button:hover,
.wpr-stt-btn:hover,
.wpr-pc-btn:hover,
.wpr-mobile-toggle:hover {
    transform: translateY(-2px);
    box-shadow: var(--mp-shadow);
}

.wpr-mobile-nav-menu-container .wpr-mobile-toggle {
    cursor: pointer;
}

.wpr-mobile-nav-menu-container .wpr-mobile-nav-menu,
.wpr-mobile-nav-menu-container .wpr-mobile-mega-menu-wrap {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height .45s var(--mp-ease), opacity .35s var(--mp-ease);
}

.wpr-mobile-nav-menu-container.is-open .wpr-mobile-nav-menu,
.wpr-mobile-nav-menu-container.is-open .wpr-mobile-mega-menu-wrap {
    max-height: 1200px;
    opacity: 1;
}

.wpr-mobile-nav-menu .menu-item-has-children > .sub-menu,
.wpr-mobile-nav-menu .menu-item-has-children > .wpr-mobile-sub-menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s var(--mp-ease);
}

.wpr-mobile-nav-menu .menu-item-has-children.is-open > .sub-menu,
.wpr-mobile-nav-menu .menu-item-has-children.is-open > .wpr-mobile-sub-menu {
    max-height: 800px;
}

.wpr-mobile-nav-menu .menu-item-has-children > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.wpr-mobile-sub-icon {
    display: inline-flex;
    width: 12px;
    height: 12px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform .3s var(--mp-ease);
}

.menu-item-has-children.is-open .wpr-mobile-sub-icon {
    transform: rotate(225deg);
}

.wpr-form.is-submitting .wpr-double-bounce {
    display: inline-flex !important;
}

.wpr-form-status {
    margin-top: 16px;
    padding: 14px 16px;
    border-radius: 16px;
    font-size: 14px;
    line-height: 1.5;
    display: none;
}

.wpr-form-status.is-visible {
    display: block;
}

.wpr-form-status.is-success {
    background: rgba(61, 115, 255, 0.1);
    color: var(--mp-dark);
}

.wpr-form-status.is-error {
    background: rgba(203, 48, 48, 0.1);
    color: #cb3030;
}

.wpr-form-field[aria-invalid='true'],
.wpr-form-field-textual[aria-invalid='true'] {
    border-color: #cb3030 !important;
    box-shadow: 0 0 0 4px rgba(203, 48, 48, 0.08);
}

.wpr-stt-btn {
    opacity: 0;
    visibility: hidden;
}

.wpr-stt-btn.is-visible {
    opacity: 1 !important;
    visibility: visible !important;
}

.elementor-background-video-hosted {
    object-fit: cover;
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
