/*
 Theme Name:   TopShine Theme
 Theme URI:    https://reactheme.com/products/wordpress/autodetail
 Description:  Autodetail Child
 Author:       ReacThemes
 Author URI:   http://reactheme.com
 Template:     autodetail
 Version:      1.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
 */

 .rtmega-menu-area .mobile-menu-area .rtmega-menu-mobile-sidebar .rtmega-menu-mobile-close {
    background: #d2a244 !important;

 }

 .elementor-4416 .elementor-element.elementor-element-a30a55e,
 .elementor-4416 .elementor-element.elementor-element-fb212fe {
     position: relative !important;
     display: inline-flex !important;
     align-items: center !important;
     justify-content: center !important;
     width: auto !important;
     max-width: max-content !important;
     height: 42px !important;
     min-height: 42px !important;
     padding: 0 24px !important;
     overflow: hidden !important;
     isolation: isolate !important;
 
     background: linear-gradient(
         135deg,
         #8f6b1d 0%,
         #c79b2c 18%,
         #f1d67a 38%,
         #fff4c7 50%,
         #d6aa3a 62%,
         #b8841f 82%,
         #7a5817 100%
     ) !important;
 
     border: 1px solid rgba(255, 226, 138, 0.55) !important;
     border-radius: 8px !important;
 
     color: #1f1a12 !important;
     font-weight: 700 !important;
     letter-spacing: 0.5px !important;
 
     box-shadow:
         0 4px 14px rgba(191, 145, 32, 0.35),
         inset 0 1px 0 rgba(255, 255, 255, 0.45),
         inset 0 -1px 0 rgba(120, 82, 10, 0.25) !important;
 
     transition: all 0.3s ease !important;
 }
 
 .elementor-4416 .elementor-element.elementor-element-a30a55e::before,
 .elementor-4416 .elementor-element.elementor-element-fb212fe::before {
     content: '' !important;
     position: absolute !important;
     top: 0 !important;
     left: -70% !important;
     width: 45% !important;
     height: 100% !important;
     z-index: 1 !important;
     pointer-events: none !important;
 
     background: linear-gradient(
         120deg,
         rgba(255, 255, 255, 0) 0%,
         rgba(255, 255, 255, 0.2) 30%,
         rgba(255, 255, 255, 0.85) 50%,
         rgba(255, 255, 255, 0.2) 70%,
         rgba(255, 255, 255, 0) 100%
     ) !important;
 
     transform: skewX(-25deg) !important;
     transition: left 0.65s ease !important;
 }
 
 .elementor-4416 .elementor-element.elementor-element-a30a55e:hover,
 .elementor-4416 .elementor-element.elementor-element-fb212fe:hover {
     transform: translateY(-2px) !important;
     color: #16120c !important;
 
     background: linear-gradient(
         135deg,
         #a2771f 0%,
         #d4a632 18%,
         #f6df8d 38%,
         #ffffff 50%,
         #e0b84a 62%,
         #c38d21 82%,
         #876019 100%
     ) !important;
 
     border-color: rgba(255, 240, 170, 0.8) !important;
 
     box-shadow:
         0 8px 20px rgba(191, 145, 32, 0.5),
         0 0 18px rgba(255, 223, 130, 0.28),
         inset 0 1px 0 rgba(255, 255, 255, 0.7),
         inset 0 -1px 0 rgba(120, 82, 10, 0.22) !important;
 }
 
 .elementor-4416 .elementor-element.elementor-element-a30a55e:hover::before,
 .elementor-4416 .elementor-element.elementor-element-fb212fe:hover::before {
     left: 130% !important;
 }
 
 .elementor-4416 .elementor-element.elementor-element-a30a55e .elementor-widget-container,
 .elementor-4416 .elementor-element.elementor-element-fb212fe .elementor-widget-container {
     position: relative !important;
     z-index: 2 !important;
     width: 100% !important;
     height: 100% !important;
     display: flex !important;
     align-items: center !important;
     justify-content: center !important;
     background: transparent !important;
 }
 
 .elementor-4416 .elementor-element.elementor-element-a30a55e .rts__main__btn,
 .elementor-4416 .elementor-element.elementor-element-fb212fe .rts__main__btn {
     position: relative !important;
     z-index: 3 !important;
     display: inline-flex !important;
     align-items: center !important;
     justify-content: center !important;
     width: 100% !important;
     height: 100% !important;
     min-height: 0 !important;
     padding: 0 !important;
     margin: 0 !important;
     background: transparent !important;
     border: 0 !important;
     box-shadow: none !important;
     color: #1f1a12 !important;
     text-decoration: none !important;
     overflow: visible !important;
 }
 
 .elementor-4416 .elementor-element.elementor-element-a30a55e .rts__main__btn span,
 .elementor-4416 .elementor-element.elementor-element-fb212fe .rts__main__btn span {
     position: relative !important;
     z-index: 4 !important;
     display: inline-block !important;
     color: #1f1a12 !important;
     opacity: 1 !important;
     visibility: visible !important;
     transform: none !important;
 }
 
 .elementor-4416 .elementor-element.elementor-element-a30a55e:hover .rts__main__btn,
 .elementor-4416 .elementor-element.elementor-element-a30a55e:hover .rts__main__btn span,
 .elementor-4416 .elementor-element.elementor-element-fb212fe:hover .rts__main__btn,
 .elementor-4416 .elementor-element.elementor-element-fb212fe:hover .rts__main__btn span {
     color: #16120c !important;
     opacity: 1 !important;
     visibility: visible !important;
     transform: none !important;
 }
 
 .elementor-4416 .elementor-element.elementor-element-a30a55e .rts__main__btn::before,
 .elementor-4416 .elementor-element.elementor-element-a30a55e .rts__main__btn::after,
 .elementor-4416 .elementor-element.elementor-element-fb212fe .rts__main__btn::before,
 .elementor-4416 .elementor-element.elementor-element-fb212fe .rts__main__btn::after {
     content: none !important;
     display: none !important;
 }

 body .custom-button-1.elementor-widget-rt-button {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: max-content !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 24px !important;
    overflow: hidden !important;
    isolation: isolate !important;

    background: linear-gradient(
        135deg,
        #8f6b1d 0%,
        #c79b2c 18%,
        #f1d67a 38%,
        #fff4c7 50%,
        #d6aa3a 62%,
        #b8841f 82%,
        #7a5817 100%
    ) !important;

    border: 1px solid rgba(255, 226, 138, 0.55) !important;
    border-radius: 8px !important;

    color: #1f1a12 !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;

    box-shadow:
        0 4px 14px rgba(191, 145, 32, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.45),
        inset 0 -1px 0 rgba(120, 82, 10, 0.25) !important;

    transition: all 0.3s ease !important;
}

