/* =====================================================
   ABHYAS EVENTS — Frontend Styles v2.0
   Colors: Dark #1a1e2e | Gold #e8a020 | Teal #2d5a6e
   ===================================================== */

:root {
    --ae-dark:       #7B502B;
    --ae-darker:     #10131f;
    --ae-gold:       #e8a020;
    --ae-gold-light: #f5c84c;
    --ae-gold-dark:  #c07810;
    --ae-teal:       #2d5a6e;
    --ae-teal-light: #3d7a8e;
    --ae-light:      #f4f1ec;
    --ae-muted:      #7a7d8d;
    --ae-border:     #e0dbd0;
    --ae-text:       #2c2c3a;
    --ae-white:      #ffffff;
    --ae-red:        #c0392b;
    --ae-upcoming:   #27ae60;
    --ae-past:       #7f8c8d;
    --ae-shadow:     0 4px 24px rgba(26,30,46,0.10);
    --ae-shadow-lg:  0 12px 48px rgba(26,30,46,0.18);
    --ae-radius:     14px;
    --ae-radius-sm:  7px;
    --ae-font-head:  'Playfair Display', Georgia, serif;
    --ae-font-body:  'DM Sans', system-ui, sans-serif;
    --ae-transition: 0.3s ease;
}

.abhyas-single-event-wrap *,
.abhyas-archive-wrap *,
.abhyas-modal-overlay * { box-sizing: border-box; margin: 0; padding: 0; }

/* ═══════════════════════════════════════════
   ARCHIVE — HERO
   ═══════════════════════════════════════════ */
.abhyas-archive-wrap {
    font-family: var(--ae-font-body);
    background: var(--ae-light);
    min-height: 100vh;
}

.abhyas-archive-hero {
    position: relative;
    background: var(--ae-darker);
    min-height: 480px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
    padding: 80px 24px 70px;
}
.aah-bg-pattern {
    position: absolute; inset: 0;
    background-image:
        radial-gradient(circle at 20% 30%, rgba(232,160,32,0.12) 0%, transparent 50%),
        radial-gradient(circle at 80% 70%, rgba(45,90,110,0.18) 0%, transparent 50%),
        radial-gradient(circle at 50% 100%, rgba(232,160,32,0.07) 0%, transparent 40%);
}
.aah-glow {
    position: absolute; border-radius: 50%;
    filter: blur(80px); pointer-events: none;
}
.aah-glow-1 {
    width: 400px; height: 400px;
    background: rgba(232,160,32,0.1);
    top: -100px; left: -100px;
    animation: glowFloat 8s ease-in-out infinite;
}
.aah-glow-2 {
    width: 300px; height: 300px;
    background: rgba(45,90,110,0.15);
    bottom: -80px; right: -80px;
    animation: glowFloat 10s ease-in-out infinite reverse;
}
@keyframes glowFloat {
    0%,100% { transform: translate(0,0); }
    50%      { transform: translate(30px,20px); }
}
.aah-content { position: relative; z-index: 1; max-width: 700px; }
.aah-eyebrow {
    display: inline-block;
    background: rgba(232,160,32,0.12);
    border: 1px solid rgba(232,160,32,0.28);
    color: var(--ae-gold-light);
    font-size: 0.7rem; font-weight: 700;
    letter-spacing: 0.15em; text-transform: uppercase;
    padding: 6px 18px; border-radius: 50px; margin-bottom: 20px;
}
.aah-content h1 {
    font-family: var(--ae-font-head);
    font-size: clamp(2.2rem, 5vw, 3.8rem);
    color: var(--ae-white); font-weight: 700;
    line-height: 1.1; margin-bottom: 16px; letter-spacing: -0.02em;
}
.aah-content h1 span { color: var(--ae-gold); }
.aah-content p {
    color: rgba(255,255,255,0.62);
    font-size: 1.05rem; line-height: 1.7; margin-bottom: 32px;
}
.desktop-only { display: inline; }
@media(max-width:600px){ .desktop-only { display:none; } }

.aah-stats {
    display: inline-flex; align-items: center;
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 50px; padding: 12px 28px;
    backdrop-filter: blur(10px);
}
.aah-stat { text-align: center; padding: 0 16px; }
.stat-num { display:block; font-size:1.5rem; font-weight:700; color:var(--ae-gold); font-family:var(--ae-font-head); line-height:1; }
.stat-lbl { display:block; font-size:0.7rem; color:rgba(255,255,255,0.45); text-transform:uppercase; letter-spacing:0.08em; margin-top:3px; }
.aah-stat-div { width:1px; height:36px; background:rgba(255,255,255,0.15); }

