@custom-variant dark (&:is(.dark *));

:root {
    --font-size: 14px;
    --background: #ffffff;
    --foreground: oklch(0.145 0 0);
    --card: #ffffff;
    --card-foreground: oklch(0.145 0 0);
    --popover: oklch(1 0 0);
    --popover-foreground: oklch(0.145 0 0);
    --primary: #030213;
    --primary-foreground: oklch(1 0 0);
    --secondary: oklch(0.95 0.0058 264.53);
    --secondary-foreground: #030213;
    --muted: #ececf0;
    --muted-foreground: #717182;
    --accent: #e9ebef;
    --accent-foreground: #030213;
    --destructive: #d4183d;
    --destructive-foreground: #ffffff;
    --border: rgba(0, 0, 0, 0.1);
    --input: transparent;
    --input-background: #f3f3f5;
    --switch-background: #cbced4;
    --font-weight-medium: 500;
    --font-weight-normal: 400;
    --ring: oklch(0.708 0 0);
    --chart-1: oklch(0.646 0.222 41.116);
    --chart-2: oklch(0.6 0.118 184.704);
    --chart-3: oklch(0.398 0.07 227.392);
    --chart-4: oklch(0.828 0.189 84.429);
    --chart-5: oklch(0.769 0.188 70.08);
    --radius: 0.625rem;
    --sidebar: oklch(0.985 0 0);
    --sidebar-foreground: oklch(0.145 0 0);
    --sidebar-primary: #030213;
    --sidebar-primary-foreground: oklch(0.985 0 0);
    --sidebar-accent: oklch(0.97 0 0);
    --sidebar-accent-foreground: oklch(0.205 0 0);
    --sidebar-border: oklch(0.922 0 0);
    --sidebar-ring: oklch(0.708 0 0);
    --font-size: 14px;
    --background: #ffffff;
    --foreground: #030213;
    --card: #ffffff;
    --card-foreground: #030213;
    --primary: #030213;
    --primary-foreground: #ffffff;
    --secondary: #f3f3f5;
    --secondary-foreground: #030213;
    --muted: #ececf0;
    --muted-foreground: #717182;
    --border: rgba(0, 0, 0, 0.1);
    --radius: 0.625rem;
}

.dark {
    --background: oklch(0.145 0 0);
    --foreground: oklch(0.985 0 0);
    --card: oklch(0.145 0 0);
    --card-foreground: oklch(0.985 0 0);
    --popover: oklch(0.145 0 0);
    --popover-foreground: oklch(0.985 0 0);
    --primary: oklch(0.985 0 0);
    --primary-foreground: oklch(0.205 0 0);
    --secondary: oklch(0.269 0 0);
    --secondary-foreground: oklch(0.985 0 0);
    --muted: oklch(0.269 0 0);
    --muted-foreground: oklch(0.708 0 0);
    --accent: oklch(0.269 0 0);
    --accent-foreground: oklch(0.985 0 0);
    --destructive: oklch(0.396 0.141 25.723);
    --destructive-foreground: oklch(0.637 0.237 25.331);
    --border: oklch(0.269 0 0);
    --input: oklch(0.269 0 0);
    --ring: oklch(0.439 0 0);
    --font-weight-medium: 500;
    --font-weight-normal: 400;
    --chart-1: oklch(0.488 0.243 264.376);
    --chart-2: oklch(0.696 0.17 162.48);
    --chart-3: oklch(0.769 0.188 70.08);
    --chart-4: oklch(0.627 0.265 303.9);
    --chart-5: oklch(0.645 0.246 16.439);
    --sidebar: oklch(0.205 0 0);
    --sidebar-foreground: oklch(0.985 0 0);
    --sidebar-primary: oklch(0.488 0.243 264.376);
    --sidebar-primary-foreground: oklch(0.985 0 0);
    --sidebar-accent: oklch(0.269 0 0);
    --sidebar-accent-foreground: oklch(0.985 0 0);
    --sidebar-border: oklch(0.269 0 0);
    --sidebar-ring: oklch(0.439 0 0);
}

