@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700&family=Anton&family=Montserrat:wght@300;900&display=swap');

:root {
  --rp-primary: #db2777;
  --rp-primary-dark: #be185d;
  --rp-accent: #2563eb;

  /* RUNADDA brand tokens */
  --ra-olive: #d3d61e;
  --ra-olive-dark: #b7ba18;
  --ra-green: #1b6b3a;
  --ra-green-dark: #145029;
  --ra-navy: #16213f;
  --ra-orange: #f4831f;
}

* { font-family: 'Inter', sans-serif; }
h1, h2, h3, h4, .font-display { font-family: 'Poppins', sans-serif; }

body { scroll-behavior: smooth; }

/* Hide scrollbar on horizontally-swipeable strips (e.g. mobile tab bars) */
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.no-scrollbar::-webkit-scrollbar { display: none; }

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: #db2777; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #be185d; }

.brand-gradient-text {
  background: linear-gradient(90deg, #f97316, #db2777);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.rp-card {
  transition: transform .25s ease, box-shadow .25s ease;
}
.rp-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 35px -12px rgba(0,0,0,.18);
}

.rp-btn-primary {
  background: linear-gradient(90deg, #db2777, #be185d);
}
.rp-btn-primary:hover {
  background: linear-gradient(90deg, #be185d, #9d174d);
}

.fade-in { animation: rpFadeIn .5s ease both; }
@keyframes rpFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.rp-spinner {
  border: 3px solid rgba(255,255,255,.35);
  border-top-color: #fff;
  border-radius: 50%;
  width: 20px; height: 20px;
  animation: rpSpin .7s linear infinite;
}
@keyframes rpSpin { to { transform: rotate(360deg); } }

.tab-underline {
  position: relative;
}
.tab-underline.active {
  color: var(--rp-primary);
}
.tab-underline.active::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: 2px;
  background: var(--rp-primary);
  border-radius: 2px;
}

[x-cloak] { display: none !important; }

/* RUNADDA header / nav */
.ra-navbar { background: var(--ra-olive); }
.ra-logo-icon { color: #0f1408; }
.ra-btn-green {
  background: var(--ra-green);
}
.ra-btn-green:hover { background: var(--ra-green-dark); }

.ra-btn-yellow {
  background: var(--ra-olive);
  color: #14170a;
}
.ra-btn-yellow:hover { background: var(--ra-olive-dark); }

/* Stylized event wordmark */
.ra-word-namma { color: var(--ra-orange); }
.ra-word-belagavi {
  color: #ffffff;
  -webkit-text-stroke: 1.5px var(--ra-navy);
  text-shadow: 2px 2px 0 var(--ra-navy), -2px 2px 0 var(--ra-navy), 2px -2px 0 var(--ra-navy), -2px -2px 0 var(--ra-navy);
}
.ra-word-marathon { color: #2e7d32; }

.ra-location-pin { color: var(--ra-orange); }
.ra-location-text { color: var(--ra-green-dark); }

/* "Organised by" credit block, hero top-right corner */
.main-title {
  font-family: "Montserrat", sans-serif;
  font-weight: 900;
  letter-spacing: -1px;
  text-transform: uppercase;
}

.organised-by {
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  letter-spacing: 3px;
  text-transform: uppercase;
}

/* Simple dark footer bar used across inner pages */
.ra-footer-bar {
  background: #14170a;
  color: #cbd0b8;
}

/* Generic page-banner background (kept separate from the homepage poster image) */
.ra-hero-photo {
  background:
    radial-gradient(circle at 15% 20%, rgba(255,255,255,.12), transparent 40%),
    linear-gradient(180deg, rgba(10,15,10,.15), rgba(10,10,5,.55)),
    linear-gradient(115deg, #fef3c7 0%, #fdba74 22%, #ea9455 40%, #7c8f6e 60%, #3f5748 78%, #1c2a24 100%);
}

.ra-sponsor-strip img, .ra-sponsor-strip .ra-sponsor-placeholder {
  filter: grayscale(0%);
  opacity: .95;
}
