/* ==========================================================================
   GLYCODEFENDER — Support / Legal pages shared styles
   Charcoal + blood-red · Inter + Oswald
   ========================================================================== */

:root {
  --brand:       #C81E2C;
  --brand-dark:  #9E1420;
  --brand-bright:#E23744;
  --ink:         #241A1D;
  --ink-soft:    #6E5B60;
  --charcoal:    #16100F;
  --peach:       #F3C6BA;
  --blush:       #F6E9E3;
  --cream:       #FBF5F1;

  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --headline:  'Oswald', 'Anton', Impact, sans-serif;
  --serif:     'Oswald', 'Anton', Impact, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
body {
  margin: 0;
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.7;
  color: var(--ink);
  background: var(--cream);
  -webkit-font-smoothing: antialiased;
}
a { color: var(--brand); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; display: block; }


/* ---------- Brand bar ---------- */
.brand-bar {
  background: var(--charcoal);
  padding: 16px 24px;
  text-align: center;
}
.brand-bar .brand-word {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}
.brand-bar .logo-mark { width: 28px; height: 28px; }
.brand-bar h1 {
  font-family: var(--serif);
  font-weight: 800;
  font-size: 1.5rem;
  color: #fff;
  margin: 0;
  line-height: 1;
}
.brand-bar h1 .defender {
  display: block;
  font-family: var(--headline);
  font-size: 0.55rem;
  font-weight: 600;
  letter-spacing: 0.42em;
  color: var(--brand-bright);
  margin-top: 3px;
}


/* ---------- Page hero ---------- */
.page-hero {
  background:
    radial-gradient(110% 90% at 80% 10%, rgba(200, 30, 44, 0.28) 0%, transparent 55%),
    linear-gradient(160deg, #1d1113 0%, var(--charcoal) 70%);
  color: #fff;
  padding: 54px 24px;
  text-align: center;
}
.page-hero h2 {
  font-family: var(--headline);
  font-size: clamp(1.8rem, 4vw, 2.6rem);
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin: 0;
}


/* ---------- Contact table ---------- */
.contact-table {
  max-width: 820px;
  margin: 40px auto;
  padding: 0 24px;
}
.contact-table table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(35, 12, 16, 0.10);
}
.contact-table td {
  padding: 18px 22px;
  border-bottom: 1px solid #f0e6e1;
  vertical-align: top;
}
.contact-table tr:last-child td { border-bottom: 0; }
.contact-table .label {
  font-family: var(--headline);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--ink);
  width: 45%;
}
.contact-table .label small {
  display: block;
  font-family: var(--font-body);
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  color: var(--ink-soft);
  font-size: 0.82rem;
  margin-top: 3px;
}
.contact-table .value { color: var(--ink); font-weight: 600; }


/* ---------- Tabs ---------- */
.tabs {
  display: flex;
  justify-content: center;
  gap: 8px;
  max-width: 820px;
  margin: 0 auto;
  padding: 0 24px;
  flex-wrap: wrap;
}
.tabs .tab {
  font: inherit;
  font-family: var(--headline);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border: 1px solid #e6d5cf;
  background: #fff;
  color: var(--ink-soft);
  padding: 10px 22px;
  border-radius: 999px;
  cursor: pointer;
  transition: all .2s;
}
.tabs .tab.active {
  background: var(--brand);
  border-color: var(--brand);
  color: #fff;
}


/* ---------- Legal / content ---------- */
.legal {
  max-width: 820px;
  margin: 28px auto 60px;
  padding: 0 24px;
}
.legal .tab-panel { display: none; }
.legal .tab-panel.active { display: block; }
.legal-doc { display: block; }
.tab-title,
.legal h3 {
  font-family: var(--headline);
  font-size: 1.4rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--ink);
  margin: 28px 0 12px;
}
.legal h2 {
  font-family: var(--headline);
  font-size: 1.15rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--brand-dark);
  margin: 26px 0 10px;
}
.legal p, .legal li { color: #3a2c2f; font-size: 0.98rem; }
.legal ul { padding-left: 20px; margin: 0 0 16px; }
.legal li { margin-bottom: 6px; }
.legal .updated { color: var(--ink-soft); font-style: italic; font-size: 0.9rem; margin-bottom: 20px; }

.faq-item {
  background: #fff;
  border: 1px solid #f0e6e1;
  border-radius: 10px;
  margin-bottom: 10px;
  overflow: hidden;
}
.faq-question {
  font: inherit;
  font-family: var(--headline);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: var(--ink);
  width: 100%;
  text-align: left;
  background: none;
  border: 0;
  padding: 16px 20px;
  cursor: pointer;
  position: relative;
}
.faq-question::after {
  content: '+';
  position: absolute;
  right: 20px;
  color: var(--brand);
  font-size: 1.3rem;
  line-height: 1;
}
.faq-item.open .faq-question::after { content: '−'; }
.faq-answer { display: none; padding: 0 20px 16px; }
.faq-item.open .faq-answer { display: block; }
.faq-answer p { margin: 0; }


/* ---------- BuyGoods footer ---------- */
.bg-footer {
  background: var(--charcoal);
  color: #fff;
  padding: 44px 24px;
}
.bg-footer__container { max-width: 960px; margin: 0 auto; text-align: center; }
.bg-footer__links {
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 22px;
}
.bg-footer__links a { color: rgba(255,255,255,.7); font-family: var(--headline); font-size: 0.85rem; letter-spacing: 1px; text-transform: uppercase; }
.bg-footer__links a:hover { color: var(--peach); }
.bg-footer__disclaimer { color: rgba(255,255,255,.5); font-size: 0.75rem; line-height: 1.6; max-width: 760px; margin: 0 auto 14px; }
.bg-footer__copy { color: rgba(255,255,255,.4); font-size: 0.72rem; margin: 0; }
.bg-footer #disclaimer, .bg-footer #disclaimer * { color: rgba(255,255,255,.6) !important; }
#disclaimer { display: block; max-width: 820px; margin: 14px auto 0; }


@media (max-width: 600px) {
  .contact-table td { display: block; width: 100%; }
  .contact-table .label { border-bottom: 0; padding-bottom: 4px; }
  .contact-table .value { padding-top: 0; }
}
