/* ==========================================================================
   ADI YOGPEETH — EVENT-BASED COURSE CALENDAR
   Forest green background + white glassmorphism UI
   ========================================================================== */

.ayp-event-calendar{
    --ec-forest:#173F35;
    --ec-forest-deep:#0F3028;
    --ec-white:#FFFDF8;
    --ec-gold:#B79A63;
    --ec-gold-light:#D7BF8C;
    --ec-terracotta:#B86A4B;
    --ec-sage:#829487;
    --ec-charcoal:#24302B;
    --ec-muted:#68756E;
    --ec-line:rgba(23,63,53,.12);
    position:relative;
    overflow:hidden;
    padding:clamp(58px,6vw,92px) 18px clamp(48px,5vw,72px);
    background:
        radial-gradient(circle at 8% 15%,rgba(255,255,255,.06),transparent 25%),
        radial-gradient(circle at 92% 75%,rgba(215,191,140,.06),transparent 26%),
        linear-gradient(145deg,var(--ec-forest-deep),var(--ec-forest) 48%,#12382F);
    color:var(--ec-white);
    isolation:isolate;
}
.ayp-event-calendar *,.ayp-event-calendar *::before,.ayp-event-calendar *::after{box-sizing:border-box}
.ayp-event-calendar button,.ayp-event-calendar a{-webkit-tap-highlight-color:transparent}
.ayp-event-calendar__bg-art{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.42;
    background:radial-gradient(circle at 18% 30%,transparent 0 105px,rgba(215,191,140,.08) 106px 107px,transparent 108px),
               radial-gradient(circle at 85% 70%,transparent 0 145px,rgba(215,191,140,.055) 146px 147px,transparent 148px)}
.ayp-event-calendar__container{width:min(1360px,100%);margin:0 auto}
.ayp-event-calendar__heading{max-width:900px;margin:0 auto 30px;text-align:center}
.ayp-event-calendar__kicker{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--ec-gold-light);font:800 10px/1 var(--font-body);letter-spacing:.2em;text-transform:uppercase}
.ayp-event-calendar__kicker span{width:54px;height:1px;background:var(--ec-gold);opacity:.75}
.ayp-event-calendar__heading h2{margin:13px 0 0;color:var(--ec-white);font:500 clamp(40px,5.2vw,72px)/.96 var(--font-display);letter-spacing:-.045em}
.ayp-event-calendar__heading h2 em{display:block;color:var(--ec-gold-light);font-style:normal;font-weight: var(--font-weight-regular)}
.ayp-event-calendar__heading p{max-width:720px;margin:15px auto 0;color:rgba(255,253,248,.76);font:13px/1.7 var(--font-body)}

/* Filters */
.ayp-event-calendar__filters{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:0 auto 25px}
.ayp-event-calendar__filters button{min-height:39px;padding:8px 17px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.045);color:rgba(255,255,255,.88);font:700 9px/1 var(--font-body);letter-spacing:.06em;cursor:pointer;backdrop-filter:blur(7px);transition:.2s ease}
.ayp-event-calendar__filters button:hover{transform:translateY(-1px);border-color:rgba(215,191,140,.75)}
.ayp-event-calendar__filters button.is-active{border-color:var(--ec-gold-light);background:var(--ec-gold-light);color:var(--ec-forest-deep)}

/* Main */
.ayp-event-calendar__main{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(360px,.95fr);gap:18px}
.ayp-event-calendar__panel{overflow:hidden;border:1px solid rgba(255,255,255,.82);border-radius:18px;background:rgba(255,255,255,.90);color:var(--ec-charcoal);box-shadow:0 22px 60px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.96);backdrop-filter:blur(18px) saturate(120%);-webkit-backdrop-filter:blur(18px) saturate(120%)}

