/* -----------------------
   NAV / GLOBAL MINOR RULES
------------------------ */
@media (min-width: 769px) {
  .burger { display: none !important; }
}

/* -----------------------
   PAGE SHELL
------------------------ */
.sp-page { padding-top: 80px; background: #fafafa; }
.sp-wrap { max-width: 1100px; margin: 0 auto; padding: 24px 20px 60px; }
.sp-title {
  font-size: clamp(1.6rem, 2.8vw, 2.2rem);
  text-align: center;
  color: #222;
  letter-spacing: .3px;
  margin: 10px 0 48px; /* extra air under title */
}

/* -----------------------
   LOGO GRID
------------------------ */
.sp-page .sponsors-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 40px;
  margin-bottom: 56px; /* space before the first block */
}
.sponsor-card {
  display: flex; justify-content: center; align-items: center;
  padding: 14px; background: #fff; border-radius: 12px; border: 1px solid #eee;
  transition: transform .2s ease, box-shadow .2s ease;
}
.sponsor-card:hover { transform: translateY(-4px); box-shadow: 0 8px 20px rgba(0,0,0,.06); }
.sponsor-card img { max-width: 100%; max-height: 120px; object-fit: contain; }

/* -----------------------
   SPONSOR BLOCK (Neutral / Pro)
------------------------ */
.sponsor-feature.v1 {
  --accent:#0ea5e9; --text:#0f172a; --muted:#475569; --ring:#e5e7eb; --bg:#ffffff;

  background: var(--bg);
  color: var(--text);
  border: 1px solid var(--ring);
  border-radius: 12px;
  box-shadow: none;
  max-width: 1100px;
  margin: 48px auto 80px;  /* strong separation between blocks */
}

/* Layout: text | media */
.sf2 {
  display: grid;
  grid-template-columns: minmax(0,1.25fr) minmax(0,1fr);
  align-items: stretch;    /* equal height columns */
  gap: 40px;
  padding: 24px;
}

/* Left column */
.sf2-body { display: flex; flex-direction: column; gap: 12px; }
.sf2-logo { width: 120px; height: 46px; object-fit: contain; margin: 0 0 4px; }
.sf2-title { margin: 0; font-weight: 800; font-size: clamp(1.3rem,2.2vw,1.8rem); letter-spacing: .1px; }
.sf2-desc  { margin: 0; color: var(--muted); line-height: 1.6; }

/* Actions */
.sf2-cta { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 6px; }
.sf2-btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 9px 14px; border-radius: 8px; font-weight: 600; text-decoration: none;
  border: 1px solid var(--ring); background: #fff; color: var(--text);
  transition: background .15s ease, transform .15s ease;
}
.sf2-btn:hover { background: #f8fafc; transform: translateY(-1px); }
.sf2-btn:not(.ghost) { background: var(--accent); border-color: var(--accent); color: #041318; }
.sf2-btn:not(.ghost):hover { filter: brightness(.98); }

/* Meta row */
.sf2-meta {
  list-style: none; padding: 0; margin: 12px 0 0;
  display: flex; gap: 12px; flex-wrap: wrap; color: #5b6474; font-size: .92rem;
}
.sf2-meta li { position: relative; padding-left: 10px; }
.sf2-meta li::before {
  content: ""; position: absolute; left: 0; top: .58em; width: 6px; height: 6px;
  border-radius: 999px; background: var(--accent);
}

/* -----------------------
   MEDIA PANEL (video/image)
   Desktop: "cover" effect to remove black bars.
------------------------ */
.sf2-media {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  background: #000;  /* fallback while loading */
  border: 1px solid #e7ecf3;
  min-height: 320px; /* good presence even with short content */
}

/* YouTube iframe "cover" */
.sf2-media .sf2-video {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  height: 100%;
  width: 177.78%;          /* 16/9 * 100 to cover height */
  min-width: 100%;
  min-height: 100%;
  border: 0;
}

/* Image fallback: also cover */
.sf2-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.breadcrumbs a {
  color: #004aad;  /* or gray */
  text-decoration: none;
}

.breadcrumbs a:hover {
  text-decoration: underline;
}

.breadcrumbs ol {
  list-style: none;
  display: flex;
  gap: 6px;
}

.breadcrumbs li::after {
  content: "›";
  margin-left: 6px;
  color: #aaa;
}

.breadcrumbs li:last-child::after {
  content: "";
}

/* -----------------------
   RESPONSIVE (Tablet & Mobile)
------------------------ */
@media (max-width: 900px) {
  .sp-wrap { padding: 16px 14px 40px; }

  /* Logo grid: 2 per row, tighter gaps */
  .sp-page .sponsors-grid {
    grid-template-columns: repeat(2, minmax(120px, 1fr));
    gap: 16px;
    margin-bottom: 24px;
  }
  .sponsor-card { padding: 10px; border-radius: 10px; }
  .sponsor-card img { max-height: 48px; }

  /* Blocks: stack, media on top in 16:9 box */
  .sponsor-feature.v1 { border-radius: 12px; margin: 16px auto 32px; }
  .sf2 { grid-template-columns: 1fr; gap: 12px; padding: 16px; align-items: start; }
  .sf2-media {
    order: -1;
    height: auto;
    padding-top: 56.25%;   /* 16:9 */
    border-radius: 10px;
  }
  .sf2-media .sf2-video,
  .sf2-media img {
    inset: 0; width: 100%; height: 100%;
    transform: none;       /* cancel desktop centering */
  }

  /* Type & buttons scale */
  .sf2-logo  { width: 96px; height: 40px; }
  .sf2-title { font-size: 1.25rem; line-height: 1.25; margin: 2px 0 4px; }
  .sf2-desc  { font-size: .95rem; line-height: 1.55; }
  .sf2-cta   { gap: 8px; }
  .sf2-btn   { padding: 10px 12px; font-size: .95rem; }
  .sf2-meta  { font-size: .85rem; gap: 10px; }
}

@media (max-width: 480px) {
  .sp-page .sponsors-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .sponsor-card img { max-height: 42px; }
  .sf2-cta .sf2-btn { width: 100%; }       /* full-width buttons on small phones */
  .sf2-title { font-size: 1.1rem; }
}
