.alert {
    padding: 15px 20px;
    margin-bottom: 15px;
    border: 1px solid transparent;
    border-radius: 5px;
    font-size: 14px;
}

/* Success Alert */
.alert-success {
    color: #155724;
    background-color: #d4edda;
    border-color: #c3e6cb;
}

/* Danger Alert */
.alert-danger {
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
}

.alert-warning {
    color: #856404;
    background-color: #fff3cd;
    border-color: #ffeeba;
}

.text-place , .text-place p {
    text-align: justify; line-height: 35px; font-size: 13px;
}

.bg-lines path {
            stroke-dasharray: 1000;
            stroke-dashoffset: 1000;
            animation: draw 3s ease forwards;
        }

        @keyframes draw {
            to {
                stroke-dashoffset: 0;
            }
        }

        .glow-bg {
            background: radial-gradient(circle, rgba(235, 240, 255, 1) 0%, rgba(248, 250, 255, 0) 70%);
        }

        /* استایل‌های برای ایجاد افکت ایزومتریک و سه بعدی موبایل */
        .isometric-container {
            perspective: 1000px;
            transform-style: preserve-3d;
        }

        .isometric-phone {
            transform: rotateX(60deg) rotateZ(-45deg);
            box-shadow: -20px 20px 30px rgba(0, 0, 0, 0.1);
        }

        .isometric-element {
            transform: translateZ(30px);
            box-shadow: -10px 10px 15px rgba(0, 0, 0, 0.2);
        }

        .isometric-coin {
            transform: translateZ(50px) rotateX(-60deg) rotateZ(45deg);
            /* خنثی کردن چرخش والد برای سکه روی موبایل */
        }

        .nazar .swiper-slide {
            opacity: 0.2;
            transition: opacity 0.5s ease;
        }

        .nazar .swiper-slide-active {
            opacity: 1;
        }

        /* تغییر رنگ آواتار اسلایدهای غیرفعال (کمی روشن‌تر) */
        .nazar .swiper-slide:not(.swiper-slide-active) .avatar-box {
            background-color: #6a95ed;
        }

        /* انیمیشن برای خط تزئینی پس‌زمینه (SVG متحرک) */
        @keyframes floatLine {
            0% {
                transform: translateY(0) rotate(45deg);
                opacity: 0.5;
            }

            50% {
                transform: translateY(15px) rotate(45deg);
                opacity: 1;
            }

            100% {
                transform: translateY(0) rotate(45deg);
                opacity: 0.5;
            }
        }

        .animated-bg-svg {
            position: absolute;
            top: -20px;
            left: 55%;
            animation: floatLine 4s ease-in-out infinite;
            z-index: -1;
        }

        /* تنظیم ظاهر اینپوت بدون استایل‌های پیش‌فرض */
        input[type="number"]::-webkit-inner-spin-button,
        input[type="number"]::-webkit-outer-spin-button {
            -webkit-appearance: none;
            margin: 0;
        }

        /* انیمیشن نوار قیمت (Ticker) */
        .ticker-wrapper {
            display: flex;
            width: max-content;
            /* حرکت به سمت راست در حالت RTL */
            animation: tickerScroll 30s linear infinite;
        }

        /* توقف انیمیشن هنگام هاور (رفتن ماوس روی نوار) */
        .ticker-wrapper:hover {
            animation-play-state: paused;
        }

        @keyframes tickerScroll {
            0% {
                transform: translateX(0);
            }

            100% {
                transform: translateX(50%);
            }
        }


        /* انیمیشن موج‌های پس‌زمینه گیفت کارت‌ها */
        @keyframes waveMove {
            0% {
                transform: translateX(0) scale(1);
            }

            50% {
                transform: translateX(-20px) scale(1.05);
            }

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

        .animated-wave {
            animation: waveMove 8s ease-in-out infinite;
            opacity: 0.15;
        }

        /* افکت هاور برای کارت‌ها */
        .gift-card-wrapper {
            transition: all 0.3s ease;
        }

        .gift-card-wrapper:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
        }

        /* انیمیشن کوچک برای لوگو هنگام هاور */
        .gift-card-wrapper:hover .card-logo {
            transform: scale(1.08);
            transition: transform 0.3s ease;
        }

        .card-logo {
            transition: transform 0.3s ease;
        }

        /* ترفند گرید برای باز و بسته شدن نرم آکاردئون بدون نیاز به دونستن ارتفاع دقیق */
        .accordion-content {
            display: grid;
            grid-template-rows: 0fr;
            transition: grid-template-rows 0.4s ease-in-out, opacity 0.3s ease-in-out;
            opacity: 0;
        }

        .accordion-content.is-open {
            grid-template-rows: 1fr;
            opacity: 1;
        }

        .accordion-inner {
            overflow: hidden;
        }

        /* افکت شناور برای شکل‌های دکوراتیو پس‌زمینه */
        @keyframes floatShape {

            0%,
            100% {
                transform: translateY(0) rotate(0deg);
            }

            50% {
                transform: translateY(-15px) rotate(5deg);
            }
        }

        .float-shape {
            animation: floatShape 6s ease-in-out infinite;
        }

        /* انیمیشن گرادیانت متحرک برای پس‌زمینه کارت */
        .cta-gradient-bg {
            background: linear-gradient(-45deg, #1e3a8a, #2563eb, #4f46e5, #0284c7);
            background-size: 300% 300%;
            animation: gradientBG 10s ease infinite;
        }

        @keyframes gradientBG {
            0% {
                background-position: 0% 50%;
            }

            50% {
                background-position: 100% 50%;
            }

            100% {
                background-position: 0% 50%;
            }
        }

        /* افکت درخشش (Shine) روی دکمه اصلی */
        .btn-shine {
            position: relative;
            overflow: hidden;
        }

        .btn-shine::after {
            content: '';
            position: absolute;
            top: -50%;
            left: -60%;
            width: 20%;
            height: 200%;
            background: rgba(255, 255, 255, 0.4);
            transform: rotate(30deg);
            animation: shine 3s infinite ease-in-out;
        }

        @keyframes shine {
            0% {
                left: -60%;
                opacity: 0;
            }

            10% {
                opacity: 1;
            }

            20% {
                left: 120%;
                opacity: 0;
            }

            100% {
                left: 120%;
                opacity: 0;
            }
        }

        /* انیمیشن شناور بودن المان‌های تزئینی */
        .float-slow {
            animation: floatSlow 6s ease-in-out infinite;
        }

        @keyframes floatSlow {

            0%,
            100% {
                transform: translateY(0) scale(1) rotate(0deg);
            }

            50% {
                transform: translateY(-20px) scale(1.05) rotate(5deg);
            }
        }

        /* انیمیشن تغییر شکل نرم (Morphing) برای هاله پشت عکس */
        @keyframes morphingBlob {
            0% {
                border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
            }

            50% {
                border-radius: 30% 60% 70% 40% / 50% 60% 30% 60%;
            }

            100% {
                border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
            }
        }

        .morphing-blob {
            animation: morphingBlob 8s ease-in-out infinite;
            background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
        }

        /* انیمیشن شناور بودن عکس دوم */
        @keyframes floatImage {

            0%,
            100% {
                transform: translateY(0px);
            }

            50% {
                transform: translateY(-15px);
            }
        }

        .float-img {
            animation: floatImage 5s ease-in-out infinite;
        }