/**
 * Dr. Lisa Marie Bobby Theme - Light/Dark Mode
 * Toggle-based theme switching with CSS custom properties
 *
 * @package DrLisaBobby
 * @since 1.1.0
 */

/* ========================================
   DARK MODE (Default)
   ======================================== */
:root,
[data-theme="dark"] {
	/* Backgrounds */
	--dlb-bg-primary: #1c1917;
	--dlb-bg-secondary: #0c0a09;
	--dlb-bg-tertiary: #292524;
	--dlb-bg-card: #292524;
	--dlb-bg-elevated: #44403c;
	
	/* Text Colors */
	--dlb-text-primary: #FFFFFF;
	--dlb-text-secondary: #a8a29e;
	--dlb-text-muted: #78716c;
	--dlb-text-light: #57534e;
	--dlb-text-inverse: #1c1917;
	
	/* Brand Colors - Coral (Clients) - adjusted for dark */
	--dlb-coral-primary: #f43f5e;
	--dlb-coral-light: #fb923c;
	--dlb-coral-dark: #e11d48;
	--dlb-coral-bg: rgba(244, 63, 94, 0.15);
	--dlb-coral-border: rgba(251, 146, 60, 0.3);
	
	/* Brand Colors - Teal (Therapists) - adjusted for dark */
	--dlb-teal-primary: #14b8a6;
	--dlb-teal-light: #2dd4bf;
	--dlb-teal-dark: #10b981;
	--dlb-teal-bg: rgba(20, 184, 166, 0.15);
	--dlb-teal-border: rgba(20, 184, 166, 0.3);
	
	/* Accent Colors - Gold for dark mode */
	--dlb-gold: #D4AF37;
	--dlb-gold-light: #F0D875;
	
	/* Borders & Dividers */
	--dlb-border-light: rgba(255, 255, 255, 0.05);
	--dlb-border-medium: #57534e;
	--dlb-border-dark: rgba(255, 255, 255, 0.15);
	
	/* Shadows - subtle glow effect in dark mode */
	--dlb-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);
	--dlb-shadow-md: 0 8px 24px rgba(0, 0, 0, 0.4);
	--dlb-shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.5);
	
	/* Header */
	--dlb-header-bg: rgba(28, 25, 23, 0.95);
	--dlb-header-border: rgba(87, 83, 78, 0.5);
	
	/* Forms */
	--dlb-input-bg: #1c1917;
	--dlb-input-border: #57534e;
	--dlb-input-focus: var(--dlb-gold);
	--dlb-input-text: #FFFFFF;
	--dlb-input-placeholder: #78716c;
	
	/* Focus States */
	--dlb-focus-ring: rgba(212, 175, 55, 0.25);
	
	/* Hero Pattern */
	--dlb-pattern-color: var(--dlb-gold);
	--dlb-pattern-opacity: 0.05;
	
	/* Toggle Switch */
	--dlb-toggle-bg: #44403c;
	--dlb-toggle-bg-active: var(--dlb-gold);
	--dlb-toggle-knob: #FFFFFF;
}

/* ========================================
   LIGHT MODE
   ======================================== */
