/* Minimal placeholder styles — replace with your BENZ template CSS. */
:root { --ink:#1a1a1a; --muted:#6b7280; --line:#e5e7eb; --accent:#0f766e; --bg:#fafafa; }
* { box-sizing: border-box; }
body { margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; color:var(--ink); background:var(--bg); line-height:1.5; }
a { color:var(--accent); text-decoration:none; }
a:hover { text-decoration:underline; }

.site-header { display:flex; align-items:center; justify-content:space-between; padding:1rem 1.5rem; background:#fff; border-bottom:1px solid var(--line); }
.brand { font-weight:700; font-size:1.15rem; color:var(--ink); }
.site-header nav a { margin-left:1.25rem; color:var(--ink); }
.container { max-width:1100px; margin:0 auto; padding:1.5rem; }
.site-footer { text-align:center; color:var(--muted); padding:2rem; font-size:.9rem; }

.page-head h1 { margin:0 0 .25rem; }
.muted { color:var(--muted); }
.meta { font-size:.95rem; }
.empty { color:var(--muted); padding:2rem 0; }
.back { display:inline-block; margin-bottom:1rem; }

.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:1.25rem; margin-top:1.5rem; }
.card { background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden; transition:box-shadow .15s; }
.card:hover { box-shadow:0 6px 20px rgba(0,0,0,.07); }
.card a { color:inherit; }
.card-img { width:100%; height:170px; object-fit:cover; background:#eee; display:block; }
.card-body { padding:1rem; }
.card-body h2 { margin:0 0 .25rem; font-size:1.1rem; }

.detail { background:#fff; border:1px solid var(--line); border-radius:12px; padding:1.5rem; }
.detail-img { width:100%; max-height:360px; object-fit:cover; border-radius:8px; background:#eee; margin-bottom:1rem; }
.itin-day { padding:.5rem 0; border-bottom:1px dashed var(--line); }

.sched-table { width:100%; border-collapse:collapse; margin-top:.75rem; background:#fff; }
.sched-table th, .sched-table td { text-align:left; padding:.6rem .75rem; border-bottom:1px solid var(--line); font-size:.95rem; }
.sched-table th { color:var(--muted); font-weight:600; }

.badge { font-size:.78rem; padding:.15rem .5rem; border-radius:999px; text-transform:capitalize; }
.badge-scheduled { background:#dcfce7; color:#166534; }
.badge-departed  { background:#dbeafe; color:#1e40af; }
.badge-completed { background:#f3f4f6; color:#374151; }
.badge-cancelled { background:#fee2e2; color:#991b1b; }

@media (max-width:600px){ .sched-table { display:block; overflow-x:auto; } }

/* ── Content & policy pages ── */
.content { background:#fff; border:1px solid var(--line); border-radius:12px; padding:1.75rem; max-width:820px; }
.content h1 { margin-top:0; }
.content h2 { margin-top:1.5rem; font-size:1.15rem; }
.content.legal { line-height:1.65; }
.content .note { margin-top:1.5rem; padding:.75rem 1rem; background:#fff7ed; border:1px solid #fed7aa; border-radius:8px; font-size:.9rem; color:#9a3412; }
.detail-table { width:100%; border-collapse:collapse; margin:.75rem 0; }
.detail-table th, .detail-table td { text-align:left; vertical-align:top; padding:.55rem .75rem; border-bottom:1px solid var(--line); font-size:.95rem; }
.detail-table th { width:190px; color:var(--muted); font-weight:600; }

/* ── Footer links ── */
.footer-links { display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; margin-bottom:.5rem; }
.footer-links a { color:var(--muted); font-size:.9rem; }
.copyright { margin:0; }

/* ── Notice banner (shown when DB not connected) ── */
.notice-banner { margin:1rem 0; padding:.75rem 1rem; background:#fff7ed; border:1px solid #fed7aa; border-radius:8px; color:#9a3412; font-size:.92rem; }