body .custom-button-1.elementor-widget-rt-button::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: -70% !important;
    width: 45% !important;
    height: 100% !important;
    z-index: 1 !important;
    pointer-events: none !important;

    background: linear-gradient(
        120deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.2) 30%,
        rgba(255, 255, 255, 0.85) 50%,
        rgba(255, 255, 255, 0.2) 70%,
        rgba(255, 255, 255, 0) 100%
    ) !important;

    transform: skewX(-25deg) !important;
    transition: left 0.65s ease !important;
}

body .custom-button-1.elementor-widget-rt-button:hover {
    transform: translateY(-2px) !important;

    background: linear-gradient(
        135deg,
        #a2771f 0%,
        #d4a632 18%,
        #f6df8d 38%,
        #ffffff 50%,
        #e0b84a 62%,
        #c38d21 82%,
        #876019 100%
    ) !important;

    border-color: rgba(255, 240, 170, 0.8) !important;

    box-shadow:
        0 8px 20px rgba(191, 145, 32, 0.5),
        0 0 18px rgba(255, 223, 130, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.7),
        inset 0 -1px 0 rgba(120, 82, 10, 0.22) !important;
}

body .custom-button-1.elementor-widget-rt-button:hover::before {
    left: 130% !important;
}

body .custom-button-1.elementor-widget-rt-button .elementor-widget-container {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
}

body .custom-button-1.elementor-widget-rt-button .rts__main__btn {
    position: relative !important;
    z-index: 3 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;

    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;

    border: 0 !important;
    box-shadow: none !important;
    color: #1f1a12 !important;
    text-decoration: none !important;
    overflow: visible !important;
}