[data-theme="light"] {
	/* Backgrounds */
	--dlb-bg-primary: #FDF8F5;
	--dlb-bg-secondary: #FFFFFF;
	--dlb-bg-tertiary: #F5E6D3;
	--dlb-bg-card: #FFFFFF;
	--dlb-bg-elevated: #FFFFFF;
	
	/* Text Colors */
	--dlb-text-primary: #2D2D2D;
	--dlb-text-secondary: #4A4A4A;
	--dlb-text-muted: #6B7280;
	--dlb-text-light: #9CA3AF;
	--dlb-text-inverse: #FFFFFF;
	
	/* Brand Colors - Coral (Clients) */
	--dlb-coral-primary: #E8735A;
	--dlb-coral-light: #F5A998;
	--dlb-coral-dark: #C55941;
	--dlb-coral-bg: rgba(232, 115, 90, 0.1);
	--dlb-coral-border: rgba(232, 115, 90, 0.3);
	
	/* Brand Colors - Teal (Therapists) */
	--dlb-teal-primary: #2A7B7B;
	--dlb-teal-light: #4A9B9B;
	--dlb-teal-dark: #1A5B5B;
	--dlb-teal-bg: rgba(42, 123, 123, 0.1);
	--dlb-teal-border: rgba(42, 123, 123, 0.3);
	
	/* Accent Colors */
	--dlb-gold: #D4A574;
	--dlb-gold-light: #F5E6D3;
	
	/* Borders & Dividers */
	--dlb-border-light: rgba(0, 0, 0, 0.05);
	--dlb-border-medium: rgba(0, 0, 0, 0.1);
	--dlb-border-dark: rgba(0, 0, 0, 0.15);
	
	/* Shadows */
	--dlb-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.06);
	--dlb-shadow-md: 0 8px 24px rgba(0, 0, 0, 0.08);
	--dlb-shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.12);
	
	/* Header */
	--dlb-header-bg: rgba(255, 255, 255, 0.95);
	--dlb-header-border: rgba(0, 0, 0, 0.05);
	
	/* Forms */
	--dlb-input-bg: #FFFFFF;
	--dlb-input-border: #9CA3AF;
	--dlb-input-focus: var(--dlb-coral-primary);
	--dlb-input-text: #2D2D2D;
	--dlb-input-placeholder: #9CA3AF;
	
	/* Focus States */
	--dlb-focus-ring: rgba(232, 115, 90, 0.15);
	
	/* Hero Pattern */
	--dlb-pattern-color: var(--dlb-coral-primary);
	--dlb-pattern-opacity: 0.05;
	
	/* Toggle Switch */
	--dlb-toggle-bg: #466060;
	--dlb-toggle-bg-active: var(--dlb-coral-primary);
	--dlb-toggle-knob: #FFFFFF;
}

/* ========================================
   SYSTEM PREFERENCE (Auto) - Applies light mode if user prefers light
   ======================================== */
@media (prefers-color-scheme: light) {
	:root:not([data-theme="dark"]) {
		/* Backgrounds */
		--dlb-bg-primary: #FDF8F5;
		--dlb-bg-secondary: #FFFFFF;
		--dlb-bg-tertiary: #F5E6D3;
		--dlb-bg-card: #FFFFFF;
		--dlb-bg-elevated: #FFFFFF;
		
		/* Text Colors */
		--dlb-text-primary: #2D2D2D;
		--dlb-text-secondary: #4A4A4A;
		--dlb-text-muted: #6B7280;
		--dlb-text-light: #9CA3AF;
		--dlb-text-inverse: #FFFFFF;
		
		/* Brand Colors - Coral */
		--dlb-coral-primary: #E8735A;
		--dlb-coral-light: #F5A998;
		--dlb-coral-dark: #C55941;
		--dlb-coral-bg: rgba(232, 115, 90, 0.1);
		--dlb-coral-border: rgba(232, 115, 90, 0.3);
		
		/* Brand Colors - Teal */
		--dlb-teal-primary: #2A7B7B;
		--dlb-teal-light: #4A9B9B;
		--dlb-teal-dark: #1A5B5B;
		--dlb-teal-bg: rgba(42, 123, 123, 0.1);
		--dlb-teal-border: rgba(42, 123, 123, 0.3);
		
		/* Accent Colors */
		--dlb-gold: #D4A574;
		--dlb-gold-light: #F5E6D3;
		
		/* Borders & Dividers */
		--dlb-border-light: rgba(0, 0, 0, 0.05);
		--dlb-border-medium: rgba(0, 0, 0, 0.1);
		--dlb-border-dark: rgba(0, 0, 0, 0.15);
		
		/* Shadows */
		--dlb-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.06);
		--dlb-shadow-md: 0 8px 24px rgba(0, 0, 0, 0.08);
		--dlb-shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.12);
		
		/* Header */
		--dlb-header-bg: rgba(255, 255, 255, 0.95);
		--dlb-header-border: rgba(0, 0, 0, 0.05);
		
		/* Forms */
		--dlb-input-bg: #FFFFFF;
		--dlb-input-border: #9CA3AF;
		--dlb-input-focus: var(--dlb-coral-primary);
		--dlb-input-text: #2D2D2D;
		--dlb-input-placeholder: #9CA3AF;
		
		/* Focus States */
		--dlb-focus-ring: rgba(232, 115, 90, 0.15);
		
		/* Hero Pattern */
		--dlb-pattern-color: var(--dlb-coral-primary);
		--dlb-pattern-opacity: 0.05;
		
		/* Toggle Switch */
		--dlb-toggle-bg: #466060;
		--dlb-toggle-bg-active: var(--dlb-coral-primary);
		--dlb-toggle-knob: #FFFFFF;
	}
}

