.navbar, .bg-light, .bg-dark {background-color:#FFC72E !important}

.btn-info {
  background: var(--secondary-color);
}

.btn-info {
  background: var(--secondary-color);
}

.btn-info:hover {
  background: #de2328;
}

.badge-primary {
  background: var(--secondary-color);
  color: var(--primary-text-color);
}

#top-banner img {
  width: 100%;
  height: auto !important;
  max-height: 400px;
  object-fit: contain;
}

/* Ensure footer background is dark and spans full width */
.patriot-footer-custom {
  background-color: #1c1f2a !important;
  color: #f0f0f0 !important;
  padding: 40px 20px !important;
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  box-sizing: border-box;
}

/* Reset the rest of the site background to white */
body {
  background-color: #ffffff !important;
}

.patriot-footer-custom h4 {
  color: #ffffff !important;
}

/* ===== Modern product-card styling (added via Cowork) ===== */
.product-box .card.hover-box-shadow{
  border:1px solid #ececf0 !important;
  border-radius:16px !important;
  overflow:hidden;
  box-shadow:0 1px 3px rgba(16,24,40,.06) !important;
  transition:transform .2s ease, box-shadow .2s ease;
}
.product-box .card.hover-box-shadow:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 30px rgba(16,24,40,.13) !important;
}
.product-box .thumbnail{
  background:#f7f7f9;
  padding:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:240px;
}
.product-box .card-img-top{
  max-height:200px;
  width:auto !important;
  object-fit:contain;
}
.product-box .card-body{ padding-top:16px !important; }
.product-box .card-body h3{
  font-size:1rem !important;
  font-weight:600 !important;
  line-height:1.35;
  color:#1c1f2a;
}
.product-box .btn-info{
  border-radius:9999px !important;
  font-weight:600;
  padding:9px 22px !important;
  border:none !important;
  box-shadow:0 2px 6px rgba(222,35,40,.25);
  transition:background .2s ease, transform .1s ease, box-shadow .2s ease;
}
.product-box .btn-info:hover{ box-shadow:0 4px 12px rgba(222,35,40,.35); }
.product-box .btn-info:active{ transform:scale(.97); }
.card-aligned{ row-gap:10px; }

/* ===== Hide top banner (added via Cowork) ===== */
#top-banner{ display:none !important; }

/* ===== Hero + header label + official colors (added via Cowork) ===== */
/* Official Jersey Mike's red on action buttons */
.btn-info{ background:#EE3227 !important; }
.btn-info:hover{ background:#d12a20 !important; }

/* Header "Label Source" lockup next to logo */
.top-header .navbar-brand.mr-auto{ margin-right:16px !important; }
#jm-portal-title{ display:inline-flex; align-items:center; gap:14px; vertical-align:middle; margin-right:auto; }
#jm-portal-title .dv{ width:1px; height:34px; background:#d7dbe2; display:inline-block; }
#jm-portal-title .txt{ font-weight:800; font-size:1.15rem; line-height:1.15; color:#134A7C; letter-spacing:.2px; white-space:nowrap; }

/* Welcome hero (home page) */
#jm-hero{ background:linear-gradient(135deg,#0f3a63,#134A7C); color:#fff; border-radius:18px; margin:6px 0 30px; padding:50px 40px; text-align:center; overflow:hidden; }
#jm-hero h1{ font-size:2.25rem; font-weight:800; margin:0 0 14px; line-height:1.15; color:#fff; }
#jm-hero p.sub{ font-size:1.06rem; max-width:700px; margin:0 auto 26px; color:rgba(255,255,255,.9); line-height:1.55; }
#jm-hero .cta{ background:#EE3227; color:#fff; border:none; border-radius:9999px; font-weight:800; font-size:1rem; padding:13px 32px; cursor:pointer; box-shadow:0 6px 18px rgba(0,0,0,.22); transition:transform .12s ease, box-shadow .2s ease, background .2s ease; }
#jm-hero .cta:hover{ background:#d12a20; transform:translateY(-2px); box-shadow:0 10px 26px rgba(0,0,0,.3); }