:root {
  --pt-red: #c8102e;
  --pt-red-dark: #a10d25;
  --pt-ink: #232323;
  --pt-bg-soft: #f6f5f3;
  --pt-radius: 10px;
  --pt-shadow: 0 4px 18px rgba(20,20,20,.08);
  --pt-transition: all .2s ease;
}

/* Brand color overrides on top of Hummingbird's default blue theme */
.btn-primary, .add-to-cart, button[type="submit"].btn-primary {
  background-color: var(--pt-red) !important;
  border-color: var(--pt-red) !important;
}
.btn-primary:hover { background-color: var(--pt-red-dark) !important; border-color: var(--pt-red-dark) !important; }
a { color: var(--pt-red); }
a:hover { color: var(--pt-red-dark); }

/* ---- Hero banner ---- */
.pt-hero {
  position: relative;
  margin: 0 0 2rem;
  border-radius: var(--pt-radius);
  overflow: hidden;
  min-height: 320px;
  display: flex;
  align-items: flex-end;
  background: #10202c url('/img/pt-hero.jpg') center/cover no-repeat;
}
.pt-hero::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(0deg, rgba(10,10,10,.82) 0%, rgba(10,10,10,.35) 55%, rgba(10,10,10,0) 100%);
}
.pt-hero-content {
  position: relative;
  color: #fff;
  padding: 2.5rem;
  max-width: 640px;
}
.pt-hero-content h1 {
  font-size: 2rem;
  font-weight: 800;
  margin: 0 0 .75rem;
  text-shadow: 0 2px 10px rgba(0,0,0,.4);
}
.pt-hero-content p {
  font-size: 1rem;
  margin: 0 0 1.25rem;
  color: rgba(255,255,255,.92);
}
.pt-hero-cta {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: var(--pt-red);
  color: #fff;
  border: none;
  padding: .8rem 1.75rem;
  font-weight: 700;
  letter-spacing: .3px;
  text-transform: uppercase;
  font-size: .82rem;
  border-radius: 999px;
  box-shadow: 0 10px 24px rgba(200,16,46,.4);
  transition: var(--pt-transition);
  text-decoration: none;
}
.pt-hero-cta:hover { transform: translateY(-2px); color: #fff; box-shadow: 0 14px 30px rgba(200,16,46,.5); }
@media (max-width: 600px) {
  .pt-hero { min-height: 220px; }
  .pt-hero-content { padding: 1.25rem; }
  .pt-hero-content h1 { font-size: 1.3rem; }
}

/* ---- Quick contact floating widget ---- */
.pt-quick-contact {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 1050;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}
.pt-quick-contact a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: var(--pt-red);
  color: #fff !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.25);
  text-decoration: none;
  transition: var(--pt-transition);
}
.pt-quick-contact a:hover { transform: scale(1.08); background: var(--pt-red-dark); }
.pt-quick-contact svg { width: 26px; height: 26px; fill: #fff; }