/* ========================================
   APPLY VARIABLES TO ELEMENTS
   ======================================== */

/* Body & Background */
body {
	background-color: var(--dlb-bg-primary);
	color: var(--dlb-text-primary);
	transition: background-color 0.3s ease, color 0.3s ease;
}

/* Header / Navigation */
.site-header,
.site-header.nav {
	background: var(--dlb-header-bg) !important;
	border-bottom-color: var(--dlb-header-border) !important;
}

.site-header .wp-block-site-title a,
.site-header .nav-link,
.site-header .wp-block-navigation-item a {
	color: var(--dlb-text-primary) !important;
}

.site-header .wp-block-navigation-item a:hover {
	color: var(--dlb-coral-primary) !important;
}

[data-theme="dark"] .site-header .wp-block-navigation-item a:hover {
	color: var(--dlb-gold) !important;
}

/* Cards */
.wp-block-group.is-style-card,
.wp-block-group.is-style-card-coral,
.wp-block-group.is-style-card-teal,
.podcast-card,
.episode-card,
.guest-card {
	background-color: var(--dlb-bg-card);
	border-color: var(--dlb-border-medium);
	box-shadow: var(--dlb-shadow-md);
}

/* Episode & Guest Cards */
.episode-card,
.guest-card {
	background-color: var(--dlb-bg-card);
}

/* Text Colors */
h1, h2, h3, h4, h5, h6 {
	color: var(--dlb-text-primary);
}

p {
	color: var(--dlb-text-secondary);
}

/* Section Backgrounds */
.section-light,
.has-warm-cream-background-color,
.has-cool-cream-background-color {
	background-color: var(--dlb-bg-primary) !important;
}

.section-dark,
[data-theme="dark"] .has-charcoal-background-color {
	background-color: var(--dlb-bg-secondary) !important;
}

/* Form Elements */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
	background-color: var(--dlb-input-bg);
	border-color: var(--dlb-input-border);
	color: var(--dlb-input-text);
}

input::placeholder,
textarea::placeholder {
	color: var(--dlb-input-placeholder);
}

input:focus,
textarea:focus,
select:focus {
	border-color: var(--dlb-input-focus);
	box-shadow: 0 0 0 3px var(--dlb-focus-ring);
}

/* Labels */
label {
	color: var(--dlb-text-secondary);
}

/* Borders */
hr {
	border-color: var(--dlb-border-medium);
}

/* Footer */
.site-footer {
	background-color: var(--dlb-bg-secondary);
	border-top: 1px solid var(--dlb-border-medium);
}

.site-footer,
.site-footer p,
.site-footer a {
	color: var(--dlb-text-muted);
}

.site-footer a:hover {
	color: var(--dlb-text-primary);
}

/* ========================================
   DARK MODE SPECIFIC OVERRIDES
   ======================================== */
