/* ICOF CSF — Final front-end identity layer
   Refinement only: no layout/nav/donate-widget changes. */

:root {
  --icof-gold: #b2943e;
  --icof-bronze: #693f05;
  --icof-warm-orange: #d97706;
  --icof-navy: #0b2340;
  --icof-accent: #173b69;
  --icof-ivory: #faf7f2;
  --icof-ivory-deep: #f3eee6;
  --icof-gold-wash: #f7f1e4;
  --icof-navy-wash: #eef2f7;
}

/* ---- Alternating section rhythm (colour only) ---- */
main .min-h-screen > section:nth-of-type(odd),
.min-h-screen > section:nth-of-type(odd) {
  background-color: var(--icof-ivory);
}
.min-h-screen > section:nth-of-type(even) {
  background-color: #ffffff;
}
section#campaign {
  background:
    linear-gradient(180deg, var(--icof-gold-wash) 0%, var(--icof-ivory) 100%) !important;
}
section#donate {
  background: #ffffff !important; /* donate area stays clean */
}

/* Subhead strip under header */
.border-b.border-border.bg-party-orange\/5 {
  background: linear-gradient(90deg, var(--icof-navy-wash), var(--icof-gold-wash)) !important;
  border-bottom: 1px solid color-mix(in srgb, var(--icof-gold) 28%, transparent) !important;
}

/* ---- Hero visual polish ---- */
section.relative.overflow-hidden.bg-background > figure {
  position: relative;
}
section.relative.overflow-hidden.bg-background > figure > img {
  filter: saturate(0.92) contrast(1.04) brightness(0.96);
}
section.relative.overflow-hidden.bg-background > figure > figcaption.absolute {
  background: linear-gradient(
    to top,
    rgba(11, 35, 64, 0.94) 0%,
    rgba(11, 35, 64, 0.62) 42%,
    transparent 100%
  ) !important;
  padding-top: 7.5rem !important;
}
section.relative.overflow-hidden.bg-background > figure > figcaption .font-display {
  letter-spacing: -0.02em;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}

/* ---- Typography rhythm ---- */
.font-display {
  letter-spacing: -0.02em;
}
section .text-xs.font-bold.uppercase.tracking-\[0\.2em\].text-party-orange,
section .text-xs.font-bold.uppercase.tracking-\[0\.2em\] {
  letter-spacing: 0.18em !important;
  color: var(--icof-bronze) !important;
}
section h2.font-display,
section .font-display.text-4xl,
section .font-display.text-5xl {
  line-height: 1.08 !important;
}

/* ---- Priorities list → institutional cards feel (no layout move) ---- */
section#campaign .divide-y > div {
  padding-top: 1.35rem !important;
  padding-bottom: 1.35rem !important;
  border-color: color-mix(in srgb, var(--icof-gold) 22%, transparent) !important;
}
section#campaign .divide-y > div:hover {
  background: color-mix(in srgb, var(--icof-gold) 6%, transparent);
}

/* ---- Premium video framing ---- */
[data-cms-home-video] .rounded-3xl,
[data-cms-video-frame],
section [data-cms-video-frame],
.icof-video-shell {
  border: 1px solid color-mix(in srgb, var(--icof-gold) 45%, transparent) !important;
  box-shadow:
    0 0 0 4px color-mix(in srgb, var(--icof-navy) 6%, transparent),
    0 24px 48px rgba(11, 35, 64, 0.12) !important;
  border-radius: 1.25rem !important;
  overflow: hidden;
}
[data-cms-home-video] {
  background:
    linear-gradient(180deg, #ffffff 0%, var(--icof-navy-wash) 100%) !important;
  padding-bottom: 3rem;
}

/* ---- Scholarship spotlight card ---- */
.border-\[\#b2943e\]\/40.bg-\[\#b2943e\]\/5 {
  border-left: 3px solid var(--icof-gold) !important;
  background: linear-gradient(135deg, #fff, var(--icof-gold-wash)) !important;
}

/* ---- Footer university feel ---- */
footer.border-t {
  background:
    linear-gradient(180deg, #0b2340 0%, #07182c 100%) !important;
  border-top: 2px solid var(--icof-gold) !important;
}
footer a:hover {
  color: var(--icof-gold) !important;
}

/* ---- Injected identity modules ---- */
.icof-trust,
.icof-how,
.icof-impact,
.icof-faq {
  width: 100%;
}
.icof-trust {
  background: var(--icof-navy);
  color: #fff;
  border-bottom: 2px solid var(--icof-gold);
}
.icof-trust__inner {
  max-width: 72rem;
  margin: 0 auto;
  padding: 0.85rem 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.5rem;
  justify-content: center;
  align-items: center;
}
.icof-trust span {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in srgb, #fff 88%, var(--icof-gold));
  position: relative;
  padding: 0 0.35rem;
}
.icof-trust span + span::before {
  content: "";
  position: absolute;
  left: -0.85rem;
  top: 50%;
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: var(--icof-gold);
  transform: translateY(-50%);
}

.icof-how,
.icof-impact,
.icof-faq {
  background: var(--icof-ivory);
  border-top: 1px solid color-mix(in srgb, var(--icof-gold) 18%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--icof-gold) 18%, transparent);
}
.icof-how__inner,
.icof-impact__inner,
.icof-faq__inner {
  max-width: 72rem;
  margin: 0 auto;
  padding: 3rem 1rem;
}
.icof-kicker {
  margin: 0 0 0.65rem;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--icof-bronze);
}
.icof-title {
  margin: 0 0 1.5rem;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.6rem, 3vw, 2.35rem);
  font-weight: 800;
  line-height: 1.12;
  color: var(--icof-navy);
  letter-spacing: -0.02em;
}
.icof-how__steps {
  display: grid;
  gap: 1rem;
}
@media (min-width: 768px) {
  .icof-how__steps { grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
}
.icof-how__step {
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--icof-gold) 28%, transparent);
  border-top: 3px solid var(--icof-gold);
  padding: 1.25rem 1.1rem;
}
.icof-how__step strong {
  display: block;
  font-size: 0.95rem;
  color: var(--icof-navy);
  margin-bottom: 0.35rem;
}
.icof-how__step p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: #5c5348;
}
.icof-how__num {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  color: var(--icof-bronze);
  margin-bottom: 0.45rem;
}

.icof-impact__grid {
  display: grid;
  gap: 0.85rem;
}
@media (min-width: 640px) {
  .icof-impact__grid { grid-template-columns: repeat(3, 1fr); }
}
.icof-impact__item {
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--icof-navy) 10%, transparent);
  padding: 1.1rem 1rem;
}
.icof-impact__item b {
  display: block;
  font-size: 1.35rem;
  color: var(--icof-warm-orange);
  margin-bottom: 0.25rem;
}
.icof-impact__item span {
  font-size: 0.9rem;
  color: #5c5348;
  line-height: 1.45;
}

.icof-faq details {
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--icof-navy) 10%, transparent);
  border-left: 3px solid var(--icof-gold);
  padding: 0.85rem 1rem;
  margin-bottom: 0.65rem;
}
.icof-faq summary {
  cursor: pointer;
  font-weight: 700;
  color: var(--icof-navy);
}
.icof-faq details p {
  margin: 0.65rem 0 0;
  color: #5c5348;
  line-height: 1.55;
  font-size: 0.95rem;
}

/* Gentle section transitions */
section {
  transition: background-color 0.35s ease;
}
a.rounded-xl {
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, filter 0.2s ease;
}
