/**
 * WP Event Platform — public styles.
 * Namespaced with .wep- to avoid theme conflicts. RTL-first.
 */
:root, .wep-single, .wep-archive, .wep-events-directory, .wep-el, .wep-dash, .wep-ticket-page, .wep-checkin-app {
	--wep-primary: var(--wd-primary-color, var(--e-global-color-primary, var(--wp--preset--color--primary, var(--ast-global-color-0, #111827))));
	--wep-primary-dark: color-mix(in srgb, var(--wep-primary) 85%, #000000);
	--wep-primary-light: color-mix(in srgb, var(--wep-primary) 12%, #ffffff);
	--wep-secondary: var(--wd-alternative-color, var(--wd-secondary-color, var(--e-global-color-secondary, var(--wp--preset--color--secondary, var(--ast-global-color-1, #0f766e)))));
	--wep-secondary-dark: color-mix(in srgb, var(--wep-secondary) 85%, #000000);
	--wep-secondary-light: color-mix(in srgb, var(--wep-secondary) 12%, #ffffff);
	--wep-accent: #ffc221;
	--wep-green: #10b981;
	--wep-ink: #031f42;
	--wep-bg: #f8fafc;
	--wep-card: #ffffff;
	--wep-border: #e2e8f0;
	--wep-text: #0f172a;
	--wep-muted: #64748b;
	--wep-success: #16a34a;
	--wep-error: #dc2626;
	--wep-warning: #d97706;
	font-family: inherit;
	color: var(--wep-text);
}

/* ---------- Buttons ---------- */
.wep-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #eef2f7;
	color: var(--wep-text);
	border: 1px solid var(--wep-border);
	border-radius: 8px;
	padding: 10px 18px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
	transition: all .15s ease;
	line-height: 1.4;
	white-space: nowrap !important;
	box-sizing: border-box;
}
.wep-btn:hover { background: #e2e8f0; }
.wep-btn--primary,
a.wep-btn--primary,
button.wep-btn--primary {
	background: var(--wep-btn-bg, var(--wep-primary, #111827)) !important;
	border-color: var(--wep-btn-bg, var(--wep-primary, #111827)) !important;
	color: var(--wep-btn-color, #ffffff) !important;
	text-decoration: none !important;
}
.wep-btn--primary *,
a.wep-btn--primary *,
button.wep-btn--primary * {
	color: var(--wep-btn-color, #ffffff) !important;
}
.wep-btn--primary:hover,
a.wep-btn--primary:hover,
button.wep-btn--primary:hover {
	background: var(--wep-primary-dark, #0f172a) !important;
	color: var(--wep-btn-color, #ffffff) !important;
	filter: brightness(0.92);
}
.wep-btn[disabled] { opacity: .6; cursor: not-allowed; }

/* ---------- Badges ---------- */
.wep-badge {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	background: #e2e8f0;
	color: #334155;
	vertical-align: middle;
}
.wep-badge--paid, .wep-badge--confirmed, .wep-badge--valid, .wep-badge--sent, .wep-badge--active, .wep-badge--free { background: #dcfce7; color: #166534; }
.wep-badge--pending { background: #fef3c7; color: #92400e; }
.wep-badge--cancelled, .wep-badge--refunded, .wep-badge--used, .wep-badge--failed { background: #fee2e2; color: #991b1b; }
.wep-badge--early { background: #fef3c7; color: #92400e; border: 1px solid #fde68a; font-weight: 700; border-radius: 6px; }
.wep-badge--type, .wep-badge--overlay { background: rgba(17,24,39,.08); color: var(--wep-text, #0f172a); }
.wep-badge--overlay { position: absolute; top: 10px; inset-inline-start: 10px; background: rgba(255,255,255,.92); }

/* ---------- Notices ---------- */
.wep-notice {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	color: #1e293b;
	padding: 12px 16px;
	border-radius: 8px;
	margin: 10px 0;
	font-size: 14px;
}
.wep-notice--error { background: #fef2f2; border-color: #fecaca; color: #991b1b; }
.wep-notice--success { background: #f0fdf4; border-color: #bbf7d0; color: #166534; }
.wep-empty { color: var(--wep-muted); }
.wep-muted { color: var(--wep-muted); font-size: 13px; }

/* ---------- Grid & cards ---------- */
.wep-grid { display: grid; gap: 22px; }
.wep-grid--2 { grid-template-columns: repeat(2, 1fr); }
.wep-grid--3 { grid-template-columns: repeat(3, 1fr); }
.wep-grid--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 991px) { .wep-grid--3, .wep-grid--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .wep-grid--2, .wep-grid--3, .wep-grid--4 { grid-template-columns: 1fr; } }

/* List layout */
.wep-grid--list { display: flex; flex-direction: column; gap: 18px; }
.wep-grid--list .wep-card { flex-direction: row; align-items: stretch; }
.wep-grid--list .wep-card__media { width: 300px; min-width: 300px; aspect-ratio: auto; min-height: 190px; }
.wep-grid--list .wep-card__body { padding: 22px; gap: 12px; }
.wep-grid--list .wep-card__title { font-size: 19px; }
@media (max-width: 768px) {
	.wep-grid--list .wep-card { flex-direction: column; }
	.wep-grid--list .wep-card__media { width: 100%; min-width: 0; aspect-ratio: 16/9; min-height: auto; }
}

.wep-card {
	background: var(--wep-card);
	border: 1px solid var(--wep-border);
	border-radius: 14px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: box-shadow .2s ease, transform .2s ease;
}
.wep-card:hover { box-shadow: 0 10px 30px rgba(15,23,42,.08); transform: translateY(-2px); }
.wep-card__media { position: relative; display: block; aspect-ratio: 16/9; background: var(--wep-bg); overflow: hidden; }
.wep-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wep-card__placeholder { display: flex; align-items: center; justify-content: center; height: 100%; font-size: 42px; }
.wep-card__body { padding: 16px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.wep-card__title { margin: 0; font-size: 17px; line-height: 1.5; }
.wep-card__title a { color: var(--wep-text); text-decoration: none; }
.wep-card__title a:hover { color: var(--wep-primary); }
.wep-card__date { margin: 0; font-size: 13px; color: var(--wep-muted); }
.wep-card__meta { display: flex; align-items: center; justify-content: space-between; margin: 0; gap: 8px; }
.wep-card__price { font-weight: 700; color: var(--wep-primary-dark); font-size: 14px; }
.wep-card__body .wep-btn { margin-top: auto; text-align: center; }

/* ---------- Events Directory & Hero Banner ---------- */
.wep-events-directory,
.wep-archive { max-width: 1200px !important; margin: 0 auto 40px auto !important; padding: 24px 16px !important; box-sizing: border-box !important; }

.wep-events-hero {
	background: linear-gradient(135deg, var(--wep-primary, #111827) 0%, var(--wep-primary-dark, #0f172a) 100%) !important;
	border-radius: 16px !important;
	padding: 38px 32px !important;
	margin-bottom: 26px !important;
	color: #fff !important;
	position: relative !important;
	overflow: hidden !important;
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.08) !important;
	box-sizing: border-box !important;
}
.wep-events-hero--theme,
.wep-events-hero--blue {
	background: linear-gradient(135deg, var(--wep-primary, #111827) 0%, var(--wep-primary-dark, #0f172a) 100%) !important;
}
.wep-events-hero--purple { background: linear-gradient(135deg, #6366f1 0%, #a855f7 100%) !important; }
.wep-events-hero--dark { background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%) !important; }
.wep-events-hero--emerald { background: linear-gradient(135deg, #059669 0%, #0d9488 100%) !important; }
.wep-events-hero--minimal { background: #f8fafc !important; border: 1px solid #e2e8f0 !important; color: #0f172a !important; box-shadow: none !important; }
.wep-events-hero--minimal .wep-events-hero__subtitle { color: #64748b !important; }
.wep-events-hero__title { font-size: 26px !important; font-weight: 800 !important; margin: 0 0 10px 0 !important; line-height: 1.35 !important; }
.wep-events-hero__subtitle { font-size: 14.5px !important; opacity: 0.92 !important; margin: 0 !important; line-height: 1.7 !important; max-width: 720px !important; }

/* Filter bar */
.wep-directory-filters {
	background: #ffffff !important;
	border: 1px solid var(--wep-border, #e2e8f0) !important;
	border-radius: 14px !important;
	padding: 16px 20px !important;
	margin-bottom: 26px !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
	box-sizing: border-box !important;
	width: 100% !important;
}
.wep-filters-form { display: flex !important; flex-direction: column !important; gap: 0 !important; margin: 0 !important; padding: 0 !important; }
.wep-filters-row { display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 10px !important; width: 100% !important; }

.wep-search-field { flex: 1 1 240px !important; min-width: 220px !important; position: relative !important; display: flex !important; align-items: center !important; margin: 0 !important; }
.wep-search-field input[type="search"] {
	all: revert !important;
	width: 100% !important;
	height: 44px !important;
	line-height: 44px !important;
	padding: 0 40px 0 14px !important;
	border: 1.5px solid #cbd5e1 !important;
	border-radius: 10px !important;
	background: #fff !important;
	font-size: 13.5px !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	transition: border-color 0.2s !important;
}
.wep-search-field input[type="search"]:focus { outline: none !important; border-color: var(--wep-primary, #111827) !important; box-shadow: 0 0 0 3px rgba(17, 24, 39, 0.12) !important; }
.wep-search-icon { position: absolute !important; right: 14px !important; color: #94a3b8 !important; pointer-events: none !important; }
[dir="ltr"] .wep-search-field input[type="search"] { padding: 0 14px 0 40px !important; }
[dir="ltr"] .wep-search-icon { right: auto !important; left: 14px !important; }

.wep-select-field { flex: 0 1 auto !important; margin: 0 !important; }
.wep-select-field select {
	all: revert !important;
	height: 44px !important;
	min-height: 44px !important;
	max-height: 44px !important;
	line-height: 42px !important;
	width: auto !important;
	min-width: 150px !important;
	max-width: 220px !important;
	padding: 0 14px !important;
	border: 1.5px solid #cbd5e1 !important;
	border-radius: 10px !important;
	background: #fff !important;
	font-size: 13px !important;
	cursor: pointer !important;
	box-sizing: border-box !important;
	margin: 0 !important;
}

.wep-filters-submit-btn {
	all: revert !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	height: 44px !important;
	min-height: 44px !important;
	max-height: 44px !important;
	padding: 0 20px !important;
	border-radius: 10px !important;
	background: var(--wep-primary, #111827) !important;
	color: #ffffff !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	border: none !important;
	cursor: pointer !important;
	white-space: nowrap !important;
	margin: 0 !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;
	transition: filter 0.2s !important;
}
.wep-filters-submit-btn:hover { filter: brightness(0.92) !important; }

.wep-filters-pills-row {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 10px !important;
	margin-top: 14px !important;
	padding-top: 14px !important;
	border-top: 1px solid #f1f5f9 !important;
	width: 100% !important;
}
.wep-type-pills { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; align-items: center !important; }
.wep-type-pill {
	all: revert !important;
	display: inline-flex !important;
	align-items: center !important;
	height: 32px !important;
	padding: 0 14px !important;
	border-radius: 20px !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	color: #475569 !important;
	background: #f8fafc !important;
	border: 1px solid #e2e8f0 !important;
	text-decoration: none !important;
	line-height: 32px !important;
	margin: 0 !important;
	transition: all 0.2s !important;
}
.wep-type-pill:hover { background: #f1f5f9 !important; color: #1e293b !important; }
.wep-type-pill.is-active { background: var(--wep-primary, #111827) !important; color: #fff !important; border-color: var(--wep-primary, #111827) !important; }
.wep-filter-reset { font-size: 12.5px !important; color: #ef4444 !important; text-decoration: none !important; display: inline-flex !important; align-items: center !important; gap: 4px !important; }
.wep-filter-reset:hover { text-decoration: underline !important; }

/* Grid isolation in directory */
.wep-events-directory .wep-grid {
	display: grid !important;
	gap: 24px !important;
	box-sizing: border-box !important;
	width: 100% !important;
}
.wep-events-directory .wep-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.wep-events-directory .wep-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.wep-events-directory .wep-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 991px) {
	.wep-events-directory .wep-grid--3,
	.wep-events-directory .wep-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 640px) {
	.wep-events-directory .wep-grid--2,
	.wep-events-directory .wep-grid--3,
	.wep-events-directory .wep-grid--4 { grid-template-columns: 1fr !important; }
}

.wep-events-directory .wep-card {
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 16px !important;
	overflow: hidden !important;
	display: flex !important;
	flex-direction: column !important;
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05) !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
}
.wep-events-directory .wep-card__media {
	width: 100% !important;
	height: 200px !important;
	min-height: 200px !important;
	max-height: 200px !important;
	position: relative !important;
	overflow: hidden !important;
	background: #f1f5f9 !important;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
}
.wep-events-directory .wep-card__media img {
	width: 100% !important;
	height: 100% !important;
	max-height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 0 !important;
}
.wep-events-directory .wep-card__body {
	padding: 18px 20px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	flex: 1 1 auto !important;
	box-sizing: border-box !important;
}
.wep-events-directory .wep-card__title {
	font-size: 17px !important;
	font-weight: 700 !important;
	margin: 0 !important;
	line-height: 1.5 !important;
	color: #0f172a !important;
}

.wep-events-directory .wep-card__body .wep-btn,
.wep-events-directory .wep-card__body a.wep-btn--primary,
.wep-card__body a.wep-btn--primary {
	margin-top: auto !important;
	text-align: center !important;
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
	padding: 10px 16px !important;
	border-radius: 8px !important;
	text-decoration: none !important;
	font-weight: 700 !important;
	background: var(--wep-btn-bg, var(--wep-primary, #111827)) !important;
	border: 1px solid var(--wep-btn-bg, var(--wep-primary, #111827)) !important;
	color: var(--wep-btn-color, #ffffff) !important;
}
.wep-events-directory .wep-card__body .wep-btn *,
.wep-events-directory .wep-card__body a.wep-btn--primary *,
.wep-card__body a.wep-btn--primary * {
	color: var(--wep-btn-color, #ffffff) !important;
}
.wep-events-directory .wep-card__body .wep-btn:hover,
.wep-events-directory .wep-card__body a.wep-btn--primary:hover,
.wep-card__body a.wep-btn--primary:hover {
	color: var(--wep-btn-color, #ffffff) !important;
	filter: brightness(0.92) !important;
}

.wep-archive__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 20px; }
.wep-search-form { display: flex; gap: 8px; }
.wep-search-form input { padding: 10px 14px; border: 1px solid var(--wep-border); border-radius: 8px; min-width: 240px; }

/* ---------- Single event ---------- */
.wep-single { max-width: 1200px; margin: 0 auto; padding: 24px 16px; box-sizing: border-box; overflow-x: clip; }
.wep-single__head { display: grid; grid-template-columns: 1.2fr 1fr; gap: 28px; margin-bottom: 28px; }
.wep-single__hero img { width: 100%; border-radius: 16px; display: block; max-height: 440px; object-fit: cover; }
.wep-single__title { font-size: 30px; margin: 0 0 10px; line-height: 1.4; }
.wep-single__meta p { margin: 8px 0; font-size: 14px; }
.wep-single__body { display: grid; grid-template-columns: 1.6fr 1fr; gap: 28px; align-items: start; }
.wep-single__gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 18px; }
.wep-single__gallery img { width: 100%; border-radius: 10px; }
.wep-single__sidebar { position: sticky; top: 20px; }
.wep-terms { margin-top: 20px; border: 1px solid var(--wep-border); border-radius: 10px; padding: 12px 16px; }
@media (max-width: 900px) {
	.wep-single { padding: 14px 12px; }
	.wep-single__head, .wep-single__body { grid-template-columns: 1fr; }
	.wep-single__sidebar { position: static; }
	.wep-single__hero img { aspect-ratio: 16 / 9; max-height: 240px; }
}

/* ---------- Ticket selector ---------- */
.wep-tickets { background: var(--wep-card); border: 1px solid var(--wep-border); border-radius: 14px; padding: 20px; }
.wep-tickets__heading { margin: 0 0 14px; font-size: 19px; }

/* Login required banner in ticket selector */
.wep-login-required-banner {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	background: #f0f7ff;
	border: 1px solid #bae6fd;
	border-radius: 12px;
	padding: 16px 18px;
	margin-bottom: 20px;
}
.wep-login-required-banner__icon {
	font-size: 26px;
	line-height: 1;
	flex-shrink: 0;
	padding-top: 2px;
}
.wep-login-required-banner__body {
	flex: 1;
}
.wep-login-required-banner__body h4 {
	margin: 0 0 6px;
	font-size: 15px;
	font-weight: 700;
	color: #0f172a;
}
.wep-login-required-banner__body p {
	margin: 0 0 12px;
	font-size: 13px;
	line-height: 1.6;
	color: #334155;
}
.wep-login-required-banner__actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}
.wep-btn--outline {
	background: transparent;
	border: 1px solid var(--wep-primary, #111827);
	color: var(--wep-primary, #111827);
}
.wep-btn--outline:hover {
	background: var(--wep-primary, #111827);
	color: #fff;
}
.wep-btn--login-prompt {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

/* Template overrides for dark themes */
.wep-tpl-dark .wep-login-required-banner,
.wep-tpl-neon .wep-login-required-banner,
.wep-tpl-gold .wep-login-required-banner {
	background: rgba(255, 255, 255, .05);
	border-color: rgba(255, 255, 255, .15);
}
.wep-tpl-dark .wep-login-required-banner__body h4,
.wep-tpl-neon .wep-login-required-banner__body h4,
.wep-tpl-gold .wep-login-required-banner__body h4 {
	color: #38bdf8;
}
.wep-tpl-dark .wep-login-required-banner__body p,
.wep-tpl-neon .wep-login-required-banner__body p,
.wep-tpl-gold .wep-login-required-banner__body p {
	color: #e2e8f0;
}

.wep-ticket-type-card { margin-bottom: 18px; }
.wep-ticket-type-card__head h4 { margin: 0 0 4px; font-size: 16px; }
.wep-tier {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	border: 1px solid var(--wep-border);
	border-radius: 12px;
	padding: 14px;
	margin: 8px 0;
	box-sizing: border-box !important;
	max-width: 100% !important;
	overflow: hidden !important;
}
.wep-tier--active { border-color: var(--wep-primary); background: #f8fbff; }
.wep-tier--closed { opacity: .75; }
.wep-tier__info { display: flex; flex-direction: column; gap: 6px; width: 100%; box-sizing: border-box; }
.wep-tier__label { font-weight: 700; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.wep-tier__price del { color: var(--wep-muted); margin-inline-end: 8px; font-size: 13px; }
.wep-tier__price strong { font-size: 17px; color: var(--wep-primary-dark); }
.wep-tier__save { font-style: normal; font-size: 12px; color: var(--wep-success); margin-inline-start: 8px; }
.wep-tier__free { color: var(--wep-success); }
.wep-tier__remaining, .wep-tier__deadline { font-size: 12px; color: var(--wep-muted); }

/* Ticket Add-ons & Stepper */
.wep-tier__addons { width: 100%; margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--wep-border); box-sizing: border-box; }
.wep-tier__addons-heading { font-size: 12px; font-weight: 700; color: #475569; margin-bottom: 8px; display: flex; align-items: center; gap: 6px; }
.wep-tier__addons-items { display: flex; flex-direction: column; gap: 7px; width: 100%; box-sizing: border-box; }

.wep-addon-card, .wep-addon-pill {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 9px 11px;
	background: #ffffff;
	border: 1px solid var(--wep-border, #e2e8f0);
	border-radius: 9px;
	cursor: pointer;
	transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
	font-size: 13px;
	user-select: none;
	box-sizing: border-box !important;
	width: 100%;
	text-align: right;
}
.wep-addon-card:hover, .wep-addon-pill:hover {
	border-color: var(--wep-primary, #111827);
	background: #f8fafc;
}
.wep-addon-card.is-selected, .wep-addon-pill.is-selected {
	border-color: var(--wep-primary, #111827);
	background: #f8fafc;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.wep-addon-card input[type="checkbox"], .wep-addon-pill input[type="checkbox"] {
	margin: 2px 0 0 0 !important;
	accent-color: var(--wep-primary, #111827);
	width: 16px !important;
	height: 16px !important;
	flex-shrink: 0;
	cursor: pointer;
}
.wep-addon-content {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.wep-addon-header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
	width: 100%;
}
.wep-addon-title, .wep-addon-pill__title {
	font-weight: 600;
	font-size: 12.5px;
	color: #1e293b;
	line-height: 1.4;
	word-break: break-word;
}
.wep-addon-price, .wep-addon-pill__price {
	font-size: 12px;
	font-weight: 700;
	color: var(--wep-primary-dark, #1d4ed8);
	white-space: nowrap;
	flex-shrink: 0;
	direction: ltr;
	display: inline-block;
}
.wep-addon-price--free, .wep-addon-pill__price--free {
	color: var(--wep-success, #16a34a);
}
.wep-addon-desc {
	display: block;
	font-size: 11.5px;
	line-height: 1.5;
	color: #64748b;
	margin-top: 1px;
	word-break: break-word;
}
.wep-addon-badge-req {
	display: inline-block;
	font-size: 10px;
	font-weight: 700;
	padding: 1px 5px;
	background: #fee2e2;
	color: #dc2626;
	border-radius: 4px;
	margin-inline-start: 4px;
	vertical-align: middle;
}
.wep-addon-pill__tip { font-size: 12px; cursor: help; opacity: .7; }

.wep-attendee__addons {
	margin-top: 10px;
	padding-top: 9px;
	border-top: 1px dashed #e2e8f0;
	width: 100%;
	box-sizing: border-box;
}
.wep-attendee__addons-heading {
	font-size: 11.5px;
	font-weight: 700;
	color: #475569;
	margin-bottom: 7px;
	display: flex;
	align-items: center;
	gap: 5px;
}

.wep-tpl-dark .wep-addon-card,
.wep-tpl-neon .wep-addon-card,
.wep-tpl-gold .wep-addon-card,
.wep-single--dark .wep-addon-card {
	background: rgba(255, 255, 255, .05);
	border-color: rgba(255, 255, 255, .15);
}
.wep-tpl-dark .wep-addon-card:hover,
.wep-tpl-neon .wep-addon-card:hover,
.wep-tpl-gold .wep-addon-card:hover,
.wep-single--dark .wep-addon-card:hover {
	background: rgba(255, 255, 255, .09);
	border-color: var(--wep-primary);
}
.wep-tpl-dark .wep-addon-card.is-selected,
.wep-tpl-neon .wep-addon-card.is-selected,
.wep-tpl-gold .wep-addon-card.is-selected,
.wep-single--dark .wep-addon-card.is-selected {
	background: rgba(37, 99, 235, .22);
	border-color: var(--wep-primary);
}
.wep-tpl-dark .wep-addon-title,
.wep-tpl-neon .wep-addon-title,
.wep-tpl-gold .wep-addon-title,
.wep-single--dark .wep-addon-title {
	color: #f8fafc;
}
.wep-tpl-dark .wep-addon-desc,
.wep-tpl-neon .wep-addon-desc,
.wep-tpl-gold .wep-addon-desc,
.wep-single--dark .wep-addon-desc {
	color: #94a3b8;
}

.wep-tier__total-bar { display: flex; justify-content: space-between; align-items: center; width: 100%; background: #f1f5f9; border-radius: 10px; padding: 9px 12px; margin-top: 10px; font-size: 13px; color: #475569; box-sizing: border-box !important; }
.wep-tier__total-val { font-size: 15px; font-weight: 800; color: var(--wep-primary-dark); }

.wep-tier__buy {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 6px !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-top: 10px !important;
	box-sizing: border-box !important;
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

.wep-tier__buy .wep-btn,
.wep-add-to-cart {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: 30px !important;
	min-height: 30px !important;
	max-height: 30px !important;
	line-height: 30px !important;
	padding: 0 6px !important;
	font-size: 11.5px !important;
	font-weight: 700 !important;
	white-space: nowrap !important;
	text-align: center !important;
	justify-content: center !important;
	border-radius: 6px !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

.wep-qty-stepper {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 72px !important;
	min-width: 72px !important;
	max-width: 72px !important;
	height: 34px !important;
	min-height: 34px !important;
	max-height: 34px !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	overflow: hidden !important;
	box-shadow: none !important;
	flex: 0 0 72px !important;
	box-sizing: border-box !important;
	padding: 0 !important;
	margin: 0 !important;
}

.wep-qty-btn {
	all: unset !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 22px !important;
	min-width: 22px !important;
	max-width: 22px !important;
	height: 34px !important;
	min-height: 34px !important;
	max-height: 34px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #f1f5f9 !important;
	color: #334155 !important;
	padding: 0 !important;
	margin: 0 !important;
	cursor: pointer !important;
	user-select: none !important;
	box-sizing: border-box !important;
	box-shadow: none !important;
	text-shadow: none !important;
	outline: none !important;
	line-height: 1 !important;
	font-size: 0 !important;
	transition: background .15s ease, color .15s ease !important;
}

.wep-qty-btn svg {
	display: block !important;
	width: 8px !important;
	height: 8px !important;
	pointer-events: none !important;
}

.wep-qty-btn:hover {
	background: #e2e8f0 !important;
	color: #0f172a !important;
}

.wep-tier__qty {
	all: unset !important;
	display: inline-block !important;
	width: 28px !important;
	min-width: 28px !important;
	max-width: 28px !important;
	height: 34px !important;
	min-height: 34px !important;
	max-height: 34px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #0f172a !important;
	text-align: center !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	line-height: 34px !important;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
	outline: none !important;
	box-sizing: border-box !important;
	-moz-appearance: textfield !important;
	cursor: text !important;
}

.wep-tier__qty::-webkit-outer-spin-button,
.wep-tier__qty::-webkit-inner-spin-button {
	-webkit-appearance: none !important;
	margin: 0 !important;
}

.wep-tier__qty-row {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	margin-top: 10px !important;
	padding: 6px 10px !important;
	background: #f8fafc !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 8px !important;
	box-sizing: border-box !important;
}

.wep-tier__qty-label {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	color: #334155 !important;
}

.wep-tier__qty-label svg {
	opacity: .7;
}

.wep-tier__footer {
	margin-top: 14px !important;
	padding-top: 12px !important;
	border-top: 1px dashed var(--wep-border, #e2e8f0) !important;
	width: 100% !important;
	box-sizing: border-box !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
}

.wep-tier__footer .wep-btn--block,
.wep-btn--block {
	width: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	height: 38px !important;
	min-height: 38px !important;
	line-height: 38px !important;
	padding: 0 12px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	border-radius: 8px !important;
	box-sizing: border-box !important;
	text-decoration: none !important;
	cursor: pointer !important;
	transition: background .2s ease, transform .15s ease, box-shadow .2s ease !important;
	box-shadow: 0 2px 6px rgba(0,0,0,0.08) !important;
}

.wep-tier__footer .wep-btn--block:hover {
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 10px rgba(0,0,0,0.12) !important;
}

.wep-tier__footer .wep-checkout-btn,
.wep-checkout-btn {
	background: var(--wep-checkout-btn-bg, #111827) !important;
	color: var(--wep-checkout-btn-color, #ffffff) !important;
	border: 1px solid var(--wep-checkout-btn-bg, #111827) !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.16) !important;
	animation: wepSlideDown .25s ease-out !important;
}

.wep-tier__footer .wep-checkout-btn *,
.wep-checkout-btn * {
	color: var(--wep-checkout-btn-color, #ffffff) !important;
}

.wep-tier__footer .wep-checkout-btn:hover,
.wep-checkout-btn:hover {
	background: #000000 !important;
	border-color: #000000 !important;
	color: #ffffff !important;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.24) !important;
}

@keyframes wepSlideDown {
	0% {
		opacity: 0;
		transform: translateY(-8px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

.wep-btn__arrow {
	font-size: 14px !important;
	transition: transform .2s ease !important;
}

.wep-tier__footer .wep-btn--block:hover .wep-btn__arrow {
	transform: translateX(-3px) !important;
}

/* ---------- Tier Countdown Timers ---------- */
.wep-countdown {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
	width: 100% !important;
	margin-top: 8px !important;
	padding: 6px 10px !important;
	border-radius: 8px !important;
	box-sizing: border-box !important;
	background: #f8fafc !important;
	border: 1px solid #e2e8f0 !important;
	transition: all .2s ease !important;
}

.wep-countdown--upcoming {
	background: #f8fafc !important;
	border-color: #e2e8f0 !important;
}

.wep-countdown--ending {
	background: #f8fafc !important;
	border-color: #e2e8f0 !important;
}

.wep-countdown--urgent {
	background: #fffbeb !important;
	border-color: #fde68a !important;
	animation: wep-pulse 2s infinite !important;
}

@keyframes wep-pulse {
	0%, 100% { border-color: #fde68a; }
	50% { border-color: #f59e0b; }
}

.wep-countdown__header {
	display: flex !important;
	align-items: center !important;
	gap: 5px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	color: #475569 !important;
	white-space: nowrap !important;
}

.wep-countdown--upcoming .wep-countdown__header {
	color: #334155 !important;
}

.wep-countdown--urgent .wep-countdown__header {
	color: #b45309 !important;
}

.wep-countdown__icon {
	font-size: 13px !important;
}

.wep-countdown__digits {
	display: inline-flex !important;
	align-items: center !important;
	gap: 2px !important;
	direction: ltr !important;
}

.wep-countdown__box {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	background: #ffffff !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 4px !important;
	padding: 1px 4px !important;
	min-width: 25px !important;
	box-shadow: 0 1px 2px rgba(0,0,0,0.04) !important;
	box-sizing: border-box !important;
}

.wep-countdown__val {
	font-size: 12px !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	line-height: 1.1 !important;
	font-variant-numeric: tabular-nums !important;
}

.wep-countdown__lbl {
	font-size: 8px !important;
	font-weight: 600 !important;
	color: #94a3b8 !important;
	line-height: 1 !important;
	margin-top: 1px !important;
}

.wep-countdown__sep {
	font-size: 11px !important;
	font-weight: 700 !important;
	color: #94a3b8 !important;
	margin: 0 1px !important;
	line-height: 1 !important;
}

.wep-countdown__expired {
	width: 100% !important;
	text-align: center !important;
	font-size: 11.5px !important;
	font-weight: 700 !important;
	color: var(--wep-error, #ef4444) !important;
	padding: 2px 0 !important;
}

.wep-tickets__messages { margin-top: 10px; }

/* ---------- Forms ---------- */
.wep-form { display: flex; flex-direction: column; gap: 12px; }
.wep-form label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; }
.wep-form input[type=text], .wep-form input[type=email], .wep-form input[type=tel],
.wep-form input[type=number], .wep-form input[type=date], .wep-form input[type=time],
.wep-form input[type=search], .wep-form select, .wep-form textarea {
	padding: 10px 12px;
	border: 1px solid var(--wep-border);
	border-radius: 8px;
	font-size: 14px;
	background: #fff;
	width: 100%;
	box-sizing: border-box;
}
.wep-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 600px) { .wep-form__row { grid-template-columns: 1fr; } }
.wep-form .req { color: var(--wep-error); }
.wep-inline { flex-direction: row !important; align-items: center; gap: 6px !important; font-weight: 400 !important; }
.wep-options { display: flex; flex-wrap: wrap; gap: 10px; }
.wep-form__msg { min-height: 20px; font-size: 14px; }

.wep-filter-bar { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; align-items: center; }
.wep-filter-bar input, .wep-filter-bar select { padding: 8px 10px; border: 1px solid var(--wep-border); border-radius: 8px; }

/* ---------- Registration ---------- */
.wep-registration { background: var(--wep-card); border: 1px solid var(--wep-border); border-radius: 14px; padding: 20px; }

/* ---------- My tickets ---------- */
.wep-my-tickets { display: flex; flex-direction: column; gap: 18px; }
.wep-myreg { background: var(--wep-card); border: 1px solid var(--wep-border); border-radius: 14px; padding: 18px; }
.wep-myreg__head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.wep-myreg__head h3 { margin: 0; font-size: 17px; }
.wep-online-access { background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 10px; padding: 12px; margin: 10px 0; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.wep-ticket-cards { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
.wep-ticket-mini { border: 1px dashed var(--wep-border); border-radius: 10px; padding: 12px; display: flex; flex-direction: column; gap: 8px; min-width: 190px; }
.wep-ticket-mini--invalid { opacity: .6; }
.wep-ticket-mini__number { font-weight: 700; font-size: 13px; }

/* ---------- Ticket page ---------- */
.wep-ticket-body { background: var(--wep-bg); }
.wep-ticket-page { display: flex; justify-content: center; padding: 40px 16px; }
.wep-ticket { background: var(--wep-card); border: 1px solid var(--wep-border); border-radius: 18px; max-width: 460px; width: 100%; padding: 28px; text-align: center; box-shadow: 0 14px 40px rgba(15,23,42,.08); }
.wep-ticket__head h1 { margin: 0 0 4px; font-size: 21px; }
.wep-ticket__qr { margin: 18px auto; }
.wep-ticket__qr svg { max-width: 100%; height: auto; border-radius: 10px; }
.wep-ticket__qr-hint { margin-top: 8px; font-size: 12px; color: var(--wep-muted); font-weight: 600; }
.wep-ticket__meta { width: 100%; border-collapse: collapse; margin-top: 14px; text-align: start; }
.wep-ticket__meta th, .wep-ticket__meta td { padding: 9px 8px; border-bottom: 1px solid var(--wep-border); font-size: 13.5px; }
.wep-ticket__meta th { color: var(--wep-muted); font-weight: 600; width: 40%; }
.wep-ticket__foot { margin-top: 20px; }

/* Online class access card in ticket */
.wep-ticket__online-box {
	background: #f0fdf4;
	border: 1.5px solid #86efac;
	border-radius: 14px;
	padding: 16px 18px;
	margin: 16px 0;
	text-align: start;
	box-shadow: 0 4px 14px -2px rgba(16, 185, 129, 0.12);
}
.wep-ticket__online-header {
	display: flex;
	gap: 12px;
	align-items: center;
	margin-bottom: 10px;
}
.wep-ticket__online-icon {
	font-size: 26px;
	line-height: 1;
}
.wep-ticket__online-header strong {
	display: block;
	font-size: 14.5px;
	color: #14532d;
	font-weight: 700;
}
.wep-ticket__online-header p {
	margin: 2px 0 0;
	font-size: 12px;
	color: #166534;
}
.wep-ticket__online-actions {
	margin: 10px 0 8px;
	text-align: center;
}
.wep-btn--join {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 12px 20px;
	background: linear-gradient(135deg, #059669 0%, #10b981 100%);
	color: #fff !important;
	font-size: 14.5px;
	font-weight: 800;
	border-radius: 12px;
	text-decoration: none;
	box-shadow: 0 6px 18px -2px rgba(16, 185, 129, 0.35);
	transition: all 0.2s ease;
}
.wep-btn--join:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 22px -2px rgba(16, 185, 129, 0.5);
	filter: brightness(1.05);
}
.wep-ticket__online-detail {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: rgba(255, 255, 255, 0.85);
	border: 1px solid #bbf7d0;
	border-radius: 8px;
	padding: 6px 12px;
	margin-top: 8px;
	font-size: 12.5px;
	color: #166534;
}
.wep-ticket__online-detail code {
	background: #dcfce7;
	color: #0f766e;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 6px;
	font-size: 13px;
}
.wep-ticket__online-notes {
	margin-top: 8px;
	font-size: 12px;
	color: #334155;
	background: rgba(255, 255, 255, 0.7);
	padding: 8px 10px;
	border-radius: 8px;
	line-height: 1.5;
}
@media print { .wep-ticket__foot .wep-btn { display: none; } body { background: #fff; } }

/* ---------- Check-in ---------- */
.wep-checkin-app { max-width: 560px; margin: 0 auto; padding: 30px 16px; text-align: center; }
.wep-checkin-app__scan video { width: 100%; max-width: 420px; border-radius: 14px; background: #000; aspect-ratio: 1; }
.wep-checkin-result { margin-top: 22px; border-radius: 14px; padding: 22px; font-size: 17px; font-weight: 700; display: none; }
.wep-checkin-result.show { display: block; }
.wep-checkin-result.ok { background: #dcfce7; color: #14532d; border: 2px solid #16a34a; }
.wep-checkin-result.warn { background: #fef3c7; color: #78350f; border: 2px solid #d97706; }
.wep-checkin-result.err { background: #fee2e2; color: #7f1d1d; border: 2px solid #dc2626; }
.wep-checkin-result .sub { font-size: 13px; font-weight: 400; margin-top: 6px; color: inherit; opacity: .8; }

/* ---------- Organizer dashboard ---------- */
.wep-dash { display: grid; grid-template-columns: 230px 1fr; gap: 24px; max-width: 1200px; margin: 0 auto; padding: 24px 16px; }
.wep-dash__sidebar { background: var(--wep-card); border: 1px solid var(--wep-border); border-radius: 14px; padding: 18px; align-self: start; }
.wep-dash__sidebar h2 { font-size: 16px; margin: 0 0 14px; }
.wep-dash__sidebar nav { display: flex; flex-direction: column; gap: 4px; }
.wep-dash__sidebar a { padding: 9px 12px; border-radius: 8px; text-decoration: none; color: var(--wep-text); font-size: 14px; }
.wep-dash__sidebar a:hover { background: var(--wep-bg); }
.wep-dash__sidebar a.active { background: var(--wep-primary); color: #fff; }
.wep-dash__main { min-width: 0; }
.wep-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 14px; margin: 16px 0; }
.wep-card-stat, .wep-card { }
.wep-cards .wep-card { display: flex; flex-direction: column; gap: 4px; padding: 16px; }
.wep-card__value { font-size: 20px; font-weight: 800; color: var(--wep-primary-dark); }
.wep-card__label { font-size: 12px; color: var(--wep-muted); }
@media (max-width: 800px) { .wep-dash { grid-template-columns: 1fr; } }

.wep-table { width: 100%; border-collapse: collapse; background: var(--wep-card); border: 1px solid var(--wep-border); border-radius: 10px; overflow: hidden; font-size: 13px; }
.wep-table th, .wep-table td { padding: 10px; border-bottom: 1px solid var(--wep-border); text-align: start; }
.wep-table th { background: var(--wep-bg); font-size: 12px; color: var(--wep-muted); }

.wep-pagination { display: flex; gap: 6px; margin: 16px 0; flex-wrap: wrap; }
.wep-page { padding: 6px 12px; border: 1px solid var(--wep-border); border-radius: 8px; text-decoration: none; color: var(--wep-text); }
.wep-page.current { background: var(--wep-primary); color: #fff; border-color: var(--wep-primary); }

.wep-create-event { background: var(--wep-card); border: 1px solid var(--wep-border); border-radius: 12px; padding: 14px; margin-bottom: 18px; }
.wep-create-event summary { cursor: pointer; font-weight: 700; }

.wep-organizer-signup { display: flex; flex-direction: column; gap: 10px; max-width: 380px; }
.wep-organizer-signup input { padding: 10px 12px; border: 1px solid var(--wep-border); border-radius: 8px; }

.wep-cat-list { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.wep-cat-list a { display: inline-block; padding: 8px 14px; border: 1px solid var(--wep-border); border-radius: 999px; text-decoration: none; color: var(--wep-text); font-size: 13px; }

/* Details block */
.wep-details-table { border-collapse: collapse; width: 100%; }
.wep-details-table th, .wep-details-table td { border: 1px solid var(--wep-border); padding: 8px 10px; font-size: 14px; text-align: start; }
.wep-details-table th { background: var(--wep-bg); width: 30%; }

/* ============================================================
   v1.1 — Themed skin (matches alphadq.ir palette) + carousel/grid
   ============================================================ */

/* ---------- Hero ---------- */
.wep-single--v2 { max-width: none; padding: 0; }
.wep-hero { position: relative; min-height: 380px; display: flex; align-items: flex-end; overflow: hidden; background: linear-gradient(135deg, var(--wep-ink), var(--wep-primary)); }
.wep-hero__media, .wep-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.wep-hero__placeholder { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 96px; opacity: .3; }
.wep-hero__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(3,31,66,.08) 0%, rgba(3,31,66,.52) 55%, rgba(2,12,24,.94) 100%); }
.wep-hero__content { position: relative; z-index: 2; width: 100%; max-width: 1200px; margin: 0 auto; padding: 130px 24px 36px; color: #fff; }
.wep-hero__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.wep-hero__title { margin: 0 0 16px; font-size: clamp(26px, 4vw, 42px); line-height: 1.4; color: #fff; text-shadow: 0 2px 16px rgba(2,12,24,.5); }
.wep-hero__meta { display: flex; flex-wrap: wrap; gap: 8px; }

/* Base chip styles (neutral & readable on light/white containers) */
.wep-chip { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border-radius: 999px; background: #f1f5f9; border: 1px solid #cbd5e1; color: #1e293b; font-size: 13px; font-weight: 600; text-decoration: none; line-height: 1.4; transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease; }
a.wep-chip, .wep-chip a { color: #0f172a; text-decoration: none; }
a.wep-chip:hover, .wep-chip:hover { background: #e2e8f0; border-color: #94a3b8; color: #0f172a; }
.wep-chip__sub { opacity: .85; font-weight: 400; }
.wep-chip--cat { background: #ffffff; border-color: #cbd5e1; color: #0f172a; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04); }
a.wep-chip--cat:hover, .wep-chip--cat:hover { background: #f1f5f9; border-color: #64748b; color: #0f172a; }
.wep-chip--status { background: #10b981; border-color: transparent; color: #ffffff !important; }
.wep-chip--type { background: #1e293b; color: #ffffff !important; border-color: transparent; font-weight: 700; }

/* Hero chip styles (over dark hero image with shade overlay) */
.wep-hero .wep-chip, .wep-hero__chips .wep-chip { background: rgba(255,255,255,.16); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); border: 1px solid rgba(255,255,255,.32); color: #ffffff; }
.wep-hero .wep-chip a, .wep-hero a.wep-chip, .wep-hero__chips a.wep-chip { color: #ffffff; }
.wep-hero a.wep-chip:hover, .wep-hero .wep-chip:hover, .wep-hero__chips a.wep-chip:hover { background: rgba(255,255,255,.28); border-color: rgba(255,255,255,.50); color: #ffffff; }
.wep-hero .wep-chip--cat, .wep-hero__chips .wep-chip--cat { background: rgba(255,255,255,.20); border-color: rgba(255,255,255,.40); color: #ffffff; }
.wep-hero a.wep-chip--cat:hover, .wep-hero__chips a.wep-chip--cat:hover { background: rgba(255,255,255,.35); border-color: #ffffff; color: #ffffff; }
.wep-hero .wep-chip--status, .wep-hero__chips .wep-chip--status { background: #10b981; border-color: transparent; color: #ffffff !important; }
.wep-hero .wep-chip--type, .wep-hero__chips .wep-chip--type { background: rgba(255,255,255,.95); color: #0f172a !important; border-color: transparent; font-weight: 700; }

/* ---------- Body layout ---------- */
.wep-single--v2 .wep-single__body { max-width: 1200px; margin: 0 auto; padding: 34px 24px 64px; display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(300px, 1fr); gap: 30px; align-items: start; }
.wep-single--v2 .wep-single__sidebar { position: sticky; top: 20px; }

.wep-panel { background: var(--wep-card); border: 1px solid var(--wep-border); border-radius: 18px; padding: 24px 26px; margin: 0 0 20px; box-shadow: 0 6px 24px rgba(3,31,66,.06); }
.wep-panel__title { position: relative; margin: 0 0 16px; font-size: 20px; color: var(--wep-ink); padding-inline-start: 15px; }
.wep-panel__title::before { content: ''; position: absolute; inset-inline-start: 0; top: 5px; bottom: 5px; width: 5px; border-radius: 4px; background: linear-gradient(180deg, var(--wep-primary), var(--wep-accent)); }
.wep-panel__body { font-size: 15px; line-height: 2; }
.wep-single--v2 .wep-single__gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 0; }
.wep-single--v2 .wep-single__gallery img { width: 100%; height: 180px; object-fit: cover; border-radius: 14px; }
.wep-single__address { font-size: 15px; line-height: 1.9; }

/* ---------- Organizer card / share ---------- */
.wep-organizer-card__row { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.wep-organizer-card__avatar { width: 54px; height: 54px; border-radius: 50%; background: linear-gradient(135deg, var(--wep-primary), #00a0e3); color: #fff; display: flex; align-items: center; justify-content: center; flex: none; box-shadow: 0 6px 16px rgba(0,113,220,.30); }
.wep-organizer-card__info { display: flex; flex-direction: column; gap: 6px; }
.wep-organizer-card__contact { display: flex; gap: 16px; flex-wrap: wrap; font-size: 13px; }
.wep-organizer-card__contact a { color: var(--wep-muted); text-decoration: none; }
.wep-organizer-card__contact a:hover { color: var(--wep-primary); }
.wep-organizer-card__socials { display: flex; gap: 8px; margin-top: 16px; flex-wrap: wrap; }
.wep-organizer-card__socials a { padding: 6px 14px; border-radius: 999px; background: var(--wep-bg); border: 1px solid var(--wep-border); font-size: 12px; font-weight: 600; text-decoration: none; color: var(--wep-ink); transition: .15s; }
.wep-organizer-card__socials a:hover { border-color: var(--wep-primary); color: var(--wep-primary); }

.wep-share { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 4px 0 20px; }
.wep-share__label { font-size: 13px; color: var(--wep-muted); font-weight: 600; }
.wep-share__btn { padding: 7px 16px; border-radius: 999px; border: 1px solid var(--wep-border); background: #fff; font-size: 12px; font-weight: 700; color: var(--wep-ink); text-decoration: none; transition: .15s; }
.wep-share__btn:hover { border-color: var(--wep-primary); color: var(--wep-primary); transform: translateY(-1px); }

/* ---------- Tickets (themed) ---------- */
.wep-single--v2 .wep-tickets { border: none; border-radius: 18px; box-shadow: 0 12px 36px rgba(3,31,66,.12); overflow: hidden; padding: 0 20px 20px; }
.wep-single--v2 .wep-tickets::before { content: ''; display: block; height: 6px; margin: 0 -20px 18px; background: linear-gradient(90deg, var(--wep-primary), var(--wep-accent), var(--wep-green)); }
.wep-badge--early { background: #fef3c7 !important; color: #92400e !important; border: 1px solid #fde68a !important; font-weight: 700 !important; }
.wep-tier--active { border-color: var(--wep-primary); background: linear-gradient(180deg, #f2f8ff, #fff); box-shadow: 0 4px 14px rgba(0,113,220,.10); }
.wep-tier__price strong { color: var(--wep-primary); }
.wep-btn--ghost { background: transparent; color: var(--wep-primary); border-color: currentColor; }
.wep-btn--ghost:hover { background: rgba(0,113,220,.08); }

.wep-trust { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.wep-trust li { display: flex; gap: 10px; align-items: center; background: #fff; border: 1px solid var(--wep-border); border-radius: 12px; padding: 11px 14px; font-size: 13px; font-weight: 700; color: var(--wep-ink); }
.wep-trust__icon { font-size: 17px; }

/* ---------- Cards v2 polish ---------- */
.wep-card { border: none; box-shadow: 0 4px 18px rgba(3,31,66,.08); border-radius: var(--wep-card-radius, 14px); }
.wep-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(3,31,66,.16); }
.wep-card__media { border-radius: var(--wep-card-radius, 14px) var(--wep-card-radius, 14px) 0 0; }
.wep-card__media img { transition: transform .5s ease; }
.wep-card:hover .wep-card__media img { transform: scale(1.06); }
.wep-card__date { color: var(--wep-primary); font-weight: 600; }
.wep-card__price { color: var(--wep-primary); }

/* ---------- Carousel ---------- */
.wep-carousel { position: relative; --wep-cpv: 3; --wep-cgap: 18px; padding: 6px; }
.wep-carousel__viewport { overflow: hidden; }
.wep-carousel__track { display: flex; gap: var(--wep-cgap); transition: transform .55s cubic-bezier(.22,.8,.36,1); will-change: transform; }
.wep-carousel__slide { flex: 0 0 auto; min-width: 0; }
.wep-carousel__slide .wep-card { height: 100%; }
.wep-carousel__arrow { position: absolute; top: 42%; transform: translateY(-50%); z-index: 3; width: 44px; height: 44px; border-radius: 50%; border: none; background: #fff; color: var(--wep-ink); box-shadow: 0 6px 18px rgba(3,31,66,.20); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: .15s; }
.wep-carousel__arrow svg { width: 20px; height: 20px; }
.wep-carousel__arrow:hover { background: var(--wep-primary); color: #fff; }
.wep-carousel__arrow--prev { inset-inline-start: -8px; }
.wep-carousel__arrow--next { inset-inline-end: -8px; }
.wep-carousel__arrow[disabled] { opacity: .35; pointer-events: none; }
.wep-carousel[dir="rtl"] .wep-carousel__arrow svg { transform: scaleX(-1); }
.wep-carousel__dots { display: flex; gap: 6px; justify-content: center; margin-top: 18px; }
.wep-carousel__dot { width: 9px; height: 9px; border-radius: 999px; border: none; background: #cbd5e1; cursor: pointer; padding: 0; transition: .25s; }
.wep-carousel__dot.active { width: 28px; background: var(--wep-primary); }
@media (max-width: 1024px) { .wep-carousel { --wep-cpv: 2; } }
@media (max-width: 640px) { .wep-carousel { --wep-cpv: 1; } .wep-carousel__arrow { display: none; } }

/* ---------- Grid widget ---------- */
.wep-el .wep-grid { gap: var(--wep-grid-gap, 22px); }

@media (max-width: 960px) {
	.wep-single--v2 .wep-single__body,
	.wep-single__body,
	.wep-tpl-split__wrap,
	.wep-tpl-cards__grid,
	.wep-tpl-dark__grid,
	.wep-tpl-gold__grid,
	.wep-tpl-neon__grid {
		display: flex !important;
		flex-direction: column !important;
		padding: 16px 14px 60px !important;
		gap: 16px !important;
		box-sizing: border-box !important;
		max-width: 100% !important;
	}
	.wep-single--v2 .wep-single__content,
	.wep-single--v2 .wep-single__sidebar,
	.wep-single__content,
	.wep-single__sidebar,
	.wep-tpl-split__main,
	.wep-tpl-split__side,
	.wep-tpl-split__sticky,
	.wep-tpl-cards__main,
	.wep-tpl-cards__side,
	.wep-tpl-dark__main,
	.wep-tpl-dark__side,
	.wep-tpl-gold__main,
	.wep-tpl-gold__side,
	.wep-tpl-neon__main,
	.wep-tpl-neon__side {
		display: contents !important;
	}

	.wep-tpl-split__media,
	.wep-tpl-split__head,
	.wep-tpl-cards__media,
	.wep-tpl-dark__media,
	.wep-tpl-gold__media,
	.wep-tpl-neon__media {
		order: 0 !important;
	}

	/* Exact Mobile Flow:
	   1. About Course
	   2. Notice (if any)
	   3. Course Info Card
	   4. Features & Guarantees
	   5. Tickets / Registration
	   6. Venue / Neshan Location Map
	   7. Instructor
	   8. Gallery
	   9. Terms
	   10. Organizer Profile
	   11. Share Section
	*/
	.wep-panel--about,
	.wep-single__content > .wep-panel:first-child,
	.wep-tpl-split__main > .wep-panel:first-of-type,
	.wep-tpl-cards__main > .wep-xcard:not(.wep-tpl-cards__media):first-of-type,
	.wep-tpl-dark__main > .wep-dark-card:not(.wep-tpl-dark__media):first-of-type,
	.wep-tpl-gold__main > .wep-gold-card:not(.wep-tpl-gold__media):first-of-type,
	.wep-tpl-neon__main > .wep-neon-card:not(.wep-tpl-neon__media):first-of-type {
		order: 1 !important;
		margin-bottom: 0 !important;
	}
	.wep-single__sidebar .wep-notice,
	.wep-notice {
		order: 2 !important;
		margin-bottom: 0 !important;
	}
	.wep-info-card {
		order: 3 !important;
		margin-bottom: 0 !important;
	}
	.wep-trust-box {
		order: 4 !important;
		margin-bottom: 0 !important;
	}
	.wep-tickets-wrap,
	.wep-tickets,
	.wep-xcard--accent,
	.wep-dark-card--tickets,
	.wep-gold-card--tickets,
	.wep-neon-card--tickets {
		order: 5 !important;
		margin-bottom: 0 !important;
	}
	.wep-location-panel {
		order: 6 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	.wep-instructor-card,
	.wep-instructor-panel {
		order: 7 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	.wep-single__gallery,
	.wep-single--v2 .wep-single__gallery {
		order: 8 !important;
		grid-template-columns: repeat(2, 1fr) !important;
		margin-bottom: 0 !important;
	}
	.wep-terms {
		order: 9 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	.wep-organizer-card {
		order: 10 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	.wep-share-panel {
		order: 11 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	.wep-admin-diagnostics {
		max-width: 100% !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
	}
	.wep-panel,
	.wep-info-card,
	.wep-trust-box,
	.wep-tickets-wrap,
	.wep-tier,
	.wep-location-panel,
	.wep-instructor-card,
	.wep-instructor-panel,
	.wep-organizer-card,
	.wep-share-panel {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.wep-hero { min-height: 320px; }
	.wep-hero__content { padding-top: 90px; }
}

/* ---------- Admin Diagnostics Collapsible Widget ---------- */
.wep-admin-diagnostics {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	overflow: hidden;
}
.wep-admin-diagnostics summary {
	outline: none;
	cursor: pointer;
}
.wep-admin-diagnostics summary::-webkit-details-marker {
	display: none;
}
.wep-admin-diagnostics * {
	max-width: 100%;
	box-sizing: border-box;
}

/* ---------- Attendee forms (per-ticket participant info) ---------- */
.wep-attendees { display: flex; flex-direction: column; gap: 10px; margin-top: 12px; width: 100%; }
.wep-attendee { border: 1px dashed var(--wep-border); border-radius: 12px; padding: 12px; background: #fbfdff; box-sizing: border-box; width: 100%; }
.wep-attendee h5 { margin: 0 0 8px; font-size: 12.5px; color: var(--wep-primary); font-weight: 700; }
.wep-attendee__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 8px; width: 100%; }
.wep-attendee label { display: flex; flex-direction: column; gap: 4px; font-size: 12px; font-weight: 600; margin-bottom: 8px; color: #334155; }
.wep-attendee input, .wep-attendee select, .wep-attendee textarea { padding: 8px 10px; border: 1px solid var(--wep-border); border-radius: 8px; font-size: 13px; background: #fff; width: 100%; box-sizing: border-box; }
@media (max-width: 600px) { .wep-attendee__row { grid-template-columns: 1fr; } }

/* ========================================================= */
/* Event page templates: minimal / split / dark              */
/* ========================================================= */

/* ---------- Template: Minimal (Elevated Editorial) ---------- */
.wep-tpl-minimal { background: #f8fafc; padding: 40px 18px 80px; }
.wep-tpl-minimal__wrap { max-width: 860px; margin: 0 auto; display: flex; flex-direction: column; gap: 24px; }
.wep-tpl-minimal__hero {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 20px;
	padding: 28px 32px;
	box-shadow: 0 4px 20px -5px rgba(15, 23, 42, .05);
}
.wep-tpl-minimal__topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 16px;
}
.wep-tpl-minimal__chips { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.wep-tpl-minimal__quick-cta {
	display: inline-flex;
	align-items: center;
	background: var(--wep-primary-light);
	color: var(--wep-primary-dark);
	font-weight: 700;
	font-size: 13px;
	padding: 6px 14px;
	border-radius: 999px;
	text-decoration: none;
	transition: all .2s ease;
}
.wep-tpl-minimal__quick-cta:hover {
	background: var(--wep-primary);
	color: #fff;
	transform: translateY(-1px);
}
.wep-tpl-minimal__title {
	font-size: 32px;
	line-height: 1.4;
	font-weight: 900;
	margin: 0 0 20px;
	color: #0f172a;
}
.wep-tpl-minimal__highlights {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 14px;
	padding-top: 18px;
	border-top: 1px solid #f1f5f9;
}
.wep-highlight-item {
	display: flex;
	align-items: center;
	gap: 10px;
	background: #f8fafc;
	padding: 10px 14px;
	border-radius: 12px;
	border: 1px solid #edf2f7;
}
.wep-highlight-icon {
	font-size: 20px;
	line-height: 1;
	flex-shrink: 0;
}
.wep-highlight-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	overflow: hidden;
}
.wep-highlight-text small {
	font-size: 11px;
	color: #64748b;
}
.wep-highlight-text strong {
	font-size: 13px;
	color: #1e293b;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.wep-tpl-minimal__figure {
	margin: 0;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 10px 30px -10px rgba(15, 23, 42, .1);
	border: 1px solid #e2e8f0;
	max-width: 100%;
	box-sizing: border-box;
}
.wep-tpl-minimal__figure img { width: 100%; height: auto; max-height: 440px; object-fit: cover; display: block; }
@media (max-width: 768px) {
	.wep-tpl-minimal__figure { border-radius: 14px; aspect-ratio: 16 / 9; max-height: 240px; }
	.wep-tpl-minimal__figure img { width: 100%; height: 100%; max-height: 240px; object-fit: cover; }
}
.wep-tpl-minimal__card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 20px;
	padding: 30px 32px;
	box-shadow: 0 4px 20px -5px rgba(15, 23, 42, .05);
}
.wep-section-heading {
	font-size: 20px;
	font-weight: 800;
	color: #0f172a;
	margin: 0 0 16px;
}
.wep-tpl-minimal__section-head {
	margin-bottom: 20px;
	border-bottom: 1px solid #f1f5f9;
	padding-bottom: 14px;
}
.wep-tpl-minimal__section-head p { margin: 4px 0 0; font-size: 13.5px; }
.wep-tpl-minimal__content { font-size: 16px; line-height: 2.1; color: #334155; }
.wep-tpl-minimal .wep-terms summary {
	font-weight: 700;
	font-size: 15px;
	cursor: pointer;
	color: #1e293b;
}
@media (max-width: 768px) {
	.wep-tpl-minimal { padding: 24px 12px 60px; }
	.wep-tpl-minimal__hero, .wep-tpl-minimal__card { padding: 20px 18px; border-radius: 16px; }
	.wep-tpl-minimal__title { font-size: 25px; }
	.wep-tpl-minimal__highlights { grid-template-columns: 1fr; }
}

/* ---------- Template: Split ---------- */
.wep-tpl-split { padding: 26px 0 56px; box-sizing: border-box; }
.wep-tpl-split__wrap {
	max-width: 1180px;
	margin: 0 auto;
	background: #f4f6fb;
	border-radius: 26px;
	padding: 28px;
	box-shadow: 0 1px 3px rgba(15, 23, 42, .05);
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 26px;
	align-items: start;
	box-sizing: border-box;
}
.wep-tpl-split__media {
	margin: 0 0 22px;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 10px 28px -12px rgba(15, 23, 42, .25);
	background: #e2e8f0;
	position: relative;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}
.wep-tpl-split__media img {
	width: 100%;
	height: auto;
	max-height: 440px;
	object-fit: cover;
	display: block;
	border-radius: 18px;
}
.wep-tpl-split__title { font-size: 30px; font-weight: 800; margin: 12px 0 20px; color: #0f172a; }
.wep-tpl-split__sticky { position: sticky; top: 30px; display: flex; flex-direction: column; gap: 16px; }
.wep-info-card { background: #fff; border: 1px solid #e5e7eb; border-radius: 16px; padding: 18px 20px; box-shadow: 0 1px 3px rgba(15, 23, 42, .06); box-sizing: border-box; }
.wep-info-card__title { margin: 0 0 12px; font-size: 15px; font-weight: 800; }
.wep-info-card__list { margin: 0; display: flex; flex-direction: column; gap: 10px; }
.wep-info-card__list div { display: flex; justify-content: space-between; gap: 10px; font-size: 13px; }
.wep-info-card__list dt { color: #64748b; }
.wep-info-card__list dd { margin: 0; font-weight: 700; color: #0f172a; text-align: end; }

@media (max-width: 960px) {
	.wep-tpl-split {
		padding: 10px 0 44px !important;
		box-sizing: border-box !important;
	}
	.wep-tpl-split__wrap {
		grid-template-columns: 1fr !important;
		padding: 14px 16px !important;
		border-radius: 18px !important;
		margin: 0 auto !important;
		box-sizing: border-box !important;
		max-width: 100% !important;
	}
	.wep-tpl-split__media {
		margin: 0 0 14px !important;
		border-radius: 14px !important;
		aspect-ratio: 16 / 9 !important;
		max-height: 240px !important;
		box-shadow: 0 6px 18px -6px rgba(15, 23, 42, .2) !important;
	}
	.wep-tpl-split__media img {
		width: 100% !important;
		height: 100% !important;
		max-height: 240px !important;
		object-fit: cover !important;
		border-radius: 14px !important;
	}
	.wep-tpl-split__title {
		font-size: 24px !important;
		margin: 10px 0 16px !important;
	}
	.wep-tpl-split__sticky {
		position: static !important;
	}
}

/* ---------- Template: Dark ---------- */
.wep-tpl-dark { position: relative; overflow: hidden; border-radius: 26px; margin: 26px 0 56px; background: radial-gradient(1200px 620px at 82% -12%, #1e3a8a 0%, #0b1120 58%) #0b1120; color: #e2e8f0; padding: 48px 26px 60px; }
.wep-tpl-dark__orb { position: absolute; border-radius: 50%; filter: blur(90px); opacity: .45; pointer-events: none; }
.wep-tpl-dark__orb--a { width: 430px; height: 430px; background: #2563eb; top: -150px; inset-inline-start: -130px; }
.wep-tpl-dark__orb--b { width: 370px; height: 370px; background: #7c3aed; bottom: -170px; inset-inline-end: -110px; }
.wep-tpl-dark__hero { max-width: 880px; margin: 0 auto 42px; text-align: center; position: relative; }
.wep-tpl-dark__chips .wep-chip { background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16); color: #e2e8f0; }
.wep-tpl-dark__title { font-size: 38px; font-weight: 900; color: #fff; margin: 16px 0; text-shadow: 0 4px 34px rgba(37, 99, 235, .45); }
.wep-tpl-dark__meta { display: flex; flex-wrap: wrap; gap: 10px 18px; justify-content: center; color: #cbd5e1; font-size: 14px; }
.wep-tpl-dark__body { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 24px; align-items: start; position: relative; }
.wep-tpl-dark .wep-panel, .wep-glass { background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .13); border-radius: 16px; padding: 22px 24px; backdrop-filter: blur(6px); box-shadow: none; margin-bottom: 20px; }
.wep-tpl-dark .wep-panel__title, .wep-glass__title { color: #fff; }
.wep-tpl-dark .wep-panel__body, .wep-glass__body { color: #cbd5e1; line-height: 1.95; }
.wep-tpl-dark__media { margin: 0 0 20px; border-radius: 16px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .15); max-width: 100%; box-sizing: border-box; }
.wep-tpl-dark__media img { width: 100%; height: auto; max-height: 420px; object-fit: cover; display: block; }
@media (max-width: 768px) {
	.wep-tpl-dark__media { margin: 0 0 14px; border-radius: 12px; aspect-ratio: 16 / 9; max-height: 240px; }
	.wep-tpl-dark__media img { width: 100%; height: 100%; max-height: 240px; object-fit: cover; }
}
.wep-tpl-dark .wep-notice { background: rgba(250, 204, 21, .1); border-color: rgba(250, 204, 21, .35); color: #fde68a; }
.wep-tpl-dark .wep-trust { background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .13); color: #cbd5e1; }
.wep-tpl-dark .wep-terms summary, .wep-tpl-dark .wep-terms { color: #e2e8f0; }
.wep-tpl-dark .wep-share__btn { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .18); color: #e2e8f0; }
.wep-tpl-dark .wep-organizer-card__contact a { color: #93c5fd; }
@media (max-width: 960px) { .wep-tpl-dark__body { grid-template-columns: 1fr; } .wep-tpl-dark__title { font-size: 29px; } }

/* ---------- Order tickets block & guest recovery ---------- */
.wep-order-tickets { margin: 24px 0; padding: 18px 22px; border: 1.5px dashed var(--wep-border); border-radius: var(--wep-radius); background: var(--wep-bg, #fff); }
.wep-order-tickets h2 { font-size: 16px; margin: 0 0 14px; }
.wep-order-tickets__group { margin-bottom: 14px; }
.wep-order-tickets__group h3 { font-size: 14px; margin: 0 0 8px; color: var(--wep-muted); }
.wep-order-tickets__attendee { display: flex; flex-direction: column; gap: 8px; margin-bottom: 10px; }
.wep-order-tickets__name { font-weight: 700; font-size: 13.5px; }
.wep-recover-form { max-width: 470px; display: flex; flex-direction: column; gap: 12px; margin: 16px 0; }
.wep-recover-form label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; }
.wep-recover-form input { padding: 10px 12px; border: 1px solid var(--wep-border); border-radius: 10px; font-size: 14px; }

/* ---------- Age limit hint ---------- */
.wep-age-hint { margin: 8px 2px 0; font-size: 12px; font-weight: 700; color: var(--wep-muted); }

/* ---------- Main content wrapper & single event layout ---------- */
.wep-main-content {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	clear: both !important;
	margin: 0 !important;
	padding: 0 !important;
}

.wep-single,
.wep-tpl-full,
.wep-tpl-split,
.wep-tpl-cards,
.wep-tpl-dark,
.wep-tpl-neon,
.wep-tpl-gold,
.wep-tpl-minimal,
.wep-tpl-mag {
	width: 100% !important;
	max-width: 1200px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	position: relative !important;
	left: 0 !important;
	right: 0 !important;
	box-sizing: border-box !important;
}

/* ---------- Template: Magazine (light editorial) ---------- */
.wep-tpl-mag { background: #fdfbf7; padding: 54px 20px 72px; }
.wep-tpl-mag__wrap { max-width: 860px; margin: 0 auto; }
.wep-tpl-mag__kicker { display: flex; gap: 16px; align-items: center; font-size: 12.5px; font-weight: 800; letter-spacing: .5px; color: #b45309; }
.wep-tpl-mag__kicker a { color: #b45309; text-decoration: none; border-bottom: 2px solid #fcd34d; }
.wep-tpl-mag__status { color: #b91c1c; }
.wep-tpl-mag__title { font-size: 44px; line-height: 1.3; font-weight: 900; color: #111827; margin: 16px 0 10px; }
.wep-tpl-mag__deck { display: flex; flex-wrap: wrap; gap: 6px 10px; font-size: 15.5px; color: #4b5563; }
.wep-tpl-mag__rule { height: 4px; background: #111827; margin: 24px 0 28px; position: relative; }
.wep-tpl-mag__rule::after { content: ""; position: absolute; inset-inline: 0; top: 7px; height: 1px; background: #111827; }
.wep-tpl-mag__figure { margin: 0 0 30px; border-radius: 14px; overflow: hidden; max-width: 100%; box-sizing: border-box; }
.wep-tpl-mag__figure img { width: 100%; height: auto; max-height: 440px; object-fit: cover; display: block; border: 1px solid #e5e7eb; border-radius: 14px; }
.wep-tpl-mag__figure figcaption { font-size: 12.5px; color: #6b7280; margin-top: 8px; }
.wep-tpl-mag__content { font-size: 16.5px; line-height: 2.1; color: #1f2937; }
.wep-tpl-mag .wep-panel { border: 0; border-top: 1px solid #d1d5db; border-radius: 0; box-shadow: none; padding: 26px 0 8px; }
.wep-tpl-mag__boxoffice { margin-top: 42px; border: 2px solid #111827; background: #fff; padding: 24px; }
.wep-tpl-mag__boxoffice-title { margin: 0 0 16px; font-size: 18px; font-weight: 900; letter-spacing: 1px; }
@media (max-width: 768px) {
	.wep-tpl-mag__figure { margin: 0 0 16px; border-radius: 12px; aspect-ratio: 16 / 9; max-height: 240px; }
	.wep-tpl-mag__figure img { width: 100%; height: 100%; max-height: 240px; object-fit: cover; border-radius: 12px; }
}

/* ---------- Template: Cards (light floating cards) ---------- */
.wep-tpl-cards { background: #eef2f7; padding: 42px 18px 72px; }
.wep-tpl-cards__wrap { max-width: 1180px; margin: 0 auto; }
.wep-tpl-cards__head { text-align: center; margin-bottom: 28px; }
.wep-tpl-cards__title { font-size: 34px; font-weight: 900; color: #0f172a; margin: 12px 0; }
.wep-tpl-cards__meta { display: flex; gap: 8px 18px; justify-content: center; flex-wrap: wrap; color: #475569; font-size: 14px; }
.wep-tpl-cards__grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 22px; align-items: start; }
.wep-xcard { background: #fff; border-radius: 20px; padding: 22px 24px; box-shadow: 0 12px 32px -20px rgba(15, 23, 42, .3); margin-bottom: 20px; }
.wep-xcard__title { font-size: 17px; font-weight: 800; margin: 0 0 12px; }
.wep-xcard--accent { border-top: 5px solid var(--wep-primary); }
.wep-xcard .wep-trust { background: transparent; border: 0; }
.wep-tpl-cards__media { padding: 10px; border-radius: 18px; overflow: hidden; background: #fff; max-width: 100%; box-sizing: border-box; }
.wep-tpl-cards__media img { width: 100%; height: auto; max-height: 440px; object-fit: cover; display: block; border-radius: 14px; }
@media (max-width: 768px) {
	.wep-tpl-cards__media { padding: 4px; border-radius: 14px; aspect-ratio: 16 / 9; max-height: 240px; }
	.wep-tpl-cards__media img { width: 100%; height: 100%; max-height: 240px; object-fit: cover; border-radius: 10px; }
}

/* ---------- Template: Neon (dark cyber) ---------- */
.wep-tpl-neon { background: #05060f; color: #cbd5e1; padding: 48px 18px 72px; }
.wep-tpl-neon__hero { text-align: center; max-width: 900px; margin: 0 auto 38px; }
.wep-tpl-neon__title { font-size: 40px; font-weight: 900; color: #fff; margin: 14px 0; text-shadow: 0 0 18px rgba(34, 211, 238, .8), 0 0 46px rgba(232, 121, 249, .45); }
.wep-tpl-neon__chips .wep-chip { background: transparent; border: 1px solid #22d3ee; color: #67e8f9; }
.wep-tpl-neon__meta { display: flex; gap: 10px 18px; justify-content: center; flex-wrap: wrap; color: #94a3b8; font-size: 14px; }
.wep-tpl-neon__body { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 22px; align-items: start; }
.wep-neon-card { border: 1px solid rgba(34, 211, 238, .5); border-radius: 14px; background: rgba(34, 211, 238, .05); padding: 20px 22px; margin-bottom: 18px; box-shadow: 0 0 24px -8px rgba(34, 211, 238, .3); }
.wep-neon-card__title { color: #67e8f9; font-weight: 800; margin: 0 0 10px; }
.wep-neon-card__body { color: #cbd5e1; line-height: 1.95; }
.wep-neon-card--tickets { border-color: rgba(232, 121, 249, .6); background: rgba(232, 121, 249, .06); box-shadow: 0 0 28px -8px rgba(232, 121, 249, .4); }
.wep-tpl-neon__media img { width: 100%; height: auto; max-height: 440px; object-fit: cover; display: block; border-radius: 14px; border: 1px solid rgba(34, 211, 238, .45); }
@media (max-width: 768px) {
	.wep-tpl-neon__media { aspect-ratio: 16 / 9; max-height: 240px; overflow: hidden; border-radius: 14px; }
	.wep-tpl-neon__media img { width: 100%; height: 100%; max-height: 240px; object-fit: cover; }
}
.wep-tpl-neon .wep-panel { background: transparent; border: 1px solid rgba(148, 163, 184, .25); box-shadow: none; }
.wep-tpl-neon .wep-panel__title { color: #67e8f9; }
.wep-tpl-neon .wep-terms, .wep-tpl-neon .wep-terms summary { color: #e2e8f0; }
.wep-tpl-neon .wep-trust { color: #94a3b8; }
.wep-tpl-neon .wep-share__btn { background: transparent; border: 1px solid #22d3ee; color: #67e8f9; }
.wep-tpl-neon .wep-organizer-card__contact a { color: #67e8f9; }

/* ---------- Template: Gold (dark luxury) ---------- */
.wep-tpl-gold { background: radial-gradient(1000px 420px at 50% -10%, #1c1917, #0a0a0a) #0a0a0a; color: #d6d3d1; padding: 52px 18px 76px; }
.wep-tpl-gold__wrap { max-width: 1180px; margin: 0 auto; }
.wep-tpl-gold__head { text-align: center; margin-bottom: 36px; }
.wep-tpl-gold__ornament { color: #d4af37; font-size: 22px; }
.wep-tpl-gold__chips { display: flex; gap: 8px 18px; justify-content: center; flex-wrap: wrap; margin: 12px 0 6px; font-size: 12.5px; letter-spacing: 1.5px; color: #d4af37; }
.wep-tpl-gold__chips a { color: #d4af37; text-decoration: none; }
.wep-tpl-gold__title { font-size: 40px; font-weight: 800; color: #f5f5f4; margin: 8px 0 10px; }
.wep-tpl-gold__meta { display: flex; gap: 6px 12px; justify-content: center; flex-wrap: wrap; color: #a8a29e; font-size: 14px; }
.wep-tpl-gold__rule { width: 150px; height: 1px; margin: 22px auto 0; background: linear-gradient(90deg, transparent, #d4af37, transparent); }
.wep-tpl-gold__body { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 24px; align-items: start; }
.wep-gold-card { border: 1px solid rgba(212, 175, 55, .35); background: rgba(212, 175, 55, .04); border-radius: 4px; padding: 22px 24px; margin-bottom: 18px; }
.wep-gold-card__title { color: #d4af37; font-weight: 700; letter-spacing: .5px; margin: 0 0 10px; }
.wep-gold-card__body { color: #d6d3d1; line-height: 1.95; }
.wep-gold-card--tickets { box-shadow: 0 0 36px -14px rgba(212, 175, 55, .45); }
.wep-tpl-gold__media img { width: 100%; height: auto; max-height: 440px; object-fit: cover; display: block; border: 1px solid rgba(212, 175, 55, .45); padding: 8px; background: #0a0a0a; }
@media (max-width: 768px) {
	.wep-tpl-gold__media { aspect-ratio: 16 / 9; max-height: 240px; overflow: hidden; }
	.wep-tpl-gold__media img { width: 100%; height: 100%; max-height: 240px; object-fit: cover; padding: 4px; }
}
.wep-tpl-gold .wep-panel { background: transparent; border: 1px solid rgba(212, 175, 55, .28); box-shadow: none; border-radius: 4px; }
.wep-tpl-gold .wep-panel__title { color: #d4af37; }
.wep-tpl-gold .wep-terms, .wep-tpl-gold .wep-terms summary { color: #e7e5e4; }
.wep-tpl-gold .wep-trust { color: #a8a29e; }
.wep-tpl-gold .wep-share__btn { background: transparent; border: 1px solid rgba(212, 175, 55, .5); color: #d4af37; }
.wep-tpl-gold .wep-organizer-card__contact a { color: #eab308; }

@media (max-width: 960px) {
	.wep-tpl-cards__grid, .wep-tpl-neon__body, .wep-tpl-gold__body { grid-template-columns: 1fr; }
	.wep-tpl-mag__title { font-size: 31px; }
	.wep-tpl-neon__title, .wep-tpl-gold__title { font-size: 29px; }
}

/* ==========================================================================
   v2.0.0 — Neshan Map, Instructor, Organizer, Features & Social Sharing
   ========================================================================== */

/* ---------- Location & Map ---------- */
.wep-location-panel { margin-top: 20px; }
.wep-location-info { display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; }
.wep-location-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px;
	background: rgba(37, 99, 235, 0.08);
	color: var(--wep-primary);
	border-radius: 6px;
	font-size: 12px;
	font-weight: 600;
	align-self: flex-start;
}
.wep-location-venue { font-size: 15px; font-weight: 700; color: var(--wep-text); }
.wep-location-address { display: flex; align-items: flex-start; gap: 6px; font-size: 13.5px; color: var(--wep-muted); line-height: 1.6; }
.wep-location-pin { flex-shrink: 0; font-size: 15px; }

/* ---------- Interactive Map & Routing ---------- */
.wep-map-container {
	width: 100% !important;
	height: 320px !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	border: 1px solid var(--wep-border, #e2e8f0) !important;
	background: #f1f5f9 !important;
	position: relative !important;
	z-index: 1 !important;
	box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
}
.wep-map-container .leaflet-pane,
.wep-map-container .leaflet-tile,
.wep-map-container .leaflet-marker-icon,
.wep-map-container .leaflet-tile-container {
	position: absolute;
	left: 0;
	top: 0;
}
.wep-map-actions {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin-top: 14px !important;
	padding: 0 !important;
}
.wep-map-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	padding: 9px 18px !important;
	border-radius: 10px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	cursor: pointer !important;
	transition: all .2s ease !important;
}
.wep-map-btn:hover { transform: translateY(-1px) !important; box-shadow: 0 4px 12px rgba(0,0,0,0.12) !important; }
.wep-map-btn--neshan {
	background: #0284c7 !important;
	color: #ffffff !important;
	border: 1px solid #0284c7 !important;
	box-shadow: 0 2px 6px rgba(2, 132, 199, 0.25) !important;
}
.wep-map-btn--neshan:hover {
	background: #0369a1 !important;
	box-shadow: 0 4px 14px rgba(2, 132, 199, 0.4) !important;
}
.wep-map-btn--link { background: #f1f5f9 !important; color: #334155 !important; border: 1px solid #e2e8f0 !important; }

/* ---------- Instructor Card ---------- */
.wep-instructor-panel { margin-top: 20px; }
.wep-instructor-card {
	display: flex !important;
	align-items: center !important;
	gap: 18px !important;
	padding: 6px 0 !important;
}
.wep-instructor-card__media {
	flex-shrink: 0 !important;
	width: 86px !important;
	height: 86px !important;
	min-width: 86px !important;
	min-height: 86px !important;
	max-width: 86px !important;
	max-height: 86px !important;
	border-radius: 50% !important;
	overflow: hidden !important;
	border: 3px solid rgba(37, 99, 235, 0.25) !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08) !important;
	background: #f1f5f9 !important;
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}
.wep-instructor-card__avatar,
.wep-instructor-card__media img {
	width: 100% !important;
	height: 100% !important;
	min-width: 100% !important;
	min-height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	border-radius: 50% !important;
	object-fit: cover !important;
	object-position: center top !important;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	box-shadow: none !important;
}
.wep-instructor-card__avatar--placeholder {
	width: 100% !important;
	height: 100% !important;
	border-radius: 50% !important;
	background: #e2e8f0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #94a3b8 !important;
	font-size: 32px;
}
.wep-instructor-card__details { flex: 1 !important; min-width: 0 !important; }
.wep-instructor-card__name { margin: 0 0 4px 0 !important; font-size: 17px !important; font-weight: 800 !important; color: var(--wep-text, #0f172a) !important; line-height: 1.4 !important; }
.wep-instructor-card__headline { font-size: 13.5px !important; font-weight: 600 !important; color: #65a30d !important; margin: 0 0 6px 0 !important; line-height: 1.5 !important; }
.wep-instructor-card__bio { font-size: 13px !important; color: var(--wep-muted, #475569) !important; line-height: 1.75 !important; margin: 0 0 8px 0 !important; }
.wep-instructor-card__link {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	color: var(--wep-primary) !important;
	text-decoration: none !important;
	border: 1px solid rgba(37, 99, 235, 0.25) !important;
	padding: 4px 10px !important;
	border-radius: 6px !important;
	background: rgba(37, 99, 235, 0.04) !important;
	transition: all .15s ease !important;
}
.wep-instructor-card__link:hover { background: rgba(37, 99, 235, 0.1) !important; border-color: var(--wep-primary) !important; }

/* ---------- Organizer Card Extensions ---------- */
.wep-organizer-card__logo {
	width: 60px;
	height: 60px;
	object-fit: cover;
	border-radius: 50%;
	padding: 2px;
	background: #ffffff;
	border: 2px solid #e2e8f0;
	box-shadow: 0 2px 8px rgba(0,0,0,0.06);
	flex-shrink: 0;
}
.wep-organizer-card__link,
.wep-organizer-card__phone { font-size: 12.5px; color: var(--wep-muted); text-decoration: none; }
.wep-organizer-card__link:hover { color: var(--wep-primary); }

/* ---------- Features / Trust Box (Sidebar & Content) ---------- */
.wep-trust-box {
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 16px;
	padding: 16px 18px;
	margin-bottom: 20px;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
}
.wep-trust-box__title {
	margin: 0 0 12px;
	font-size: 14px;
	font-weight: 800;
	color: #0f172a;
	display: flex;
	align-items: center;
	gap: 6px;
}
.wep-trust-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
}
@media (max-width: 480px) {
	.wep-trust-grid {
		grid-template-columns: 1fr;
	}
}
.wep-trust-card {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	padding: 9px 10px;
	background: #f8fafc;
	border: 1px solid #f1f5f9;
	border-radius: 10px;
}
.wep-trust-card__icon { font-size: 18px; line-height: 1; flex-shrink: 0; margin-top: 1px; }
.wep-trust-card__info { min-width: 0; }
.wep-trust-card__info strong { display: block; font-size: 12px; font-weight: 700; margin-bottom: 2px; color: #1e293b; line-height: 1.3; }
.wep-trust-card__info p { margin: 0; font-size: 10.5px; color: #64748b; line-height: 1.4; }

/* ---------- Social Sharing Grid ---------- */
.wep-share-panel { margin-top: 20px; }
.wep-share-panel__title {
	font-size: 15px;
	font-weight: 700;
	margin: 0 0 12px;
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--wep-text);
}
.wep-share__grid {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	align-items: center !important;
}
.wep-share__btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 7px !important;
	padding: 8px 14px !important;
	border-radius: 8px !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	border: 1px solid var(--wep-border, #e2e8f0) !important;
	background: var(--wep-card, #ffffff) !important;
	color: var(--wep-text, #0f172a) !important;
	cursor: pointer !important;
	white-space: nowrap !important;
	flex: 0 0 auto !important;
	box-sizing: border-box !important;
	line-height: 1.4 !important;
	transition: transform .15s ease, background-color .15s ease, border-color .15s ease, color .15s ease !important;
}
.wep-share__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	flex-shrink: 0;
}
.wep-share__icon svg {
	display: block;
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}
.wep-share__copy-text {
	white-space: nowrap !important;
	display: inline-block !important;
}
.wep-share__btn:hover {
	transform: translateY(-1px);
	border-color: var(--wep-primary, #111827) !important;
	background: rgba(17, 24, 39, 0.05) !important;
	color: var(--wep-primary, #111827) !important;
}
.wep-share__btn--eitaa:hover { border-color: #e87024 !important; color: #e87024 !important; background: rgba(232, 112, 36, 0.08) !important; }
.wep-share__btn--bale:hover { border-color: #13b46b !important; color: #13b46b !important; background: rgba(19, 180, 107, 0.08) !important; }
.wep-share__btn--rubika:hover { border-color: #8c2aef !important; color: #8c2aef !important; background: rgba(140, 42, 239, 0.08) !important; }
.wep-share__btn--soroush:hover { border-color: #1e88e5 !important; color: #1e88e5 !important; background: rgba(30, 136, 229, 0.08) !important; }
.wep-share__btn--gap:hover { border-color: #7239ea !important; color: #7239ea !important; background: rgba(114, 57, 234, 0.08) !important; }
.wep-share__btn--telegram:hover { border-color: #229ed9 !important; color: #229ed9 !important; background: rgba(34, 158, 217, 0.08) !important; }
.wep-share__btn--whatsapp:hover { border-color: #25d366 !important; color: #25d366 !important; background: rgba(37, 211, 102, 0.08) !important; }
.wep-share__btn--linkedin:hover { border-color: #0a66c2 !important; color: #0a66c2 !important; background: rgba(10, 102, 194, 0.08) !important; }
.wep-share__btn--x:hover { border-color: #0f172a !important; color: #0f172a !important; background: rgba(15, 23, 42, 0.08) !important; }

.wep-share__btn--copy {
	background: #f8fafc !important;
	color: #0f172a !important;
	border-color: #cbd5e1 !important;
}
.wep-share__btn--copy:hover {
	background: #e2e8f0 !important;
	border-color: #94a3b8 !important;
	color: #0f172a !important;
}

/* ---------- Toast Notification ---------- */
.wep-toast {
	position: fixed;
	bottom: 28px;
	left: 50%;
	transform: translateX(-50%) translateY(20px);
	background: #0f172a;
	color: #ffffff;
	padding: 10px 22px;
	border-radius: 30px;
	font-size: 13px;
	font-weight: 500;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.32);
	opacity: 0;
	pointer-events: none;
	transition: opacity .25s ease, transform .25s ease;
	z-index: 999999;
	display: flex;
	align-items: center;
	gap: 8px;
}
.wep-toast--visible {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

/* ---------- Full Unconstrained Sticky Layout (No Internal Scrolling) ---------- */
.wep-single__sidebar,
.wep-tpl-cards__side,
.wep-tpl-dark__side,
.wep-tpl-gold__side,
.wep-tpl-neon__side,
.wep-tpl-split__sticky,
.wep-tpl-split__side,
.wep-tickets-wrap {
	max-height: none !important;
	overflow: visible !important;
	overflow-y: visible !important;
}

@media (min-width: 992px) {
	.wep-single__sidebar,
	.wep-tpl-cards__side,
	.wep-tpl-dark__side,
	.wep-tpl-gold__side,
	.wep-tpl-neon__side,
	.wep-tpl-split__sticky {
		position: -webkit-sticky;
		position: sticky;
		top: 24px;
		max-height: none !important;
		overflow: visible !important;
		overflow-y: visible !important;
	}
}

/* ---------- Mobile Floating Tickets Button (Bottom Center) ---------- */
.wep-mobile-tickets-bar {
	display: none;
	position: fixed;
	bottom: 22px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 99998;
	pointer-events: auto;
	transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.25s;
}
@media (max-width: 960px) {
	.wep-mobile-tickets-bar {
		display: flex;
		align-items: center;
		justify-content: center;
	}
}
.wep-mobile-tickets-btn {
	all: unset;
	cursor: pointer;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	background: var(--wep-btn-bg, var(--wep-primary, #111827));
	color: #ffffff !important;
	padding: 13px 26px;
	border-radius: 999px;
	font-size: 14.5px;
	font-weight: 800;
	line-height: 1;
	white-space: nowrap;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28), 0 3px 10px rgba(0, 0, 0, 0.16);
	border: 1.5px solid rgba(255, 255, 255, 0.3);
	transition: transform 0.15s ease, filter 0.15s ease, box-shadow 0.15s ease;
	-webkit-tap-highlight-color: transparent;
}
.wep-mobile-tickets-btn * {
	color: #ffffff !important;
}
.wep-mobile-tickets-btn:active {
	transform: scale(0.95);
	filter: brightness(0.94);
}
.wep-mobile-tickets-btn svg {
	display: block;
	width: 19px;
	height: 19px;
	flex-shrink: 0;
	stroke: #ffffff !important;
}
.wep-mobile-tickets-bar.is-hidden {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateX(-50%) translateY(24px);
}

/* ---------- Mobile Instagram-Style Share Trigger ---------- */
.wep-share-mobile-trigger-wrap {
	display: none;
}
.wep-share-trigger-btn {
	all: unset;
	cursor: pointer;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	padding: 13px 16px;
	background: #f8fafc;
	border: 1.5px solid var(--wep-border, #e2e8f0);
	border-radius: 14px;
	transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
	-webkit-tap-highlight-color: transparent;
}
.wep-share-trigger-btn:active {
	background: #f1f5f9;
	transform: scale(0.985);
}
.wep-share-trigger-icon {
	width: 38px;
	height: 38px;
	border-radius: 10px;
	background: rgba(17, 24, 39, 0.08);
	color: var(--wep-primary, #111827);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.wep-share-trigger-icon svg {
	width: 20px;
	height: 20px;
	stroke: var(--wep-primary, #111827);
}
.wep-share-trigger-label {
	font-size: 14px;
	font-weight: 700;
	color: var(--wep-text, #0f172a);
	flex-grow: 1;
	text-align: right;
}
[dir="ltr"] .wep-share-trigger-label {
	text-align: left;
}
.wep-share-trigger-hint {
	font-size: 12px;
	color: var(--wep-muted, #64748b);
	font-weight: 500;
}
.wep-share-trigger-chevron {
	color: #94a3b8;
	flex-shrink: 0;
}
[dir="rtl"] .wep-share-trigger-chevron {
	transform: scaleX(-1);
}

@media (max-width: 768px) {
	.wep-share-panel .wep-share__grid {
		display: none !important;
	}
	.wep-share-mobile-trigger-wrap {
		display: block !important;
	}
}

/* ---------- Instagram-Style Share Bottom Sheet ---------- */
.wep-share-sheet-modal {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}
.wep-share-sheet-modal.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.wep-share-sheet-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.6);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}
.wep-share-sheet-panel {
	position: relative;
	z-index: 2;
	background: #ffffff;
	border-radius: 24px 24px 0 0;
	box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.2);
	padding: 12px 20px 28px;
	max-height: 85vh;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	transform: translateY(100%);
	transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1);
}
.wep-share-sheet-modal.is-active .wep-share-sheet-panel {
	transform: translateY(0);
}
.wep-share-sheet-drag-handle {
	width: 42px;
	height: 4px;
	border-radius: 999px;
	background: #cbd5e1;
	margin: 4px auto 14px;
}
.wep-share-sheet-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid #f1f5f9;
}
.wep-share-sheet-title {
	margin: 0;
	font-size: 16px;
	font-weight: 800;
	color: #0f172a;
}
.wep-share-sheet-close {
	all: unset;
	cursor: pointer;
	box-sizing: border-box;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #f1f5f9;
	color: #64748b;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-weight: 700;
	transition: all 0.15s ease;
}
.wep-share-sheet-close:hover {
	background: #e2e8f0;
	color: #0f172a;
}
.wep-share-sheet-preview {
	display: flex;
	align-items: center;
	gap: 12px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 10px 12px;
	margin-bottom: 18px;
}
.wep-share-sheet-preview-thumb {
	width: 44px;
	height: 44px;
	border-radius: 8px;
	overflow: hidden;
	background: #e2e8f0;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
}
.wep-share-sheet-preview-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.wep-share-sheet-preview-info {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.wep-share-sheet-preview-info strong {
	font-size: 13.5px;
	color: #0f172a;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.wep-share-sheet-preview-info span {
	font-size: 11.5px;
	color: #64748b;
}
.wep-share-sheet-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px 10px;
	margin-bottom: 20px;
}
@media (max-width: 380px) {
	.wep-share-sheet-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}
.wep-share-sheet-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	text-decoration: none !important;
	color: #334155 !important;
	text-align: center;
	-webkit-tap-highlight-color: transparent;
	transition: transform 0.15s ease;
}
.wep-share-sheet-item:active {
	transform: scale(0.92);
}
.wep-share-sheet-icon {
	width: 52px;
	height: 52px;
	border-radius: 16px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}
.wep-share-sheet-icon svg {
	width: 24px;
	height: 24px;
	display: block;
}
.wep-share-sheet-name {
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
}
.wep-share-sheet-footer {
	padding-top: 4px;
}
.wep-share-sheet-copy-btn {
	all: unset;
	cursor: pointer;
	box-sizing: border-box;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 13px 18px;
	border-radius: 12px;
	background: #0f172a;
	color: #ffffff !important;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	transition: background-color 0.15s ease, transform 0.15s ease;
	-webkit-tap-highlight-color: transparent;
}
.wep-share-sheet-copy-btn:active {
	transform: scale(0.98);
}
.wep-share-sheet-copy-btn svg {
	stroke: #ffffff;
}

/* Dark mode theme adaptation */
.wep-tpl-dark .wep-share-sheet-panel,
.wep-tpl-gold .wep-share-sheet-panel,
.wep-tpl-neon .wep-share-sheet-panel {
	background: #18181b;
	color: #f4f4f5;
}
.wep-tpl-dark .wep-share-sheet-title,
.wep-tpl-gold .wep-share-sheet-title,
.wep-tpl-neon .wep-share-sheet-title {
	color: #f4f4f5;
}
.wep-tpl-dark .wep-share-sheet-preview,
.wep-tpl-gold .wep-share-sheet-preview,
.wep-tpl-neon .wep-share-sheet-preview {
	background: #27272a;
	border-color: #3f3f46;
}
.wep-tpl-dark .wep-share-sheet-preview-info strong,
.wep-tpl-gold .wep-share-sheet-preview-info strong,
.wep-tpl-neon .wep-share-sheet-preview-info strong {
	color: #f4f4f5;
}
.wep-tpl-dark .wep-share-sheet-item,
.wep-tpl-gold .wep-share-sheet-item,
.wep-tpl-neon .wep-share-sheet-item {
	color: #e4e4e7 !important;
}
.wep-tpl-dark .wep-share-sheet-icon,
.wep-tpl-gold .wep-share-sheet-icon,
.wep-tpl-neon .wep-share-sheet-icon {
	background: #27272a;
	border-color: #3f3f46;
}
.wep-tpl-dark .wep-share-trigger-btn,
.wep-tpl-gold .wep-share-trigger-btn,
.wep-tpl-neon .wep-share-trigger-btn {
	background: rgba(255, 255, 255, 0.05);
	border-color: rgba(255, 255, 255, 0.12);
}
.wep-tpl-dark .wep-share-trigger-label,
.wep-tpl-gold .wep-share-trigger-label,
.wep-tpl-neon .wep-share-trigger-label {
	color: #f4f4f5;
}

/* ---------- Recurring Event Public UI ---------- */
.wep-recurring-box {
	width: 100%;
	box-sizing: border-box;
}
.wep-session-card {
	transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}
.wep-session-card:hover:not(.is-disabled) {
	border-color: #94a3b8;
	background: #f8fafc;
}
.wep-session-card.is-selected {
	background: #eff6ff !important;
	border-color: #2563eb !important;
	box-shadow: 0 1px 4px rgba(37, 99, 235, 0.12);
}
.wep-chip--recurring {
	background: #eff6ff !important;
	color: #1e40af !important;
	font-weight: 700 !important;
}
