.df-calendar-shell{padding:75px 0 95px;background:#fff7fb}
.df-calendar-intro{max-width:760px;margin:0 auto 34px;text-align:center}
.df-calendar-intro h2{margin:0 0 10px;font-family:"Exo",sans-serif;font-size:clamp(34px,5vw,52px);font-weight:900;color:#271033}
.df-calendar-intro p{margin:0;color:#746979;font-family:"Karla",sans-serif;font-size:18px}
.df-calendar-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;max-width:880px;margin:0 auto 38px;padding:7px;border:1px solid #f0dce8;border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(54,17,54,.08)}
.df-calendar-tab{min-height:54px;padding:10px 15px;border:0;border-radius:12px;background:transparent;color:#5b5060;font:800 15px "Karla",sans-serif;cursor:pointer;transition:.2s ease}
.df-calendar-tab:hover{color:#ff007f;background:#fff2f8}.df-calendar-tab.active{background:#ff007f;color:#fff;box-shadow:0 7px 18px rgba(255,0,127,.25)}
.df-calendar-panel[hidden]{display:none}.df-calendar-panel{max-width:1040px;margin:0 auto}
.df-calendar-day{display:grid;grid-template-columns:170px minmax(0,1fr);gap:28px;padding:28px 0;border-bottom:1px solid #eddde7}
.df-calendar-day:first-child{padding-top:0}.df-calendar-day h3{margin:2px 0 0;color:#ff007f;font:900 27px "Exo",sans-serif}
.df-class-list{display:grid;gap:12px}.df-class-row{display:grid;grid-template-columns:125px minmax(0,1fr) minmax(180px,.55fr);align-items:center;gap:18px;padding:17px 20px;border:1px solid #f0dce8;border-radius:16px;background:#fff;box-shadow:0 8px 25px rgba(54,17,54,.055)}
.df-class-time{color:#ff007f;font:800 16px "Karla",sans-serif}.df-class-name{color:#271033;font:800 18px "Karla",sans-serif}.df-class-venue{display:flex;align-items:center;gap:8px;color:#746979;font:700 15px "Karla",sans-serif}.df-class-venue i{color:#ff007f}
.df-live-event{display:grid;grid-template-columns:190px minmax(0,1fr);gap:30px;padding:25px 4px;border-bottom:1px solid #eadce5}.df-live-event time{color:#ff007f;font:800 17px "Karla",sans-serif}.df-live-event h3{margin:0 0 5px;color:#271033;font:900 24px "Exo",sans-serif}.df-live-event p{margin:0;color:#746979;font:600 17px/1.55 "Karla",sans-serif}.df-live-event .venue{display:block;margin-top:8px;color:#5b5060;font-size:14px;font-weight:800}
.df-calendar-state{padding:48px 20px;border:1px solid #f0dce8;border-radius:18px;background:#fff;text-align:center;color:#746979;font:700 17px "Karla",sans-serif}.df-calendar-state i{display:block;margin-bottom:12px;color:#ff007f;font-size:30px}.df-calendar-state.error{color:#8b4057}
@media(max-width:767px){.df-calendar-shell{padding:48px 0 65px}.df-calendar-tabs{display:flex;max-width:none;margin-bottom:28px;padding-right:22px;overflow-x:auto;border-radius:14px;scroll-padding-right:22px;scrollbar-width:none}.df-calendar-tabs::-webkit-scrollbar{display:none}.df-calendar-tab{flex:0 0 auto;min-height:48px;padding:9px 16px}.df-calendar-tab:last-child{margin-right:8px}.df-calendar-day{grid-template-columns:1fr;gap:14px;padding:24px 0}.df-calendar-day h3{font-size:23px}.df-class-row{grid-template-columns:90px minmax(0,1fr);gap:8px 14px;padding:15px}.df-class-venue{grid-column:2}.df-live-event{grid-template-columns:1fr;gap:5px;padding:21px 2px}.df-live-event h3{font-size:21px}}