body .custom-button-1.elementor-widget-rt-button .rts__main__btn span {
    position: relative !important;
    z-index: 4 !important;
    display: inline-block !important;
    color: #1f1a12 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

body .custom-button-1.elementor-widget-rt-button:hover .rts__main__btn,
body .custom-button-1.elementor-widget-rt-button:hover .rts__main__btn span {
    color: #16120c !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

body .custom-button-1.elementor-widget-rt-button .rts__main__btn::before,
body .custom-button-1.elementor-widget-rt-button .rts__main__btn::after,
body .custom-button-1.elementor-widget-rt-button .rts__main__btn:hover::before,
body .custom-button-1.elementor-widget-rt-button .rts__main__btn:hover::after {
    content: none !important;
    display: none !important;
    background: transparent !important;
}

body .custom-button-1.elementor-widget-rt-button {
    box-sizing: border-box !important;
}

body .custom-button-1.elementor-widget-rt-button .elementor-widget-container {
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body .custom-button-1.elementor-widget-rt-button .rts__main__btn {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    margin: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    line-height: 1 !important;
    text-align: center !important;
}

body .custom-button-1.elementor-widget-rt-button .rts__main__btn span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 100% !important;

    line-height: 1 !important;
    text-align: center !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;
}

body .elementor-element.elementor-element-224c185 .reactheme__service_content .rts__main__btn {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    max-width: max-content !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 24px !important;
    margin: 0 !important;

    overflow: hidden !important;
    isolation: isolate !important;

    background: linear-gradient(
        135deg,
        #8f6b1d 0%,
        #c79b2c 18%,
        #f1d67a 38%,
        #fff4c7 50%,
        #d6aa3a 62%,
        #b8841f 82%,
        #7a5817 100%
    ) !important;

    border: 1px solid rgba(255, 226, 138, 0.55) !important;
    border-radius: 8px !important;

    color: #1f1a12 !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;

    box-shadow:
        0 4px 14px rgba(191, 145, 32, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.45),
        inset 0 -1px 0 rgba(120, 82, 10, 0.25) !important;

    transition: all 0.3s ease !important;
}

body .elementor-element.elementor-element-224c185 .reactheme__service_content .rts__main__btn::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: -70% !important;
    width: 45% !important;
    height: 100% !important;
    z-index: 1 !important;
    pointer-events: none !important;

    background: linear-gradient(
        120deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.2) 30%,
        rgba(255, 255, 255, 0.85) 50%,
        rgba(255, 255, 255, 0.2) 70%,
        rgba(255, 255, 255, 0) 100%
    ) !important;

    transform: skewX(-25deg) !important;
    transition: left 0.65s ease !important;
}

body .elementor-element.elementor-element-224c185 .reactheme__service_content .rts__main__btn:hover {
    transform: translateY(-2px) !important;

    background: linear-gradient(
        135deg,
        #a2771f 0%,
        #d4a632 18%,
        #f6df8d 38%,
        #ffffff 50%,
        #e0b84a 62%,
        #c38d21 82%,
        #876019 100%
    ) !important;

    border-color: rgba(255, 240, 170, 0.8) !important;

    box-shadow:
        0 8px 20px rgba(191, 145, 32, 0.5),
        0 0 18px rgba(255, 223, 130, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.7),
        inset 0 -1px 0 rgba(120, 82, 10, 0.22) !important;
}

body .elementor-element.elementor-element-224c185 .reactheme__service_content .rts__main__btn:hover::before {
    left: 130% !important;
}

body .elementor-element.elementor-element-224c185 .reactheme__service_content .rts__main__btn span {
    position: relative !important;
    z-index: 3 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 100% !important;

    color: #1f1a12 !important;
    opacity: 1 !important;
    visibility: visible !important;

    line-height: 1 !important;
    text-align: center !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;
}

