/* JustGo — brand + layout */

/* ── Brand colors ──────────────────────────────────────────────────── */
:root {
    --jg-green:  #204523;
    --jg-lime:   #BAD935;
    --jg-green-hover: #2d5e30;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Brand wordmark */
.jg-brand { color: var(--jg-green); }

/* "FREE" badge */
.jg-badge-free {
    background: var(--jg-lime);
    color: var(--jg-green);
    font-weight: 700;
}

/* Primary CTA buttons */
.btn-success,
.btn-success:hover,
.btn-success:focus,
.btn-success:active {
    background-color: var(--jg-green) !important;
    border-color: var(--jg-green) !important;
    color: var(--jg-lime) !important;
}
.btn-success:hover { background-color: var(--jg-green-hover) !important; }

/* Outline success */
.btn-outline-success {
    color: var(--jg-green) !important;
    border-color: var(--jg-green) !important;
}
.btn-outline-success:hover {
    background-color: var(--jg-green) !important;
    color: var(--jg-lime) !important;
}

/* text-success overrides */
.text-success { color: var(--jg-green) !important; }
.bg-success    { background-color: var(--jg-green) !important; }
.text-bg-success { background-color: var(--jg-green) !important; color: var(--jg-lime) !important; }
.bg-success.bg-opacity-10 { background-color: color-mix(in srgb, var(--jg-green) 10%, transparent) !important; }
.border-success { border-color: var(--jg-green) !important; }

/* Active radio buttons (time/activity) */
.btn-check:checked + .btn-outline-primary {
    background-color: var(--jg-green);
    border-color: var(--jg-green);
    color: var(--jg-lime);
}

/* ── Layout ────────────────────────────────────────────────────────── */

/* Left panel responsive width */
.justgo-panel {
    min-width: 320px;
    max-width: 420px;
    width: 38%;
}
@media (max-width: 991px) {
    .justgo-panel { max-width: 100%; width: 100%; }
}

#justgo-map { background: #e8e4dc; }

/* Map controls */
.ol-zoom { bottom: 1.5em; top: auto; left: 0.5em; }

/* ── Tour cards ────────────────────────────────────────────────────── */
.tour-card {
    transition: box-shadow 0.15s ease, transform 0.1s ease;
}
.tour-card:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
    transform: translateY(-1px);
}
.tour-card.active {
    box-shadow: 0 0 0 2px var(--jg-green);
    background: #f0f7f0 !important;
}

/* ── HTMX indicators ───────────────────────────────────────────────── */
.htmx-indicator { display: none; }
.htmx-request .htmx-indicator { display: inline-block; }
.htmx-request.htmx-indicator { display: inline-block; }
.htmx-request #btn-generate { opacity: 0.7; pointer-events: none; }

/* ── Utilities ─────────────────────────────────────────────────────── */
.pointer-events-none { pointer-events: none; }
.fw-black { font-weight: 900; }

/* ── Hero section ──────────────────────────────────────────────────── */
.justgo-hero { background: var(--bs-body-bg); }

/* ── Dark mode overrides ───────────────────────────────────────────── */
[data-bs-theme="dark"] {
    --jg-green: #BAD935;   /* lime becomes primary in dark mode */
    --jg-lime:  #204523;   /* dark green becomes contrast text */
    --jg-green-hover: #c8e840;
}

[data-bs-theme="dark"] .jg-brand { color: var(--jg-green); }

[data-bs-theme="dark"] #justgo-map { background: #1a1f1a; }

[data-bs-theme="dark"] .tour-card.active {
    background: #1e2e1e !important;
}

[data-bs-theme="dark"] .jg-badge-free {
    background: var(--jg-green);
    color: #000;
}

/* Dark mode: bg-light sections */
[data-bs-theme="dark"] .bg-light { background-color: var(--bs-tertiary-bg) !important; }

/* Dark mode: white sections */
[data-bs-theme="dark"] .bg-white { background-color: var(--bs-body-bg) !important; }

/* Dark mode: success section (Stop Planning) */
[data-bs-theme="dark"] .bg-success { background-color: #1a2e1d !important; }