/* Calendar */
.ayp-event-calendar__nav{position:relative;min-height:78px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 18px;border-bottom:1px solid var(--ec-line);background:rgba(255,255,255,.55)}
.ayp-event-calendar__month{color:var(--ec-forest);font:600 clamp(25px,2.5vw,36px)/1 var(--font-display);letter-spacing:-.025em;text-align:center}
.ayp-event-calendar__nav-button,.ayp-event-calendar__today{min-height:38px;display:inline-flex;align-items:center;gap:8px;width:max-content;border:1px solid rgba(23,63,53,.15);border-radius:8px;background:rgba(255,255,255,.52);color:var(--ec-forest);font:800 9px/1 var(--font-body);cursor:pointer;transition:.2s ease}
.ayp-event-calendar__nav-button{padding:7px 11px}.ayp-event-calendar__nav-button:last-of-type{justify-self:end}.ayp-event-calendar__nav-button span{font-size:17px}
.ayp-event-calendar__today{position:absolute;right:18px;bottom:-48px;padding:6px 12px;min-height:31px;border-color:rgba(183,154,99,.42);opacity:0;pointer-events:none}
.ayp-event-calendar__nav-button:hover,.ayp-event-calendar__today:hover{border-color:var(--ec-gold);background:rgba(183,154,99,.10);transform:translateY(-1px)}
.ayp-event-calendar__nav-button:disabled{opacity:.3;cursor:not-allowed}
.ayp-event-calendar__weekdays,.ayp-event-calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:0 17px}
.ayp-event-calendar__weekdays{border-bottom:1px solid var(--ec-line);background:rgba(244,239,230,.32)}
.ayp-event-calendar__weekdays span{min-height:42px;display:grid;place-items:center;color:#6C7771;font:800 8px/1 var(--font-body);letter-spacing:.13em;text-transform:uppercase}
.ayp-event-calendar__day{position:relative;min-height:69px;display:grid;place-items:center;border-right:1px solid var(--ec-line);border-bottom:1px solid var(--ec-line)}
.ayp-event-calendar__day:nth-child(7n){border-right:0}
.ayp-event-calendar__day.outside{background:rgba(244,239,230,.26);color:#B7BDB9}.ayp-event-calendar__day.past{color:#B7BDB9}
.ayp-event-calendar__day.today .ayp-event-calendar__day-number{box-shadow:0 0 0 2px rgba(183,154,99,.45)}
.ayp-event-calendar__day-number{width:43px;height:43px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:inherit;font:600 18px/1 var(--font-display);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}
.ayp-event-calendar__day-number:hover{transform:scale(1.07)}
.ayp-event-calendar__day.event .ayp-event-calendar__day-number{color:#fff}
.ayp-event-calendar__day.event--mixed .ayp-event-calendar__day-number{background:var(--ec-forest)}
.ayp-event-calendar__day.event--training .ayp-event-calendar__day-number{background:var(--ec-gold)}
.ayp-event-calendar__day.event--short .ayp-event-calendar__day-number{background:var(--ec-terracotta)}
.ayp-event-calendar__markers{position:absolute;left:50%;bottom:6px;display:flex;gap:3px;transform:translateX(-50%)}
.ayp-event-calendar__markers i{width:5px;height:5px;border-radius:50%}
.ayp-event-calendar__markers .traditional{background:#5E8F7C}.ayp-event-calendar__markers .kundalini{background:var(--ec-gold)}.ayp-event-calendar__markers .holistic{background:var(--ec-sage)}.ayp-event-calendar__markers .short{background:var(--ec-terracotta)}
.ayp-event-calendar__legend{display:flex;flex-wrap:wrap;justify-content:center;gap:17px;padding:15px 17px;background:rgba(255,255,255,.58)}
.ayp-event-calendar__legend button{display:inline-flex;align-items:center;gap:7px;padding:0;border:0;background:transparent;color:var(--ec-muted);font:700 8px/1 var(--font-body);cursor:pointer}
.ayp-event-calendar__legend i{width:8px;height:8px;border-radius:50%}.ayp-event-calendar__legend i.traditional{background:#5E8F7C}.ayp-event-calendar__legend i.kundalini{background:var(--ec-gold)}.ayp-event-calendar__legend i.holistic{background:var(--ec-sage)}.ayp-event-calendar__legend i.short{background:var(--ec-terracotta)}

/* Event details */
.ayp-event-calendar__events{min-height:100%;display:flex;flex-direction:column}
.ayp-event-panel__header{padding:20px 23px 17px;border-bottom:1px solid var(--ec-line)}
.ayp-event-panel__eyebrow{display:flex;justify-content:space-between;gap:10px;color:var(--ec-gold);font:800 8px/1.2 var(--font-body);letter-spacing:.15em;text-transform:uppercase}
.ayp-event-panel__date{margin-top:6px;color:var(--ec-forest);font:600 clamp(27px,2.4vw,35px)/1 var(--font-display);letter-spacing:-.025em}
.ayp-event-panel__count{color:var(--ec-muted);font:9px/1.4 var(--font-body)}
.ayp-event-panel__body{padding:15px}
.ayp-event-card{display:grid;grid-template-columns:5px minmax(0,1fr) auto;gap:12px;margin-bottom:9px;padding:13px 12px 13px 0;border:1px solid rgba(23,63,53,.10);border-radius:12px;background:rgba(255,255,255,.68);box-shadow:0 8px 22px rgba(23,63,53,.06);transition:.2s ease}
.ayp-event-card:hover{transform:translateY(-2px);border-color:rgba(183,154,99,.34);box-shadow:0 13px 27px rgba(23,63,53,.10)}.ayp-event-card:last-child{margin-bottom:0}
.ayp-event-card__accent{width:5px;min-height:100%;border-radius:0 4px 4px 0}.ayp-event-card[data-category="traditional"] .ayp-event-card__accent{background:#5E8F7C}.ayp-event-card[data-category="kundalini"] .ayp-event-card__accent{background:var(--ec-gold)}.ayp-event-card[data-category="holistic"] .ayp-event-card__accent{background:var(--ec-sage)}.ayp-event-card[data-category="short"] .ayp-event-card__accent{background:var(--ec-terracotta)}
.ayp-event-card__category{color:var(--ec-gold);font:800 7px/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase}.ayp-event-card[data-category="short"] .ayp-event-card__category{color:var(--ec-terracotta)}
.ayp-event-card__title{margin:3px 0 6px;color:var(--ec-forest);font:600 19px/1.08 var(--font-display)}
.ayp-event-card__meta{display:flex;flex-wrap:wrap;gap:5px 12px;color:#65716B;font:8px/1.4 var(--font-body)}
.ayp-event-card__price{align-self:center;min-width:78px;padding-left:10px;border-left:1px solid var(--ec-line)}.ayp-event-card__price small{display:block;color:var(--ec-muted);font:7px/1 var(--font-body)}.ayp-event-card__price strong{display:block;margin:2px 0 6px;color:var(--ec-forest);font:600 22px/1 var(--font-display)}
.ayp-event-card__link{min-height:31px;display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border:1px solid var(--ec-forest);border-radius:5px;background:var(--ec-forest);color:#fff;font:800 7px/1 var(--font-body);letter-spacing:.07em;text-decoration:none;text-transform:uppercase}.ayp-event-card__link:hover{background:var(--ec-gold);border-color:var(--ec-gold);color:var(--ec-forest)}
.ayp-event-panel__empty{min-height:250px;display:grid;place-items:center;padding:30px;color:var(--ec-muted);font:11px/1.65 var(--font-body);text-align:center}.ayp-event-panel__empty strong{display:block;margin-bottom:5px;color:var(--ec-forest);font:600 25px/1 var(--font-display)}

/* Next opportunities */
.ayp-event-calendar__upcoming{margin-top:18px;padding:16px 20px;border:1px solid rgba(255,255,255,.78);border-radius:15px;background:rgba(255,255,255,.86);color:var(--ec-forest);box-shadow:0 17px 42px rgba(0,0,0,.14);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.ayp-event-calendar__upcoming-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.ayp-event-calendar__upcoming-head span{color:var(--ec-gold);font:800 8px/1 var(--font-body);letter-spacing:.16em;text-transform:uppercase}.ayp-event-calendar__upcoming-head strong{font:600 20px/1 var(--font-display)}
.ayp-event-calendar__timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ayp-next-event{padding:11px 13px;border-left:3px solid var(--ec-gold);border-radius:0 9px 9px 0;background:rgba(244,239,230,.62)}.ayp-next-event[data-category="short"]{border-left-color:var(--ec-terracotta)}.ayp-next-event__date{color:var(--ec-gold);font:800 7px/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase}.ayp-next-event[data-category="short"] .ayp-next-event__date{color:var(--ec-terracotta)}.ayp-next-event__title{margin-top:3px;color:var(--ec-forest);font:600 17px/1 var(--font-display)}.ayp-next-event__countdown{margin-top:3px;color:var(--ec-muted);font:8px/1.3 var(--font-body)}

/* Bottom strip */
.ayp-event-calendar__features{display:grid;grid-template-columns:repeat(4,1fr) minmax(220px,1.25fr);align-items:stretch;margin-top:18px;border:1px solid rgba(255,255,255,.82);border-radius:15px;background:rgba(255,255,255,.86);color:var(--ec-forest);box-shadow:0 17px 42px rgba(0,0,0,.14);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.ayp-event-calendar__feature{display:flex;align-items:center;gap:10px;min-height:76px;padding:12px 15px;border-right:1px solid var(--ec-line)}.ayp-event-calendar__feature .feature-icon{width:37px;height:37px;flex:0 0 37px;display:grid;place-items:center;border:1px solid rgba(183,154,99,.42);border-radius:50%;color:var(--ec-gold);font-size:15px}.ayp-event-calendar__feature strong{display:block;font:800 9px/1.2 var(--font-body);letter-spacing:.04em;text-transform:uppercase}.ayp-event-calendar__feature small{display:block;margin-top:3px;color:var(--ec-muted);font:8px/1.35 var(--font-body)}
.ayp-event-calendar__retreat{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 18px}.ayp-event-calendar__retreat span{display:block;color:var(--ec-terracotta);font:800 7px/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase}.ayp-event-calendar__retreat strong{display:block;margin-top:3px;font:600 17px/1 var(--font-display)}.ayp-event-calendar__retreat a{min-height:35px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:7px 10px;border:1px solid var(--ec-forest);border-radius:5px;color:var(--ec-forest);font:800 7px/1 var(--font-body);letter-spacing:.07em;text-decoration:none;text-transform:uppercase}.ayp-event-calendar__retreat a:hover{background:var(--ec-forest);color:#fff}
.ayp-event-calendar button:focus-visible,.ayp-event-calendar a:focus-visible{outline:2px solid var(--ec-gold-light);outline-offset:3px}

/* Tablet */
@media(max-width:900px){
    .ayp-event-calendar{padding:45px 12px 52px}
    .ayp-event-calendar__heading{margin-bottom:22px}.ayp-event-calendar__heading h2{font-size:clamp(37px,9vw,54px)}.ayp-event-calendar__heading p{font-size:11px}
    .ayp-event-calendar__filters{margin-bottom:17px}.ayp-event-calendar__filters button{min-height:36px;padding:7px 13px;font-size:8px}
    .ayp-event-calendar__main{grid-template-columns:1fr}
    .ayp-event-calendar__nav{min-height:67px;grid-template-columns:42px 1fr 42px;padding:0 9px}.ayp-event-calendar__nav-button{width:36px;min-height:36px;justify-content:center;padding:0}.ayp-event-calendar__nav-button small{display:none}.ayp-event-calendar__month{font-size:25px}
    .ayp-event-calendar__today{right:9px;bottom:-39px}
    .ayp-event-calendar__weekdays,.ayp-event-calendar__grid{padding:0 8px}.ayp-event-calendar__day{min-height:58px}.ayp-event-calendar__day-number{width:36px;height:36px;font-size:14px}
    .ayp-event-calendar__legend{gap:13px}.ayp-event-panel__header{padding:17px 18px 14px}.ayp-event-panel__body{padding:11px}
    .ayp-event-calendar__timeline{grid-template-columns:1fr}
    .ayp-event-calendar__features{grid-template-columns:repeat(2,1fr)}.ayp-event-calendar__feature:nth-child(2){border-right:0}.ayp-event-calendar__feature:nth-child(-n+2){border-bottom:1px solid var(--ec-line)}.ayp-event-calendar__retreat{grid-column:1/-1}
}

/* Mobile */
@media(max-width:600px){
    .ayp-event-calendar{padding:38px 9px 42px}.ayp-event-calendar__kicker{font-size:8px;gap:8px}.ayp-event-calendar__kicker span{width:27px}.ayp-event-calendar__heading h2{font-size:35px}.ayp-event-calendar__heading p{margin-top:11px;font-size:10px}
    .ayp-event-calendar__filters{gap:6px}.ayp-event-calendar__filters button{padding:7px 10px;font-size:7px}.ayp-event-calendar__panel{border-radius:14px}
    .ayp-event-calendar__weekdays span{min-height:35px;font-size:6.5px}.ayp-event-calendar__day{min-height:50px}.ayp-event-calendar__day-number{width:31px;height:31px;font-size:12px}.ayp-event-calendar__markers{bottom:4px}.ayp-event-calendar__markers i{width:4px;height:4px}
    .ayp-event-calendar__legend{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;padding:12px}.ayp-event-calendar__legend button{justify-content:center;font-size:7px}
    .ayp-event-card{grid-template-columns:4px minmax(0,1fr);gap:9px;padding-right:10px}.ayp-event-card__price{grid-column:2;display:flex;align-items:center;gap:10px;min-width:0;padding:8px 0 0;border-left:0;border-top:1px solid var(--ec-line)}.ayp-event-card__price strong{margin:0;font-size:20px}.ayp-event-card__link{margin-left:auto}
    .ayp-event-calendar__upcoming{margin-top:12px;padding:13px}.ayp-event-calendar__upcoming-head{display:block}.ayp-event-calendar__upcoming-head strong{display:block;margin-top:3px}
    .ayp-event-calendar__features{grid-template-columns:1fr;margin-top:12px}.ayp-event-calendar__feature,.ayp-event-calendar__feature:nth-child(-n+2){min-height:64px;border-right:0;border-bottom:1px solid var(--ec-line)}.ayp-event-calendar__feature:last-of-type{border-bottom:0}
    .ayp-event-calendar__retreat{display:grid;grid-template-columns:1fr auto;gap:7px 12px;padding:14px;border-top:1px solid var(--ec-line)}.ayp-event-calendar__retreat a{grid-column:1/-1;width:100%}
}
@media(max-width:360px){
    .ayp-event-calendar__month{font-size:21px}.ayp-event-calendar__day{min-height:46px}.ayp-event-calendar__day-number{width:28px;height:28px}.ayp-event-calendar__heading h2{font-size:31px}
}
@media(prefers-reduced-motion:reduce){
    .ayp-event-calendar *,.ayp-event-calendar *::before,.ayp-event-calendar *::after{transition:none!important}
    .ayp-event-calendar__day-number:hover,.ayp-event-calendar__nav-button:hover,.ayp-event-calendar__today:hover,.ayp-event-card:hover{transform:none}
}


/* FINAL CALENDAR REFINEMENT */
@media (min-width:901px){
    .ayp-event-calendar__main{
        grid-template-columns:minmax(0,1fr) minmax(0,1fr);
        gap:18px;
    }
    .ayp-event-calendar__panel{
        border:2px solid rgba(255,255,255,.95);
    }
}

.ayp-event-calendar__upcoming{
    background:#FFFDF8;
    border:1px solid rgba(255,255,255,.92);
}

.ayp-event-calendar__timeline{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.ayp-event-calendar__timeline .ayp-next-event{
    background:#173F35;
    color:#FFFDF8;
    border-left:3px solid #D7BF8C;
    border-top:1px solid rgba(255,255,255,.12);
    border-right:1px solid rgba(255,255,255,.12);
    border-bottom:1px solid rgba(255,255,255,.12);
    box-shadow:0 10px 24px rgba(15,48,40,.14);
}
.ayp-event-calendar__timeline .ayp-next-event[data-category="short"]{
    border-left-color:#B86A4B;
}
.ayp-event-calendar__timeline .ayp-next-event__date,
.ayp-event-calendar__timeline .ayp-next-event[data-category="short"] .ayp-next-event__date{
    color:#D7BF8C;
}
.ayp-event-calendar__timeline .ayp-next-event__title{color:#FFFDF8}
.ayp-event-calendar__timeline .ayp-next-event__countdown{color:rgba(255,253,248,.72)}

@media (max-width:900px){
    .ayp-event-calendar__main{grid-template-columns:1fr}
}
@media (max-width:600px){
    .ayp-event-calendar__timeline{grid-template-columns:1fr}
}


