/* =====================================================
   PROGRAM PAGE
   ===================================================== */

   .program-event {
      width: 100%;
    }
    
    
    /* =====================================================
       SECTION RHYTHM
       ===================================================== */
    
    .program-event .section {
      padding: var(--space-5) 0;
    }
    
    .program-event .section:first-of-type {
      padding-top: var(--space-4);
    }
    
    .program-event .section:nth-of-type(even) {
      background: linear-gradient(
        180deg,
        rgba(0,0,0,0.01) 0%,
        rgba(0,0,0,0.03) 100%
      );
    }
    
    
    /* =====================================================
       DESCRIPTION
       ===================================================== */
    
    .program-description-text {
      max-width: 1000px;
      margin: auto;
      line-height: 1.7;
      font-size: 1.05rem;
      color: var(--color-text-primary);
      text-align: center;
    }
    
    
    /* =====================================================
       SCHEDULE
       ===================================================== */
       
    
    .schedule-coming-soon {
      text-align: center;
      padding: var(--space-3);
      max-width: 600px;
      margin: auto;
      font-size: 1.05rem;
      opacity: 0.8;
    }
    
    .schedule-tabs-nav {
      display: flex;
      justify-content: center;
      gap: var(--space-2);
      margin-bottom: var(--space-4);
      flex-wrap: wrap;
    }
    
    .schedule-tab-btn {
      border: none;
      padding: 10px 18px;
      border-radius: 999px;
      background: #f3f3f3;
      cursor: pointer;
      font-weight: 600;
      font-size: 0.9rem;
      color: var(--purple-800);
      transition: all 0.2s ease;
    }
    
    .schedule-tab-btn:hover {
      background: #eaeaea;
    }
    
    .schedule-tab-btn.active {
      background: var(--yellow-500);
      box-shadow: var(--shadow-sm);
    }
    
    .schedule-tabs-content {
      max-width: 640px;
      margin: auto;
    }

    .schedule-tab-panel{
      display:none;
    }
    
    .schedule-tab-panel.active{
      display:block;
    }
    
    .program-schedule-table {
      display: flex;
      flex-direction: column;
      gap: var(--space-2);
      margin-top: var(--space-2);
    }
    
    .schedule-row {
      display: grid;
      grid-template-columns: 110px 1fr;
      gap: var(--space-2);
    
      padding: var(--space-2);
    
      border-radius: 14px;
      border: 1px solid rgba(0,0,0,0.08);
      background: rgba(255,255,255,0.85);
    
      box-shadow: var(--shadow-sm);
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }
    
    .schedule-time {
      font-weight: 600;
      opacity: 0.8;
    }
    
    .schedule-title {
      font-weight: 500;
    }
    
    .schedule-note {
      display: block;
      font-size: 0.85rem;
      opacity: 0.7;
      margin-top: 4px;
    }
    
    
    /* =====================================================
       SPONSORS (SIMPLE GRID)
       ===================================================== */
    
    .sponsor-grid--simple {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
      gap: var(--space-3);
      justify-items: center;
    }
    
    .sponsor-grid--simple .sponsor-grid-item {
      width: 100%;
      max-width: 160px;
    }
    
    .sponsor-grid--simple img {
      max-height: 80px;
      width: auto;
      object-fit: contain;
      margin: auto;
    }

    /* Center single sponsor */
   .sponsor-grid--simple:has(.sponsor-grid-item:only-child) {
      grid-template-columns: 1fr;
      justify-items: center;
   }
   
   .sponsor-grid--simple:has(.sponsor-grid-item:only-child) .sponsor-grid-item {
      max-width: 200px;
   }
    
    
    /* =====================================================
       CTA
       ===================================================== */
    
    .program-cta {
      background: var(--salsa-gradient-6);
    }
    
    .program-cta .content-wrapper {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
    }
    
    .program-cta-text {
      color: var(--color-text-secondary);
      max-width: 520px;
      margin-top: var(--space-1);
    }
    
    
    /* =====================================================
       MOBILE
       ===================================================== */
    
    @media (max-width: 768px) {
    
      .schedule-row {
        grid-template-columns: 1fr;
        gap: 4px;
      }
    
      .schedule-time {
        font-size: 0.9rem;
      }
    
      .schedule-title {
        font-size: 0.95rem;
      }
    
    }
    
    /* Small mobile */
    @media (max-width: 580px) {
    
      .sponsor-grid--simple {
        grid-template-columns: repeat(2, 1fr);
      }
    
    }