.aah-scroll-hint {
    position:absolute; bottom:20px; left:50%; transform:translateX(-50%);
    color:rgba(255,255,255,0.25); font-size:1.2rem;
    animation: bounce 2s ease-in-out infinite;
}
@keyframes bounce {
    0%,100% { transform:translateX(-50%) translateY(0); }
    50%      { transform:translateX(-50%) translateY(7px); }
}

/* ── Archive Main ── */
.abhyas-archive-main {
    max-width: 1200px;
    margin: 0 auto;
    padding: 52px 24px 64px;
}

/* ── Tabs ── */
.ae-tabs-wrap { display:flex; justify-content:center; margin-bottom:44px; }
.ae-tabs {
    display: flex;
    background: var(--ae-white);
    border-radius: 50px;
    padding: 5px;
    box-shadow: 0 4px 20px rgba(26,30,46,0.1);
    position: relative;
    gap: 4px;
}
.ae-tab {
    display: flex; align-items: center; gap: 8px;
    padding: 11px 24px; border-radius: 50px;
    font-size: 0.9rem; font-weight: 600;
    text-decoration: none; color: var(--ae-muted);
    transition: color 0.25s; position: relative; z-index: 1;
    white-space: nowrap;
}
.ae-tab.active {
    background: linear-gradient(135deg, var(--ae-dark), var(--ae-teal));
    color: var(--ae-white);
    box-shadow: 0 4px 16px rgba(26,30,46,0.3);
}
.ae-tab:hover:not(.active) { color: var(--ae-dark); }
.ae-tab-count {
    background: rgba(0,0,0,0.08);
    border-radius: 50px; padding: 1px 8px;
    font-size: 0.72rem; font-weight: 700;
}
.ae-tab.active .ae-tab-count { background: rgba(255,255,255,0.2); }
.ae-tab-icon { font-size: 1rem; }