@theme inline {
    --color-background: var(--background);
    --color-foreground: var(--foreground);
    --color-card: var(--card);
    --color-card-foreground: var(--card-foreground);
    --color-popover: var(--popover);
    --color-popover-foreground: var(--popover-foreground);
    --color-primary: var(--primary);
    --color-primary-foreground: var(--primary-foreground);
    --color-secondary: var(--secondary);
    --color-secondary-foreground: var(--secondary-foreground);
    --color-muted: var(--muted);
    --color-muted-foreground: var(--muted-foreground);
    --color-accent: var(--accent);
    --color-accent-foreground: var(--accent-foreground);
    --color-destructive: var(--destructive);
    --color-destructive-foreground: var(--destructive-foreground);
    --color-border: var(--border);
    --color-input: var(--input);
    --color-input-background: var(--input-background);
    --color-switch-background: var(--switch-background);
    --color-ring: var(--ring);
    --color-chart-1: var(--chart-1);
    --color-chart-2: var(--chart-2);
    --color-chart-3: var(--chart-3);
    --color-chart-4: var(--chart-4);
    --color-chart-5: var(--chart-5);
    --radius-sm: calc(var(--radius) - 4px);
    --radius-md: calc(var(--radius) - 2px);
    --radius-lg: var(--radius);
    --radius-xl: calc(var(--radius) + 4px);
    --color-sidebar: var(--sidebar);
    --color-sidebar-foreground: var(--sidebar-foreground);
    --color-sidebar-primary: var(--sidebar-primary);
    --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
    --color-sidebar-accent: var(--sidebar-accent);
    --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
    --color-sidebar-border: var(--sidebar-border);
    --color-sidebar-ring: var(--sidebar-ring);
}

@layer base {
    * {
        @apply border-border outline-ring/50;
    }

    body {
        @apply bg-background text-foreground;
    }
}

/**
 * Base typography. This is not applied to elements which have an ancestor with a Tailwind text class.
 */
@layer base {
    :where(:not(:has([class*=" text-"]), :not(:has([class^="text-"])))) {
        h1 {
            font-size: var(--text-2xl);
            font-weight: var(--font-weight-medium);
            line-height: 1.5;
        }

        h2 {
            font-size: var(--text-xl);
            font-weight: var(--font-weight-medium);
            line-height: 1.5;
        }

        h3 {
            font-size: var(--text-lg);
            font-weight: var(--font-weight-medium);
            line-height: 1.5;
        }

        h4 {
            font-size: var(--text-base);
            font-weight: var(--font-weight-medium);
            line-height: 1.5;
        }

        p {
            font-size: var(--text-base);
            font-weight: var(--font-weight-normal);
            line-height: 1.5;
        }

        label {
            font-size: var(--text-base);
            font-weight: var(--font-weight-medium);
            line-height: 1.5;
        }

        button {
            font-size: var(--text-base);
            font-weight: var(--font-weight-medium);
            line-height: 1.5;
        }

        input {
            font-size: var(--text-base);
            font-weight: var(--font-weight-normal);
            line-height: 1.5;
        }
    }
}

html {
    font-size: var(--font-size);
}

/* Custom scrollbar styles */
@layer utilities {
    .scrollbar-hide {
        -ms-overflow-style: none;  /* Internet Explorer 10+ */
        scrollbar-width: none;  /* Firefox */
    }

    .scrollbar-hide::-webkit-scrollbar {
        display: none;  /* Safari and Chrome */
    }

    /* Utility for text truncation */
    .line-clamp-1 {
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
    }

    .line-clamp-2 {
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .line-clamp-3 {
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }

    .line-clamp-4 {
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4;
    }
}



* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: var(--font-size);
    scroll-behavior: smooth;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif;
    background: var(--background);
    color: var(--foreground);
    line-height: 1.5;
}

h1 { font-size: 1.875rem; font-weight: 500; line-height: 1.5; }
h2 { font-size: 1.5rem; font-weight: 500; line-height: 1.5; }
h3 { font-size: 1.25rem; font-weight: 500; line-height: 1.5; }
p { font-size: 1rem; font-weight: 400; line-height: 1.5; }

.page-container { max-width: 1280px; margin: 0 auto; padding: 0 1rem; }

/* Scrollable container */
.scroll-container {
    display: flex;
    overflow-x: auto;
    gap: 1.5rem;
    padding-bottom: 1rem;
    scrollbar-width: thin;
    scroll-snap-type: x mandatory;
}

.scroll-container > * {
    scroll-snap-align: start;
}

.scroll-container::-webkit-scrollbar {
    height: 8px;
}

.scroll-container::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

.scroll-container::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 10px;
}

.scroll-container::-webkit-scrollbar-thumb:hover {
    background: #555;
}

/* Hide scrollbar */
.scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.scrollbar-hide::-webkit-scrollbar {
    display: none;
}

/* Card styles */
.card {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
}

/* Button styles */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 1rem;
    border-radius: var(--radius);
    font-weight: 500;
    transition: all 0.2s;
    cursor: pointer;
    border: none;
    text-decoration: none;
}

.btn-primary {
    background-color: #1C3FCA;
    color: white;
}

.btn-primary:hover {
    background-color: #1534a8;
}

.btn-outline {
    background: transparent;
    border: 1px solid var(--border);
    color: var(--foreground);
}

.btn-outline:hover {
    background: var(--secondary);
}

