/* Maisha Masha Safaris — public theme (warm savanna palette) */
:root {
    --sand: #f59e0b;
    --sand-dark: #b45309;
    --leaf: #047857;
    --leaf-dark: #065f46;
    --earth: #1c1917;
    --cream: #faf7f2;
}

html {
    scroll-behavior: smooth;
}

body {
    background: var(--cream);
    color: var(--earth);
    -webkit-font-smoothing: antialiased;
}

/* Editorial serif for display headings */
.font-display {
    font-family: Georgia, 'Times New Roman', ui-serif, serif;
    letter-spacing: -0.01em;
}

/* Reveal-on-scroll (JS adds .in) */
.reveal {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.in {
    opacity: 1;
    transform: none;
}

/* Scrollbar */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: #d6c7a8; border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: #c0af8b; }
::-webkit-scrollbar-track { background: transparent; }

/* Smooth hover lift for cards */
.card-lift { transition: transform .25s ease, box-shadow .25s ease; }
.card-lift:hover { transform: translateY(-4px); box-shadow: 0 20px 40px -20px rgba(120, 80, 10, .35); }

/* Form focus */
.saf-input:focus { outline: none; border-color: var(--sand); box-shadow: 0 0 0 3px rgba(245, 158, 11, .15); }

/* Loader spinner */
.saf-spinner {
    width: 18px; height: 18px; border-radius: 999px;
    border: 2px solid rgba(255,255,255,.35); border-top-color: #fff;
    animation: safSpin .7s linear infinite;
}
@keyframes safSpin { to { transform: rotate(360deg); } }