body .elementor-element.elementor-element-224c185 .reactheme__service_content .rts__main__btn:hover span {
    color: #16120c !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

body .elementor-element.elementor-element-224c185 .reactheme__service_content .rts__main__btn::after,
body .elementor-element.elementor-element-224c185 .reactheme__service_content .rts__main__btn:hover::after {
    content: none !important;
    display: none !important;
}

/* ==========================================================================
   Top Shine — Custom dark 404 page
   ========================================================================== */

   body.error404 {
    margin: 0;
    background: #080808;
}

body.error404 .ts-404,
body.error404 .ts-404 *,
body.error404 .ts-404 *::before,
body.error404 .ts-404 *::after {
    box-sizing: border-box;
}

body.error404 .ts-404 {
    --color-red: #ed001f;
    --color-red-dark: #b90018;
    --color-white: #ffffff;
    --color-text: #aaaeb5;
    --color-background: #080808;

    position: relative;
    display: flex;
    width: 100%;
    min-height: calc(100svh - 100px);
    overflow: hidden;
    color: var(--color-white);
    background:
        radial-gradient(
            circle at 50% 38%,
            #242428 0%,
            #151517 38%,
            #0d0d0f 62%,
            var(--color-background) 82%
        );
    isolation: isolate;
}

body.error404 .ts-404__container {
    position: relative;
    z-index: 2;
    display: flex;
    width: min(100%, 1440px);
    min-height: calc(100svh - 100px);
    margin: 0 auto;
    padding:
        clamp(80px, 9vw, 140px)
        clamp(24px, 5vw, 80px)
        clamp(100px, 10vw, 150px);
    flex-direction: column;
    justify-content: center;
}

body.error404 .ts-404__content {
    position: relative;
    display: flex;
    width: min(100%, 900px);
    margin: auto;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

body.error404 .ts-404__eyebrow {
    margin: 0 0 28px;
    color: var(--color-red);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.22em;
    line-height: 1.3;
    text-transform: uppercase;
    opacity: 0;
    transform: translateY(20px);
    animation: ts404FadeUp 600ms 100ms ease forwards;
}

/* ==========================================================================
   404 number
   ========================================================================== */

body.error404 .ts-404__number {
    display: flex;
    margin: 0 0 42px;
    align-items: center;
    justify-content: center;
    color: var(--color-red);
    font-size: clamp(130px, 20vw, 270px);
    font-weight: 900;
    letter-spacing: -0.1em;
    line-height: 0.68;
    white-space: nowrap;
    user-select: none;
}

body.error404 .ts-404__number > span {
    display: inline-block;
    opacity: 0;
    transform: translateY(50px) scale(0.84);
    animation: ts404NumberIn 800ms
        cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

body.error404 .ts-404__number > span:nth-child(1) {
    animation-delay: 120ms;
}

body.error404 .ts-404__number > span:nth-child(2) {
    animation-delay: 230ms;
}

body.error404 .ts-404__number > span:nth-child(3) {
    animation-delay: 340ms;
}

body.error404 .ts-404__number .ts-404__zero {
    position: relative;
    color: transparent;
    -webkit-text-stroke:
        clamp(12px, 1.8vw, 25px)
        var(--color-red);
    animation:
        ts404NumberIn 800ms 230ms
            cubic-bezier(0.16, 1, 0.3, 1) forwards,
        ts404Pulse 3s 1.3s ease-in-out infinite;
}

/* ==========================================================================
   Text content
   ========================================================================== */

body.error404 .ts-404__title {
    max-width: 800px;
    margin: 0;
    color: var(--color-white);
    font-size: clamp(38px, 5vw, 70px);
    font-weight: 800;
    letter-spacing: -0.055em;
    line-height: 1.03;
    opacity: 0;
    transform: translateY(25px);
    animation: ts404FadeUp 750ms 450ms ease forwards;
}

body.error404 .ts-404__description {
    max-width: 640px;
    margin: 28px auto 0;
    color: var(--color-text);
    font-size: clamp(15px, 1.5vw, 18px);
    font-weight: 400;
    line-height: 1.7;
    opacity: 0;
    transform: translateY(25px);
    animation: ts404FadeUp 750ms 570ms ease forwards;
}

/* ==========================================================================
   Button
   ========================================================================== */

body.error404 .ts-404__actions {
    display: flex;
    margin-top: 38px;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: translateY(25px);
    animation: ts404FadeUp 750ms 680ms ease forwards;
}

body.error404 .ts-404__button {
    position: relative;
    display: inline-flex;
    min-height: 58px;
    padding: 0 30px;
    overflow: hidden;
    align-items: center;
    gap: 22px;
    justify-content: center;
    border: 2px solid var(--color-red);
    border-radius: 4px;
    color: var(--color-white);
    background: var(--color-red);
    box-shadow: 0 12px 30px rgba(237, 0, 31, 0.14);
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    transition:
        color 250ms ease,
        background-color 250ms ease,
        border-color 250ms ease,
        box-shadow 250ms ease,
        transform 250ms ease;
}

body.error404 .ts-404__button::before {
    position: absolute;
    top: 0;
    left: -120%;
    width: 70%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.32),
        transparent
    );
    content: "";
    transform: skewX(-20deg);
    transition: left 550ms ease;
}

body.error404 .ts-404__button span {
    position: relative;
    z-index: 1;
}

body.error404 .ts-404__button:hover,
body.error404 .ts-404__button:focus-visible {
    color: var(--color-white);
    border-color: var(--color-red-dark);
    background: var(--color-red-dark);
    box-shadow: 0 17px 38px rgba(237, 0, 31, 0.28);
    outline: none;
    transform: translateY(-4px);
}

body.error404 .ts-404__button:hover::before,
body.error404 .ts-404__button:focus-visible::before {
    left: 150%;
}

body.error404 .ts-404__arrow {
    font-size: 21px;
    line-height: 1;
    transition: transform 250ms ease;
}

body.error404 .ts-404__button:hover .ts-404__arrow,
body.error404 .ts-404__button:focus-visible .ts-404__arrow {
    transform: translateX(6px);
}

/* ==========================================================================
   Background decorations
   ========================================================================== */

body.error404 .ts-404__background,
body.error404 .ts-404__grid {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

body.error404 .ts-404__background {
    z-index: 0;
    overflow: hidden;
}

body.error404 .ts-404__grid {
    opacity: 0.3;
    background-image:
        linear-gradient(
            rgba(255, 255, 255, 0.035) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.035) 1px,
            transparent 1px
        );
    background-size: 48px 48px;
    -webkit-mask-image:
        linear-gradient(
            to bottom,
            transparent,
            #000 20%,
            #000 75%,
            transparent
        );
    mask-image:
        linear-gradient(
            to bottom,
            transparent,
            #000 20%,
            #000 75%,
            transparent
        );
}

body.error404 .ts-404__orb {
    position: absolute;
    display: block;
    border-radius: 50%;
    pointer-events: none;
}

body.error404 .ts-404__orb--one {
    top: -220px;
    right: -170px;
    width: 590px;
    height: 590px;
    background: var(--color-red);
    filter: blur(35px);
    opacity: 0.12;
    animation: ts404OrbOne 12s ease-in-out infinite alternate;
}

body.error404 .ts-404__orb--two {
    bottom: -300px;
    left: -230px;
    width: 620px;
    height: 620px;
    border: 90px solid var(--color-red);
    filter: blur(14px);
    opacity: 0.11;
    animation: ts404OrbTwo 15s ease-in-out infinite alternate;
}

/* ==========================================================================
   Moving road line
   ========================================================================== */

body.error404 .ts-404__road {
    position: absolute;
    right: clamp(24px, 5vw, 80px);
    bottom: 40px;
    left: clamp(24px, 5vw, 80px);
    height: 2px;
    overflow: hidden;
    opacity: 0.22;
    pointer-events: none;
}

body.error404 .ts-404__road span {
    position: absolute;
    inset: 0;
    width: 200%;
    background: repeating-linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.85) 0,
        rgba(255, 255, 255, 0.85) 45px,
        transparent 45px,
        transparent 80px
    );
    animation: ts404Road 2.2s linear infinite;
}

