.site.grid-container.container{max-width:100%}.site-content{display:flex;flex-direction:column;background:var(--pt-lighter-color)}.calendar-page-container{display:flex;width:100%;gap:20px;max-width:1200px;margin:0 auto;padding:20px 48px}.calendar-page-container .calendar-mobile-filter-button{display:none}.calendar-page-container .calendar-mobile-filter-button button{display:flex;justify-content:center;align-items:center;background:var(--pt-main-dark);color:#fff;gap:6px;border-radius:12px}.calendar-page-container .calendar-main-content{padding:40px 20px 20px;flex:0 0 72%}.calendar-page-container .calendar-main-content.loading{position:relative;min-height:200px}.calendar-page-container .calendar-main-content.loading:after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:rgb(255 255 255 / .8) url(../../../../themes/ptifa/assets/images/loading.gif) center no-repeat;z-index:2}.calendar-page-container .calendar-main-content .widget_layered_nav{margin-bottom:20px}.calendar-page-container .calendar-main-content .widget_layered_nav a{justify-content:flex-end;color:#666;text-decoration:none;display:flex;align-items:flex-start;transition:color 0.3s;font-family:'Inter';font-style:normal;font-weight:400;font-size:14px;line-height:24px;color:#164550}.calendar-page-container .calendar-main-content .widget_layered_nav a:hover{color:#186273}.calendar-page-container .calendar-main-content .widget_layered_nav a:before{content:'';width:24px;height:24px;flex:0 0 24px;border:1px solid var(--pt-helper-color);border-radius:8px;margin-right:8px}.calendar-page-container .calendar-main-content .widget_layered_nav a.chosen{color:#186273;font-weight:700}.calendar-page-container .calendar-main-content .widget_layered_nav a.chosen:before{display:flex;align-items:center;justify-content:center;content:'✓';margin-right:8px;font-size:14px;color:var(--pt-text-color)}@media screen and (max-width:768px){.calendar-page-container .calendar-main-content .widget_layered_nav a{justify-content:center}}.calendar-page-container .calendar-main-content .show_only_mobile{display:none!important}@media screen and (max-width:768px){.calendar-page-container .calendar-main-content .show_only_mobile{display:block!important}}.calendar-page-container .calendar-sidebar{flex:0 0 28%}.calendar-page-container .calendar-sidebar .calendar-sidebar-filter{background:var(--pt-light-color);margin-top:40px;height:fit-content;padding:24px;gap:16px;border-radius:24px}.calendar-page-container .calendar-sidebar .calendar-sidebar-filter h2{font-family:var(--gp-font--tiempos-fine);font-style:normal;font-weight:300;font-size:24px;line-height:30px;display:flex;align-items:center;color:var(--pt-main-dark)}.calendar-page-container .calendar-sidebar .calendar-sidebar-filter h3{font-family:'Inter';font-style:normal;font-weight:600;font-size:15px;line-height:21px;display:flex;align-items:center;color:var(--pt-main-darkest);margin-bottom:12px}.calendar-page-container .calendar-sidebar .widget{margin-bottom:20px}.calendar-page-container .calendar-sidebar .widget:last-child{margin-bottom:0}.calendar-page-container .calendar-sidebar .widget_layered_nav ul{margin:0;padding:0;list-style:none}.calendar-page-container .calendar-sidebar .widget_layered_nav li{margin-bottom:8px}.calendar-page-container .calendar-sidebar .widget_layered_nav a{color:#666;text-decoration:none;display:flex;align-items:flex-start;transition:color 0.3s;font-family:'Inter';font-style:normal;font-weight:400;font-size:14px;line-height:24px;color:#164550}.calendar-page-container .calendar-sidebar .widget_layered_nav a:hover{color:#186273}.calendar-page-container .calendar-sidebar .widget_layered_nav a:before{content:'';width:24px;height:24px;flex:0 0 24px;border:1px solid var(--pt-helper-color);border-radius:8px;margin-right:8px}.calendar-page-container .calendar-sidebar .widget_layered_nav a.chosen{color:#186273;font-weight:700}.calendar-page-container .calendar-sidebar .widget_layered_nav a.chosen:before{display:flex;align-items:center;justify-content:center;content:'✓';margin-right:8px;font-size:14px;color:var(--pt-text-color)}.calendar-products-grid{display:flex;flex-direction:column;gap:18px;margin-top:20px;width:100%}.calendar-products-grid .calendar-product-item{display:flex;align-items:center;justify-content:space-between;background:#fff;border-radius:12px;overflow:hidden;transition:all 0.3s ease;width:100%}.calendar-products-grid .calendar-product-item .product-thumbnail{position:relative;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;min-width:240px;width:250px;height:250px;padding:20px}.calendar-products-grid .calendar-product-item .product-thumbnail img{width:100%;height:100%;object-fit:contain;transition:transform 0.3s ease;background-color:#fff;border-radius:10px}.calendar-products-grid .calendar-product-item .date-badge{background:#95C11F;color:#fff;padding:15px;text-align:center;min-width:90px;display:flex;flex-direction:column;justify-content:center;margin-left:32px;padding:20px 16px;gap:0;background:#DFECE9;border-radius:14px}.calendar-products-grid .calendar-product-item .date-badge .date-badge-top{display:flex;flex-direction:column;align-items:center;border-bottom:1px dashed #82B5A9;position:relative}.calendar-products-grid .calendar-product-item .date-badge .date-badge-top:before{content:'';position:absolute;bottom:-8px;left:-7px;width:7px;height:7px;background:#fff;border-radius:50%;transform:translate(-50%,-50%)}.calendar-products-grid .calendar-product-item .date-badge .date-badge-top:after{content:'';position:absolute;bottom:-8px;right:-14px;width:7px;height:7px;background:#fff;border-radius:50%;transform:translate(-50%,-50%)}.calendar-products-grid .calendar-product-item .date-badge .date-badge-top p{margin-bottom:4px;font-family:'Inter';font-style:normal;font-weight:500;font-size:12px;line-height:15px;color:var(--pt-text-color)}.calendar-products-grid .calendar-product-item .date-badge .date-badge-main{display:flex;flex-direction:column;align-items:center;position:relative;gap:4px;padding:8px 0 0}.calendar-products-grid .calendar-product-item .date-badge .date-badge-bottom{display:flex;flex-direction:column;align-items:center;position:relative;margin-top:10px}.calendar-products-grid .calendar-product-item .date-badge .date-badge-bottom:before{position:absolute;bottom:12px;left:-7px;width:7px;height:7px;background:#fff;border-radius:50%;transform:translate(-50%,-50%)}.calendar-products-grid .calendar-product-item .date-badge .date-badge-bottom:after{position:absolute;bottom:12px;right:-14px;width:7px;height:7px;background:#fff;border-radius:50%;transform:translate(-50%,-50%)}.calendar-products-grid .calendar-product-item .date-badge .date-badge-bottom p{margin-bottom:4px;font-family:'Inter';font-style:normal;font-weight:500;font-size:12px;line-height:15px;color:var(--pt-text-color)}.calendar-products-grid .calendar-product-item .date-badge .month{font-size:20px;font-weight:600;text-transform:capitalize;line-height:1;color:var(--pt-text-color)}.calendar-products-grid .calendar-product-item .date-badge .days{font-size:20px;color:var(--pt-text-color)}.calendar-products-grid .calendar-product-item .date-badge .year{margin-top:0;color:var(--pt-text-color);font-family:'Inter';font-style:normal;font-weight:500;font-size:11px;line-height:1}.calendar-products-grid .calendar-product-item .product-details{flex:1;padding:32px;gap:8px;display:flex;flex-direction:column;justify-content:center}.calendar-products-grid .calendar-product-item .product-details .course-availability-badge{color:var(--pt-text-color);margin-top:0;width:fit-content;border-radius:43px;padding:4px 8px;font-family:'Inter';font-style:normal;font-weight:400;font-size:12px;line-height:1;letter-spacing:.01em;height:22px;display:flex;align-items:center;margin-bottom:12px}.calendar-products-grid .calendar-product-item .product-details .course-availability-badge.full{background-color:#E0E0E0;color:#616161}.calendar-products-grid .calendar-product-item .product-details .course-availability-badge.low-stock{background-color:#F09C99;color:#164550}.calendar-products-grid .calendar-product-item .product-details .course-availability-badge.almost-low-stock{background-color:#F7CBCA;color:#164550}.calendar-products-grid .calendar-product-item .product-details .course-availability-badge.limited{background-color:#F6F4D4;color:#14333a}.calendar-products-grid .calendar-product-item .product-details .course-availability-badge.available{background-color:#BFF3E9;color:#49766D;font-weight:500}.calendar-products-grid .calendar-product-item .product-details .location{color:#666;font-size:14px;margin-bottom:0;display:flex;align-items:center;gap:5px;font-family:'Inter';font-style:normal;font-weight:400;font-size:14px;line-height:24px;color:var(--pt-light-text)}.calendar-products-grid .calendar-product-item .product-details .product-title{font-family:var(--gp-font--tiempos-fine);font-weight:300;font-size:28px;line-height:34px;display:flex;align-items:center;color:var(--pt-dark-main-darkest);margin-bottom:8px}.calendar-products-grid .calendar-product-item .product-details .product-title a{color:var(--pt-dark-main-darkest);text-decoration:none}.calendar-products-grid .calendar-product-item .product-details .product-title a span{color:var(--pt-dark-green);font-weight:300;font-style:italic}.calendar-products-grid .calendar-product-item .product-details .product-title a b{color:var(--pt-main-darkest);font-weight:300;font-style:normal}.calendar-products-grid .calendar-product-item .product-details .description{color:#666;font-size:16px;margin-bottom:20px;line-height:1.5}.calendar-products-grid .calendar-product-item .product-details .description p{margin-bottom:0}.calendar-products-grid .calendar-product-item .product-details .view-details-button{align-self:flex-start;padding:9px 36px;background:var(--pt-main-dark);color:#fff;text-decoration:none;border-radius:25px;transition:background 0.3s ease;position:relative;margin-left:8px;font-family:'Inter';font-style:normal;font-weight:500;font-size:14px;line-height:31px}.calendar-products-grid .calendar-product-item .product-details .view-details-button:before{content:'';position:absolute;top:-3px;left:-3px;width:calc(100% + 6px);height:calc(100% + 6px);background-color:#fff0;border-radius:115px;border:1px solid var(--pt-main-dark);z-index:0}.calendar-products-grid .calendar-product-item .product-details .view-details-button:after{content:'';position:absolute;top:-6px;left:-6px;width:calc(100% + 12px);height:calc(100% + 12px);background-color:#fff0;border-radius:115px;border:1px solid var(--pt-main-dark);z-index:0}.calendar-products-grid .calendar-product-item .product-details .view-details-button:hover,.calendar-products-grid .calendar-product-item .product-details .view-details-button:focus,.calendar-products-grid .calendar-product-item .product-details .view-details-button:active{background:var(--pt-secondary);color:var(--pt-main-dark)}.calendar-products-grid .calendar-product-item .product-details .view-details-button:hover:before,.calendar-products-grid .calendar-product-item .product-details .view-details-button:focus:before,.calendar-products-grid .calendar-product-item .product-details .view-details-button:active:before{border-color:var(--pt-secondary)}.calendar-products-grid .calendar-product-item .product-details .view-details-button:hover:after,.calendar-products-grid .calendar-product-item .product-details .view-details-button:focus:after,.calendar-products-grid .calendar-product-item .product-details .view-details-button:active:after{border-color:var(--pt-secondary)}.calendar-products-grid .calendar-product-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgb(0 0 0 / .1)}.calendar-products-grid .calendar-product-item:hover .product-thumbnail img{transform:scale(1.05)}.calendar-products-grid .calendar-product-item.full .date-badge{opacity:.7;padding:8px 16px}.calendar-products-grid .calendar-product-item.full .product-details{padding:20px 32px}.calendar-products-grid .calendar-product-item.full .product-details .location{opacity:.7}.calendar-products-grid .calendar-product-item.full .product-details .product-title{opacity:.7}.calendar-products-grid .calendar-product-item.full .product-details .description{opacity:.7}.calendar-products-grid .calendar-product-item.full .product-details .view-details-button{opacity:.7;display:none}.calendar-products-grid .calendar-product-item.full .product-thumbnail{opacity:.7;display:none}.calendar-pagination{display:flex;margin:24px 0;gap:18px}.calendar-pagination a{color:var(--pt-main-darker);text-decoration:underline}@media screen and (max-width:1024px) and (min-width:768px){.calendar-page-container{padding:20px 24px}.calendar-products-grid .calendar-product-item{padding:24px;display:flex;flex-direction:column;gap:15px}.calendar-products-grid .calendar-product-item .date-badge{width:100%;order:2;margin-left:0;display:flex;flex-direction:row;align-items:center;row-gap:10px;column-gap:10px}.calendar-products-grid .calendar-product-item .date-badge .date-badge-main{display:flex;flex-direction:row;line-height:1;gap:10px;margin-top:0;padding-top:0}.calendar-products-grid .calendar-product-item .date-badge .date-badge-main .days{line-height:1}.calendar-products-grid .calendar-product-item .date-badge .date-badge-bottom{display:flex;align-items:center;margin-top:0}.calendar-products-grid .calendar-product-item .date-badge .date-badge-bottom span{line-height:1;font-size:20px;color:var(--pt-text-color)}.calendar-products-grid .calendar-product-item .product-thumbnail{width:100%;order:1;height:auto;max-height:280px}.calendar-products-grid .calendar-product-item .product-details{grid-row:3;order:3;padding:15px;align-self:baseline}}@media (max-width:768px){.calendar-page-container{display:flex;flex-direction:column;padding:0 16px;position:relative}.calendar-page-container .calendar-mobile-filter-button{margin-top:20px;display:flex;justify-content:center;align-items:center;width:100%;position:sticky;top:67px;offset:50px;z-index:9}.calendar-page-container .calendar-mobile-filter-button button{width:100%}.calendar-page-container .calendar-sidebar{margin-top:20px;order:2;padding-bottom:48px}.calendar-page-container .calendar-main-content{order:1;padding:0}.calendar-products-grid .calendar-product-item{padding:24px;display:flex;flex-direction:column;gap:15px}.calendar-products-grid .calendar-product-item .date-badge{width:100%;order:2;margin-left:0;display:flex;flex-direction:row;align-items:center;row-gap:10px;column-gap:10px}.calendar-products-grid .calendar-product-item .date-badge .date-badge-main{display:flex;flex-direction:row;line-height:1;gap:6px;margin-top:0;padding-top:0}.calendar-products-grid .calendar-product-item .date-badge .date-badge-main .days{line-height:1}.calendar-products-grid .calendar-product-item .date-badge .date-badge-main .days:after{content:','}.calendar-products-grid .calendar-product-item .date-badge .date-badge-bottom{display:flex;align-items:center;margin-top:0}.calendar-products-grid .calendar-product-item .date-badge .date-badge-bottom span{line-height:1;font-size:20px;color:var(--pt-text-color)}.calendar-products-grid .calendar-product-item .product-details{order:3;padding:0 15px 15px;align-self:baseline}.calendar-products-grid .calendar-product-item .product-details .product-title,.calendar-products-grid .calendar-product-item .product-details .product-title a{font-size:28px;line-height:1.3}.calendar-products-grid .calendar-product-item .product-thumbnail{width:100%;order:1;height:auto}.calendar-products-grid .calendar-product-item .product-thumbnail img{border-radius:12px}.calendar-page-container .calendar-sidebar .calendar-sidebar-filter{transform:translateX(-100%);position:fixed;width:100%;height:calc(100vh - 22px);top:22px;left:0;overflow:auto;z-index:9;transition:transform 0.3s ease;border-radius:0}.calendar-page-container .calendar-sidebar .calendar-sidebar-filter.active{transform:translateX(0);transition:transform 0.3s ease}.calendar-page-container .calendar-sidebar .calendar-mobile-close-button{display:flex!important;justify-content:flex-end;align-items:center;width:36px;height:36px;background:var(--pt-main-dark);color:#fff;position:absolute;right:0;top:0}.calendar-page-container .calendar-sidebar .calendar-mobile-close-button button{display:flex;justify-content:center;align-items:center;width:36px;height:36px}}