/* Scoped styles for Events pages only */

.events-theme {
	/* Color palette */
	--ev-primary: #5E4AE3;
	--ev-secondary: #FF6B6B;
	--ev-bg: #F9FAFB;
	--ev-card: #FFFFFF;
	--ev-text: #0b1220;
	--ev-text-muted: #374151;
	--ev-border: #E5E7EB;
}

.events-theme body, .events-theme {
    background: var(--ev-bg);
    color: var(--ev-text);
}

/* Typography */
.events-theme .ev-heading {
	font-family: 'Montserrat', sans-serif;
	font-weight: 900;
}

.events-theme .ev-body {
	font-family: 'Inter', 'Roboto', system-ui, -apple-system, Segoe UI, sans-serif;
	font-weight: 400;
}

/* Cards */
.events-theme .event-card {
	background: var(--ev-card);
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(94,74,227,0.08), 0 6px 24px rgba(0,0,0,0.06);
	transition: transform .25s ease, box-shadow .25s ease, opacity .4s ease;
	transform-style: preserve-3d;
	opacity: 0;
}
.events-theme .event-thumb-wrap{ position: relative; width: 100%; padding-top: 56.25%; overflow: hidden; border-top-left-radius: 12px; border-top-right-radius: 12px; background: #111; }
.events-theme .event-thumb{ position: absolute; left:0; top:0; width:100%; height:100%; object-fit: cover; opacity: .95; }
.events-theme .event-thumb-video{ position: absolute; left:0; top:0; width:100%; height:100%; background: linear-gradient(0deg, rgba(0,0,0,.35), rgba(0,0,0,.15)); }
.events-theme .event-card.show-in {
	opacity: 1;
}
.events-theme .event-card:hover {
	transform: translateY(-6px) rotateY(2deg);
	box-shadow: 0 10px 30px rgba(94,74,227,0.18), 0 6px 20px rgba(0,0,0,0.12);
}
.events-theme .event-card .card-title {
	font-size: 22px;
	font-weight: 700;
	font-family: 'Montserrat', sans-serif;
}
.events-theme .event-meta {
    font-size: 14px;
    color: #1f2937;
}
.events-theme .event-progress { height: 6px; background: #eef; border-radius: 6px; overflow: hidden; }
.events-theme .event-progress .bar { height: 100%; background: var(--ev-primary); width: 0; transition: width .6s ease; }
.events-theme .event-badge {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	color: #fff;
	background: var(--ev-secondary);
	border-radius: 999px;
	padding: 4px 10px;
	margin-left: 8px;
	vertical-align: middle;
	animation: ev-bounce 2s infinite;
}
.events-theme .event-badge.upcoming { background: var(--ev-primary); }
.events-theme .event-badge.live { background: #10b981; }
.events-theme .event-badge.completed { background: #6B7280; }

/* Hero */
.events-theme .event-hero {
	background-image: radial-gradient( circle farthest-corner at 10% 20%,  rgba(222,168,248,1) 0%, rgba(168,222,248,1) 21.8%, rgba(189,250,205,1) 35.6%, rgba(243,250,189,1) 52.9%, rgba(250,227,189,1) 66.8%, rgba(248,172,172,1) 90%, rgba(254,211,252,1) 99.7% );
	padding: 48px 0;
	position: relative;
	overflow: hidden;
}
.events-theme .event-hero .title {
    font-size: 34px;
    font-weight: 800;
    font-family: 'Montserrat', sans-serif;
}
.events-theme .ev-hero-title{ color: #1f2937; }
.events-theme .ev-hero-sub{ color: #1f2937; letter-spacing: .3px; }
.events-theme .event-hero .subtitle { color: var(--ev-text-muted); }

/* Floating particles */
.events-theme .event-hero::before,
.events-theme .event-hero::after {
	content: "";
	position: absolute;
	width: 600px; height: 600px;
	background: radial-gradient(circle at 30% 30%, rgba(94,74,227,.18), transparent 60%);
	filter: blur(30px);
	animation: ev-float 12s ease-in-out infinite;
	border-radius: 50%;
}
.events-theme .event-hero::after {
	left: auto; right: -200px; top: -150px;
	background: radial-gradient(circle at 70% 70%, rgba(255,107,107,.15), transparent 60%);
	animation-duration: 16s;
}
@keyframes ev-float { 0%,100% { transform: translateY(0) translateX(0); } 50% { transform: translateY(20px) translateX(-10px); } }

/* Reveal animations */
.events-theme .animate-slide-up { opacity: 0; transform: translateY(12px); animation: ev-slide-up .6s ease .1s forwards; }
.events-theme .delay-1 { animation-delay: .25s; }
.events-theme .delay-2 { animation-delay: .4s; }
@keyframes ev-slide-up { to { opacity: 1; transform: translateY(0); } }
.events-theme .animate-fade-in { opacity: 0; animation: ev-fade-in .5s ease .15s forwards; }
@keyframes ev-fade-in { to { opacity: 1; } }
/* Stagger utility for cards */
.events-theme .stagger-1{ animation-delay: .05s; }
.events-theme .stagger-2{ animation-delay: .1s; }
.events-theme .stagger-3{ animation-delay: .15s; }
.events-theme .stagger-4{ animation-delay: .2s; }

/* Details layout */
.events-theme .event-section { background: var(--ev-card); border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,.06); }
.events-theme .event-section.ev-desc { border: 1px solid rgba(94,74,227,.15); background: linear-gradient(180deg, rgba(94,74,227,.03), rgba(255,255,255,1)); }
.events-theme .event-section .title { font-weight: 700; font-family: 'Montserrat', sans-serif; }

/* Info chips */
.events-theme .info-grid { display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 576px) { .events-theme .info-grid { grid-template-columns: 1fr; } }
@media (min-width: 992px) { .events-theme .info-grid { grid-template-columns: 1fr; } }
.events-theme .info-chip { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid var(--ev-border); border-radius: 10px; background: #fff; box-shadow: 0 1px 6px rgba(0,0,0,.04); transition: transform .2s ease, box-shadow .2s ease; }
.events-theme .info-chip:hover { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(94,74,227,0.12); }
.events-theme .info-chip .icon { width: 36px; height: 36px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; background: rgba(94,74,227,0.1); color: var(--ev-primary); }
.events-theme .info-chip .text { font-size: 14px; color: var(--ev-text); }
.events-theme .info-chip .sub { font-size: 12px; color: var(--ev-text-muted); }

/* Guests badges */
.events-theme .guest-badges { display: flex; flex-wrap: wrap; gap: 8px; }
.events-theme .guest-badge { background: linear-gradient(135deg, #FF6B6B 0%, #FFA07A 100%); color: #fff; padding: 6px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; box-shadow: 0 6px 16px rgba(255,107,107,0.25); }

/* Full-screen flyer */
.events-theme .event-flyer-full .flyer-wrapper {
	position: relative;
	height: 60vh;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(0,0,0,.12);
}
.events-theme .event-flyer-full img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media (min-width: 992px) {
	.events-theme .event-flyer-full .flyer-wrapper { height: 75vh; }
}

/* Form styling */
.events-theme .event-form .form-control,
.events-theme .event-form .form-select {
	border-radius: 8px;
	border: 1px solid var(--ev-border);
	transition: box-shadow .2s ease, border-color .2s ease, transform .05s ease;
}
.events-theme .event-form .floating-label { position: relative; }
.events-theme .event-form .floating-label > input,
.events-theme .event-form .floating-label > textarea,
.events-theme .event-form .floating-label > select { padding-top: 20px; }
.events-theme .event-form .floating-label > label { position: absolute; left: 12px; top: 10px; color: var(--ev-text-muted); transition: all .15s ease; pointer-events: none; background: #fff; padding: 0 4px; }
.events-theme .event-form .floating-label > input:focus + label,
.events-theme .event-form .floating-label > input:not(:placeholder-shown) + label,
.events-theme .event-form .floating-label > textarea:focus + label,
.events-theme .event-form .floating-label > textarea:not(:placeholder-shown) + label,
.events-theme .event-form .floating-label > select:focus + label { top: -10px; font-size: 12px; color: var(--ev-primary); }
.events-theme .event-form .form-control:focus,
.events-theme .event-form .form-select:focus {
	border-color: var(--ev-primary);
	box-shadow: 0 0 0 4px rgba(94,74,227,0.15);
}
.events-theme .btn-ev-primary {
	background: linear-gradient(135deg, #6C5CE7 0%, #5E4AE3 50%, #5E4AE3 100%);
	border-color: var(--ev-primary);
	color: #fff;
	transition: transform .1s ease, box-shadow .2s ease, opacity .2s ease, background .3s ease;
}
.events-theme .btn-ev-primary:hover { transform: scale(1.03); box-shadow: 0 12px 26px rgba(94,74,227,0.35); }
.events-theme .btn-ev-primary:active { transform: scale(0.99); }
/* Ripple effect */
.events-theme .btn-ev-primary{ position: relative; overflow: hidden; }
.events-theme .btn-ev-primary::after{ content:""; position:absolute; left:50%; top:50%; width:0; height:0; background:rgba(255,255,255,.35); border-radius:50%; transform:translate(-50%,-50%); transition:width .4s ease,height .4s ease; }
.events-theme .btn-ev-primary:active::after{ width:220%; height:220%; }

/* Floating CTA */
.events-theme .floating-cta {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 999;
	box-shadow: 0 10px 24px rgba(94,74,227,0.35);
	border-radius: 999px;
}
@media (max-width: 767.98px) {
	.events-theme .floating-cta { position: static; width: 100%; border-radius: 8px; box-shadow: none; margin-bottom: 12px; }
}

/* Animations */
@keyframes ev-bounce {
	0%,100% { transform: translateY(0); }
	50% { transform: translateY(-2px); }
}

/* Grid responsiveness tweaks */
@media (min-width: 992px) {
	.events-theme .ev-grid .col-lg-4 { flex: 0 0 auto; width: 33.333333%; }
}
@media (max-width: 991.98px) and (min-width: 576px) {
	.events-theme .ev-grid .col-md-6 { flex: 0 0 auto; width: 50%; }
}

/* Lightbox */
.events-theme .lightbox{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.85);display:flex;align-items:center;justify-content:center;z-index:9999;}
.events-theme .lightbox-content{position:relative;}
.events-theme .lightbox-content img{max-width:90vw;max-height:90vh;border-radius:12px;}
.events-theme .lightbox-close{position:absolute;top:-10px;right:-10px;color:#fff;font-size:28px;cursor:pointer;}

/* Tabs integration for events */
.events-theme .nav-tabs {
    background: transparent;
    border-radius: 10px 10px 0 0;
    padding: 10px 10px 0;
    border-bottom: 2px solid rgba(94,74,227,0.2);
}
.events-theme .nav-tabs .nav-link {
    border: none;
    border-radius: 8px 8px 0 0;
    margin-right: 5px;
    padding: 12px 20px;
    font-weight: 600;
    color: #6c757d;
    background: rgba(255,255,255,0.1);
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}
.events-theme .nav-tabs .nav-link:hover {
    background: rgba(94,74,227,0.2);
    color: var(--ev-primary);
    border: none;
}
.events-theme .nav-tabs .nav-link.active {
    background: rgba(255,255,255,0.3);
    color: var(--ev-primary);
    border: none;
    box-shadow: 0 -2px 10px rgba(94,74,227,0.1);
    backdrop-filter: blur(15px);
}
.events-theme .tab-content {
    background: transparent;
    border-radius: 0 0 10px 10px;
    padding: 30px;
    box-shadow: none;
}
.events-theme .tab-pane {
    min-height: 400px;
}

/* Loading overlay for form submit */
.events-theme .ev-loading-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;z-index:1056;}
.events-theme .ev-loading-overlay.show{display:flex;}
.events-theme .ev-spinner{width:56px;height:56px;border-radius:50%;border:4px solid rgba(255,255,255,.25);border-top-color:#fff;animation:ev-spin 1s linear infinite;}
@keyframes ev-spin { to { transform: rotate(360deg); } }

/* Festival global background for event page */
.events-theme.festival {
	position: relative;
	min-height: 100vh;
	background-image: radial-gradient( circle farthest-corner at 10% 20%,  rgba(222,168,248,1) 0%, rgba(168,222,248,1) 21.8%, rgba(189,250,205,1) 35.6%, rgba(243,250,189,1) 52.9%, rgba(250,227,189,1) 66.8%, rgba(248,172,172,1) 90%, rgba(254,211,252,1) 99.7% );
	overflow-x: hidden;
}
.events-theme.festival .festival-content{ position: relative; z-index: 1; }
.events-theme .festival-content{ opacity: 0; transform: translateY(10px); transition: opacity .6s ease, transform .6s ease; }
.events-theme .festival-content.show{ opacity: 1; transform: translateY(0); }
.events-theme.festival .container{ background: transparent; }
.events-theme.festival .event-section{ background: rgba(255,255,255,0.9); backdrop-filter: saturate(120%) blur(4px); }
.events-theme.festival .event-section.ev-desc{ background: linear-gradient(180deg, rgba(94,74,227,.06), rgba(255,255,255,.9)); border: 1px solid rgba(94,74,227,.2); }
.events-theme.festival .event-card{ background: rgba(255,255,255,0.1); backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,0.2); }
.events-theme.festival .info-chip{ background: rgba(255,255,255,0.9); }
.events-theme.festival .event-flyer-full .flyer-wrapper{ box-shadow: 0 10px 28px rgba(94,74,227,.18); border: 1px solid rgba(94,74,227,.18); }

/* Intro overlay typing animation */
.events-theme .ev-intro-screen{ position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 2000; transition: opacity .6s ease; background-image: radial-gradient( circle farthest-corner at 10% 20%,  rgba(222,168,248,1) 0%, rgba(168,222,248,1) 21.8%, rgba(189,250,205,1) 35.6%, rgba(243,250,189,1) 52.9%, rgba(250,227,189,1) 66.8%, rgba(248,172,172,1) 90%, rgba(254,211,252,1) 99.7% ); background-size: 200% 200%; animation: ev-intro-bg 10s ease-in-out infinite; }
.events-theme .ev-intro-screen.hide{ opacity: 0; pointer-events: none; }
.events-theme .ev-typing{ font-family: 'Montserrat', sans-serif; font-weight: 900; font-size: 42px; letter-spacing: 1px; max-width: 70vw; text-align: center; line-height: 1.25; color: #1f2937; }
.events-theme .ev-cursor{ display: inline-block; width: 2px; height: 1em; background: #5E4AE3; margin-left: 6px; animation: ev-blink 1s step-end infinite; vertical-align: bottom; }
@keyframes ev-blink { 50% { opacity: 0; } }
@keyframes ev-intro-bg { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }
@keyframes ev-title-grad { 0% { background-position: 0% 50%; } 100% { background-position: 200% 50%; } }

/* Animate subtle gradient waves over the page */
.events-theme.festival .festival-wave {
    position: absolute; inset: 0; pointer-events: none; z-index: 0;
    background: radial-gradient(1000px 400px at 10% 0%, rgba(94,74,227,.12), transparent 60%),
                radial-gradient(1000px 400px at 90% 0%, rgba(255,107,107,.12), transparent 60%);
    animation: ev-wave 16s ease-in-out infinite alternate;
}
@keyframes ev-wave { from { filter: hue-rotate(0deg); } to { filter: hue-rotate(20deg); } }