/* Input styles */
.input {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: #f3f3f5;
    font-size: 1rem;
}

.input:focus {
    outline: none;
    border-color: var(--primary);
}

/* Badge styles */
.badge {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 500;
}

.badge-primary {
    background: var(--primary);
    color: var(--primary-foreground);
}

.badge-secondary {
    background: var(--secondary);
    color: var(--secondary-foreground);
}

.badge-outline {
    background: transparent;
    border: 1px solid var(--border);
    color: var(--foreground);
}

/* Hero section */
.hero-section {
    position: relative;
    min-height: 90vh;
    display: flex;
    align-items: center;
    
    overflow: hidden;
}

.hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
}

.hero-content {
    position: relative;
    z-index: 10;
    color: white;
}

.bluelogo{
    color: #1C3FCA ;
    font-weight:500 !important
}

.grey800{

color:#1f2937;
font-weight:500 !important
}

/* Slick carousel customization */
.slick-prev:before,
.slick-next:before {
    color: #1C3FCA;
    font-size: 30px;
}

.slick-dots li button:before {
    color: #1C3FCA;
}

/* Animations */
@keyframes bounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}

.animate-bounce {
    animation: bounce 2s infinite;
}

@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
}

.animate-pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
/* Card styles */
.card {
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
}

/* Button styles */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 1rem;
    border-radius: var(--radius);
    font-weight: 500;
    transition: all 0.2s;
    cursor: pointer;
    border: none;
    text-decoration: none;
}

.btn-sm {
    padding: 0.375rem 0.75rem;
    font-size: 0.875rem;
}

.btn-primary {
    background-color: #1C3FCA;
    color: white;
}

.btn-primary:hover {
    background-color: #1534a8;
}

.btn-outline {
    background: transparent;
    border: 1px solid var(--border);
    color: var(--foreground);
}

.btn-outline:hover {
    background: var(--secondary);
}

/* Badge styles */
.badge {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 500;
}

.badge-green {
    background: #16a34a;
    color: white;
}

.badge-blue {
    background: #2563eb;
    color: white;
}

/* Property card hover effect */
.property-card {
    transition: all 0.3s ease;
}

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

/* Grid layout */
.properties-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 1.5rem;
}

/* Icon container */
.icon-container {
    width: 3rem;
    height: 3rem;
    background-color: rgba(28, 63, 202, 0.1);
    border-radius: var(--radius);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
}

.icon-primary {
    color: #1C3FCA;
}

.swiper {
    width: 100%;
    padding: 40px 0;
}

/* .swiper-slide {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.15);
    text-align: center;
    padding: 20px;
}

.swiper-slide img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 10px;
} */

.swiper-slide h3 {
    margin: 15px 0 10px;
    font-size: 18px;
}

.swiper-slide p {
    font-size: 14px;
    color: #666;
}

/* Navigation arrows color */
.swiper-button-next,
.swiper-button-prev {
    color: #000;
}

/* Pagination dots */
.swiper-pagination-bullet {
    background: #000;
}


/* Tab styles */
.tabs {
    border-bottom: 1px solid var(--border);
    margin-bottom: 2rem;
}

.tab {
    padding: 1rem 1.5rem;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    transition: all 0.2s;
}

.tab:hover {
    background: var(--secondary);
}

.tab.active {
    border-bottom-color: #1C3FCA;
    color: #1C3FCA;
}

.tab-content {
    display: none;
}

.tab-content.active {
    display: block;
}

/* Sticky form */
.sticky-form {
    position: sticky;
    top: 1rem;
}

/* Scrollable container */
.scroll-container {
    display: flex;
    overflow-x: auto;
    gap: 1.5rem;
    padding-bottom: 1rem;
    scrollbar-width: thin;
}

.scroll-container::-webkit-scrollbar {
    height: 8px;
}

.scroll-container::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

.bluelogo{
    color: #1C3FCA ;
    font-weight:500 !important;
}

.grey800{

color:#1f2937;
font-weight:500 !important;
}

.scroll-container::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 10px;
}

/* Slick carousel customization */
.slick-prev:before,
.slick-next:before {
    color: #1C3FCA;
    font-size: 30px;
}

.slick-dots li button:before {
    color: #1C3FCA;
}
@media (min-width: 1536px) {
    .container{max-width: 1280px !important;}
}
.card{min-width: auto !important;}
.swiper-button-next:after, .swiper-button-prev:after{font-size: 30px !important;}
.swiper-pagination{display: none;}
.featurepackage .swiper-pagination {display: block;}
.featurepackage .swiper-pagination-bullets.swiper-pagination-horizontal{ bottom:-35px !important;}
/* Responsive css*/

@media (max-width: 768px) {
    .properties-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 1024px) {
    .sticky-form {
        position: relative;
    }
}