/* Start custom CSS for html, class: .elementor-element-c1e5b75 */<style>
    /* --- FONTS & BASICS --- */
    @import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');

    .villa-container {
        font-family: 'Montserrat', sans-serif;
        color: #333;
        line-height: 1.8;
        background: #fdfdfd;
        overflow: hidden; /* Prevents scrollbar issues with parallax */
    }

    /* --- VARIABLES --- */
    :root {
        --villa-gold: #c5a059;    /* Luxury Gold/Bronze */
        --villa-dark: #1a1a1a;    /* Premium Black */
        --villa-grey: #f4f4f4;
    }

    /* --- HERO SECTION (Parallax) --- */
    .villa-hero {
        position: relative;
        background-image: url('https://punalu.com/wp-content/uploads/2026/03/BLOG-4-1-.png');
        background-size: cover;
        background-position: center;
        background-attachment: fixed; /* Parallax Effect */
        height: 60vh;
        min-height: 400px;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        color: white;
    }
    .villa-hero::before {
        content: '';
        position: absolute;
        top: 0; left: 0; right: 0; bottom: 0;
        background: rgba(0,0,0,0.4); /* Dark Overlay */
    }
    .hero-content {
        position: relative;
        z-index: 2;
        max-width: 800px;
        padding: 20px;
        border: 1px solid rgba(255,255,255,0.3);
        background: rgba(0,0,0,0.5);
        backdrop-filter: blur(5px);
    }
    .villa-hero h1 {
        font-family: 'Playfair Display', serif;
        font-size: 3rem;
        margin-bottom: 10px;
        line-height: 1.2;
        color:beige;
    }
    .villa-hero p { font-size: 1.1rem; letter-spacing: 1px; text-transform: uppercase; }

    /* --- INTRO (Floating Box) --- */
    .intro-box {
        max-width: 900px;
        margin: -50px auto 50px auto; /* Pulls box up over hero */
        background: white;
        padding: 40px;
        box-shadow: 0 10px 40px rgba(0,0,0,0.1);
        position: relative;
        z-index: 3;
        text-align: center;
        border-top: 5px solid var(--villa-gold);
    }

    /* --- SECTION: AESTHETICS (Image 2) --- */
    .aesthetic-section {
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: center;
        background: var(--villa-dark);
        color: white;
    }
    .aesthetic-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        min-height: 400px;
    }
    .aesthetic-text {
        padding: 50px;
    }
    .aesthetic-text h2 {
        font-family: 'Playfair Display', serif;
        color: var(--villa-gold);
        font-size: 2.2rem;
        margin-bottom: 20px;
    }
    .aesthetic-list {
        list-style: none;
        padding: 0;
    }
    .aesthetic-list li {
        margin-bottom: 12px;
        padding-left: 20px;
        border-left: 2px solid var(--villa-gold);
    }

    /* --- WEATHERPROOF GRID --- */
    .weather-container {
        max-width: 1100px;
        margin: 60px auto;
        text-align: center;
        padding: 0 20px;
    }
    .weather-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 30px;
        margin-top: 40px;
    }
    .weather-card {
        background: var(--villa-grey);
        padding: 30px;
        transition: transform 0.3s;
        border-bottom: 3px solid transparent;
    }
    .weather-card:hover {
        transform: translateY(-10px);
        border-bottom-color: var(--villa-gold);
        background: #fff;
        box-shadow: 0 5px 20px rgba(0,0,0,0.05);
    }
    .weather-icon { font-size: 2.5rem; margin-bottom: 15px; display: block; }

    /* --- INSTALLATION (Image 3) --- */
    .install-section {
        display: flex;
        flex-direction: row-reverse; /* Image on right */
        align-items: center;
        gap: 40px;
        max-width: 1200px;
        margin: 60px auto;
        padding: 20px;
    }
    .install-img { flex: 1; position: relative; }
    .install-img img {
        width: 100%;
        border-radius: 4px;
        box-shadow: 20px 20px 0px var(--villa-grey); /* Offset shadow effect */
    }
    .install-text { flex: 1; }
    .install-text h2 { font-family: 'Playfair Display', serif; font-size: 2rem; color: var(--villa-dark); }

    /* --- FAQ ACCORDION --- */
    .faq-villa {
        max-width: 800px;
        margin: 0 auto 80px auto;
        padding: 20px;
    }
    .faq-villa h2 { text-align: center; font-family: 'Playfair Display', serif; margin-bottom: 30px; }
    
    details.villa-details {
        background: white;
        border: 1px solid #eee;
        margin-bottom: 10px;
        padding: 15px 20px;
        transition: all 0.3s;
    }
    details.villa-details[open] {
        border-left: 5px solid var(--villa-gold);
        box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    }
    summary.villa-summary {
        font-weight: 600;
        cursor: pointer;
        list-style: none;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    summary.villa-summary::after { content: '+'; font-size: 1.5rem; color: var(--villa-gold); }
    details[open] summary.villa-summary::after { content: '-'; }
    .villa-ans { margin-top: 10px; color: #666; font-size: 0.95rem; }

    /* --- FOOTER CTA --- */
    .villa-footer {
        background: var(--villa-dark);
        color: white;
        text-align: center;
        padding: 60px 20px;
    }
    .villa-btn {
        display: inline-block;
        margin-top: 20px;
        padding: 12px 30px;
        border: 1px solid var(--villa-gold);
        color: var(--villa-gold);
        text-decoration: none;
        text-transform: uppercase;
        letter-spacing: 2px;
        transition: 0.3s;
    }
    .villa-btn:hover { background: var(--villa-gold); color: white; }

    /* --- RESPONSIVE --- */
    @media (max-width: 768px) {
        .villa-hero h1 { font-size: 2rem; }
        .aesthetic-section { grid-template-columns: 1fr; }
        .install-section { flex-direction: column; }
        .install-img img { box-shadow: none; }
        .intro-box { width: 90%; padding: 20px; }
    }
</style>/* End custom CSS */