:root{
  --bg: #f7f1e7;
  --panel: #fffaf2;
  --card: #ffffff;
  --text: #2b2016;
  --muted: #6b5b4d;
  --border: rgba(43,32,22,.12);
  --shadow: 0 18px 45px rgba(43,32,22,.10);

  --wood: #7a4a2b;
  --wood2:#9a6236;
  --olive:#4d5b3a;
  --cream:#f7f1e7;
  --gold:#d6b36a;
}

body{
  background:
    radial-gradient(1100px 600px at 20% 0%, rgba(122,74,43,.18), transparent 60%),
    radial-gradient(900px 520px at 80% 10%, rgba(77,91,58,.14), transparent 55%),
    linear-gradient(180deg, var(--bg), #efe4d4);
  color: var(--text);
}

a{ color: inherit; }

main .container{ max-width: 1140px; }

.navbar{
  background: rgba(255,250,242,.86) !important;
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--border) !important;
}

.navbar-brand{
  font-weight: 800;
  letter-spacing: .2px;
}

.nav-link{
  color: rgba(43,32,22,.78) !important;
  font-weight: 600;
}

.nav-link:hover,
.nav-link.active{
  color: var(--wood) !important;
}

.topbar{
  background: linear-gradient(90deg, rgba(122,74,43,.92), rgba(154,98,54,.92));
  color: #fff;
  border-bottom: 1px solid rgba(255,255,255,.20);
}

.hero{
  border: 1px solid var(--border);
  background:
    radial-gradient(900px 500px at 20% 0%, rgba(214,179,106,.28), transparent 60%),
    radial-gradient(900px 520px at 80% 20%, rgba(77,91,58,.18), transparent 55%),
    linear-gradient(180deg, rgba(255,250,242,.92), rgba(255,255,255,.90));
  border-radius: 24px;
  padding: 28px;
  box-shadow: var(--shadow);
}

.hero h1{ color: var(--text); }
.hero-sub{ color: var(--muted); }

.hero-mini{
  border: 1px solid var(--border);
  background: rgba(255,255,255,.70);
  border-radius: 18px;
  padding: 18px;
}

.card{
  background: rgba(255,255,255,.92);
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(43,32,22,.08);
}

.card-img-top{
  border-top-left-radius: 18px;
  border-top-right-radius: 18px;
}

.btn-dark{
  background: linear-gradient(180deg, var(--wood2), var(--wood));
  border: 0;
  color: #fff;
  font-weight: 700;
  border-radius: 14px;
}

.btn-dark:hover{
  filter: brightness(.97);
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(122,74,43,.18);
}

.btn-warning{
  background: linear-gradient(180deg, #f0d49a, var(--gold));
  border: 0;
  color: #1f160f;
  font-weight: 800;
  border-radius: 14px;
}

.btn-outline-secondary{
  border-color: rgba(43,32,22,.20);
  color: rgba(43,32,22,.85);
  border-radius: 14px;
}

.btn-outline-secondary:hover{
  background: rgba(122,74,43,.08);
  border-color: rgba(122,74,43,.28);
}

.badge{
  border-radius: 999px;
}

.badge.text-bg-success{
  background: rgba(77,91,58,.18) !important;
  color: var(--olive) !important;
  border: 1px solid rgba(77,91,58,.25);
}

.badge.text-bg-warning{
  background: rgba(214,179,106,.22) !important;
  color: #6a4a16 !important;
  border: 1px solid rgba(214,179,106,.35);
}

.badge.text-bg-danger{
  background: rgba(188,71,53,.14) !important;
  color: #8a2a1b !important;
  border: 1px solid rgba(188,71,53,.22);
}

.badge.text-bg-primary{
  background: rgba(122,74,43,.14) !important;
  color: var(--wood) !important;
  border: 1px solid rgba(122,74,43,.22);
}

.badge.text-bg-secondary{
  background: rgba(43,32,22,.10) !important;
  color: rgba(43,32,22,.75) !important;
  border: 1px solid rgba(43,32,22,.16);
}

.form-control, .form-select, textarea{
  background: rgba(255,255,255,.85) !important;
  border: 1px solid rgba(43,32,22,.18) !important;
  color: var(--text) !important;
  border-radius: 14px;
}

.form-control::placeholder{
  color: rgba(43,32,22,.45);
}

.table{
  color: var(--text);
}

.table thead th{
  color: rgba(43,32,22,.72);
  border-bottom: 1px solid rgba(43,32,22,.14) !important;
}

.table td, .table th{
  border-color: rgba(43,32,22,.10) !important;
}

.alert{
  border-radius: 16px;
  border: 1px solid rgba(43,32,22,.14);
}

.pagination .page-link{
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(43,32,22,.14);
  color: rgba(43,32,22,.75);
}

.pagination .page-item.active .page-link{
  background: rgba(122,74,43,.12);
  border-color: rgba(122,74,43,.25);
  color: var(--wood);
  font-weight: 800;
}

footer{
  color: #2b2016 !important;
}

footer h5,
footer h6,
footer .fw-bold{
  color: #7a4a2b !important;
}

footer p,
footer li,
footer span,
footer small{
  color: #5c4a3b !important;
}

footer a{
  color: #7a4a2b !important;
  text-decoration: none;
}

footer a:hover{
  color: #4d5b3a !important;
}

footer input{
  color: #2b2016 !important;
}

footer input::placeholder{
  color: #8b7a6a !important;
}