/* ==========================================================================
   Animations
   ========================================================================== */

@keyframes ts404NumberIn {
    from {
        opacity: 0;
        transform: translateY(50px) scale(0.84);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes ts404FadeUp {
    from {
        opacity: 0;
        transform: translateY(25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes ts404Pulse {
    0%,
    100% {
        filter: drop-shadow(0 0 0 rgba(237, 0, 31, 0));
    }

    50% {
        filter: drop-shadow(0 0 24px rgba(237, 0, 31, 0.4));
    }
}

@keyframes ts404Road {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-80px);
    }
}

@keyframes ts404OrbOne {
    from {
        transform: translate3d(0, 0, 0) scale(1);
    }

    to {
        transform: translate3d(-55px, 65px, 0) scale(1.08);
    }
}

@keyframes ts404OrbTwo {
    from {
        transform: translate3d(0, 0, 0) rotate(0deg);
    }

    to {
        transform: translate3d(70px, -45px, 0) rotate(14deg);
    }
}

/* ==========================================================================
   Tablet
   ========================================================================== */

@media (max-width: 991px) {
    body.error404 .ts-404 {
        min-height: calc(100svh - 80px);
    }

    body.error404 .ts-404__container {
        min-height: calc(100svh - 80px);
        padding-top: 100px;
        padding-bottom: 120px;
    }

    body.error404 .ts-404__number {
        margin-bottom: 36px;
        font-size: clamp(135px, 28vw, 225px);
    }

    body.error404 .ts-404__title {
        font-size: clamp(40px, 7vw, 60px);
    }
}

/* ==========================================================================
   Mobile
   ========================================================================== */

@media (max-width: 767px) {
    body.error404 .ts-404 {
        min-height: calc(100svh - 70px);
    }

    body.error404 .ts-404__container {
        min-height: calc(100svh - 70px);
        padding: 80px 20px 100px;
    }

    body.error404 .ts-404__content {
        width: 100%;
    }

    body.error404 .ts-404__eyebrow {
        margin-bottom: 22px;
        font-size: 11px;
    }

    body.error404 .ts-404__number {
        margin-bottom: 32px;
        font-size: clamp(110px, 42vw, 175px);
        letter-spacing: -0.11em;
    }

    body.error404 .ts-404__number .ts-404__zero {
        -webkit-text-stroke: 12px var(--color-red);
    }

    body.error404 .ts-404__title {
        font-size: clamp(34px, 10vw, 48px);
        line-height: 1.06;
    }

    body.error404 .ts-404__description {
        margin-top: 22px;
        font-size: 15px;
        line-height: 1.65;
    }

    body.error404 .ts-404__actions {
        width: 100%;
        margin-top: 30px;
    }

    body.error404 .ts-404__button {
        width: 100%;
        min-height: 56px;
        padding: 0 22px;
    }

    body.error404 .ts-404__orb--one {
        top: -170px;
        right: -220px;
        width: 440px;
        height: 440px;
    }

    body.error404 .ts-404__orb--two {
        bottom: -240px;
        left: -240px;
        width: 480px;
        height: 480px;
        border-width: 65px;
    }

    body.error404 .ts-404__road {
        right: 20px;
        bottom: 28px;
        left: 20px;
    }
}

/* ==========================================================================
   Very small mobile
   ========================================================================== */

@media (max-width: 380px) {
    body.error404 .ts-404__container {
        padding-right: 16px;
        padding-left: 16px;
    }

    body.error404 .ts-404__number {
        font-size: 105px;
    }

    body.error404 .ts-404__number .ts-404__zero {
        -webkit-text-stroke: 10px var(--color-red);
    }

    body.error404 .ts-404__title {
        font-size: 32px;
    }
}

/* ==========================================================================
   Reduced motion accessibility
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
    body.error404 .ts-404 *,
    body.error404 .ts-404 *::before,
    body.error404 .ts-404 *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-delay: 0ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* FLUENT FORM */
#fluent-custom-wrap {
    background-color: #060919 !important;
    padding: 35px 30px !important;
    border-radius: 8px !important;
}

#fluent-custom-wrap .fluentform_wrapper_1 {
    background: transparent !important;
    box-shadow: none !important;
}

#fluent-custom-wrap .ff-el-group {
    margin-bottom: 20px !important;
}

