/* static/site/css/theme.css */

/* ---- Premium “Old Money” Palette (Burgundy + Off-white) ---- */
:root{
  /* Core */
  --brand-burgundy:    #5a0f21;  /* rich burgundy */
  --brand-burgundy-2:  #7a1730;  /* brighter accent */
  --brand-burgundy-3:  #3f0a17;  /* deep for hover/active */

  /* Base neutrals */
  --brand-cream:       #f7f4ee;  /* off-white */
  --brand-paper:       #fcfaf6;  /* slightly warmer white */
  --brand-ink:         #1b1b1a;  /* near-black */
  --brand-muted:       #6f6a64;

  /* Gold-ish accent (very subtle, “heritage”) */
  --brand-gold:        #c7ad72;

  /* Borders / shadows */
  --brand-border:      rgba(27,27,26,0.14);
  --brand-border-soft: rgba(27,27,26,0.08);
  --brand-shadow:      0 12px 34px rgba(27,27,26,0.10);
  --brand-shadow-soft: 0 10px 24px rgba(27,27,26,0.08);

  /* Focus ring */
  --brand-focus:       rgba(122,23,48,0.18);
}

/* ---- Base ---- */
html, body { height: 100%; }

body{
  background: var(--brand-cream);
  color: var(--brand-ink);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Subtle premium background texture (very light) */
main, .content, .page, .container{
  background: transparent;
}

/* Links */
a{
  color: var(--brand-burgundy-2);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
a:hover{
  color: var(--brand-burgundy);
}

/* ---- Navbar / header ---- */
.navbar,
.navbar.bg-light{
  background: linear-gradient(180deg, var(--brand-burgundy-3) 0%, var(--brand-burgundy) 100%) !important;
  border-bottom: 1px solid rgba(199,173,114,0.25);
  box-shadow: 0 10px 26px rgba(27,27,26,0.10);
}

.navbar .navbar-brand{
  letter-spacing: 0.04em;
  font-weight: 600;
}

.navbar .navbar-brand,
.navbar .nav-link{
  color: rgba(247,244,238,0.93) !important;
}
.navbar .nav-link:hover,
.navbar .navbar-brand:hover{
  color: #fff !important;
}

/* Make icons / badges look “premium” */
.navbar .badge,
.navbar .badge-pill{
  background: rgba(199,173,114,0.20) !important;
  color: rgba(247,244,238,0.95) !important;
  border: 1px solid rgba(199,173,114,0.28);
}

/* ---- Buttons (Bootstrap) ---- */
.btn{
  border-radius: 0.95rem;
  padding: 0.55rem 0.95rem;
  font-weight: 600;
  letter-spacing: 0.01em;
}

/* Primary = Burgundy */
.btn-primary{
  background: linear-gradient(180deg, var(--brand-burgundy-2) 0%, var(--brand-burgundy) 100%) !important;
  border-color: rgba(199,173,114,0.35) !important; /* subtle heritage trim */
  box-shadow: 0 8px 18px rgba(90,15,33,0.22);
}
.btn-primary:hover,
.btn-primary:focus{
  background: linear-gradient(180deg, var(--brand-burgundy) 0%, var(--brand-burgundy-3) 100%) !important;
  border-color: rgba(199,173,114,0.45) !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(63,10,23,0.24);
}
.btn-primary:active{
  transform: translateY(0px);
  box-shadow: 0 6px 16px rgba(63,10,23,0.20);
}

/* Outline Primary */
.btn-outline-primary{
  color: var(--brand-burgundy-2) !important;
  border-color: rgba(90,15,33,0.55) !important;
  background: rgba(252,250,246,0.6) !important;
}
.btn-outline-primary:hover{
  background: var(--brand-burgundy-2) !important;
  border-color: var(--brand-burgundy-2) !important;
  color: var(--brand-paper) !important;
  box-shadow: 0 8px 18px rgba(90,15,33,0.20);
}

/* Secondary button polish */
.btn-secondary{
  background: rgba(27,27,26,0.85) !important;
  border-color: rgba(27,27,26,0.85) !important;
}
.btn-secondary:hover{
  background: rgba(27,27,26,0.95) !important;
  border-color: rgba(27,27,26,0.95) !important;
}

/* Bootstrap helper classes */
.bg-primary{ background: var(--brand-burgundy-2) !important; }
.text-primary{ color: var(--brand-burgundy-2) !important; }
.badge-primary{ background: var(--brand-burgundy-2) !important; }

/* Alerts / highlights (subtle premium) */
.alert-primary{
  background: rgba(122,23,48,0.08) !important;
  border-color: rgba(122,23,48,0.18) !important;
  color: var(--brand-ink) !important;
}

/* ---- Cards / panels / tables ---- */
.card,
.thumbnail,
.well{
  border-radius: 1.15rem;
  border: 1px solid var(--brand-border-soft);
  box-shadow: var(--brand-shadow-soft);
  background: var(--brand-paper);
}

.card .card-header,
.card-header{
  background: rgba(247,244,238,0.65);
  border-bottom: 1px solid rgba(199,173,114,0.18);
}

.table{
  background: var(--brand-paper);
  border-radius: 1rem;
  overflow: hidden;
  border: 1px solid var(--brand-border-soft);
}
.table thead th{
  background: rgba(247,244,238,0.85);
  border-bottom: 1px solid rgba(199,173,114,0.18);
}

/* Product tiles / list items often use .list-group-item */
.list-group-item{
  background: var(--brand-paper);
  border-color: var(--brand-border-soft);
}

/* ---- Forms ---- */
.form-control,
.custom-select,
select,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"]{
  border-radius: 0.95rem;
  border-color: var(--brand-border);
  background: rgba(252,250,246,0.9);
}

.form-control:focus,
.custom-select:focus,
select:focus,
input:focus{
  border-color: rgba(122,23,48,0.55);
  box-shadow: 0 0 0 0.22rem var(--brand-focus);
}

/* ---- Breadcrumbs / small UI polish ---- */
.breadcrumb{
  background: rgba(252,250,246,0.6);
  border: 1px solid var(--brand-border-soft);
  border-radius: 0.95rem;
}

/* ---- Footer polish ---- */
footer,
.footer{
  background: rgba(27,27,26,0.92);
  color: rgba(247,244,238,0.88);
  border-top: 1px solid rgba(199,173,114,0.22);
}
footer a,
.footer a{
  color: rgba(247,244,238,0.88);
}
footer a:hover,
.footer a:hover{
  color: #fff;
}

/* ---- Optional: make headings feel “heritage” without changing fonts ---- */
h1,h2,h3,h4,h5{
  letter-spacing: 0.01em;
}
