/* Bootstrap overrides and small custom styles for Tragenza */
:root{
  /* Brand palette */
  --tz-primary:#9e1b20; /* primary brand red */
  --tz-accent:#525156;  /* secondary gray */
  /* Bootstrap theme overrides */
  --bs-primary: var(--tz-primary);
  --bs-primary-rgb: 158,27,32;
  --bs-secondary: var(--tz-accent);
  --bs-secondary-rgb: 82,81,86;
  --bs-link-color: var(--tz-primary);
  --bs-link-hover-color: #7e1519;

  /* Typography */
  --font-head: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
  --font-body: 'Assistant', system-ui, -apple-system, 'Segoe UI', Roboto;
  --font-ui: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto;
}

body{ font-family: var(--font-body); }
h1,h2,h3,h4,h5,h6{ font-family: var(--font-head); }
.btn, .badge, .nav-link{ font-family: var(--font-ui); }

.btn-tz-wa{ background:#25d366; border-color:#25d366; color:#fff; }
/* Hero overlay with brand colors */
.hero-tz{ position:relative; color:#fff; }
.hero-tz::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  /* More transparent at top, stronger (darker) at bottom for greater gradient depth */
  background: linear-gradient(180deg, rgba(158,27,32,0.38) 0%, rgba(158,27,32,0.45) 30%, rgba(82,81,86,0.75) 85%, rgba(82,81,86,0.92) 100%);
  backdrop-filter: blur(2px);
}
.hero-tz > *{ position:relative; z-index:1; }

.badge-chip{ border:1px dashed color-mix(in srgb, var(--tz-primary) 35%, transparent); background:#fff; color:var(--tz-accent); }
.stat-card{ background:#fff; border:1px solid #e7ecf4; border-radius:.75rem; padding:1rem; text-align:center; }
.stat-num{ font-weight:800; font-size:clamp(1.4rem,3vw,2rem); color:var(--tz-primary); display:block; }
.footer-dark a{ color:#fff; text-decoration:none; }
/* Cookie toast width on mobile */
@media (max-width:576px){ .cookie-toast{ max-width:calc(100vw - 1rem); width:calc(100vw - 1rem); } }
/* Brand logo sizing */
.brand-logo{ height:60px; object-fit:contain; }
@media (max-width:576px){ .brand-logo{ height:34px; } }
/* Smooth anchor scrolling and offset for sticky header */
html{ scroll-behavior:smooth; }
section[id]{ scroll-margin-top: 96px; }
.navbar{ padding-top:.25rem; padding-bottom:.25rem; }
@media (max-width: 991.98px){ section[id]{ scroll-margin-top: 76px; } }
/* Optional subtle shadow for separation */
.sticky-top{ box-shadow: 0 2px 8px rgba(0,0,0,.06); }
/* Brand components: buttons, links, backgrounds */
.bg-primary{ background-color: var(--tz-primary) !important; }
.text-primary{ color: var(--tz-primary) !important; }

.btn-primary{
  --bs-btn-color:#fff;
  --bs-btn-bg: var(--tz-primary);
  --bs-btn-border-color: var(--tz-primary);
  --bs-btn-hover-bg:#7e1519;
  --bs-btn-hover-border-color:#7e1519;
  --bs-btn-active-bg:#6b1216;
  --bs-btn-active-border-color:#6b1216;
}
.btn-outline-primary{
  --bs-btn-color: var(--tz-primary);
  --bs-btn-border-color: var(--tz-primary);
  --bs-btn-hover-bg: var(--tz-primary);
  --bs-btn-hover-border-color: var(--tz-primary);
  --bs-btn-hover-color:#fff;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus,
.navbar .nav-link.active{ color: var(--tz-primary); }
