/* =========================================================
   HOSHI SPA — BALINESE TROPICAL RESORT (COMPLETE OVERRIDE)
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600&display=swap');

:root {
    --bali-sand: #F4EFEA;            /* Pasir hangat lembut */
    --bali-green: #2B4436;           /* Hijau daun tropis / Bamboo deep */
    --bali-green-hover: #1F3327;
    --bali-terracotta: #C06C4C;      /* Tanah liat / Ukiran Bali */
    --bali-slate: #1D231F;           /* Batu candi / Slate gelap */
    --text-dark: #262B28;
    --text-muted: #6B726E;
    --card-bg: #FAF7F2;
    --border-warm: #E2D9CE;
}

/* Base Setup & Font Spa Bali */
html, body {
    background-color: var(--bali-sand) !important;
    color: var(--text-dark) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}

/* Header & Judul Gaya Resort Bali */
h1, h2, h3, h4, .font-serif {
    font-family: 'Playfair Display', serif !important;
    letter-spacing: 0.02em !important;
}

/* Navbar Natural Warm */
nav {
    background: rgba(244, 239, 234, 0.92) !important;
    backdrop-filter: blur(10px) !important;
    border-bottom: 1px solid var(--border-warm) !important;
}
nav span.font-serif {
    color: var(--bali-green) !important;
    font-weight: 700 !important;
}

/* Background Overrides */
.bg-\[\#FAF7F2\], .bg-white, .bg-\[\#F4EFE6\] {
    background-color: var(--bali-sand) !important;
}

.text-stone-900, .text-stone-800, .text-stone-700 {
    color: var(--text-dark) !important;
}

.text-stone-600, .text-stone-500, .text-stone-400 {
    color: var(--text-muted) !important;
}

.text-amber-800, .text-amber-700 {
    color: var(--bali-terracotta) !important;
}

.border-stone-200\/80, .border-stone-200\/60, .border-stone-200, .border-stone-100 {
    border-color: var(--border-warm) !important;
}

/* Card Treatment: Natural Organic Resort */
.glass-card, .bg-white.p-8, .bg-white.p-6, .bg-white.p-5 {
    background: var(--card-bg) !important;
    border: 1px solid var(--border-warm) !important;
    border-radius: 1.5rem !important;
    box-shadow: 0 10px 30px rgba(43, 68, 54, 0.05) !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.glass-card:hover, .bg-white.p-8:hover, .bg-white.p-6:hover {
    transform: translateY(-4px) !important;
    border-color: var(--bali-terracotta) !important;
    box-shadow: 0 18px 35px rgba(192, 108, 76, 0.12) !important;
}

/* Card Unggulan (Warna Hijau Hutan Tropis) */
.bg-\[\#2D4030\] {
    background: var(--bali-green) !important;
    color: #FAF7F2 !important;
    border: 1px solid var(--bali-green) !important;
    border-radius: 1.5rem !important;
    box-shadow: 0 12px 35px rgba(43, 68, 54, 0.2) !important;
}

.bg-\[\#2D4030\] h3, .bg-\[\#2D4030\] span {
    color: #FAF7F2 !important;
}

/* Button Tropical Terracotta & Green */
.btn-order, a[href*="wa.me"], button[type="submit"] {
    background: var(--bali-terracotta) !important;
    color: #FFFFFF !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    border-radius: 999px !important;
    border: none !important;
    box-shadow: 0 6px 20px rgba(192, 108, 76, 0.25) !important;
    transition: all 0.25s ease !important;
}

.btn-order:hover, a[href*="wa.me"]:hover, button[type="submit"]:hover {
    background: #A85A3C !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 25px rgba(192, 108, 76, 0.35) !important;
}

/* Form Booking & Modal */
#bookingModal > div {
    background: #FAF7F2 !important;
    border: 1px solid var(--border-warm) !important;
    border-radius: 1.5rem !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15) !important;
}

#bookingModal input, #bookingModal select, #bookingModal textarea {
    background: #FFFFFF !important;
    border: 1px solid var(--border-warm) !important;
    border-radius: 0.75rem !important;
    color: var(--text-dark) !important;
}

#bookingModal input:focus, #bookingModal select:focus, #bookingModal textarea:focus {
    border-color: var(--bali-green) !important;
    outline: none !important;
}

/* Custom Scrollbar Sand/Green */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: var(--bali-sand);
}
::-webkit-scrollbar-thumb {
    background: var(--bali-terracotta);
    border-radius: 999px;
}

/* Footer Batu Candi / Dark Slate */
footer {
    background-color: var(--bali-slate) !important;
    color: #A0AAA4 !important;
    border-top: 2px solid var(--bali-terracotta) !important;
}

footer p.font-serif, footer h3 {
    color: #FAF7F2 !important;
}

.bg-amber-800\/40, .w-10.h-\[1px\] {
    background-color: var(--bali-terracotta) !important;
}

/* Background Gambar Telapak Kaki Sedang Di-Spa */
section:has(h1) {
    background-image: linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)), 
                      url('https://images.unsplash.com/photo-1519823551278-64ac92734fb1?q=80&w=1920&auto=format&fit=crop') !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

/* Penyelaras Warna Teks Hero */
section:has(h1) h1, 
section:has(h1) p, 
section:has(h1) span {
    color: #FFFFFF !important;
    text-shadow: 0 2px 4px rgba(0,0,0,0.6) !important;
}