[data-theme="dark"] {
	/* Hero Section */
	.hero {
		background: linear-gradient(180deg, var(--dlb-bg-primary) 0%, var(--dlb-bg-tertiary) 50%, var(--dlb-bg-primary) 100%);
	}
	
	.hero__title em,
	.hero-title-accent {
		color: var(--dlb-gold) !important;
	}
	
	/* Section Labels */
	.section-label,
	.is-style-eyebrow {
		color: var(--dlb-gold) !important;
	}
	
	/* Podcast Cards */
	.podcast-card.coral,
	.is-style-card-coral {
		border-top-color: var(--dlb-coral-primary) !important;
		background: linear-gradient(145deg, var(--dlb-bg-tertiary) 0%, rgba(41, 37, 36, 0.5) 100%);
	}
	
	.podcast-card.teal,
	.is-style-card-teal {
		border-top-color: var(--dlb-teal-primary) !important;
		background: linear-gradient(145deg, var(--dlb-bg-tertiary) 0%, rgba(41, 37, 36, 0.5) 100%);
	}
	
	/* Badges */
	.audience-badge.coral,
	.has-coral-light-background-color {
		background: var(--dlb-coral-bg) !important;
		color: var(--dlb-coral-light) !important;
		border: 1px solid var(--dlb-coral-border);
	}
	
	.audience-badge.teal,
	.has-sage-light-background-color {
		background: var(--dlb-teal-bg) !important;
		color: var(--dlb-teal-light) !important;
		border: 1px solid var(--dlb-teal-border);
	}
	
	/* Stat numbers */
	.stat-value,
	.podcast-stats .stat-number {
		color: var(--dlb-gold) !important;
	}
	
	/* Buttons - Primary/CTA */
	.btn-subscribe,
	.btn-gold,
	.wp-block-button.is-style-fill .wp-block-button__link {
		background: linear-gradient(135deg, var(--dlb-gold) 0%, #AA8C2C 100%) !important;
		color: var(--dlb-text-inverse) !important;
	}
	
	/* Outline buttons */
	.btn-outline,
	.wp-block-button.is-style-outline .wp-block-button__link {
		background: transparent !important;
		border-color: var(--dlb-border-medium) !important;
		color: var(--dlb-text-secondary) !important;
	}
	
	.btn-outline:hover,
	.wp-block-button.is-style-outline .wp-block-button__link:hover {
		border-color: var(--dlb-gold) !important;
		color: var(--dlb-gold) !important;
	}
	
	/* Links */
	a {
		color: var(--dlb-text-secondary);
	}
	
	a:hover {
		color: var(--dlb-gold);
	}
	
	/* Credential badges */
	.credential,
	.credential-badge {
		background: rgba(255, 255, 255, 0.05) !important;
		border: 1px solid rgba(255, 255, 255, 0.1) !important;
		color: var(--dlb-text-secondary) !important;
	}
	
	/* Logo showcase / As Seen In */
	.logos-section,
	.logo-showcase {
		background-color: var(--dlb-bg-tertiary) !important;
		border-color: var(--dlb-border-medium) !important;
	}
	
	.logo-item {
		color: var(--dlb-text-muted) !important;
	}
	
	/* CTA Box */
	.cta-box,
	.cta-dark {
		background: linear-gradient(135deg, rgba(212, 175, 55, 0.1) 0%, rgba(212, 175, 55, 0.05) 100%) !important;
		border: 1px solid rgba(212, 175, 55, 0.2) !important;
	}
	
	/* Newsletter Cards */
	.newsletter-card.coral {
		background: linear-gradient(135deg, rgba(244, 63, 94, 0.1) 0%, rgba(251, 146, 60, 0.08) 100%) !important;
		border: 1px solid rgba(251, 146, 60, 0.2) !important;
	}
	
	.newsletter-card.coral h4 {
		color: var(--dlb-coral-light) !important;
	}
	
	.newsletter-card.teal {
		background: linear-gradient(135deg, rgba(20, 184, 166, 0.1) 0%, rgba(16, 185, 129, 0.08) 100%) !important;
		border: 1px solid rgba(20, 184, 166, 0.2) !important;
	}
	
	.newsletter-card.teal h4 {
		color: var(--dlb-teal-light) !important;
	}
}

/* ========================================
   WORDPRESS PRESET COLOR OVERRIDES (Default - Dark Mode)
   ======================================== */
.has-white-background-color,
.has-background.has-white-background-color {
	background-color: var(--dlb-bg-tertiary) !important;
}

.has-pearl-background-color,
.has-background.has-pearl-background-color {
	background-color: var(--dlb-bg-secondary) !important;
}

.has-warm-cream-background-color,
.has-background.has-warm-cream-background-color {
	background-color: var(--dlb-bg-primary) !important;
}

.has-cool-cream-background-color,
.has-background.has-cool-cream-background-color {
	background-color: var(--dlb-bg-primary) !important;
}

.has-charcoal-background-color,
.has-background.has-charcoal-background-color {
	background-color: var(--dlb-bg-secondary) !important;
}

/* Hero gradient override */
.has-hero-gradient-gradient-background,
.has-background.has-hero-gradient-gradient-background {
	background: linear-gradient(180deg, #1c1917 0%, #292524 40%, #1c1917 100%) !important;
}

/* Text color overrides */
.has-charcoal-color {
	color: var(--dlb-text-primary) !important;
}

.has-gray-color,
.has-silver-color {
	color: var(--dlb-text-secondary) !important;
}

.has-white-color {
	color: var(--dlb-text-primary) !important;
}

/* Coral/Teal accent overrides */
.has-coral-primary-color {
	color: var(--dlb-coral-light) !important;
}

.has-teal-primary-color {
	color: var(--dlb-teal-light) !important;
}

.has-coral-primary-background-color {
	background-color: var(--dlb-coral-primary) !important;
}

.has-teal-primary-background-color {
	background-color: var(--dlb-teal-primary) !important;
}

/* Card and group backgrounds */
.wp-block-group.is-style-card,
.wp-block-group.is-style-card-coral,
.wp-block-group.is-style-card-teal {
	background-color: var(--dlb-bg-card) !important;
	border-color: var(--dlb-border-medium) !important;
}

/* Episode and guest cards */
.episode-card,
.guest-card {
	background-color: var(--dlb-bg-card) !important;
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6,
.wp-block-heading {
	color: var(--dlb-text-primary) !important;
}

/* Paragraphs */
p,
.wp-block-paragraph {
	color: var(--dlb-text-secondary) !important;
}

/* Navigation text */
.wp-block-navigation-item a {
	color: var(--dlb-text-secondary) !important;
}

.wp-block-navigation-item a:hover {
	color: var(--dlb-gold) !important;
}

/* ========================================
   WORDPRESS PRESET COLOR OVERRIDES (Light Mode)
   ======================================== */
[data-theme="light"] .has-white-background-color,
[data-theme="light"] .has-background.has-white-background-color {
	background-color: #FFFFFF !important;
}

[data-theme="light"] .has-pearl-background-color,
[data-theme="light"] .has-background.has-pearl-background-color {
	background-color: #F9FAFB !important;
}

[data-theme="light"] .has-warm-cream-background-color,
[data-theme="light"] .has-background.has-warm-cream-background-color {
	background-color: #FDF8F5 !important;
}

[data-theme="light"] .has-cool-cream-background-color,
[data-theme="light"] .has-background.has-cool-cream-background-color {
	background-color: #F5E6D3 !important;
}

[data-theme="light"] .has-charcoal-background-color,
[data-theme="light"] .has-background.has-charcoal-background-color {
	background-color: #2D2D2D !important;
}

/* Hero gradient - light mode */
[data-theme="light"] .has-hero-gradient-gradient-background,
[data-theme="light"] .has-background.has-hero-gradient-gradient-background {
	background: linear-gradient(180deg, #FDF8F5 0%, #F5E6D3 40%, #FCEEE5 100%) !important;
}

/* Text colors - light mode */
[data-theme="light"] .has-charcoal-color {
	color: #2D2D2D !important;
}

[data-theme="light"] .has-gray-color,
[data-theme="light"] .has-silver-color {
	color: #6B7280 !important;
}

[data-theme="light"] .has-white-color {
	color: #FFFFFF !important;
}

/* Coral/Teal - light mode */
[data-theme="light"] .has-coral-primary-color {
	color: #E8735A !important;
}

[data-theme="light"] .has-teal-primary-color {
	color: #2A7B7B !important;
}

/* Cards - light mode */
[data-theme="light"] .wp-block-group.is-style-card,
[data-theme="light"] .wp-block-group.is-style-card-coral,
[data-theme="light"] .wp-block-group.is-style-card-teal {
	background-color: #FFFFFF !important;
	border-color: rgba(0, 0, 0, 0.1) !important;
}

[data-theme="light"] .episode-card,
[data-theme="light"] .guest-card {
	background-color: #FFFFFF !important;
}

/* Headings - light mode */
[data-theme="light"] h1,
[data-theme="light"] h2,
[data-theme="light"] h3,
[data-theme="light"] h4,
[data-theme="light"] h5,
[data-theme="light"] h6,
[data-theme="light"] .wp-block-heading {
	color: #2D2D2D !important;
}

/* Paragraphs - light mode */
[data-theme="light"] p,
[data-theme="light"] .wp-block-paragraph {
	color: #4A4A4A !important;
}

/* White color override - must come after heading/paragraph rules to win by source order */
[data-theme="light"] .has-white-color {
	color: #FFFFFF !important;
}
[data-theme="light"] .has-white-color h1,
[data-theme="light"] .has-white-color h2,
[data-theme="light"] .has-white-color h3,
[data-theme="light"] .has-white-color h4,
[data-theme="light"] .has-white-color h5,
[data-theme="light"] .has-white-color h6,
[data-theme="light"] .has-white-color p {
	color: #FFFFFF !important;
}

/* Navigation - light mode */
[data-theme="light"] .wp-block-navigation-item a {
	color: #4A4A4A !important;
}

[data-theme="light"] .wp-block-navigation-item a:hover {
	color: #E8735A !important;
}

/* ========================================
   THEME TOGGLE SWITCH
   ======================================== */
.theme-toggle {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.theme-toggle__label {
	font-size: 0.75rem;
	color: var(--dlb-text-muted);
	cursor: pointer;
	user-select: none;
}

.theme-toggle__switch {
	position: relative;
	width: 52px;
	height: 28px;
	background-color: var(--dlb-toggle-bg-active);
	border-radius: 14px;
	cursor: pointer;
	transition: background-color 0.3s ease;
	border: none;
	padding: 0;
}

.theme-toggle__switch:hover {
	opacity: 0.9;
}

.theme-toggle__switch::before {
	content: '';
	position: absolute;
	top: 3px;
	left: 3px;
	width: 22px;
	height: 22px;
	background-color: var(--dlb-toggle-knob);
	border-radius: 50%;
	transition: transform 0.3s ease;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
	transform: translateX(24px);
}

/* Light mode toggle state */
[data-theme="light"] .theme-toggle__switch {
	background-color: var(--dlb-toggle-bg);
}

[data-theme="light"] .theme-toggle__switch::before {
	transform: translateX(0);
}

/* Icons inside toggle */
.theme-toggle__icon {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 14px;
	height: 14px;
	transition: opacity 0.3s ease;
}

.theme-toggle__icon--sun {
	left: 7px;
	color: #ffffff;
	opacity: 0.5;
}

.theme-toggle__icon--moon {
	right: 7px;
	color: #466060;
	opacity: 1;
}

[data-theme="light"] .theme-toggle__icon--sun {
	opacity: 1;
	color: #CFAE3F;
}

[data-theme="light"] .theme-toggle__icon--moon {
	opacity: 0.5;
	color: #FFFFFF;
}

/* Focus state for accessibility */
.theme-toggle__switch:focus {
	outline: 2px solid var(--dlb-input-focus);
	outline-offset: 2px;
}

.theme-toggle__switch:focus:not(:focus-visible) {
	outline: none;
}

/* ========================================
   SMOOTH TRANSITIONS
   ======================================== */
*,
*::before,
*::after {
	transition-property: background-color, border-color, color, fill, stroke;
	transition-duration: 0.15s;
	transition-timing-function: ease;
}

/* Disable transitions on page load to prevent flash */
.no-transitions *,
.no-transitions *::before,
.no-transitions *::after {
	transition: none !important;
}

/* ========================================
   GRAVITY FORMS - DARK MODE (Default)
   ======================================== */

/* Form Wrapper */
.gform_wrapper {
	background-color: transparent;
}

/* Field Labels */
.gform_wrapper .gfield_label,
.gform_wrapper .gform_title {
	color: var(--dlb-text-primary) !important;
	font-weight: 500;
}

/* Sub-labels (for name fields, etc.) */
.gform_wrapper .gfield .gform-field-label--type-sub,
.gform_wrapper .gfield_description {
	color: var(--dlb-text-muted) !important;
}

/* Required asterisk */
.gform_wrapper .gfield_required {
	color: var(--dlb-coral-primary) !important;
}

/* Form Inputs - Text, Email, Tel, URL, Number */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="password"],
.gform_wrapper textarea,
.gform_wrapper select {
	background-color: var(--dlb-input-bg) !important;
	border: 1px solid var(--dlb-input-border) !important;
	color: var(--dlb-input-text) !important;
	border-radius: 8px;
	padding: 0.75rem 1rem;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

/* Input Placeholder */
.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder {
	color: var(--dlb-input-placeholder) !important;
}

/* Input Focus State */
.gform_wrapper input:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
	border-color: var(--dlb-input-focus) !important;
	outline: none;
	box-shadow: 0 0 0 3px var(--dlb-focus-ring) !important;
}

/* Select Dropdown */
.gform_wrapper select {
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23a8a29e' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1rem center;
	padding-right: 2.5rem;
}

/* Radio and Checkbox */
.gform_wrapper .gfield_radio label,
.gform_wrapper .gfield_checkbox label {
	color: var(--dlb-text-secondary) !important;
}

.gform_wrapper input[type="radio"],
.gform_wrapper input[type="checkbox"] {
	accent-color: var(--dlb-gold);
}

/* Submit Button */
.gform_wrapper .gform_button,
.gform_wrapper input[type="submit"],
.gform_wrapper button[type="submit"] {
	background: linear-gradient(135deg, var(--dlb-gold) 0%, #AA8C2C 100%) !important;
	color: var(--dlb-text-inverse) !important;
	border: none !important;
	border-radius: 9999px;
	padding: 0.875rem 2rem;
	font-weight: 600;
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.gform_wrapper .gform_button:hover,
.gform_wrapper input[type="submit"]:hover,
.gform_wrapper button[type="submit"]:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(212, 175, 55, 0.3);
}

/* Form Footer */
.gform_wrapper .gform_footer {
	padding-top: 1.5rem;
	margin-top: 1rem;
}

/* Validation Error - Field */
.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error textarea,
.gform_wrapper .gfield_error select {
	border-color: var(--dlb-coral-primary) !important;
}

/* Validation Error - Message */
.gform_wrapper .gfield_error .gfield_label,
.gform_wrapper .validation_message {
	color: var(--dlb-coral-primary) !important;
}

/* Confirmation Message */
.gform_wrapper .gform_confirmation_message {
	background-color: rgba(20, 184, 166, 0.1);
	border: 1px solid var(--dlb-teal-primary);
	color: var(--dlb-teal-light);
	padding: 1.5rem;
	border-radius: 8px;
}

/* Progress Bar (multi-page forms) */
.gform_wrapper .gf_progressbar {
	background-color: var(--dlb-bg-tertiary);
	border-radius: 9999px;
}

.gform_wrapper .gf_progressbar_percentage {
	background: linear-gradient(135deg, var(--dlb-gold) 0%, #AA8C2C 100%);
	border-radius: 9999px;
}

/* Section Break */
.gform_wrapper .gsection {
	border-bottom-color: var(--dlb-border-medium);
}

.gform_wrapper .gsection_title {
	color: var(--dlb-text-primary) !important;
}

/* File Upload */
.gform_wrapper .gform_drop_area {
	background-color: var(--dlb-bg-tertiary);
	border: 2px dashed var(--dlb-border-medium);
	border-radius: 8px;
	color: var(--dlb-text-secondary);
}

.gform_wrapper .gform_drop_area:hover {
	border-color: var(--dlb-gold);
}

/* ========================================
   GRAVITY FORMS - LIGHT MODE
   ======================================== */

/* Submit Button - Light Mode */
[data-theme="light"] .gform_wrapper .gform_button,
[data-theme="light"] .gform_wrapper input[type="submit"],
[data-theme="light"] .gform_wrapper button[type="submit"] {
	background: linear-gradient(135deg, var(--dlb-coral-primary) 0%, #C55941 100%) !important;
	color: #FFFFFF !important;
}

[data-theme="light"] .gform_wrapper .gform_button:hover,
[data-theme="light"] .gform_wrapper input[type="submit"]:hover,
[data-theme="light"] .gform_wrapper button[type="submit"]:hover {
	box-shadow: 0 4px 12px rgba(232, 115, 90, 0.3);
}

/* Select Dropdown Arrow - Light Mode */
[data-theme="light"] .gform_wrapper select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
}

/* Radio and Checkbox - Light Mode */
[data-theme="light"] .gform_wrapper input[type="radio"],
[data-theme="light"] .gform_wrapper input[type="checkbox"] {
	accent-color: var(--dlb-coral-primary);
}

/* Progress Bar - Light Mode */
[data-theme="light"] .gform_wrapper .gf_progressbar {
	background-color: #E5E7EB;
}

[data-theme="light"] .gform_wrapper .gf_progressbar_percentage {
	background: linear-gradient(135deg, var(--dlb-coral-primary) 0%, #C55941 100%);
}

/* Confirmation Message - Light Mode */
[data-theme="light"] .gform_wrapper .gform_confirmation_message {
	background-color: rgba(42, 123, 123, 0.1);
	border-color: var(--dlb-teal-primary);
	color: var(--dlb-teal-dark);
}

/* File Upload - Light Mode */
[data-theme="light"] .gform_wrapper .gform_drop_area {
	background-color: #F9FAFB;
	border-color: #D1D5DB;
}

[data-theme="light"] .gform_wrapper .gform_drop_area:hover {
	border-color: var(--dlb-coral-primary);
}

/* Guest section padding override */
.has-pearl-background-color {
	padding-top: var(--wp--preset--spacing--80) !important;
	padding-bottom: var(--wp--preset--spacing--80) !important;
}


/* ========================================
   About Section Text Color Overrides
   ======================================== */
/* Light mode: use darker text */
[data-theme="light"] p.has-secondary-text-color,
[data-theme="light"] .wp-block-paragraph.has-secondary-text-color,
[data-theme="light"] .has-secondary-text-color {
	color: #4A4A4A !important;
}

[data-theme="light"] p.is-style-lead,
[data-theme="light"] .wp-block-paragraph.is-style-lead,
[data-theme="light"] .is-style-lead {
	color: #4A4A4A !important;
}

/* Dark mode: use lighter text */
[data-theme="dark"] p.has-secondary-text-color,
[data-theme="dark"] .wp-block-paragraph.has-secondary-text-color,
[data-theme="dark"] .has-secondary-text-color {
	color: #C8C8C8 !important;
}

[data-theme="dark"] p.is-style-lead,
[data-theme="dark"] .wp-block-paragraph.is-style-lead,
[data-theme="dark"] .is-style-lead {
	color: #A8A6A6 !important;
}