:root{
  --gold:#b8893b; --gold-dark:#8f6826; --gold-soft:#f5ead2; --cream:#fbf8f3; --paper:#ffffff;
  --ink:#2b2622; --muted:#857b70; --line:#ece4d6; --rose:#f7e9e6; --sage:#e7f0e6; --sky:#e6eef6;
}
body{background:var(--cream);color:var(--ink);font-family:'Poppins',system-ui,sans-serif;font-size:.925rem}
h1,h2,h3,.brand-font{font-family:'Playfair Display',Georgia,serif}
a{color:var(--gold-dark)}
.btn-gold{background:var(--gold);border-color:var(--gold);color:#fff}
.btn-gold:hover,.btn-gold:focus{background:var(--gold-dark);border-color:var(--gold-dark);color:#fff}
.btn-outline-gold{border-color:var(--gold);color:var(--gold-dark);background:#fff}
.btn-outline-gold:hover{background:var(--gold-soft);color:var(--gold-dark);border-color:var(--gold)}
.form-control:focus,.form-select:focus{border-color:var(--gold);box-shadow:0 0 0 .2rem rgba(184,137,59,.18)}
.card{border:1px solid var(--line);border-radius:16px;box-shadow:0 6px 24px rgba(90,70,30,.05)}
.logo-tile{background:#17130f;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}
.logo-tile img{width:100%;height:100%;object-fit:cover}
.page-link{color:var(--gold-dark)}
.active>.page-link,.page-link.active{background:var(--gold);border-color:var(--gold);color:#fff}

/* ---------- admin ---------- */
.admin-shell{display:flex;min-height:100vh}
.sidebar{width:250px;flex:0 0 250px;background:var(--paper);border-right:1px solid var(--line);padding:18px 14px;position:sticky;top:0;height:100vh;overflow-y:auto}
.sidebar .brand{display:flex;align-items:center;gap:10px;margin-bottom:18px;text-decoration:none;color:var(--ink)}
.sidebar .brand .logo-tile{width:46px;height:46px}
.sidebar .brand strong{font-family:'Playfair Display',serif;font-size:1.02rem;line-height:1.15}
.sidebar .menu-label{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:16px 10px 6px}
.sidebar a.item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;color:var(--ink);text-decoration:none;margin-bottom:2px}
.sidebar a.item i{color:var(--gold);font-size:1.05rem}
.sidebar a.item:hover{background:var(--cream)}
.sidebar a.item.active{background:var(--gold-soft);font-weight:600}
.main{flex:1;min-width:0}
.topbar{background:var(--paper);border-bottom:1px solid var(--line);padding:12px 22px;display:flex;align-items:center;gap:12px}
.content{padding:22px}
.table{--bs-table-bg:transparent;margin:0}
.table thead th{background:var(--gold-soft);color:#5c4517;font-weight:600;border:0;white-space:nowrap}
.table td{vertical-align:middle;border-color:var(--line)}
.stat{border-radius:16px;padding:18px;border:1px solid var(--line);height:100%}
.stat .icon{width:44px;height:44px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--gold-dark)}
.stat .value{font-size:1.5rem;font-weight:600;margin-top:10px}
.stat small{color:var(--muted)}
.bg-gold-soft{background:var(--gold-soft)} .bg-rose{background:var(--rose)} .bg-sage{background:var(--sage)} .bg-sky{background:var(--sky)}
@media (max-width: 991px){
  .sidebar{position:fixed;left:-260px;z-index:1045;transition:left .2s}
  .sidebar.open{left:0;box-shadow:0 0 40px rgba(0,0,0,.2)}
}

/* ---------- website ---------- */
.site-nav{background:rgba(255,255,255,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.site-nav .nav-link{color:var(--ink);font-weight:500}
.site-nav .nav-link.active,.site-nav .nav-link:hover{color:var(--gold-dark)}
.hero{background:linear-gradient(135deg,#fdf6e7 0%,#fbf8f3 45%,#f7e9e6 100%);padding:84px 0}
.hero h1{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.1}
.hero .logo-tile{width:min(320px,70vw);aspect-ratio:1/1;border-radius:32px;box-shadow:0 30px 60px rgba(90,70,30,.25)}
.section{padding:64px 0}
.eyebrow{letter-spacing:.2em;text-transform:uppercase;font-size:.72rem;color:var(--gold-dark);font-weight:600}
.feature i{font-size:1.6rem;color:var(--gold)}
.price{color:var(--gold-dark);font-weight:600;white-space:nowrap}
footer.site{background:#1d1814;color:#d9cfc0;padding:44px 0 22px}
footer.site a{color:#e6c88a;text-decoration:none}
.map-frame{border:0;width:100%;height:380px;border-radius:16px}
