/* Grade horaria das LPs TNTFIT */
.class-schedule{padding:clamp(72px,8vw,112px) clamp(20px,5vw,72px);background:var(--b,#0a0a0a);color:#fff;border-top:1px solid rgba(255,255,255,.08);scroll-margin-top:76px;overflow:hidden}
.class-schedule__inner{width:100%;max-width:1320px;margin:0 auto}
.class-schedule__head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:32px}
.class-schedule__eyebrow{display:block;margin-bottom:8px;color:var(--y,#ffff00);font:800 12px var(--fb,'DM Sans',sans-serif);letter-spacing:2px;text-transform:uppercase}
.class-schedule__title{margin:0;color:#fff;font:900 clamp(42px,6vw,76px)/.95 var(--fh,'Barlow Condensed',sans-serif);letter-spacing:-1px;text-transform:uppercase}
.class-schedule__title em{color:var(--y,#ffff00);font-style:normal}
.class-schedule__intro{max-width:440px;color:rgba(255,255,255,.62);font-size:15px;line-height:1.75}
.class-schedule__status{min-height:24px;margin:0 0 16px;color:rgba(255,255,255,.6);font-size:13px}
.class-schedule__status[data-state=ready]::before,.class-schedule__status[data-state=fallback]::before{content:'\25CF';margin-right:7px;color:var(--y,#ffff00)}
.class-schedule__status[data-state=fallback]::before{color:#ffb020}
.class-schedule__status[data-state=error]{color:#ff9a9a}
.class-schedule__tabs{display:none}
.class-schedule__table-wrap{position:relative;max-height:590px;overflow:hidden}
.class-schedule__table-wrap::after{content:'';position:absolute;z-index:5;right:0;bottom:0;left:0;height:145px;background:linear-gradient(transparent,var(--b,#0a0a0a));pointer-events:none}
.class-schedule__table-wrap.is-expanded{max-height:none}
.class-schedule__table-wrap.is-expanded::after{display:none}
.class-schedule__grid{display:grid;grid-template-columns:88px repeat(var(--schedule-days,6),minmax(150px,1fr));gap:8px;overflow-x:auto;padding-bottom:12px;scrollbar-color:var(--y,#ffff00) #202020}
.class-schedule__corner,.class-schedule__day-head,.class-schedule__time{display:flex;align-items:center;justify-content:center;border-radius:4px;background:var(--y,#ffff00);color:#080808;font-family:var(--fh,'Barlow Condensed',sans-serif);font-weight:900;text-align:center;text-transform:uppercase}
.class-schedule__corner,.class-schedule__day-head{position:sticky;top:0;z-index:2;min-height:52px;padding:10px;font-size:14px;letter-spacing:.4px}
.class-schedule__corner{left:0;z-index:4;font-size:11px}
.class-schedule__time{position:sticky;left:0;z-index:3;min-height:106px;padding:10px;font-size:17px;box-shadow:6px 0 14px rgba(255,255,0,.08)}
.class-schedule__cell{display:grid;align-content:stretch;gap:6px;min-height:106px;padding:6px;border:1px solid rgba(255,255,255,.1);border-radius:4px;background:#151515}
.class-schedule__cell.is-empty{background:transparent;border-color:rgba(255,255,255,.04)}
.class-schedule__class{display:flex;min-width:0;min-height:92px;flex-direction:column;padding:13px;border-left:3px solid var(--y,#ffff00);background:#202020;transition:transform .2s,background .2s}
.class-schedule__class:hover{background:#282828;transform:translateY(-2px)}
.class-schedule__class strong{overflow-wrap:anywhere;color:#fff;font:800 15px/1.1 var(--fh,'Barlow Condensed',sans-serif);letter-spacing:.3px;text-transform:uppercase}
.class-schedule__class span{margin-top:auto;padding-top:8px;color:rgba(255,255,255,.52);font-size:12px}
.class-schedule__mobile{display:none}
.class-schedule__toggle{display:flex;align-items:center;justify-content:center;min-height:50px;margin:24px auto 0;padding:0 28px;border:2px solid var(--y,#ffff00);background:var(--y,#ffff00);color:#000;font:800 15px var(--fh,'Barlow Condensed',sans-serif);letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:.2s}
.class-schedule__toggle:hover{background:transparent;color:var(--y,#ffff00)}
.class-schedule__toggle[hidden]{display:none}

@media(max-width:768px){
  .class-schedule{padding:64px 20px;scroll-margin-top:66px}
  .class-schedule__head{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:24px}
  .class-schedule__title{font-size:clamp(42px,14vw,58px)}
  .class-schedule__intro{font-size:14px}
  .class-schedule__tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:14px}
  .class-schedule__tab{min-width:0;padding:11px 4px;border:1px solid rgba(255,255,255,.16);border-radius:3px;background:#181818;color:rgba(255,255,255,.68);font:800 12px var(--fh,'Barlow Condensed',sans-serif);letter-spacing:.3px;text-transform:uppercase;cursor:pointer}
  .class-schedule__tab.is-active{border-color:var(--y,#ffff00);background:var(--y,#ffff00);color:#080808}
  .class-schedule__grid{display:none}
  .class-schedule__table-wrap{max-height:470px}
  .class-schedule__table-wrap.is-expanded{max-height:none}
  .class-schedule__mobile{display:grid;gap:7px;min-width:0}
  .class-schedule__mobile-row{display:grid;grid-template-columns:68px minmax(0,1fr);gap:7px;min-width:0}
  .class-schedule__mobile-time{display:flex;align-items:center;justify-content:center;min-height:82px;padding:7px;border-radius:3px;background:var(--y,#ffff00);color:#080808;font:900 15px var(--fh,'Barlow Condensed',sans-serif)}
  .class-schedule__mobile-cell{display:grid;min-width:0;min-height:82px;gap:5px;padding:5px;border:1px solid rgba(255,255,255,.1);border-radius:3px;background:#151515}
  .class-schedule__class{min-height:70px;padding:11px}
  .class-schedule__class strong{font-size:14px}
}

@media(max-width:350px){.class-schedule{padding-right:14px;padding-left:14px}.class-schedule__mobile-row{grid-template-columns:60px minmax(0,1fr)}.class-schedule__tab{font-size:11px}}
