.calendar-container{align-items:center;max-width:800px;margin:0 auto}.calendar,.calendar-container{display:flex;justify-content:center;width:100%}.calendar{flex-direction:column;align-items:stretch;max-width:100%}.calendar-header{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:1rem;text-align:center}.header-title{font-size:2rem;font-weight:700;text-align:center}.calendar-button{font-size:2rem;background:none;border:1px solid #000;color:#000;padding:.5rem;border-radius:5px;cursor:pointer;transition:background .3s}.calendar-button-disabled{opacity:.5;cursor:not-allowed;border:1px solid #ddd;color:#ddd}.calendar-grid-header{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;width:100%;margin-bottom:10px}.calendar-header-day{font-weight:700;text-align:center;width:100%;min-height:2rem;height:auto;background-color:#000;color:#fff;border-radius:10px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;width:100%;padding:0}.calendar-day-empty{min-height:55px}.calendar-day{width:min(72px,85%);aspect-ratio:1;height:auto;display:flex;justify-content:center;align-items:center;position:relative;border:1px solid #ddd;border-radius:50%;background-color:#fff;margin:7px auto 0;color:#000;justify-self:center;box-sizing:border-box}.event-day{background-color:#000;color:#fff;cursor:pointer}.event-tooltip{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:#000;color:#fff;padding:10px;border-radius:15px;white-space:nowrap;z-index:1;box-shadow:0 2px 5px rgba(.9,.9,.9,.9);opacity:0;transition:opacity .3s;pointer-events:none;text-align:center}.event-tooltip-visible{opacity:1}.legend{display:flex;flex-direction:column;align-items:center;margin-top:1rem;width:100%}.legend-title{text-align:center}.legend-divider{width:80%;margin:.5rem auto;border-color:#ddd}.legend-items-container{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;max-width:600px}.legend-item{display:flex;flex-direction:column;align-items:center;text-align:center}.past-day{background-color:#eee;color:#aaa;text-decoration:line-through;cursor:not-allowed}.today{background-color:#fff;color:#000;font-size:1.8rem;font-weight:700;border:2px solid #000}@media (max-width:1500px){.calendar-day{width:min(64px,85%)}}@media (max-width:1100px){.calendar-day{width:min(56px,85%)}.today{font-size:1.6rem}}@media (max-width:991px){.calendar-day{width:min(48px,90%)}.calendar-button{font-size:1.5rem}.header-title{font-size:2rem}.calendar{padding:0 10px}.event-tooltip-right{left:180%;bottom:85%}.event-tooltip-left{left:-80%;bottom:85%}.today{font-size:1.4rem}}@media (max-width:480px){.calendar-day{width:min(40px,90%)}}.video-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;padding:2rem 0;max-width:1200px;margin:0 auto}.video-thumbnail{width:100%;height:100%;object-fit:cover}.video-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;transition:background-color .3s ease}.video-icon-play{font-size:3rem;color:white;opacity:.8;transition:opacity .3s ease,transform .3s ease}.video-title{position:absolute;bottom:0;left:0;right:0;padding:1rem;margin:0;background:linear-gradient(transparent,rgba(0,0,0,.8));color:white;font-size:1rem;text-align:center}.video-modal{z-index:1000;display:flex;align-items:center;justify-content:center}.modal-overlay,.video-modal{position:fixed;top:0;left:0;right:0;bottom:0}.modal-overlay{background:rgba(0,0,0,.8)}.modal-content{position:relative;width:90%;max-width:1000px;aspect-ratio:16/9;z-index:1001}.close-button{position:absolute;top:-40px;right:0;background:none;border:none;color:white;font-size:1.5rem;cursor:pointer;padding:.5rem;z-index:1002}.video-iframe{width:100%;height:100%;border:none;border-radius:8px;background:black}@media (max-width:992px){.video-gallery{grid-template-columns:repeat(2,1fr)}}@media (max-width:576px){.video-gallery{grid-template-columns:1fr}}.video-item{position:relative;cursor:pointer;border-radius:4px;overflow:hidden;box-shadow:0 4px 6px rgba(0,0,0,.1);transition:transform .3s ease;aspect-ratio:16/9;background-color:black}.video-item:hover{transform:translateY(-5px)}.video-item:hover .video-overlay{background:rgba(0,0,0,.5)}.video-item:hover .video-icon-play{opacity:1;transform:scale(1.1)}