/**
 * Pt Event - Minimalist & Elegant Motion / Liquid Cursor
 * Subtle, clean, luxury micro-interactions without intrusive badges or text.
 */

/* ==========================================================
   1. MINIMAL LIQUID CURSOR
   ========================================================== */
@media (pointer: fine) and (hover: hover) {
    .pt-cursor-dot,
    .pt-cursor-ring {
        position: fixed;
        top: 0;
        left: 0;
        border-radius: 50%;
        pointer-events: none;
        z-index: 999999;
        transform: translate(-50%, -50%);
        will-change: transform, left, top;
        opacity: 0;
        transition: opacity 0.25s ease;
    }

    body.pt-cursor-active .pt-cursor-dot,
    body.pt-cursor-active .pt-cursor-ring {
        opacity: 1;
    }

    /* Minimal Gold Center Dot */
    .pt-cursor-dot {
        width: 6px;
        height: 6px;
        background: #c19b76;
        box-shadow: 0 0 8px rgba(193, 155, 118, 0.7);
        transition: transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.2s ease;
    }

    /* Fluid Trailing Outer Ring */
    .pt-cursor-ring {
        width: 32px;
        height: 32px;
        border: 1px solid rgba(193, 155, 118, 0.45);
        background: rgba(193, 155, 118, 0.03);
        transition: width 0.28s cubic-bezier(0.16, 1, 0.3, 1),
                    height 0.28s cubic-bezier(0.16, 1, 0.3, 1),
                    border-color 0.25s ease,
                    background-color 0.25s ease,
                    transform 0.15s ease;
    }

    /* Hover State on any clickable/interactive element */
    body.pt-cursor-hover .pt-cursor-ring {
        width: 48px;
        height: 48px;
        border-color: rgba(193, 155, 118, 0.85);
        background: rgba(193, 155, 118, 0.08);
    }
    body.pt-cursor-hover .pt-cursor-dot {
        transform: translate(-50%, -50%) scale(0.7);
        opacity: 0.6;
    }

    /* Click / Down State */
    body.pt-cursor-down .pt-cursor-ring {
        transform: translate(-50%, -50%) scale(0.8);
        border-color: #c19b76;
    }
    body.pt-cursor-down .pt-cursor-dot {
        transform: translate(-50%, -50%) scale(1.3);
    }

    /* Window Exit / Hidden */
    body.pt-cursor-hidden .pt-cursor-dot,
    body.pt-cursor-hidden .pt-cursor-ring {
        opacity: 0 !important;
    }

    /* Subtle Click Ripple */
    .pt-click-ripple {
        position: fixed;
        width: 24px;
        height: 24px;
        border-radius: 50%;
        border: 1px solid rgba(193, 155, 118, 0.6);
        pointer-events: none;
        z-index: 999998;
        transform: translate(-50%, -50%) scale(0);
        animation: ptRippleSimple 0.45s ease-out forwards;
    }

    @keyframes ptRippleSimple {
        0% {
            transform: translate(-50%, -50%) scale(0.5);
            opacity: 0.8;
        }
        100% {
            transform: translate(-50%, -50%) scale(2.2);
            opacity: 0;
        }
    }
}

/* Fallback for Touch Devices */
@media (hover: none), (pointer: coarse) {
    .pt-cursor-dot,
    .pt-cursor-ring,
    .pt-click-ripple {
        display: none !important;
    }
}

/* ==========================================================
   2. BASIC CARD HOVER & SMOOTH TRANSITIONS
   ========================================================== */
@media (pointer: fine) and (hover: hover) {
    .venue-card-link,
    .rooms1 .item,
    .rooms-page .item,
    .ref-card,
    .pt-service-card,
    .services .item,
    .gallery-item .item {
        position: relative;
        transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.35s ease;
        will-change: transform;
    }

    .venue-card-link:hover,
    .rooms1 .item:hover,
    .ref-card:hover,
    .pt-service-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
    }

    /* Subtle Image Zoom */
    .venue-card-link .position-re img,
    .rooms1 .item .position-re img,
    .rooms-page .item .position-re img,
    .gallery-item .item img {
        transition: transform 0.5s ease;
    }

    .venue-card-link:hover .position-re img,
    .rooms1 .item:hover .position-re img,
    .rooms-page .item:hover .position-re img,
    .gallery-item .item:hover img {
        transform: scale(1.03);
    }
}

/* Gentle Video Play Pulse */
.vid-butn {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.vid-butn:hover {
    transform: scale(1.06);
}

/* Progress Totop Hover */
.progress-wrap {
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}
.progress-wrap:hover {
    transform: translateY(-3px);
}

/* ==========================================================
   3. REDUCED MOTION SAFETY
   ========================================================== */
@media (prefers-reduced-motion: reduce) {
    .pt-cursor-dot,
    .pt-cursor-ring,
    .pt-click-ripple {
        display: none !important;
    }
    .venue-card-link,
    .rooms1 .item,
    .ref-card,
    .pt-service-card,
    .vid-butn,
    .progress-wrap {
        transform: none !important;
        transition: none !important;
    }
}
