/*
Theme Name: Hilvard Properties
Theme URI: https://www.hilvardproperties.com
Author: Mimshach Digital Services
Author URI: https://www.hilvardproperties.com
Description: A custom one-page real estate theme for Hilvard Properties & Assets Limited, featuring a hero slider, dynamic property listings with image galleries, an interactive location map switcher, a leadership team section, lead-capture forms, and a sticky WhatsApp button. Properties, hero slides, and team members are all managed from the WordPress admin.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hilvard
Tags: one-page, real-estate, custom-post-type, custom-menu, featured-images
*/

:root {
    --primary: #0f172a; /* Deep Navy */
    --secondary: #c5a47e; /* Muted Gold/Bronze */
    --accent: #1e293b;
    --light: #f8fafc;
}
body {
    font-family: 'Inter', sans-serif;
    background-color: var(--light);
    color: var(--primary);
}
h1, h2, h3, h4, .font-serif {
    font-family: 'Playfair Display', serif;
}
.text-primary { color: var(--primary); }
.text-secondary { color: var(--secondary); }
.bg-primary { background-color: var(--primary); }
.bg-secondary { background-color: var(--secondary); }
.border-secondary { border-color: var(--secondary); }

/* Hover variants for the brand colors above. Tailwind's compiler only
   generates hover:/focus: variants for colors it recognizes in its own
   palette — "primary" and "secondary" are ours, not Tailwind's, so classes
   like hover:text-secondary need an explicit rule here or the hover never
   does anything (this covers every hover:*-primary/secondary class used
   across the theme). */
.hover\:text-primary:hover { color: var(--primary); }
.hover\:text-secondary:hover { color: var(--secondary); }
.hover\:bg-primary:hover { background-color: var(--primary); }
.hover\:bg-secondary:hover { background-color: var(--secondary); }
.hover\:border-secondary:hover { border-color: var(--secondary); }

/* Hero Slider Styles */
.hero-swiper { height: 100vh; min-height: 600px; }
.swiper-slide {
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
}
.slide-overlay {
    background: linear-gradient(90deg, rgba(15, 23, 42, 0.9) 0%, rgba(15, 23, 42, 0.6) 50%, rgba(15, 23, 42, 0.2) 100%);
}
.swiper-pagination-bullet { background: white; opacity: 0.5; }
.swiper-pagination-bullet-active { background: var(--secondary); opacity: 1; }

/* Button Styles */
.btn-gold {
    background-color: var(--secondary);
    color: var(--primary);
    transition: all 0.3s ease;
}
.btn-gold:hover {
    background-color: #b08d5f;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(197, 164, 126, 0.4);
}
.btn-outline {
    border: 1px solid var(--primary);
    color: var(--primary);
    transition: all 0.3s ease;
}
.btn-outline:hover {
    background-color: var(--primary);
    color: white;
}
.btn-outline-light {
    border: 1px solid white;
    color: white;
    transition: all 0.3s ease;
}
.btn-outline-light:hover {
    background-color: white;
    color: var(--primary);
}

/* Section Animations */
.reveal { opacity: 0; transform: translateY(30px); transition: all 1s ease; }
.reveal.active { opacity: 1; transform: translateY(0); }

/* WhatsApp Sticky Icon */
.whatsapp-float {
    position: fixed;
    bottom: 30px;
    right: 30px;
    background-color: #25D366;
    color: white;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    text-align: center;
    font-size: 30px;
    box-shadow: 2px 2px 10px rgba(0,0,0,0.2);
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: transform 0.3s;
}
.whatsapp-float:hover { transform: scale(1.1); color: white; }

/* Mini Gallery Swiper */
.gallery-swiper { height: 256px; width: 100%; }
.gallery-swiper .swiper-pagination-bullet { background: var(--secondary); opacity: 0.5; }
.gallery-swiper .swiper-pagination-bullet-active { opacity: 1; }

/* Popup Modal Animation */
.popup-animate { animation: fadeIn 0.4s ease-out forwards, slideIn 0.5s ease-out forwards; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes slideIn { from { transform: translateY(-50px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }

/* Mobile nav */
#mobile-menu { display: none; }
#mobile-menu.open { display: block; }
#mobile-menu a { display: block; padding: 0.75rem 0; border-bottom: 1px solid rgba(255,255,255,0.1); }

/* Form feedback */
.form-msg { font-size: 0.85rem; margin-top: 0.5rem; display:none; }
.form-msg.success { color: #16a34a; display:block; }
.form-msg.error { color: #dc2626; display:block; }
.form-msg.sending { color: #64748b; display:block; }

/* Custom logo sizing to mirror original circular badge look */
.site-logo-img { height: 3.5rem; width: auto; border-radius: 9999px; background: #fff; padding: 0.25rem; box-shadow: 0 4px 10px rgba(0,0,0,0.25); }
.footer-logo-img { height: 4rem; width: auto; border-radius: 9999px; background:#fff; padding: 0.25rem; }