/* Empty state */
.ae-empty-state { text-align:center; padding:80px 20px; }
.ae-empty-icon  { font-size:4rem; margin-bottom:20px; display:block; }
.ae-empty-state h3 { font-family:var(--ae-font-head); font-size:1.6rem; color:var(--ae-dark); margin-bottom:10px; }
.ae-empty-state p  { color:var(--ae-muted); font-size:1rem; margin-bottom:24px; }
.ae-empty-btn {
    display:inline-block; background:var(--ae-dark); color:var(--ae-white);
    padding:12px 28px; border-radius:50px; text-decoration:none;
    font-weight:600; font-size:0.9rem; transition:background 0.25s;
}
.ae-empty-btn:hover { background:var(--ae-gold-dark); color:#fff; }

/* ═══════════════════════════════════════════
   EVENT CARDS GRID
   ═══════════════════════════════════════════ */
.abhyas-events-grid { display:grid; gap:28px; }
.abhyas-cols-3 { grid-template-columns:repeat(3,1fr); }
.abhyas-cols-2 { grid-template-columns:repeat(2,1fr); }
@media(max-width:1024px){ .abhyas-cols-3 { grid-template-columns:repeat(2,1fr); } }
@media(max-width:640px)  { .abhyas-cols-3,.abhyas-cols-2 { grid-template-columns:1fr; } }

.abhyas-event-card {
    background: var(--ae-white);
    border-radius: var(--ae-radius);
    overflow: hidden;
    box-shadow: var(--ae-shadow);
    transition: transform 0.32s ease, box-shadow 0.32s ease;
    position: relative;
    display: flex; flex-direction: column;
    border: 1px solid rgba(224,219,208,0.6);
}
.abhyas-event-card:hover {
    transform: translateY(-7px);
    box-shadow: var(--ae-shadow-lg);
}
.abhyas-event-card.event-past { opacity: 0.85; }

/* Status Badge */
.event-badge {
    position: absolute; top: 14px; left: 14px; z-index: 3;
    padding: 4px 12px; border-radius: 50px;
    font-size: 0.68rem; font-weight: 700;
    letter-spacing: 0.07em; text-transform: uppercase;
    backdrop-filter: blur(8px);
}
.event-badge-upcoming { background:#7B502B; color:#fff; }
.event-badge-past     { background:rgba(127,140,141,0.85); color:#fff; }

/* Card Image */
.event-card-img-wrap {
    display: block; position: relative;
    height: 230px; overflow: hidden;
    background: var(--ae-dark);
}
.event-card-img-wrap img {
    width:100%; height:100%; object-fit:cover;
    transition: transform 0.5s ease;
}
.abhyas-event-card:hover .event-card-img-wrap img { transform:scale(1.07); }

/* Hover Overlay */
.card-img-overlay {
    position:absolute; inset:0; z-index:2;
    background:linear-gradient(to bottom, transparent 40%, rgba(26,30,46,0.72) 100%);
    display:flex; align-items:flex-end; padding:16px;
    opacity:0; transition:opacity 0.3s ease;
}
.abhyas-event-card:hover .card-img-overlay { opacity:1; }
.card-img-overlay span {
    color:var(--ae-white); font-size:0.85rem;
    font-weight:700; letter-spacing:0.04em;
    background:rgba(232,160,32,0.9);
    padding:6px 14px; border-radius:50px;
}

/* No Image */
.event-card-no-img {
    width:100%; height:100%;
    display:flex; flex-direction:column;
    align-items:center; justify-content:center;
    background:linear-gradient(135deg, var(--ae-dark) 0%, var(--ae-teal) 100%);
}
.no-img-icon { font-size:2.5rem; margin-bottom:10px; }
.no-img-title { color:rgba(255,255,255,0.5); font-size:0.85rem; text-align:center; padding:0 12px; }

/* Date badge on image */
.event-card-date-badge {
    position:absolute; bottom:14px; right:14px; z-index:3;
    background:var(--ae-gold); color:var(--ae-darker);
    border-radius:10px; padding:6px 10px; text-align:center; line-height:1.1;
}
.event-card-date-badge .day   { display:block; font-size:1.4rem; font-weight:700; font-family:var(--ae-font-head); }
.event-card-date-badge .month { display:block; font-size:0.68rem; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; }
.event-card-date-badge .year  { display:block; font-size:0.65rem; color:var(--ae-gold-dark); font-weight:600; }

/* Card Body */
.event-card-body {
    padding: 20px 20px 16px;
    display:flex; flex-direction:column; flex:1;
}
.event-card-title {
    font-size: 24px !important;
    font-weight: 600 !important;
    color: var(--ae-text) !important;
    margin-bottom: 10px;
    line-height: 1.35 !important;
}
.event-card-title a { color:inherit; text-decoration:none; }
.event-card-title a:hover { color:var(--ae-gold-dark); }

.event-card-metas { margin-bottom:10px; }
.event-card-meta {
    font-size: 0.8rem; color:var(--ae-muted);
    margin-bottom:4px; display:flex; align-items:center; gap:6px;
}
.meta-icon { font-size:0.85rem; flex-shrink:0; }

.event-card-excerpt {
    font-size: 0.82rem; color:var(--ae-muted);
    line-height:1.6; margin-bottom:14px; flex:1;
}

/* Card Footer */
.event-card-footer {
    display:flex; align-items:center;
    justify-content:space-between; gap:10px; margin-top:auto;
    padding-top:12px; border-top:1px solid var(--ae-border);
}
.event-card-price {
    font-size:0.9rem; font-weight:700; color:var(--ae-teal);
}
.event-card-seats {
    font-size:0.8rem; color:var(--ae-muted); font-weight:500;
}
.event-card-btn {
    display:inline-flex; align-items:center; gap:4px;
    background:var(--ae-dark); color:var(--ae-white) !important;
    padding:9px 18px; border-radius:50px;
    font-size:0.82rem; font-weight:700;
    text-decoration:none; white-space:nowrap;
    transition:background 0.25s, transform 0.2s;
    width: max-content;
}
.event-card-btn:hover { background:var(--ae-gold-dark); color:#fff; transform:translateX(2px); }

/* Pagination */
.abhyas-pagination {
    text-align:center; margin-top:52px;
    display:flex; justify-content:center; gap:8px; flex-wrap:wrap;
}
.abhyas-pagination .page-numbers {
    display:inline-flex; align-items:center; justify-content:center;
    min-width:42px; height:42px; padding:0 14px;
    border-radius:50px; font-size:0.88rem;
    text-decoration:none; color:var(--ae-text);
    background:var(--ae-white);
    box-shadow:0 2px 8px rgba(0,0,0,0.08);
    transition:var(--ae-transition); font-weight:500;
}
.abhyas-pagination .page-numbers.current,
.abhyas-pagination .page-numbers:hover {
    background:var(--ae-dark); color:var(--ae-white);
}

/* ═══════════════════════════════════════════
   SINGLE EVENT PAGE
   ═══════════════════════════════════════════ */
.abhyas-single-event-wrap {
    background:var(--ae-light);
    color:var(--ae-text);
}

/* Hero */
.abhyas-event-hero {
    position: relative;
    min-height: 560px;
    background: var(--ae-dark);
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end;
    padding: 60px 24px 48px;
    background-position: top;
}
.abhyas-event-hero-overlay {
    position:absolute; inset:0;
    background:linear-gradient(to bottom, rgba(16,19,31,0.35) 0%, rgba(16,19,31,0.88) 100%);
}
.abhyas-event-hero-content {
    position:relative; z-index:1;
    max-width:1200px; margin:0 auto; width:100%;
}
.event-status-badge {
    display:inline-block; padding:5px 16px;
    border-radius:50px; font-size:0.7rem;
    font-weight:700; letter-spacing:0.1em;
    text-transform:uppercase; margin-bottom:14px;
}
.event-status-badge.upcoming { background:var(--ae-upcoming); color:#fff; }
.event-status-badge.past     { background:var(--ae-past); color:#fff; }

.abhyas-event-hero-content h1 {
    font-size:clamp(1.8rem,4vw,3.2rem);
    color:var(--ae-white); font-weight:700;
    line-height:1.2; margin-bottom:12px;
    text-shadow:0 2px 12px rgba(0,0,0,0.3);
}
.hero-date,.hero-location { color:rgba(255,255,255,0.82); font-size:1rem; margin-bottom:5px; }

/* Layout */
.abhyas-event-container { max-width:1200px; margin:0 auto; padding:48px 24px 60px; }
.abhyas-event-layout { display:grid; grid-template-columns:1fr 340px; gap:40px; align-items:start; }
@media(max-width:900px) {
    .abhyas-event-layout { grid-template-columns:1fr; }
    .abhyas-event-sidebar { order:-1; }
}

/* Section Blocks */
.abhyas-section-block {
    background:var(--ae-white); border-radius:var(--ae-radius);
    padding:32px; margin-bottom:28px; box-shadow:var(--ae-shadow);
    border:1px solid rgba(224,219,208,0.5);
}
.abhyas-section-title {
    font-family:var(--ae-font-head); font-size:1.55rem;
    font-weight:600; color:var(--ae-dark);
    margin-bottom:24px; padding-bottom:14px;
    border-bottom:2px solid var(--ae-border);
    position:relative;
}
.abhyas-section-title::after {
    content:''; position:absolute;
    bottom:-2px; left:0; width:60px; height:2px;
    background:var(--ae-dark);
}

/* Gallery Slider */
.abhyas-gallery-section {
    background:var(--ae-dark); border-radius:var(--ae-radius);
    overflow:hidden; margin-bottom:28px; box-shadow:var(--ae-shadow-lg);
}
.abhyas-main-slider { height:460px; }
.abhyas-main-slider .swiper-slide img { width:100%; height:100%; object-fit:cover; }
.abhyas-main-slider .swiper-button-next,
.abhyas-main-slider .swiper-button-prev {
    color:var(--ae-dark); #fff;
    width:44px; height:44px; border-radius:50%;
    backdrop-filter:blur(4px); transition:background 0.25s;
}
.abhyas-main-slider .swiper-button-next:hover,
.abhyas-main-slider .swiper-button-prev:hover { background:var(--ae-dark);color:#fff; }
.abhyas-main-slider .swiper-button-next::after,
.abhyas-main-slider .swiper-button-prev::after { font-size:1rem; font-weight:700; }
.abhyas-main-slider .swiper-pagination-bullet { background:var(--ae-gold); }
.abhyas-main-slider .swiper-pagination-bullet-active { background:var(--ae-gold-light); transform:scale(1.3); }

.abhyas-thumb-slider {
    height:84px; padding:8px;
    background:rgba(0,0,0,0.3);
}
.abhyas-thumb-slider .swiper-slide {
    cursor:pointer; opacity:0.6; transition:opacity 0.2s;
    border-radius:6px; overflow:hidden;
}
.abhyas-thumb-slider .swiper-slide-thumb-active { opacity:1; outline:2px solid var(--ae-gold); }
.abhyas-thumb-slider .swiper-slide img { width:100%; height:100%; object-fit:cover; }

/* Event Description */
.abhyas-event-content { line-height:1.8; color:var(--ae-text); font-size:1rem; }
.abhyas-event-content p { margin-bottom:16px; }
.abhyas-event-content h2,.abhyas-event-content h3 { font-family:var(--ae-font-head); color:var(--ae-dark); margin:24px 0 12px; }

/* Schedule */
.abhyas-schedule-timeline { position:relative; }
.schedule-item { display:grid; grid-template-columns:100px 32px 1fr; gap:0 16px; margin-bottom:24px; align-items:start; }
.schedule-time { font-size:0.82rem; font-weight:700; color:var(--ae-dark); padding-top:4px; text-align:right; }
.schedule-dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--ae-dark);
    border: 3px solid var(--ae-white);
    box-shadow: 0 0 0 2px var(--ae-dark);
    position: relative;
    margin-top: 4px;
    flex-shrink: 0;
}
.schedule-dot::before {
    content:''; position:absolute; top:12px; left:50%; transform:translateX(-50%);
    width:2px; height:40px; background:var(--ae-border);
}
.schedule-item:last-child .schedule-dot::before { display:none; }
.schedule-content h4 { font-size:1rem; font-weight:600; color:var(--ae-dark); margin-bottom:4px; }
.schedule-content p  { font-size:0.84rem; color:var(--ae-muted); line-height:1.55; }

/* FAQ */
.faq-item { border:1px solid var(--ae-border); border-radius:var(--ae-radius-sm); margin-bottom:10px; overflow:hidden; transition:box-shadow 0.25s; }
.faq-item:hover { box-shadow:0 2px 12px rgba(0,0,0,0.07); }
.faq-question {
    display:flex; justify-content:space-between; align-items:center;
    padding:16px 20px; cursor:pointer; background:var(--ae-light);
    transition:background 0.2s; font-weight:600; font-size:0.94rem; color:var(--ae-dark); gap:12px;
}
.faq-question:hover { background:#ece8e0; }
.faq-item.open .faq-question { background:var(--ae-dark); color:var(--ae-white); }
.faq-icon { font-size:1.3rem; font-weight:300; flex-shrink:0; transition:transform 0.3s; color:var(--ae-gold); }
.faq-item.open .faq-icon { transform:rotate(45deg); }
.faq-answer {
    padding:0 20px; max-height:0; overflow:hidden;
    transition:max-height 0.35s ease, padding 0.3s ease;
    font-size:0.92rem; line-height:1.7; color:var(--ae-muted); background:var(--ae-white);
}
.faq-item.open .faq-answer { max-height:400px; padding:16px 20px; }

/* ═══════════════════════════════════════════
   SIDEBAR
   ═══════════════════════════════════════════ */
.abhyas-event-sidebar { position:sticky; top:24px; }
.abhyas-sidebar-card {
    background:var(--ae-white); border-radius:var(--ae-radius);
    padding:24px; margin-bottom:20px; box-shadow:var(--ae-shadow);
    border:1px solid rgba(224,219,208,0.5);
}
.abhyas-sidebar-card h3 {
    font-size:1.2rem; color:var(--ae-dark);
    margin-bottom:18px; padding-bottom:12px;
    border-bottom:2px solid var(--ae-border); position:relative;
}
.abhyas-sidebar-card h3::after {
    content:''; position:absolute; bottom:-2px; left:0;
    width:40px; height:2px; background:var(--ae-gold);
}

/* Details List */
.event-details-list { list-style:none; }
.event-details-list li {
    display:flex; align-items:flex-start; gap:12px;
    padding:12px 0; border-bottom:1px solid var(--ae-border);
}
.event-details-list li:last-of-type { border-bottom:none; margin-bottom:8px; }
.detail-icon { font-size:1.1rem; margin-top:2px; }
.detail-label { display:block; font-size:0.7rem; text-transform:uppercase; letter-spacing:0.07em; color:var(--ae-muted); font-weight:700; margin-bottom:2px; }
.detail-value { display:block; font-size:0.92rem; font-weight:600; color:var(--ae-dark); }

/* Register Button */
.abhyas-register-btn {
    width: 100%;
    padding: 16px 20px !important;
    border: none;
    border-radius: 50px !important;
    font-weight: 700 !important;
    transition: transform 0.2s, box-shadow 0.2s;
    margin-top: 8px;
}
.abhyas-register-btn:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(232,160,32,0.5); }
.event-ended-msg {
    text-align:center; padding:14px; background:#f5f5f5;
    border-radius:8px; color:var(--ae-muted); font-size:0.9rem; margin-top:8px;
}

/* Share */
.share-buttons { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.share-btn {
    display:flex; align-items:center; justify-content:center; gap:7px;
    padding:10px 12px; border-radius:8px; font-size:0.78rem;
    font-weight:700; text-decoration:none;
    transition:opacity 0.2s, transform 0.2s; color:#fff;
}
.share-btn svg { width:16px; height:16px; }
.share-btn:hover { opacity:0.88; transform:scale(0.97); }
.share-btn.fb { background:#1877f2; }
.share-btn.tw { background:#1da1f2; }
.share-btn.wa { background:#25d366; }
.share-btn.li { background:#0a66c2; }

/* Calendar */
.calendar-buttons { display:flex; flex-direction:column; gap:10px; }
.cal-btn {
    display:flex; align-items:center; gap:10px;
    padding:12px 16px; border-radius:8px;
    font-size:0.85rem; font-weight:600; text-decoration:none;
    transition:var(--ae-transition); border:2px solid var(--ae-border); color:var(--ae-dark);
}
.cal-btn svg { width:18px; height:18px; }
.cal-btn:hover { border-color:var(--ae-gold); background:rgba(232,160,32,0.06); }
.cal-btn.google-cal { color:var(--ae-dark); }
.cal-btn.ics-cal    { color:var(--ae-teal); }

/* Related Events */
.abhyas-related-events { margin-top:8px; }

/* ═══════════════════════════════════════════
   REGISTRATION MODAL
   ═══════════════════════════════════════════ */
.abhyas-modal-overlay {
    position:fixed; inset:0;
    background:rgba(16,19,31,0.85); z-index:99999;
    display:flex; align-items:center; justify-content:center;
    padding:20px; opacity:0; pointer-events:none;
    transition:opacity 0.3s ease; backdrop-filter:blur(5px);
}
.abhyas-modal-overlay.active { opacity:1; pointer-events:all; }
.abhyas-modal-box {
    background:var(--ae-white); border-radius:18px;
    width:100%; max-width:560px; max-height:90vh; overflow-y:auto;
    position:relative;
    transform:translateY(30px) scale(0.97);
    transition:transform 0.3s ease;
    box-shadow:0 24px 80px rgba(0,0,0,0.4);
}
.abhyas-modal-overlay.active .abhyas-modal-box { transform:translateY(0) scale(1); }
.abhyas-modal-close {
    position:absolute; top:16px; right:16px;
    background:rgba(0,0,0,0.08); border:none;
    width:36px; height:36px; border-radius:50%;
    font-size:1rem; cursor:pointer; color:var(--ae-text);
    transition:background 0.2s; z-index:1;
}
.abhyas-modal-close:hover { background:rgba(192,57,43,0.12); color:var(--ae-red); }

.modal-header {
    background:linear-gradient(135deg, var(--ae-dark), var(--ae-teal));
    padding:28px 28px 24px; color:var(--ae-white);
    border-radius:18px 18px 0 0;
}
.modal-header h2 { font-family:var(--ae-font-head); font-size:1.5rem; margin-bottom:4px; }
.modal-header p  { color:rgba(255,255,255,0.7); font-size:0.9rem; }

#abhyas-form-container { padding:28px; }
.cf7-field-group textarea {
    height: 120px;
}
/* Form Fields */
.form-group { margin-bottom:18px; }
.form-group label { display:block; font-size:0.85rem; font-weight:600; color:var(--ae-dark); margin-bottom:6px; }
.form-group label span { color:var(--ae-red); }
.form-group input,.form-group select,.form-group textarea {
    width:100%; padding:12px 14px;
    border:2px solid var(--ae-border); border-radius:8px;
    font-family:var(--ae-font-body); font-size:0.92rem;
    color:var(--ae-text); background:var(--ae-white);
    transition:border-color 0.2s, box-shadow 0.2s; outline:none;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus {
    border-color:var(--ae-gold);
    box-shadow:0 0 0 3px rgba(232,160,32,0.14);
}
.form-group textarea { resize:vertical; }
.form-submit-btn {
    width:100%; padding:15px;
    background:linear-gradient(135deg, var(--ae-gold-dark), var(--ae-gold));
    color:var(--ae-darker); border:none; border-radius:50px;
    font-family:var(--ae-font-body); font-size:1rem; font-weight:700;
    cursor:pointer; transition:transform 0.2s, box-shadow 0.2s;
    box-shadow:0 4px 16px rgba(232,160,32,0.28); margin-top:6px;
}
.form-submit-btn:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(232,160,32,0.42); }
.form-submit-btn:active { transform:translateY(0); }

/* CF7 inside modal */
#abhyas-form-container .wpcf7-form p { margin-bottom:16px; }
#abhyas-form-container .wpcf7-form input[type="text"],
#abhyas-form-container .wpcf7-form input[type="email"],
#abhyas-form-container .wpcf7-form input[type="tel"],
#abhyas-form-container .wpcf7-form textarea,
#abhyas-form-container .wpcf7-form select {
    width:100%; padding:12px 14px;
    border:2px solid var(--ae-border) !important;
    border-radius:8px !important;
    font-family:var(--ae-font-body); font-size:0.92rem;
    color:var(--ae-text); background:var(--ae-white);
    transition:border-color 0.2s !important; outline:none !important; box-shadow:none !important;
}
#abhyas-form-container .wpcf7-form input:focus,
#abhyas-form-container .wpcf7-form textarea:focus {
    border-color:var(--ae-gold) !important;
    box-shadow:0 0 0 3px rgba(232,160,32,0.14) !important;
}
#abhyas-form-container .wpcf7-form input[type="submit"] {
    width:100%; padding:15px;
    color:var(--ae-white) !important; border:none !important;
    border-radius:50px !important; font-family:var(--ae-font-body) !important;
    font-size:1rem !important; font-weight:700 !important;
    cursor:pointer; transition:transform 0.2s, box-shadow 0.2s;
    box-shadow:0 4px 16px rgba(232,160,32,0.28);
}
#abhyas-form-container .wpcf7-form input[type="submit"]:hover {
    transform:translateY(-2px);
    box-shadow:0 8px 24px rgba(232,160,32,0.42) !important;
}

/* Success */
#abhyas-success-msg { padding:40px 28px; text-align:center; }
.success-icon {
    width:70px; height:70px; background:var(--ae-upcoming); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-size:2rem; color:#fff; margin:0 auto 20px;
    animation:successPop 0.5s ease;
}
@keyframes successPop { 0%{transform:scale(0)} 70%{transform:scale(1.15)} 100%{transform:scale(1)} }
#abhyas-success-msg h3 { font-family:var(--ae-font-head); font-size:1.4rem; color:var(--ae-dark); margin-bottom:8px; }
#abhyas-success-msg p  { color:var(--ae-muted); font-size:0.92rem; }

/* Misc */
.abhyas-no-events { color:var(--ae-muted); font-style:italic; }

/* ═══════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════ */
@media(max-width:768px) {
    .abhyas-archive-hero { min-height:360px; padding:60px 16px 50px; }
    .abhyas-event-hero  { min-height:300px; padding:40px 16px 32px; }
    .abhyas-section-block { padding:20px 16px; }
    .abhyas-sidebar-card  { padding:18px 14px; }
    .abhyas-main-slider   { height:260px; }
    .schedule-item { grid-template-columns:80px 24px 1fr; gap:0 10px; }
    #abhyas-form-container { padding:20px; }
    .modal-header { padding:20px 20px 16px; }
    .ae-tabs { flex-direction:column; border-radius:var(--ae-radius); }
    .ae-tab  { border-radius:var(--ae-radius-sm); }
    .ae-tabs-wrap { justify-content:stretch; }
    .ae-tabs { width:100%; }
}
@media(max-width:480px) {
    .share-buttons { grid-template-columns:1fr; }
    .aah-stats { flex-direction:column; gap:12px; padding:16px 20px; }
    .aah-stat-div { width:100%; height:1px; }
}