:root{--cal-bg:#f0f0f0;--cal-card:#fff;--cal-ink:#1b1b1b;--cal-muted:#666;--cal-status:#555;--cal-radius:20px;--cal-gap:24px;}.app-promo-calendar{padding:var(--cal-gap);background:var(--cal-bg);color:var(--cal-ink);border-radius:var(--cal-radius);}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--cal-gap);margin-bottom:var(--cal-gap);}.calendar-filters{display:inline-flex;background:#fff;border-radius:999px;padding:4px;}.calendar-filters__btn{border:0;background:transparent;border-radius:999px;padding:8px 16px;font-weight:400;color:var(--cal-ink);cursor:pointer;}.calendar-filters__btn.is-active{font-weight:700;}.calendar-nav{display:flex;gap:8px;align-items:center;}.calendar-nav__prev,.calendar-nav__next{width:40px;height:40px;border-radius:50%;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;}.calendar-nav__prev::before,.calendar-nav__next::before{content:"";display:block;width:8px;height:8px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;}.calendar-nav__prev::before{transform:rotate(45deg);margin-left:3px;}.calendar-nav__next::before{transform:rotate(-135deg);margin-right:3px;}.calendar-nav__prev{background:#e5e5e5;color:var(--cal-ink);}.calendar-nav__next{background:#000;color:#fff;}.calendar-nav__prev.swiper-button-disabled,.calendar-nav__next.swiper-button-disabled{opacity:.35;cursor:default;}.calendar-swiper{margin-bottom:var(--cal-gap);}.calendar-swiper .swiper-wrapper{align-items:stretch;}.calendar-swiper .swiper-slide{height:auto;display:flex;box-sizing:border-box;}.calendar-card{display:flex;flex-direction:column;width:100%;height:100%;background:var(--cal-card);border-radius:var(--cal-radius);overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.06);}.calendar-card--ended{background:#f3f3f3;box-shadow:none;color:#8a8a8a;}.calendar-card--ended .calendar-card__media{filter:grayscale(1);opacity:.72;}.calendar-card--ended .calendar-card__status{background:#9a9a9a;}.calendar-card--ended .calendar-card__description,.calendar-card--ended .calendar-card__prize,.calendar-card--ended .calendar-card__link{color:#8a8a8a;}.calendar-card__media{position:relative;aspect-ratio:1 / 1;background:#e8e8e8;}.calendar-card__image{width:100%;height:100%;object-fit:cover;display:block;}.calendar-card__status{position:absolute;top:12px;right:12px;background:var(--cal-status);color:#fff;border-radius:999px;padding:4px 12px;margin:0;font-size:12px;}.calendar-card__body{display:flex;flex-direction:column;flex:1 1 auto;padding:20px;}.calendar-card__duration{font-weight:700;margin:0 0 8px;}.calendar-card__title{font-size:1.25rem;margin:0 0 8px;}.calendar-card__description{margin:0 0 12px;color:var(--cal-muted);}.calendar-card__prize{font-weight:700;text-decoration:underline;margin:0 0 12px;}.calendar-card__link{margin-top:auto;font-weight:700;text-decoration:underline;color:inherit;}.calendar-pagination{display:flex;justify-content:center;align-items:center;gap:8px;position:static;}.calendar-pagination .swiper-pagination-bullet{width:8px;height:8px;border-radius:50%;background:var(--cal-muted);opacity:1;margin:0;}.calendar-pagination .swiper-pagination-bullet-active{width:24px;border-radius:999px;background:#000;}.calendar-empty{display:none;text-align:center;padding:32px 16px;margin:0;color:var(--cal-status);font-size:1rem;}.app-promo-calendar.is-empty .calendar-empty{display:block;}.app-promo-calendar.is-empty .calendar-swiper,.app-promo-calendar.is-empty .calendar-pagination{display:none;}