
/* Modern theme (mobile-first, supports dark mode) */
:root{
  --brand:#2563eb;
  --brand-600:#1d4ed8;
  --text:#111827;
  --muted:#6b7280;
  --bg:#ffffff;
  --bg-soft:#f8fafc;
  --card:#ffffff;
  --border:#e5e7eb;
  --radius:12px;
  --shadow: 0 1px 2px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.08);
}
@media (prefers-color-scheme: dark){
  :root{
    --text:#e5e7eb; --muted:#9ca3af; --bg:#0b1020; --bg-soft:#0f162a;
    --card:#111827; --border:#1f2937; --shadow: 0 6px 24px rgba(0,0,0,.5);
  }
}
html,body{background:var(--bg); color:var(--text);}
.container{max-width:1200px;}
.navbar{border-bottom:1px solid var(--border);}
.card{border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow);}
.card-title{font-weight:700;}
.card:hover{transform: translateY(-1px); transition: .2s ease; box-shadow: 0 10px 30px rgba(0,0,0,.10);}
.btn-primary{background:var(--brand); border-color:var(--brand);}
.btn-primary:hover{background:var(--brand-600); border-color:var(--brand-600);}
.form-control, .form-select{border-radius:10px;}
.badge{border-radius:999px; padding:.5em .75em;}
/* Image treatments */
.card-img-top, .img-fluid{border-top-left-radius:var(--radius); border-top-right-radius:var(--radius);}
/* Utility */
.shadow-soft{box-shadow:var(--shadow);}
.rounded-xl{border-radius:var(--radius);}
.bg-soft{background:var(--bg-soft);}
.text-muted{color:var(--muted)!important;}
/* Mobile-first table stack */
@media (max-width: 768px){
  table.table-stack thead{display:none;}
  table.table-stack tr{display:block; margin-bottom:1rem; background:var(--card); border:1px solid var(--border); border-radius:12px; padding:.5rem .75rem;}
  table.table-stack td{display:flex; justify-content:space-between; border:0!important; padding:.35rem .25rem;}
  table.table-stack td::before{content:attr(data-label); font-weight:600; color:var(--muted); margin-right:1rem;}
}
/* Offcanvas filter tweaks */
.offcanvas{--bs-offcanvas-bg: var(--card); color: var(--text);}
.offcanvas .form-control, .offcanvas .form-select{background:var(--bg); color:var(--text);}


/* === Hero Slideshow === */
.hero-spot{min-height:56vh; display:flex; align-items:center;}
@media (min-width:992px){ .hero-spot{min-height:72vh;} }
.hero-bg{position:absolute; inset:0;}
.hero-bg .slide{
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  opacity:0; transition:opacity 1.2s ease-in-out, transform 8s linear;
  transform:scale(1.06);
}
.hero-bg .slide.active{ opacity:1; transform:scale(1); }
.hero-gradient{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.55) 60%, rgba(0,0,0,.6) 100%);
  pointer-events:none;
}
.hero-copy{padding:2rem 0; text-shadow:0 2px 16px rgba(0,0,0,.35);}