#fluent-custom-wrap .ff-el-form-control,
#fluent-custom-wrap input[type="text"], 
#fluent-custom-wrap input[type="email"], 
#fluent-custom-wrap input[type="tel"], 
#fluent-custom-wrap textarea {
    background-color: transparent !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 6px !important;
    padding: 14px 16px !important;
    font-size: 15px !important;
    width: 100% !important;
    height: auto !important;
    box-sizing: border-box !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
}

#fluent-custom-wrap .iti input[type="tel"] {
    padding-left: 65px !important;
}

#fluent-custom-wrap .iti__country-list {
    background-color: #0d1127 !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

#fluent-custom-wrap .iti__country:hover {
    background-color: #1e254a !important;
}


#fluent-custom-wrap .ff-el-form-control:focus,
#fluent-custom-wrap textarea:focus {
    border-color: #c79b2c !important;
    box-shadow: 0 0 8px rgba(199, 155, 44, 0.25) !important;
    outline: none !important;
}

#fluent-custom-wrap ::placeholder {
    color: #a0a5b5 !important;
    opacity: 0.7;
}

#fluent-custom-wrap .ff-btn-submit {
    background: linear-gradient(135deg, #8f6b1d 0%, #c79b2c 18%, #f1d67a 38%, #fff4c7 50%, #d6aa3a 62%, #b8841f 82%, #7a5817 100%) !important;
    color: #000000 !important;
    font-weight: 600 !important;
    text-transform: none !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 12px 35px !important;
    font-size: 16px !important;
    cursor: pointer !important;
    display: inline-block !important;
    box-shadow: none !important;
    transform: translateY(0);
    transition: all 0.4s ease !important;
}

