@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;700;800&display=swap');

:root {
    --gold: #C5A059;
    --charcoal: #121212;
    --black: #080808;
    --deep-green: #1B2B20;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Inter', sans-serif;
}

body {
    overflow-x: hidden;
}

.bg-charcoal { background-color: var(--charcoal); }
.bg-gold { background-color: var(--gold); }
.text-gold { color: var(--gold); }

/* Buttons */
.btn-primary {
    background-color: var(--gold);
    color: #000;
    font-weight: 700;
    padding: 1rem 2.5rem;
    border-radius: 9999px;
    transition: transform 300ms ease, background-color 300ms ease;
    display: inline-block;
}
.btn-primary:hover {
    transform: scale(1.05);
    background-color: #fff;
}

.btn-secondary {
    border: 2px solid rgba(255,255,255,0.2);
    color: #fff;
    font-weight: 700;
    padding: 1rem 2.5rem;
    border-radius: 9999px;
    transition: border-color 300ms ease, color 300ms ease;
    display: inline-block;
}
.btn-secondary:hover {
    border-color: var(--gold);
    color: var(--gold);
}

/* Service Cards */
.service-card {
    padding: 2.5rem;
    background-color: #000;
    border: 1px solid rgba(255,255,255,0.05);
    border-radius: 2rem;
    transition: border-color 500ms ease, transform 500ms ease;
}
.service-card:hover {
    border-color: rgba(197,160,89,0.3);
    transform: translateY(-0.5rem);
}

/* Form Inputs */
.form-input {
    width: 100%;
    background-color: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 0.75rem;
    padding: 0.75rem 1rem;
    color: #fff;
    transition: border-color 200ms ease;
}
.form-input::placeholder { color: #4b5563; }
.form-input:focus { outline: none; border-color: var(--gold); }

/* Nav Blur */
#main-nav.scrolled {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    background-color: rgba(0,0,0,0.95);
    border-color: rgba(255,255,255,0.2);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 6px;
}
::-webkit-scrollbar-track {
    background: var(--black);
}
::-webkit-scrollbar-thumb {
    background: #333;
    border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--gold);
}

/* Responsive Overrides */
@media (max-width: 768px) {
    .btn-primary, .btn-secondary {
        width: 100%;
        text-align: center;
    }
}

/* ===== Theme Toggle Slider ===== */
.theme-toggle-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
    display: flex;
    align-items: center;
}
.theme-toggle-track {
    position: relative;
    display: flex;
    align-items: center;
    width: 48px;
    height: 26px;
    border-radius: 9999px;
    background-color: rgba(255,255,255,0.15);
    border: 1px solid rgba(255,255,255,0.22);
    transition: background-color 300ms ease, border-color 300ms ease;
    flex-shrink: 0;
}
.theme-toggle-thumb {
    position: absolute;
    top: 50%;
    left: 3px;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: #C5A059;
    box-shadow: 0 1px 4px rgba(0,0,0,0.3);
    transition: left 280ms cubic-bezier(0.34, 1.4, 0.64, 1), transform 280ms cubic-bezier(0.34, 1.4, 0.64, 1);
    pointer-events: none;
}
[data-theme="light"] .theme-toggle-track {
    background-color: rgba(0,0,0,0.1);
    border-color: rgba(0,0,0,0.18);
}
[data-theme="light"] .theme-toggle-thumb {
    left: calc(100% - 23px);
}

/* ===== Light Mode ===== */
[data-theme="light"] body {
    background-color: #f0f0f0;
    color: #121212;
}

/* Backgrounds */
[data-theme="light"] .bg-charcoal          { background-color: #f0f0f0 !important; }
[data-theme="light"] .bg-black             { background-color: #ffffff !important; }
[data-theme="light"] .bg-white\/5          { background-color: rgba(0,0,0,0.04) !important; }

/* Text */
[data-theme="light"] .text-white           { color: #121212 !important; }
[data-theme="light"] .text-gray-200        { color: #1f2937 !important; }
[data-theme="light"] .text-gray-300        { color: #374151 !important; }
[data-theme="light"] .text-gray-400        { color: #4b5563 !important; }

/* Borders */
[data-theme="light"] .border-white\/5      { border-color: rgba(0,0,0,0.07) !important; }
[data-theme="light"] .border-white\/10     { border-color: rgba(0,0,0,0.1)  !important; }
[data-theme="light"] .border-white\/20     { border-color: rgba(0,0,0,0.2)  !important; }
[data-theme="light"] .divide-white\/5 > :not([hidden]) ~ :not([hidden]) {
    border-color: rgba(0,0,0,0.07) !important;
}

/* Nav */
[data-theme="light"] #main-nav {
    background-color: rgba(255,255,255,0.92) !important;
    border-bottom-color: rgba(0,0,0,0.1) !important;
}
[data-theme="light"] #main-nav.scrolled {
    background-color: rgba(255,255,255,0.98) !important;
    border-color: rgba(0,0,0,0.15) !important;
}

/* Mobile menu */
[data-theme="light"] #mobile-menu          { background-color: #ffffff !important; }

/* Service cards */
[data-theme="light"] .service-card         { background-color: #ffffff !important; border-color: rgba(0,0,0,0.08) !important; }
[data-theme="light"] .service-card:hover   { border-color: rgba(197,160,89,0.3) !important; }

/* Form inputs */
[data-theme="light"] .form-input           { background-color: rgba(0,0,0,0.05) !important; border-color: rgba(0,0,0,0.15) !important; color: #121212 !important; }
[data-theme="light"] .form-input::placeholder { color: #9ca3af !important; }
[data-theme="light"] .form-input:focus     { border-color: #C5A059 !important; }

/* Select options */
[data-theme="light"] select option         { background-color: #ffffff !important; color: #121212 !important; }

/* Btn secondary */
[data-theme="light"] .btn-secondary        { border-color: rgba(0,0,0,0.2) !important; color: #121212 !important; }
[data-theme="light"] .btn-secondary:hover  { border-color: #C5A059 !important; color: #C5A059 !important; }

