/* =====================================================================
   THEME · CORAL REEF — bright tropical: coral→mango animated gradient hero,
   white cards, big soft shadows, playful pill shapes. Light & energetic.
   ===================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;700;800&family=Nunito:wght@300;400;600;700&display=swap');

:root {
	--navy-900: #6d2137;
	--navy-800: #8e2f45;
	--navy-700: #b03a52;
	--navy-600: #e2536b;
	--navy-500: #ff6b6b;
	--blue-300: #2ec4b6;
	--orange-500: #ff9f1c;
	--orange-400: #ffbf69;
	--orange-600: #f77f00;
	--surface: #fff8f3;
	--card: #ffffff;
	--ink-900: #3d1f26;
	--ink-700: #6b4a52;
	--ink-500: #a1848c;
	--line: #ffe0d4;
	--success: #2ec4b6;
	--danger: #ef476f;
	--radius: 22px;
	--radius-sm: 14px;
	--shadow-sm: 0 6px 22px rgba(255,107,107,.1);
	--shadow-md: 0 18px 46px rgba(255,107,107,.22);
	--shadow-lg: 0 30px 80px rgba(109,33,55,.35);
	--font-head: 'Baloo 2', cursive;
	--font-body: 'Nunito', sans-serif;
}

body { background: var(--surface); }

/* Hero : living coral → mango → teal gradient */
.hero-banner, .page-banner {
	background: linear-gradient(115deg, #ff6b6b, #ff9f1c, #ffbf69, #2ec4b6, #ff6b6b) !important;
	background-size: 320% 320% !important;
	animation: reef-flow 16s ease infinite;
	border-radius: 28px !important;
	box-shadow: 0 24px 60px rgba(255,107,107,.35);
}
@keyframes reef-flow {
	0%   { background-position: 0% 50%; }
	50%  { background-position: 100% 50%; }
	100% { background-position: 0% 50%; }
}
@media (prefers-reduced-motion: reduce) { .hero-banner, .page-banner { animation: none; } }
.hero-banner::before, .page-banner::before {
	background: radial-gradient(ellipse 80% 100% at 20% 50%, rgba(109,33,55,.5), transparent 70%);
}
.hero-eyebrow { color: #fff; background: rgba(255,255,255,.25); border: 1px solid rgba(255,255,255,.5); backdrop-filter: blur(6px); }
.hero-title, .banner-title { color: #fff; text-shadow: 0 4px 20px rgba(109,33,55,.4); }
.grad-text { background: linear-gradient(90deg, #fff8f3, #ffe66d); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero-subtitle, .banner-subtitle { color: #fff2ea; }
.banner-cat { background: rgba(255,255,255,.28); border: 1px solid rgba(255,255,255,.5); color: #fff; }

.topbar { background: #6d2137; color: #f8cfc2; }
.topbar-contact i { color: #ffbf69; }
.navbar { background: #fff; border-bottom: 3px solid #ffe0d4; box-shadow: 0 6px 24px rgba(255,107,107,.12); }
.navbar.scrolled { box-shadow: 0 8px 30px rgba(255,107,107,.2); }
.nav-logo img { border-radius: 16px; }
.logo-text h1 { color: #3d1f26; }
.logo-text p { color: #ff6b6b; }
.nav-menu a { border-radius: 999px; }
.nav-menu a .nav-title { color: #3d1f26; }
.nav-menu a .nav-subtitle { color: #a1848c; }
.nav-menu a:hover { background: #fff2ea; }
.nav-menu a.active { background: linear-gradient(135deg, #ff6b6b, #ff9f1c); box-shadow: 0 8px 20px rgba(255,107,107,.4); }
.nav-menu a.active .nav-title { color: #fff; }
.nav-menu a.active .nav-subtitle { color: #ffe9d6; }
.nav-toggle span { background: #ff6b6b; }
@media (max-width: 860px) { .nav-menu { background: #fff; border-radius: 0 0 24px 24px; } }

.lang-current { background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.28); }
.lang-menu { border-radius: 18px; }
.lang-menu a { border-radius: 12px; }
.lang-menu a.active { background: linear-gradient(135deg, #ff6b6b, #ff9f1c); color: #fff; }

.glass-card { border: 2px solid #ffe0d4; border-radius: 22px; box-shadow: 0 6px 22px rgba(255,107,107,.08); }

.btn-primary {
	background: linear-gradient(135deg, #ff6b6b, #ff9f1c); color: #fff; border-radius: 999px;
	box-shadow: 0 10px 26px rgba(255,107,107,.4);
}
.btn-primary:hover { box-shadow: 0 16px 36px rgba(255,107,107,.55); color: #fff; }
.btn-outline { background: rgba(255,255,255,.22); border: 2px solid #fff; color: #fff; border-radius: 999px; }
.btn-outline:hover { background: #fff; color: #ff6b6b; }
.search-btn { background: linear-gradient(135deg, #ff6b6b, #ff9f1c); color: #fff; border-radius: 999px; }
.search-btn:hover { filter: brightness(1.08); }
.search-box { background: rgba(255,255,255,.94); border: 2px solid rgba(255,255,255,.7); border-radius: 22px; backdrop-filter: blur(10px); }
.search-box h3 { color: #3d1f26; }
.search-box h3 i:first-child { color: #ff6b6b; }
.search-input { background: #fff8f3; border: 2px solid #ffe0d4; color: #3d1f26; border-radius: 999px; }
.search-container.page-top .search-input, .page-search .search-input { background: #fff8f3; border-color: #ffe0d4; }
.search-input:focus { border-color: #ff9f1c; box-shadow: 0 0 0 4px rgba(255,159,28,.2); }
.help-icon { color: #a1848c; }

.stat-item { border: 2px solid #ffe0d4; border-radius: 22px; box-shadow: 0 6px 22px rgba(255,107,107,.08); }
.stat-item i { color: #ff9f1c; }
.stat-item b { color: #ff6b6b; }
.stat-item span { color: #a1848c; }

.section-title h2 { color: #3d1f26; }
.section-title h2 i, .section-heading i, .side-heading i { color: #ff6b6b; }
.section-title::after { background: linear-gradient(90deg, #ffe0d4, transparent); height: 3px; border-radius: 3px; }
.section-heading { color: #3d1f26; border-bottom: 3px solid #fff2ea; }
.side-heading { color: #3d1f26; }

.property-card { border: 2px solid #ffe0d4; border-radius: 22px; }
.property-card:hover { transform: translateY(-7px); border-color: #ff9f1c; box-shadow: 0 20px 44px rgba(255,107,107,.28); }
.property-image { background-color: #ffd8c9; }
.property-price { color: #ff6b6b; }
.property-title { color: #3d1f26; }
.property-location i { color: #ff9f1c; }
.property-features i { color: #2ec4b6; }
.badge { border-radius: 999px; }
.badge-sale { background: #2ec4b6; }
.badge-rent { background: #ff9f1c; }
.badge-sold { background: #ef476f; }
.cat-chip { background: rgba(61,31,38,.7); border: 1px solid rgba(255,255,255,.35); color: #ffe9d6; }
.filter-chip { border: 2px solid #ffe0d4; color: #6b4a52; border-radius: 999px; }
.filter-chip:hover { border-color: #ff9f1c; color: #ff6b6b; }
.filter-chip.active { background: linear-gradient(135deg, #ff6b6b, #ff9f1c); border-color: transparent; color: #fff; box-shadow: 0 8px 20px rgba(255,107,107,.35); }

.feature-item { background: #fff8f3; border: 2px solid #ffe0d4; border-radius: 16px; }
.feature-item > i { background: #fff; color: #ff6b6b; border: 2px solid #ffe0d4; border-radius: 12px; }
.feature-item.highlight { background: #e6fbf8; border-color: #2ec4b6; }
.feature-item.highlight > i { background: #2ec4b6; color: #fff; border: 0; }
.feature-label { color: #a1848c; }
.feature-value { color: #3d1f26; }

.page-body h1, .page-body h2, .page-body h3, .page-body h4 { color: #ff6b6b; }
.page-body a { color: #f77f00; }
.side-nav a { border-radius: 999px; }
.side-nav a:hover { background: #fff2ea; color: #ff6b6b; }
.side-nav a.active { background: linear-gradient(135deg, #ff6b6b, #ff9f1c); color: #fff; }
.side-nav a.active i { color: #fff; }
.side-nav a i { color: #ff9f1c; }

.form-input, .form-textarea { border: 2px solid #ffe0d4; border-radius: 16px; background: #fff8f3; }
.form-input:focus, .form-textarea:focus { border-color: #ff9f1c; box-shadow: 0 0 0 4px rgba(255,159,28,.18); }
.checkbox-label input { accent-color: #ff6b6b; }
.email-toggle { border: 2px solid #ffe0d4; border-radius: 999px; color: #ff6b6b; }
.agent-photo { border: 3px solid #ffe0d4; border-radius: 18px; }
.mini-property { border-radius: 16px; }
.mini-property:hover { background: #fff2ea; border-color: #ffe0d4; }
.sold-note { background: #fff2ea; border: 2px solid #ffbf69; color: #b03a52; border-radius: 16px; }
.contact-info-card .contact-item i { background: #fff8f3; border: 2px solid #ffe0d4; color: #ff6b6b; border-radius: 12px; }
.tracking-form { background: linear-gradient(135deg, #ff6b6b, #ff9f1c); border-radius: 22px; box-shadow: 0 14px 34px rgba(255,107,107,.3); }

.gallery-main { border-radius: 18px; background: #ffd8c9; }
.gal-arrow, .gal-zoom, .gal-counter { background: rgba(61,31,38,.55); border-radius: 999px; }
.gal-arrow:hover, .gal-zoom:hover, .lb-arrow:hover { background: #ff6b6b; }
.thumb-image { border-radius: 12px; }
.thumb-image.active { border-color: #ff6b6b; }
#lightbox { background: rgba(61,31,38,.95); }
#lb-img { border-radius: 18px; }

.alert { border-radius: 18px; }
.alert-error { background: #ffe4ea; color: #a01236; border: 2px solid #ffb3c4; }
.alert-success { background: #e6fbf8; color: #0f766e; border: 2px solid #7fe0d5; }

.footer { background: linear-gradient(180deg, #8e2f45, #6d2137); color: #f0c3b6; }
.footer-section h3 { color: #fff; }
.footer-logo img { border-radius: 14px; }
.footer-badges span { color: #ffe9d6; background: rgba(255,191,105,.16); border: 1px solid rgba(255,191,105,.45); }
.footer-links a { color: #f0c3b6; }
.footer-links a:hover { color: #fff; }
.footer-links a i, .footer-contact i { color: #ffbf69; }
.footer-bottom { color: #c99a90; }

.whatsapp-float { box-shadow: 0 14px 34px rgba(46,196,182,.5); }
.whatsapp-tooltip { background: #6d2137; border-radius: 14px; }
