/* ============================================================
   BTC 2026 — Teal + Baby Pink Conference Aesthetic
   v4.0 — Full rebrand
   ============================================================ */

/* --- Design Tokens --- */
:root {
	--btc-teal: #2ebab8;
	--btc-teal-deep: #28a8a6;
	--btc-teal-dark: #239997;
	--btc-teal-bg: #2ebab8;
	--btc-pink: #f5a0b8;
	--btc-pink-light: #fcd5e0;
	--btc-pink-hot: #e8709a;
	--btc-cream: #ffffff;
	--btc-navy: #0a1e38;
	--btc-white: #ffffff;
	--btc-font-display: 'Bebas Neue', 'Oswald', sans-serif;
	--btc-font-heading: 'Oswald', sans-serif;
	--btc-font-body: 'Poppins', sans-serif;
}

/* ======= HERO SECTION ======= */
#hero.btc-hero {
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	background: var(--btc-navy) !important;
	padding: 0 !important;
}

#hero.btc-hero .carousel-item,
#hero.btc-hero .carousel-inner,
#hero.btc-hero #heroCarousel {
	height: auto !important;
	min-height: 0 !important;
}

.btc-hero {
	position: relative;
	overflow: hidden;
}

.btc-hero-bg {
	position: relative;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	min-height: 580px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.btc-hero-overlay {
	position: absolute;
	inset: 0;
	background: rgba(10,30,56,0.55);
	z-index: 1;
}

.btc-hero-grain {
	position: absolute;
	inset: 0;
	opacity: 0.04;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
	z-index: 1;
	pointer-events: none;
}

.btc-hero-title {
	font-family: var(--btc-font-display);
	font-size: clamp(3rem, 7vw, 5.5rem);
	color: var(--btc-white);
	text-transform: uppercase;
	letter-spacing: 6px;
	line-height: 1.05;
	margin-bottom: 10px;
	text-shadow: 0 0 40px rgba(245,160,184,0.3), 0 2px 4px rgba(0,0,0,0.4);
}

.btc-hero-tagline {
	font-family: var(--btc-font-heading);
	font-size: clamp(1.2rem, 3vw, 1.8rem);
	color: var(--btc-pink);
	text-transform: uppercase;
	letter-spacing: 6px;
	font-weight: 700;
	margin-bottom: 6px;
}

.btc-hero-date {
	font-family: var(--btc-font-display);
	font-size: clamp(1.5rem, 4vw, 2.5rem);
	color: var(--btc-white);
	letter-spacing: 8px;
	text-transform: uppercase;
	margin-bottom: 4px;
}

.btc-hero-presented {
	font-family: var(--btc-font-body);
	font-size: 0.95rem;
	color: rgba(255,255,255,0.6);
	text-transform: uppercase;
	letter-spacing: 2px;
	font-weight: 300;
	margin-bottom: 20px;
}

.btc-pdu-badge {
	display: inline-block;
	background: linear-gradient(135deg, var(--btc-pink) 0%, var(--btc-pink-hot) 100%);
	color: var(--btc-white);
	font-family: var(--btc-font-heading);
	font-weight: 700;
	font-size: 1rem;
	letter-spacing: 1px;
	text-transform: uppercase;
	padding: 8px 24px;
	border-radius: 30px;
	box-shadow: 0 4px 20px rgba(245,160,184,0.4);
}

/* ======= HERO ANCHOR LINKS ======= */
.btc-hero-link {
	color: var(--btc-teal) !important;
	font-family: var(--btc-font-heading);
	font-size: 0.95rem;
	letter-spacing: 2px;
	text-transform: uppercase;
	text-decoration: none;
	transition: color 0.2s ease;
}
.btc-hero-link:hover {
	color: var(--btc-pink) !important;
}
.btc-hero-link-sep {
	color: rgba(255,255,255,0.3);
	font-size: 0.9rem;
}

/* ======= HERO TITLE — Flicker > Shimmer ======= */
.hero-flk {
	display: inline-block;
	opacity: 0;
	text-shadow: none !important;
	animation: heroFlicker 0.2s ease forwards;
}

@keyframes heroFlicker {
	0%   { opacity: 0; color: #fff; }
	25%  { opacity: 1; color: var(--btc-pink); }
	50%  { opacity: 1; color: #fff; }
	75%  { opacity: 1; color: var(--btc-pink); }
	100% { opacity: 1; color: #fff; }
}

/* Hero shimmer — per-letter color wave (same pattern as Vision) */
.hero-wave {
	display: inline-block;
	animation: heroColorWave 2.5s ease-in-out infinite;
}

@keyframes heroColorWave {
	0%, 100% { color: #fff; }
	30%  { color: #5aeaea; }
	60%  { color: #f5a0b8; }
}

/* ======= REGISTER CTA BUTTON ======= */
.register-cta {
	font-family: var(--btc-font-display);
	font-weight: 400;
	font-size: 1.4rem;
	letter-spacing: 3px;
	text-transform: uppercase;
	border: none;
	background: linear-gradient(135deg, var(--btc-teal) 0%, var(--btc-teal-deep) 100%);
	color: var(--btc-white) !important;
	padding: 14px 40px;
	border-radius: 6px;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.3s ease;
	animation: ctaPulse 2.5s ease-in-out infinite;
}

.register-cta:hover {
	transform: translateY(-2px) scale(1.02);
	box-shadow: 0 8px 30px rgba(26,158,150,0.5);
}

@keyframes ctaPulse {
	0%, 100% { box-shadow: 0 0 10px rgba(26,158,150,0.3); }
	50% { box-shadow: 0 0 30px rgba(26,158,150,0.6), 0 0 60px rgba(245,160,184,0.2); }
}

/* ======= SECTION THEMING ======= */

/* Teal dark sections (testimonials / CTA sections) */
.testimonials {
	position: relative;
	width: 100%;
	min-height: 300px;
	overflow: hidden;
	background: #2ebab8;
}

/* Light sections (Vision, Speakers) */
.vision {
	background: var(--btc-white);
	overflow: hidden;
	color: #444;
}

/* === MASTER RULE: section title colors === */
/* White/light bg sections → teal titles */
/* Teal/dark bg sections → white titles */

/* Teal bg (testimonials) = white text */
.testimonials .section-title,
.testimonials .section-title p {
	color: var(--btc-white) !important;
}

/* White bg overrides (btc-cta-white sits on testimonials but is white) = teal text */
.btc-cta-white .section-title,
.btc-cta-white .section-title p,
.btc-speakers-section .section-title,
.btc-speakers-section .section-title p,
.section-bg:not(.testimonials) .section-title,
.section-bg:not(.testimonials) .section-title p {
	color: var(--btc-teal) !important;
}

/* White CTA sections (alternating break) */
.btc-cta-white.testimonials {
	background: var(--btc-white) !important;
	color: var(--btc-navy) !important;
}

.btc-cta-white .section-overlay,
.btc-cta-white .overlay {
	background: none !important;
}
section.btc-cta-white p,
section.btc-cta-white .container,
section.btc-cta-white .overlay,
section.btc-cta-white .overlay p,
section.btc-cta-white .overlay .container,
section.btc-cta-white h1,
section.btc-cta-white h4,
section.btc-cta-white h5 {
	color: var(--btc-navy) !important;
	opacity: 1 !important;
}
section.btc-cta-white .section-title,
section.btc-cta-white .section-title h2,
section.btc-cta-white .section-title p {
	color: var(--btc-navy) !important;
}
section.btc-cta-white .section-title h2 {
	font-size: 2.8rem !important;
	font-family: var(--btc-font-display) !important;
	letter-spacing: 6px !important;
	line-height: 1.2 !important;
	margin-bottom: 20px !important;
}
section.btc-cta-white .section-title h2::after {
	display: none !important;
}

/* Navy CTA section — dark bg variant for register */
.btc-cta-navy.testimonials {
	background: var(--btc-navy) !important;
	color: var(--btc-white) !important;
}
.btc-cta-navy .section-overlay {
	background: rgba(10,30,56,0.6) !important;
}
.btc-cta-navy .section-title,
.btc-cta-navy .section-title p {
	color: var(--btc-teal) !important;
}

/* Teal CTA section — bottom register */
.btc-cta-teal.testimonials {
	background: var(--btc-teal) !important;
}
.btc-cta-teal .section-title,
.btc-cta-teal .section-title p {
	color: var(--btc-white) !important;
}

/* Navy agenda section */
.btc-agenda-navy.testimonials {
	background: var(--btc-navy) !important;
}
.btc-agenda-navy .section-overlay {
	background: rgba(10,30,56,0.4) !important;
}
.btc-agenda-navy .section-title,
.btc-agenda-navy .section-title p {
	color: var(--btc-teal) !important;
}

/* Mission section — white bg, navy text, pink dots stay */
.btc-mission-white.testimonials {
	background: var(--btc-white) !important;
	color: var(--btc-navy) !important;
}
.btc-mission-white .section-overlay,
.btc-mission-white .overlay {
	background: transparent !important;
}
section.btc-mission-white .section-title,
section.btc-mission-white .section-title p,
section.btc-mission-white .section-title h2,
section.btc-mission-white .section-title i {
	color: var(--btc-navy) !important;
}
section.btc-mission-white .section-title h2 {
	font-size: 2.8rem !important;
	font-family: var(--btc-font-display) !important;
	letter-spacing: 6px !important;
	line-height: 1.2 !important;
	margin-bottom: 20px !important;
}
section.btc-mission-white .section-title h2::after {
	display: none !important;
}
section.btc-mission-white p,
section.btc-mission-white p strong,
section.btc-mission-white .container,
section.btc-mission-white .overlay,
section.btc-mission-white .overlay p,
section.btc-mission-white .overlay .container {
	color: var(--btc-navy) !important;
	opacity: 1 !important;
}

/* Speakers section — navy headings on white bg for readability */
.btc-speakers-section .section-title,
.btc-speakers-section .section-title p {
	color: var(--btc-navy) !important;
}
.btc-speakers-section .section-title h2 {
	font-size: 2.8rem !important;
	font-family: var(--btc-font-display) !important;
	letter-spacing: 6px !important;
	line-height: 1.2 !important;
	color: var(--btc-navy) !important;
	margin-bottom: 20px !important;
}
.btc-speakers-section .section-title h2::after {
	display: none !important;
}

/* Register button on teal bg — white outline to stand out */
.btc-cta-teal .register-cta {
	background: var(--btc-white) !important;
	color: var(--btc-teal) !important;
}
.btc-cta-teal .register-cta:hover {
	background: var(--btc-navy) !important;
	color: var(--btc-white) !important;
}

/* Register button on navy bg — pink accent */
.btc-cta-navy .register-cta {
	background: linear-gradient(135deg, var(--btc-pink) 0%, var(--btc-pink-hot) 100%) !important;
	color: var(--btc-white) !important;
}
.btc-cta-navy .register-cta:hover {
	box-shadow: 0 8px 30px rgba(245,160,184,0.5);
}

.section-bg {
	/* Keep existing behavior but update if used standalone */
}

/* ======= VISION DARK — Hanging Bulb Illumination ======= */
.vision-dark {
	position: relative;
	background: var(--btc-navy);
	padding: 80px 0 60px;
	overflow: hidden;
	min-height: 400px;
}

/* Title */
.vd-title {
	font-family: var(--btc-font-display);
	font-size: 2.5rem;
	letter-spacing: 6px;
	text-transform: uppercase;
	color: #fff;
	transition: color 0.5s ease;
}

/* Body text — dim until lit */
.vd-text {
	color: rgba(255,255,255,0.12);
	font-family: var(--btc-font-body);
	font-size: 1rem;
	line-height: 1.7;
	max-width: 900px;
	margin: 0 auto 16px;
	transition: color 0.5s ease;
}

.vd-text strong {
	color: rgba(255,255,255,0.18);
	transition: color 0.5s ease;
}

/* === ORBIT CANVAS — particles orbit around the title === */
.vd-title-wrap {
	position: relative;
	overflow: visible;
	padding: 40px 0;
}

.vd-orbit-canvas {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	pointer-events: none;
	z-index: 1;
}

/* === COLOR WAVE LETTERS — each letter cycles white > teal > pink === */
.vd-letter {
	display: inline-block;
	animation: vdColorWave 4s ease-in-out infinite;
}

@keyframes vdColorWave {
	0%, 100% { color: #fff; text-shadow: none; }
	30%  { color: #5aeaea; text-shadow: 0 0 15px rgba(46,186,184,0.3); }
	60%  { color: #f5a0b8; text-shadow: 0 0 15px rgba(245,160,184,0.2); }
}

/* Body text — clean, readable */
.vd-text {
	color: rgba(255,255,255,0.75) !important;
}

.vd-text strong {
	color: #fff !important;
}

@media (max-width: 768px) {
	.vd-light-cone { width: 300px; height: 300px; }
	.vd-title { font-size: 1.8rem; }
}

/* old hanging-bulb — replaced by vision-dark */
.hanging-bulb {
	position: absolute;
	top: -20px;
	left: 60px;
	width: 60px;
	height: 220px;
	z-index: 5;
	transform-origin: top center;
	animation: hbSwing 4s ease-in-out infinite alternate;
}

.hb-wire {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 2px;
	height: 130px;
	background: #888;
}

.hb-cap {
	position: absolute;
	top: 126px;
	left: 50%;
	transform: translateX(-50%);
	width: 16px;
	height: 18px;
	background: linear-gradient(to bottom, #999, #777);
	border-radius: 3px 3px 0 0;
}

/* Cap ridges */
.hb-cap::before {
	content: '';
	position: absolute;
	top: 4px;
	left: 2px;
	right: 2px;
	height: 2px;
	background: rgba(255,255,255,0.2);
}
.hb-cap::after {
	content: '';
	position: absolute;
	top: 9px;
	left: 2px;
	right: 2px;
	height: 2px;
	background: rgba(255,255,255,0.15);
}

/* Glass bulb — starts dim */
.hb-glass {
	position: absolute;
	top: 142px;
	left: 50%;
	transform: translateX(-50%);
	width: 40px;
	height: 48px;
	border-radius: 50% 50% 45% 45%;
	background: rgba(240,230,230,0.25);
	border: 1px solid rgba(200,190,190,0.3);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.3s, border-color 0.3s;
}

.hb-filament {
	width: 12px;
	height: 16px;
	border: 1px solid rgba(180,170,170,0.3);
	border-radius: 40%;
	background: transparent;
	transition: border-color 0.3s, box-shadow 0.3s;
}

/* Glow — invisible until on */
.hb-glow {
	position: absolute;
	top: 130px;
	left: 50%;
	transform: translateX(-50%);
	width: 200px;
	height: 200px;
	border-radius: 50%;
	background: radial-gradient(circle,
		rgba(245,160,184,0.4) 0%,
		rgba(245,160,184,0.15) 35%,
		rgba(245,160,184,0.05) 60%,
		transparent 80%
	);
	opacity: 0;
	pointer-events: none;
	filter: blur(8px);
}

/* Swing */
@keyframes hbSwing {
	0%   { transform: rotate(8deg); }
	100% { transform: rotate(-8deg); }
}

/* === ON STATE: flicker then glow === */
.hanging-bulb.hb-on .hb-glass {
	animation: hbFlicker 1.5s ease forwards;
}

.hanging-bulb.hb-on .hb-filament {
	animation: hbFilament 1.5s ease forwards;
}

.hanging-bulb.hb-on .hb-glow {
	animation: hbGlowOn 1.5s ease forwards, hbGlowBreathe 4s 1.5s ease-in-out infinite alternate;
}

@keyframes hbFlicker {
	0%   { background: rgba(240,230,230,0.25); }
	10%  { background: rgba(245,180,195,0.5); }
	15%  { background: rgba(240,230,230,0.25); }
	25%  { background: rgba(245,170,190,0.55); }
	32%  { background: rgba(240,230,230,0.3); }
	45%  { background: rgba(245,160,184,0.5); }
	50%  { background: rgba(240,230,230,0.25); }
	65%  { background: rgba(245,160,184,0.55); }
	100% { background: rgba(245,180,200,0.45); border-color: rgba(245,160,184,0.3); }
}

@keyframes hbFilament {
	0%   { border-color: rgba(180,170,170,0.3); box-shadow: none; }
	10%  { border-color: var(--btc-pink-hot); box-shadow: 0 0 8px rgba(245,160,184,0.8); }
	15%  { border-color: rgba(180,170,170,0.3); box-shadow: none; }
	25%  { border-color: var(--btc-pink-hot); box-shadow: 0 0 10px rgba(245,160,184,0.9); }
	32%  { border-color: rgba(180,170,170,0.3); box-shadow: none; }
	65%  { border-color: var(--btc-pink-hot); box-shadow: 0 0 8px rgba(245,160,184,0.7); }
	100% { border-color: var(--btc-pink); box-shadow: 0 0 6px rgba(245,160,184,0.5); }
}

@keyframes hbGlowOn {
	0%   { opacity: 0; }
	10%  { opacity: 0.5; }
	15%  { opacity: 0; }
	25%  { opacity: 0.7; }
	32%  { opacity: 0; }
	65%  { opacity: 0.8; }
	100% { opacity: 1; }
}

@keyframes hbGlowBreathe {
	0%   { opacity: 0.7; transform: translateX(-50%) scale(0.95); }
	100% { opacity: 1; transform: translateX(-50%) scale(1.05); }
}

/* === Pink wash on the Vision section title — synced to swing === */
.vision {
	transition: background 0.5s ease;
}

/* When bulb is on, the section title color shifts with the swing */
.hanging-bulb.hb-on ~ .section-title p,
.hanging-bulb.hb-on ~ * .section-title p,
.hanging-bulb.hb-on ~ .section-title {
	animation: titlePinkWash 4s 1.5s ease-in-out infinite alternate;
}

@keyframes titlePinkWash {
	0%   { color: var(--btc-pink); text-shadow: 0 0 20px rgba(245,160,184,0.4); }
	50%  { color: var(--btc-teal); text-shadow: none; }
	100% { color: var(--btc-pink); text-shadow: 0 0 20px rgba(245,160,184,0.4); }
}

/* Hide old stuff */
.area { display: none; }
.pixar-lamp { display: none; }
.floor-lamp { display: none; }
.spot3d { display: none; }
.spot3d-wash { display: none; }
.spot-mount { display: none; }
.spot-rig { display: none; }

@media (max-width: 768px) {
	.hanging-bulb {
		left: 20px;
		height: 180px;
	}
	.hb-wire { height: 100px; }
	.hb-cap { top: 96px; }
	.hb-glass { top: 112px; width: 34px; height: 40px; }
	.hb-glow { top: 100px; width: 150px; height: 150px; }
}

/* Hide old lamp/lightbulb/spotlight classes */
.area { display: none; }
.pixar-lamp { display: none; }
.floor-lamp { display: none; }
.spot3d { display: none; }
.spot3d-wash { display: none; }
.spot-mount { display: none; }
.spot-rig { display: none; }
.spot-particles { display: none; }
.spotlight-wrap { display: none; }

/* ======= ORBITING DOTS — Pink ======= */
.top-orbit {
	position: absolute;
	top: -400px;
	left: -400px;
	width: 300px;
	height: 300px;
	border-radius: 50%;
	display: grid;
	grid-template-columns: 30px;
	grid-template-rows: 30px;
	place-content: center;
}

.bot-orbit {
	position: absolute;
	bottom: -400px;
	right: -425px;
	width: 300px;
	height: 300px;
	border-radius: 50%;
	display: grid;
	grid-template-columns: 30px;
	grid-template-rows: 30px;
	place-content: center;
}

.dot {
	grid-area: 2/2;
	width: 20px;
	height: 20px;
	background: var(--btc-pink);
	border-radius: 50%;
	animation: orb 120s linear infinite;
	transform: rotate(0) translate(400px) rotate(0);
	box-shadow: 0 0 10px rgba(245,160,184,0.5);
}

@keyframes orb {
	0% {
		transform: rotate(var(--startAngle, 0deg)) translate(400px) rotate(calc(var(--startAngle, 0deg) * -1));
	}
	100% {
		transform: rotate(calc(1turn + var(--startAngle, 0deg))) translate(400px) rotate(calc(-1turn - var(--startAngle, 0deg)));
	}
}

/* ======= SPEAKERS SECTION ======= */
.btc-speakers-section {
	background: var(--btc-white);
	color: var(--btc-navy);
	padding: 60px 0 40px;
}

/* title rules consolidated above */

.speaker-card-v2 {
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 6px 24px rgba(0,0,0,0.1);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	background: var(--btc-white);
	border: 3px solid transparent;
	background-clip: padding-box;
}

.speaker-card-v2:hover {
	transform: translateY(-6px);
	box-shadow: 0 12px 40px rgba(26,158,150,0.2);
	border-color: var(--btc-teal);
}

.speaker-card-v2 img {
	width: 100%;
	height: auto;
	display: block;
	cursor: pointer;
}

/* ======= SPEAKER LIGHTBOX ======= */
.speaker-lightbox {
	position: fixed;
	inset: 0;
	z-index: 99999;
	background: rgba(0,0,0,0.85);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
	cursor: pointer;
}
.speaker-lightbox.active {
	opacity: 1;
	pointer-events: all;
}
.speaker-lightbox img {
	max-width: 90vw;
	max-height: 85vh;
	border-radius: 16px;
	box-shadow: 0 20px 60px rgba(0,0,0,0.5);
	transform: scale(0.9);
	transition: transform 0.3s ease;
}
.speaker-lightbox.active img {
	transform: scale(1);
}
.speaker-lightbox .lb-close {
	position: absolute;
	top: 24px;
	right: 32px;
	color: #fff;
	font-size: 2.5rem;
	cursor: pointer;
	line-height: 1;
	font-weight: 300;
	opacity: 0.7;
	transition: opacity 0.2s;
}
.speaker-lightbox .lb-close:hover {
	opacity: 1;
}

.speaker-card-v2.speaker-placeholder {
	min-height: 300px;
	background: linear-gradient(135deg, rgba(245,160,184,0.1) 0%, rgba(26,158,150,0.08) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
}

.speakers-grid {
	gap: 0;
}

/* Old speaker-card styles (kept for agenda section thumbnails) */
.speaker-card {
	padding: 20px 10px;
	transition: transform 0.3s ease-in-out;
}
.speaker-card:hover { transform: translateY(-5px); }

.speaker-img {
	width: 160px;
	height: 160px;
	object-fit: cover;
	border: 4px solid rgba(255,255,255,0.3);
}

.speaker-img-placeholder {
	width: 160px;
	height: 160px;
	background: rgba(255,255,255,0.1);
	margin: 0 auto;
}

.speaker-image-wrapper {
	position: relative;
	display: inline-block;
	transition: transform 0.3s ease-in-out;
}
.speaker-image-wrapper:hover { transform: scale(1.05); }

.speaker-name {
	text-transform: uppercase;
	text-align: center;
	font-size: 1.1rem;
	font-weight: 800;
	letter-spacing: 1px;
	font-family: var(--btc-font-heading);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
}

.speaker-name .name {
	color: var(--btc-white);
	font-size: 1.2rem;
	text-shadow: 2px 2px 8px rgba(255,255,255,0.3);
	text-transform: capitalize;
}

.speaker-name .title {
	font-size: 0.8rem;
	font-weight: 500;
	color: var(--btc-pink);
	text-transform: none;
	letter-spacing: 0.5px;
	font-family: var(--btc-font-body);
	opacity: 0.9;
}

/* Speaker names on light backgrounds */
.btc-speakers-section .speaker-name .name {
	color: var(--btc-navy);
	text-shadow: none;
}

/* ======= AGENDA SECTION ======= */
.session-meta {
	font-size: 1.6rem;
	color: var(--btc-white);
	font-weight: 800;
	text-transform: uppercase;
	text-shadow: none;
	font-family: var(--btc-font-heading);
}

.session-time {
	font-size: 1.2rem;
	font-weight: 600;
	color: var(--btc-pink);
	display: flex;
	align-items: center;
	gap: 8px;
}

.session-description {
	color: rgba(255,255,255,0.85);
	font-size: 1.05rem;
	line-height: 1.5;
	opacity: 0.9;
}

.agenda-row {
	transition: background 0.3s ease-in-out, border-left 0.2s ease;
	border-left: 4px solid transparent;
}

.agenda-row:hover {
	background: rgba(26,158,150,0.12) !important;
	border-left-color: var(--btc-teal);
}

/* ======= PRODUCT CARDS ======= */
.product-card {
	min-height: 400px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

.card {
	border: none;
	overflow: hidden;
}

.card:hover {
	transform: scale(1.03);
	box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

.btn-group .btn { border-radius: 0; }
.btn.add-to-bag { min-width: 150px; }

/* ======= LIGHTNING / FLASH ANIMATIONS ======= */
.lightning-icon {
	color: var(--btc-pink);
	font-size: 18px;
	animation: bird-flap 1.5s infinite alternate;
}

.fa-dove {
	animation: bird-flap 2s infinite ease-in-out;
}

@keyframes bird-flap {
	0%, 100% { transform: translateY(-1px); }
	50% { transform: translateY(2px); }
}

@keyframes flash-animation {
	from { transform: scale(1); color: var(--btc-pink); }
	to { transform: scale(1.2); color: var(--btc-teal); }
}

/* ======= PRESENTER CAROUSEL (legacy) ======= */
.presenter-image-wrapper {
	position: relative;
	display: inline-block;
}

.presenter-name {
	text-transform: uppercase;
	text-align: center;
	font-size: 2rem;
	font-weight: 800;
	letter-spacing: 1px;
	font-family: var(--btc-font-heading);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
}

.presenter-name .name {
	color: var(--btc-white);
	font-size: 2.2rem;
	text-shadow: 2px 2px 8px rgba(255,255,255,0.3);
}

.presenter-name .title {
	font-size: 1.4rem;
	font-weight: 500;
	color: var(--btc-pink);
	text-transform: none;
	letter-spacing: 0.5px;
	font-family: var(--btc-font-body);
	opacity: 0.9;
}

/* ======= SPONSOR STYLES (hidden but kept) ======= */
.sponsor-elite { color: #6A0DAD; font-weight: bold; }
.sponsor-community { color: #6B4E3D; font-weight: bold; }
.sponsor-leadership { color: #6A0DAD; font-weight: bold; }
.sponsor-scholarship { color: #000; font-weight: bold; }
.sponsor-engagement { color: var(--btc-teal); font-weight: bold; }
.sponsor-impact { color: #0a53be; font-weight: bold; }
.sponsor-premier { color: #C9B037; font-weight: bold; }
.sponsor-platinum { color: #E5E4E2; font-weight: bold; }
.sponsor-ally { color: #F4C430; font-weight: bold; }
.sponsor-silver { color: #C0C0C0; font-weight: bold; }
.sponsor-support { color: #CD7F32; font-weight: bold; }
.sponsor-rbt { color: #007BFF; font-weight: bold; }
.sponsor-default { color: #6C757D; font-weight: bold; }

.rbt-badge { color: var(--btc-teal); font-size: 2em; }
.bcba-badge { color: var(--btc-navy); font-size: 2em; }

/* ======= TIMELINE (legacy) ======= */
.timeline {
	display: flex;
	flex-wrap: wrap;
	padding: 20px;
	gap: 20px;
	overflow: auto;
	justify-content: start;
}

.timeline-item {
	width: 180px;
	padding: 15px;
	text-align: center;
	background: var(--btc-white);
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.1);
	transition: transform 0.3s ease-in-out;
	min-width: 180px;
}

.timeline-item:hover { transform: translateY(-5px); }
.timeline-item i { font-size: 24px; color: var(--btc-teal); margin-bottom: 8px; }
.timeline-content h5 { font-size: 16px; font-weight: bold; color: #333; }

.schedule-time {
	font-size: 14px;
	font-weight: bold;
	color: var(--btc-white);
	background: var(--btc-teal-dark);
	padding: 4px 8px;
	border-radius: 4px;
}

/* ======= BIO CONTAINER (legacy) ======= */
.bio-container {
	max-height: 250px;
	overflow-y: auto;
	padding: 20px;
	font-size: 1.1rem;
	line-height: 1.6;
	border-radius: 10px;
	background: rgba(255,255,255,0.07);
	box-shadow: inset 0 0 10px rgba(255,255,255,0.1);
	scrollbar-width: thin;
	scrollbar-color: rgba(255,255,255,0.3) rgba(255,255,255,0.1);
	scroll-behavior: smooth;
	transition: all 0.3s ease-in-out;
}

.bio-container::-webkit-scrollbar { width: 8px; }
.bio-container::-webkit-scrollbar-track { background: rgba(255,255,255,0.1); border-radius: 10px; }
.bio-container::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.4); border-radius: 10px; }
.bio-container::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.6); }
.bio-container:hover { box-shadow: inset 0 0 15px rgba(255,255,255,0.2); }

.no-bio-placeholder {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	min-height: 100px;
}

.carousel-item:has(.no-bio-placeholder) .row {
	justify-content: center !important;
	text-align: center;
}

.text-muted { color: #6c757d !important; }
.ribbon-placeholder .badge { background-color: #6c757d; font-size: 0.85rem; padding: 0.5rem; font-weight: 600; }
.gradient-cursive { background: linear-gradient(45deg, var(--btc-pink), var(--btc-pink-light)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }

/* ======= SECTION TITLE OVERRIDES ======= */
/* Make section titles use display font */
.btc-speakers-section .section-title,
#register-cta .section-title,
#register-cta-bottom .section-title,
#agenda .section-title {
	font-family: var(--btc-font-display) !important;
	letter-spacing: 4px;
}

/* ======= RESPONSIVE ======= */
@media (max-width: 768px) {
	.btc-hero-title {
		font-size: 2.8rem;
		letter-spacing: 3px;
	}
	.btc-hero-tagline {
		font-size: 1rem;
		letter-spacing: 3px;
	}
	.btc-hero-date {
		font-size: 1.5rem;
		letter-spacing: 4px;
	}
	.speaker-img {
		width: 100px;
		height: 100px;
	}
	.speaker-img-placeholder {
		width: 100px;
		height: 100px;
	}
	.session-meta {
		font-size: 1.3rem;
	}
	.session-time {
		font-size: 1rem;
		justify-content: center;
	}
	.register-cta {
		font-size: 1.1rem;
		padding: 12px 30px;
	}
}
