/* ── Fancypants Brand CSS — applied to all pages ── */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,900;1,700&family=DM+Sans:wght@300;400;500;600&display=swap');

:root {
  --fp-red:#C8272C; --fp-red2:#a81e22; --fp-red3:#e03035;
  --fp-burg:#5C1A1C; --fp-burg2:#7a2428;
  --fp-yellow:#F5C800;
  --fp-cream:#FAF6F0; --fp-cream2:#F2EBE1; --fp-cream3:#E8DDD0;
  --fp-muted:#9a7a6a; --fp-text:#2a1a14;
  --fp-white:#ffffff;
}

/* Body */
body { background:var(--fp-cream) !important; color:var(--fp-text) !important; }

/* Nav overhaul */
.nav {
  background:var(--fp-red) !important;
  border-bottom:none !important;
  box-shadow:0 2px 12px rgba(140,20,20,.25) !important;
  height:58px !important;
  min-height:58px !important;
}
.nav-logo img { display:none !important; }
.nav-logo { padding:0 !important; }
.nav-logo::before {
  content:'';
  display:inline-block;
  width:30px; height:38px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 150'%3E%3Cg fill='none' stroke='%23fff' stroke-linecap='round'%3E%3Cpath d='M52 95 Q30 100 18 88 Q8 76 20 68 Q32 60 40 72' stroke-width='3'/%3E%3Cpath d='M48 88 Q22 85 12 70 Q4 56 16 50 Q28 44 36 58' stroke-width='3'/%3E%3Cpath d='M50 78 Q32 65 30 50 Q28 36 42 34 Q56 32 56 48' stroke-width='3'/%3E%3Cpath d='M54 70 Q42 50 46 34 Q50 18 64 18 Q78 18 76 34' stroke-width='3'/%3E%3Cpath d='M60 66 Q60 44 66 28 Q72 12 82 16 Q92 20 86 34' stroke-width='3'/%3E%3Cpath d='M66 70 Q80 52 88 38 Q96 24 106 30 Q116 36 108 50' stroke-width='3'/%3E%3Cpath d='M70 80 Q90 68 98 54 Q106 40 116 46 Q122 56 110 64' stroke-width='3'/%3E%3Cpath d='M70 90 Q92 86 102 74 Q110 62 118 70 Q122 82 108 86' stroke-width='3'/%3E%3C/g%3E%3Ccircle cx='17' cy='85' r='4' fill='%23F5C800'/%3E%3Ccircle cx='10' cy='67' r='4' fill='%23F5C800'/%3E%3Ccircle cx='28' cy='46' r='4' fill='%23F5C800'/%3E%3Ccircle cx='44' cy='30' r='4' fill='%23F5C800'/%3E%3Ccircle cx='82' cy='13' r='4' fill='%23F5C800'/%3E%3Ccircle cx='108' cy='27' r='4' fill='%23F5C800'/%3E%3Ccircle cx='118' cy='43' r='4' fill='%23F5C800'/%3E%3Ccircle cx='120' cy='68' r='4' fill='%23F5C800'/%3E%3Cellipse cx='60' cy='102' rx='26' ry='24' fill='%23fff'/%3E%3Cellipse cx='62' cy='78' rx='9' ry='13' fill='%23fff'/%3E%3Ccircle cx='66' cy='62' r='11' fill='%23fff'/%3E%3Ccircle cx='70' cy='60' r='4' fill='%23C8272C'/%3E%3Ccircle cx='71' cy='60' r='2.5' fill='%231a0808'/%3E%3Ccircle cx='72' cy='59' r='1' fill='%23fff'/%3E%3Cpath d='M77 62 L86 58 L84 64 Z' fill='%23F5C800'/%3E%3Cline x1='52' y1='124' x2='46' y2='142' stroke='%23fff' stroke-width='2.5' stroke-linecap='round'/%3E%3Cline x1='66' y1='124' x2='72' y2='142' stroke='%23fff' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/contain;
  vertical-align:middle;
  margin-right:8px;
}
.nav-logo a { display:flex !important; align-items:center; padding:8px 0 !important; }
.nav-logo a::after {
  content:'Fancypants';
  font-family:'Playfair Display',serif;
  font-size:18px; font-weight:900; font-style:italic;
  color:#fff; letter-spacing:.2px;
  text-shadow:1px 1px 2px rgba(0,0,0,.15);
}
.nav-div { background:rgba(255,255,255,.2) !important; }
.nav-link { color:rgba(255,255,255,.62) !important; font-size:11.5px !important; font-weight:500 !important; }
.nav-link:hover { color:#fff !important; }
.nav-link.active { color:#fff !important; border-bottom-color:#fff !important; font-weight:600 !important; }
.signout-btn {
  background:rgba(255,255,255,.12) !important;
  border-color:rgba(255,255,255,.2) !important;
  color:rgba(255,255,255,.7) !important;
}
.signout-btn:hover { background:rgba(255,255,255,.22) !important; color:#fff !important; }
#nav-user { color:rgba(255,255,255,.75) !important; font-size:11px; }
#fp-loading { background:var(--fp-cream) !important; color:var(--fp-muted) !important; }

/* Cards */
.card, [class*="card"] {
  background:var(--fp-white) !important;
  border-color:var(--fp-cream3) !important;
  color:var(--fp-text) !important;
}

/* Tab bars */
.tabs, .tab-bar { background:var(--fp-white) !important; border-bottom-color:var(--fp-cream3) !important; }
.tab, .tab-btn {
  color:var(--fp-muted) !important;
  font-family:'DM Sans',sans-serif !important;
}
.tab.on, .tab.active, .tab-btn.active {
  color:var(--fp-red) !important;
  border-bottom-color:var(--fp-red) !important;
  font-weight:600 !important;
}

/* Buttons */
.btn-primary, .btn[style*="3DAA8E"], .btn[style*="D4943A"] {
  background:var(--fp-red) !important;
  color:#fff !important;
}
.btn-primary:hover { background:var(--fp-red3) !important; }
.btn-outline {
  border-color:var(--fp-cream3) !important;
  color:var(--fp-muted) !important;
  background:transparent !important;
}
.btn-outline:hover { border-color:var(--fp-red) !important; color:var(--fp-red) !important; }

/* Inputs */
input, select, textarea {
  background:var(--fp-cream) !important;
  border-color:var(--fp-cream3) !important;
  color:var(--fp-text) !important;
}
input:focus, select:focus, textarea:focus {
  border-color:var(--fp-red) !important;
  outline:none !important;
}
input::placeholder { color:var(--fp-muted) !important; }

/* Section titles / headings */
h1, h2, h3, .page-title, .section-title {
  color:var(--fp-text) !important;
  font-family:'Playfair Display',serif !important;
}

/* Toast */
.toast {
  background:var(--fp-burg) !important;
  border-color:var(--fp-red) !important;
  color:#fff !important;
}

/* Wrap / main containers */
.wrap, .main, .content, [id*="tab-"] {
  background:transparent !important;
  color:var(--fp-text) !important;
}

/* Tables */
th { color:var(--fp-muted) !important; border-color:var(--fp-cream3) !important; background:var(--fp-cream) !important; }
td { border-color:var(--fp-cream2) !important; color:var(--fp-text) !important; }
tr:hover td { background:var(--fp-cream) !important; }

/* Badges / status pills */
.badge-green, .status-green { background:#e8f5e8 !important; color:#1a6a1a !important; }
.badge-red, .status-red { background:#fde8e8 !important; color:var(--fp-red2) !important; }
.badge-amber, .status-amber { background:#fef5e0 !important; color:#8a5010 !important; }
