:root{
  /* Navy + light blue + greys */
  --tj-yellow:#F2F2F2;         /* light grey hero background */
  --tj-orange:#4DA3FF;         /* light blue accent */
  --tj-green:#0F2A47;          /* NAVY primary */
  --tj-cream:#F8F9FA;          /* section light */
  --tj-deep:#0B1C30;           /* deeper navy for text */
  --tj-teal:#E9ECEF;           /* pale grey */
}
html,body{scroll-behavior:smooth;}
body{font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; color:#212529;}
.display-fun, h1,h2,h3,.navbar-brand{font-family:Fredoka, sans-serif; letter-spacing:.3px;}
.navbar-logo{display:block; width:234px; height:auto;}
.footer-logo{display:block; width:213px; height:auto; filter:brightness(0) invert(1);}
/* Utility helpers */
.bg-cream{background:var(--tj-cream);} .bg-yellow{background:var(--tj-yellow);} .bg-green{background:var(--tj-green);} .bg-orange{background:var(--tj-orange);} .bg-teal{background:var(--tj-teal);}
.text-green{color:var(--tj-green)!important;} .text-orange{color:var(--tj-orange)!important;} .text-deep{color:var(--tj-deep)!important;}
.rounded-2xl{border-radius:1.25rem!important;}
.shadow-soft{box-shadow:0 10px 20px rgba(0,0,0,.08);}
.btn-pill{border-radius:999px;}
.btn-tj{background:var(--tj-green); color:#fff; border:none;} .btn-tj:hover{background:#0c2239; color:#fff;}
.btn-ghost{background:#fff; border:2px solid var(--tj-green); color:var(--tj-green);} .btn-ghost:hover{background:var(--tj-green); color:#fff;}
.section{padding:4rem 0;} @media (min-width:992px){.section{padding:5.5rem 0;}}

/* Donate tabs */
.donate-tabs .nav-link{color:var(--tj-green); font-weight:600; border-radius:.5rem .5rem 0 0;}
.donate-tabs .nav-link.active{background:var(--tj-green); color:#fff; border-color:var(--tj-green);}
.donate-tabs .nav-link:hover:not(.active){background:var(--tj-teal);}

/* Polaroid */
.polaroid{background:#fff; padding:.5rem; border-radius:10px; box-shadow:0 12px 24px rgba(0,0,0,.08); transform:rotate(-2deg);}
.polaroid:nth-child(2){transform:rotate(3deg);} .polaroid:nth-child(3){transform:rotate(-4deg);}

/* Wave separators: robust on all screens */
.wave{display:none;}

/* Perfectly circular icon bubbles, no flex stretching */
.icon-bubble{
  width:72px;
  aspect-ratio:1 / 1;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:var(--tj-green);
  font-size:1.75rem;
  line-height:1;
  flex:0 0 72px;
}
@media (min-width:1200px){
  .icon-bubble{ width:84px; flex-basis:84px; font-size:1.9rem; }
}

/* Card tweaks */
.card.tj{border:0; border-radius:1rem; box-shadow:0 8px 20px rgba(0,0,0,.06);}

/* Footer */
.footer a{color:#fff; text-decoration:none;} .footer a:hover{text-decoration:underline;}

/* Donation widget */
.amount-btn{border:2px solid var(--tj-green); background:#fff; color:var(--tj-green);}
.amount-btn.active{background:var(--tj-green); color:#fff;}
.form-check-highlight {
  background: #f8f9fa;
  padding: 0.75rem 1rem 0.75rem 2.25rem;
  border-radius: 0.5rem;
}

/* Pull checkbox back inside the box */
.form-check-highlight .form-check-input {
  margin-left: -1.5rem;
}

/* Landscape sponsor photos: match heights */
.sponsor-photo-landscape{
  width:100%;
  aspect-ratio:3 / 2;
  object-fit:cover;
  object-position:center;
  border-radius:1.25rem;
}

/* Portrait sponsor photos: square centre-cropped */
.sponsor-photo-square{
  width:100%;
  aspect-ratio:1 / 1;
  object-fit:cover;
  object-position:center;
  border-radius:1.25rem;
  display:block;
  margin:0 auto;
}
