/* Logos retain their own colors and proportions on a neutral background. */
.sponsor-carousel, .sponsor-tier { min-width: 0; }
.sponsor-carousel-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; color:var(--blue-primary); font-weight:700; }
.sponsor-controls { display:flex; gap:.5rem; }
.sponsor-controls[hidden] { display:none; }
.sponsor-controls button { width:44px; height:44px; border:1px solid #cedbe8; border-radius:50%; background:#fff; color:var(--blue-primary); cursor:pointer; font-size:1.3rem; }
.sponsor-controls button:disabled { opacity:.35; cursor:default; }
.sponsor-controls button:focus-visible, .sponsor-track:focus-visible { outline:3px solid var(--green-accent); outline-offset:3px; }
.sponsor-track { display:grid; grid-auto-flow:column; grid-auto-columns:190px; gap:1rem; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; padding:.25rem .25rem 1rem; scrollbar-width:thin; scrollbar-color:#8ea9c4 #edf3f8; }
.sponsor-logo-card { min-width:0; padding:1.1rem 1rem; background:#fff; border:1px solid #e0e7ee; border-radius:12px; text-align:center; scroll-snap-align:start; box-shadow:0 3px 12px rgba(16,49,83,.035); }
.sponsor-logo-image { height:90px; display:flex; justify-content:center; align-items:center; margin-bottom:.9rem; }
.sponsor-logo-image img { display:block; max-width:100%; max-height:90px; width:auto; height:auto; object-fit:contain; }
.sponsor-logo-card h3 { font-family:var(--font-body); font-size:.87rem; line-height:1.4; margin:0 0 .3rem; color:var(--blue-primary); }
.sponsor-level { color:#596b7a; font-size:.73rem; letter-spacing:.06em; text-transform:uppercase; }
.sponsor-section-actions { display:flex; justify-content:center; margin-top:1.75rem; }
.sponsor-tier { margin-bottom:2.5rem; }
.sponsor-tier-heading { font-size:1.35rem; border-left:4px solid var(--green-accent); padding-left:.8rem; margin-bottom:1rem; }
.sponsor-logo-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.sponsor-source { color:var(--text-muted); font-size:.85rem; }
.sponsor-source a { text-decoration:underline; text-underline-offset:3px; }
.events-empty-state { display:flex; justify-content:center; gap:1rem; flex-wrap:wrap; }
#eventos-pasados .past-events-grid { max-width:none; grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:900px) {
  .sponsor-logo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #eventos-pasados .past-events-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .sponsor-logo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
  .sponsor-logo-card { padding:1rem .75rem; }
  .sponsor-track { grid-auto-columns:170px; gap:.75rem; }
  .sponsor-carousel-toolbar { font-size:.85rem; }
  #eventos-pasados .past-events-grid { grid-template-columns:1fr; }
}
