/* Kranti Group — Luxury Site Overhaul Stylesheet */

/* --- 1. Typography & Global Rendering --- */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    overflow-x: hidden;
}

h1, h2, h3, h4 {
    letter-spacing: 0.06em !important;
    font-weight: 400 !important;
    text-transform: uppercase;
}

/* --- 2. Refraction Glassmorphic Headers --- */
.header-top {
    background: rgba(25, 25, 25, 0.72) !important;
    backdrop-filter: blur(20px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    transition: all 0.4s ease;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.15) !important;
}

/* --- 3. Custom Morphing Cursor --- */
.custom-cursor {
    width: 32px;
    height: 32px;
    border: 1.5px solid #C9A84C;
    border-radius: 50%;
    position: fixed;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 999999;
    transition: width 0.3s, height 0.3s, background-color 0.3s, border-color 0.3s;
    display: none; /* Enabled dynamically via JS */
}

.custom-cursor-dot {
    width: 6px;
    height: 6px;
    background-color: #C9A84C;
    border-radius: 50%;
    position: fixed;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 999999;
    display: none; /* Enabled dynamically via JS */
}

/* Cursor states */
.custom-cursor.hovered {
    width: 55px;
    height: 55px;
    background-color: rgba(201, 168, 76, 0.1);
    border-color: #C9A84C;
}

.custom-cursor.view-state {
    width: 80px;
    height: 80px;
    background-color: rgba(255, 255, 255, 0.95);
    border-color: transparent;
}

.custom-cursor::after {
    content: "VIEW";
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 10px;
    font-weight: bold;
    letter-spacing: 2px;
    color: #111;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: opacity 0.3s;
}

.custom-cursor.view-state::after {
    opacity: 1;
}

/* Hide default cursor on desktop for premium feel */
@media (min-width: 1024px) {
    body, a, button, input, select, textarea, [role="button"] {
        cursor: none !important;
    }
}

/* --- 4. Page Transition Curtain --- */
.page-transition-curtain {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: #0D0D12;
    z-index: 9999999;
    pointer-events: none;
    transform: translateY(0); /* Starts covered */
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.page-transition-curtain.loaded {
    transform: translateY(100%); /* Slides down to bottom to exit */
}

.page-transition-curtain.leaving {
    transform: translateY(0); /* Slides down from top to cover */
}

/* --- 5. Whitespace & Editorial Card Spacing --- */
.section-title {
    margin-bottom: 55px !important;
}

.about-area, .latest-properties, .testimonial-area, .partner-area, .footer-area {
    padding-top: 90px !important;
    padding-bottom: 90px !important;
}

/* Project card subtle hover translation & shadow override */
.single-property, .sin-blog, .sin-partner {
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease, border-color 0.4s ease !important;
    border: 1px solid rgba(0, 0, 0, 0.03) !important;
}

.single-property:hover, .sin-blog:hover, .sin-partner:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12), 0 0 15px rgba(201, 168, 76, 0.2) !important;
    border-color: rgba(201, 168, 76, 0.5) !important; /* Gold border accent on hover */
}

/* Spatial & luxury feel for CTA buttons */
.load-more, .form-btn {
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease, background-color 0.4s ease !important;
}

.load-more:hover, .form-btn:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1), 0 0 12px rgba(201, 168, 76, 0.4) !important; /* Subtle Gold shadow glow */
    outline: 1.5px solid #C9A84C !important; /* Gold outline accent */
}

/* Premium active glowing status light in copyright */
.status-indicator-dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #E66D1B;
    margin-left: 8px;
    box-shadow: 0 0 8px #E66D1B;
    animation: statusPulse 2s infinite ease-in-out;
}

@keyframes statusPulse {
    0%, 100% { opacity: 0.3; transform: scale(0.9); }
    50% { opacity: 1; transform: scale(1.1); }
}