#fluent-custom-wrap .ff-btn-submit:hover {
    transform: translateY(-3px) !important;
    filter: drop-shadow(0 0 8px rgba(214, 170, 58, 0.7)) !important;
    box-shadow: 0 4px 15px rgba(143, 107, 29, 0.4) !important;
    background: linear-gradient(135deg, #a47d25 0%, #d6aa3a 18%, #fff4c7 50%, #c79b2c 82%, #8f6b1d 100%) !important; /* Obrnjen preliv za dinamičen premik svetlobe */
}

#premium-counter-hp span.rs-counter {
    display: none !important;
}

/* ==========================================================================
   Smooth polished gold Elementor button
   Add "custom-button-gold" as a CSS class to each Elementor button.
   The #custom-button-gold selector is retained for the existing ID.
   ========================================================================== */

   body #custom-button-gold,
   body .custom-button-gold {
       position: relative !important;
       display: inline-flex !important;
       align-items: center !important;
       justify-content: center !important;
   
       width: auto !important;
       max-width: max-content !important;
       height: 42px !important;
       min-height: 42px !important;
       padding: 0 !important;
   
       overflow: hidden !important;
       isolation: isolate !important;
       cursor: pointer !important;
   
       background: linear-gradient(
           135deg,
           #8f6b1d 0%,
           #c79b2c 18%,
           #f1d67a 38%,
           #fff4c7 50%,
           #d6aa3a 62%,
           #b8841f 82%,
           #7a5817 100%
       ) !important;
   
       border: 1px solid rgba(255, 226, 138, 0.6) !important;
       border-radius: 8px !important;
   
       color: #1f1a12 !important;
   
       box-shadow:
           0 4px 14px rgba(191, 145, 32, 0.35),
           inset 0 1px 0 rgba(255, 255, 255, 0.5),
           inset 0 -1px 0 rgba(120, 82, 10, 0.28) !important;
   
       translate: 0 0;
       backface-visibility: hidden !important;
       -webkit-font-smoothing: antialiased;
   
       transition:
           translate 0.4s cubic-bezier(0.22, 1, 0.36, 1),
           border-color 0.4s ease,
           box-shadow 0.4s ease !important;
   }
   
   /* Smooth brighter gold layer */
   body #custom-button-gold::after,
   body .custom-button-gold::after {
       content: "" !important;
       position: absolute !important;
       inset: 0 !important;
       z-index: 0 !important;
   
       background: linear-gradient(
           135deg,
           #a2771f 0%,
           #d4a632 18%,
           #f6df8d 38%,
           #ffffff 50%,
           #e0b84a 62%,
           #c38d21 82%,
           #876019 100%
       ) !important;
   
       border-radius: inherit !important;
       opacity: 0 !important;
       pointer-events: none !important;
   
       transition: opacity 0.45s ease !important;
   }
   
   /* Moving polished white shine */
   body #custom-button-gold::before,
   body .custom-button-gold::before {
       content: "" !important;
       position: absolute !important;
       top: 0 !important;
       left: -55% !important;
       z-index: 1 !important;
   
       width: 40% !important;
       height: 100% !important;
   
       background: linear-gradient(
           120deg,
           rgba(255, 255, 255, 0) 0%,
           rgba(255, 255, 255, 0.15) 28%,
           rgba(255, 255, 255, 0.85) 50%,
           rgba(255, 255, 255, 0.15) 72%,
           rgba(255, 255, 255, 0) 100%
       ) !important;
   
       transform: translate3d(0, 0, 0) skewX(-25deg) !important;
       pointer-events: none !important;
       will-change: transform;
   
       transition:
           transform 0.8s cubic-bezier(0.22, 1, 0.36, 1) !important;
   }
   
   /* Hover on the complete Elementor widget */
   body #custom-button-gold:hover,
   body .custom-button-gold:hover {
       translate: 0 -2px;
   
       border-color: rgba(255, 240, 170, 0.9) !important;
   
       box-shadow:
           0 8px 22px rgba(191, 145, 32, 0.48),
           0 0 20px rgba(255, 223, 130, 0.28),
           inset 0 1px 0 rgba(255, 255, 255, 0.72),
           inset 0 -1px 0 rgba(120, 82, 10, 0.2) !important;
   }
   
   body #custom-button-gold:hover::after,
   body .custom-button-gold:hover::after {
       opacity: 1 !important;
   }
   
   body #custom-button-gold:hover::before,
   body .custom-button-gold:hover::before {
       transform: translate3d(500%, 0, 0) skewX(-25deg) !important;
   }
   
   /* Elementor container */
   body #custom-button-gold .elementor-widget-container,
   body .custom-button-gold .elementor-widget-container {
       position: relative !important;
       z-index: 2 !important;
   
       display: flex !important;
       align-items: stretch !important;
       justify-content: center !important;
   
       width: auto !important;
       height: 100% !important;
   
       padding: 0 !important;
       margin: 0 !important;
       background: transparent !important;
   }
   
   /* Clickable button link */
   body #custom-button-gold .rts__main__btn,
   body .custom-button-gold .rts__main__btn {
       position: relative !important;
       z-index: 3 !important;
   
       display: inline-flex !important;
       align-items: center !important;
       justify-content: center !important;
   
       width: auto !important;
       height: 100% !important;
       min-height: 42px !important;
   
       padding: 0 24px !important;
       margin: 0 !important;
   
       background: transparent !important;
       background-color: transparent !important;
       background-image: none !important;
   
       border: 0 !important;
       border-radius: inherit !important;
       box-shadow: none !important;
   
       color: #1f1a12 !important;
       font-weight: 700 !important;
       letter-spacing: 0.5px !important;
       line-height: 1 !important;
       text-align: center !important;
       text-decoration: none !important;
       white-space: nowrap !important;
   
       opacity: 1 !important;
       visibility: visible !important;
       transform: none !important;
   
       transition: color 0.35s ease !important;
   }
   
   /* Button text */
   body #custom-button-gold .rts__main__btn span,
   body .custom-button-gold .rts__main__btn span {
       position: relative !important;
       z-index: 4 !important;
   
       display: inline-flex !important;
       align-items: center !important;
       justify-content: center !important;
   
       width: auto !important;
       height: auto !important;
   
       padding: 0 !important;
       margin: 0 !important;
   
       color: inherit !important;
       line-height: 1 !important;
       text-align: center !important;
       white-space: nowrap !important;
   
       opacity: 1 !important;
       visibility: visible !important;
       transform: none !important;
   
       transition: color 0.35s ease !important;
   }
   
   /* Keep text visible and centred on hover */
   body #custom-button-gold:hover .rts__main__btn,
   body #custom-button-gold:hover .rts__main__btn span,
   body .custom-button-gold:hover .rts__main__btn,
   body .custom-button-gold:hover .rts__main__btn span {
       color: #16120c !important;
       opacity: 1 !important;
       visibility: visible !important;
       transform: none !important;
   }
   
   /* Remove the original theme button animation and overlay */
   body #custom-button-gold .rts__main__btn::before,
   body #custom-button-gold .rts__main__btn::after,
   body #custom-button-gold .rts__main__btn:hover::before,
   body #custom-button-gold .rts__main__btn:hover::after,
   body .custom-button-gold .rts__main__btn::before,
   body .custom-button-gold .rts__main__btn::after,
   body .custom-button-gold .rts__main__btn:hover::before,
   body .custom-button-gold .rts__main__btn:hover::after {
       content: none !important;
       display: none !important;
       background: transparent !important;
   }
   
   /* Click feedback */
   body #custom-button-gold:active,
   body .custom-button-gold:active {
       translate: 0 0;
   
       box-shadow:
           0 3px 10px rgba(191, 145, 32, 0.35),
           inset 0 1px 0 rgba(255, 255, 255, 0.55),
           inset 0 -1px 0 rgba(120, 82, 10, 0.25) !important;
   
       transition-duration: 0.12s !important;
   }
   
   /* Keyboard focus */
   body #custom-button-gold:focus-within,
   body .custom-button-gold:focus-within {
       outline: 2px solid rgba(255, 238, 170, 0.9) !important;
       outline-offset: 3px !important;
   }
   
   /* Reduced motion accessibility */
   @media (prefers-reduced-motion: reduce) {
       body #custom-button-gold,
       body #custom-button-gold::before,
       body #custom-button-gold::after,
       body #custom-button-gold .rts__main__btn,
       body #custom-button-gold .rts__main__btn span,
       body .custom-button-gold,
       body .custom-button-gold::before,
       body .custom-button-gold::after,
       body .custom-button-gold .rts__main__btn,
       body .custom-button-gold .rts__main__btn span {
           transition: none !important;
       }
   
       body #custom-button-gold:hover,
       body .custom-button-gold:hover {
           translate: 0 0;
       }
   
       body #custom-button-gold:hover::before,
       body .custom-button-gold:hover::before {
           transform: translate3d(0, 0, 0) skewX(-25deg) !important;
       }
   }
