﻿/*
Theme Name:   EasyPeasy Booking
Theme URI:    https://easypeasybooking.irish
Author:       easypeasybooking.irish
Author URI:   https://easypeasybooking.irish
Description:  Child theme for easypeasybooking.irish — Freemium SaaS landing page built on GeneratePress.
Template:     generatepress
Version:      1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License:      GPLv2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  easypeasybooking
*/

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   CSS CUSTOM PROPERTIES (Design Tokens)
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
:root {
  /* Brand colours */
  --eb-primary: #3CBF8A;
  --eb-primary-dark: #2ca574;
  --eb-primary-light: #e8f8f0;
  --eb-secondary: #1E1E1E;
  --eb-bg: #F8F9FA;
  --eb-white: #ffffff;
  --eb-accent: #56d4a5;
  --eb-accent-light: #e0f7ec;
  --eb-text: #333333;
  --eb-text-light: #666666;
  --eb-border: #e0e0e0;
  --eb-card-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  --eb-card-shadow-hover: 0 6px 24px rgba(0, 0, 0, 0.12);
  --eb-elevation-1: 0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.06);
  --eb-elevation-2: 0 4px 6px rgba(0, 0, 0, 0.07), 0 2px 4px rgba(0, 0, 0, 0.06);
  --eb-elevation-3: 0 10px 20px rgba(0, 0, 0, 0.08), 0 3px 6px rgba(0, 0, 0, 0.05);

  /* Spacing */
  --eb-space-xs: 4px;
  --eb-space-sm: 8px;
  --eb-space-md: 16px;
  --eb-space-lg: 32px;
  --eb-space-xl: 48px;
  --eb-space-2xl: 64px;
  --eb-space-3xl: 96px;

  /* Radii */
  --eb-radius-sm: 6px;
  --eb-radius-md: 10px;
  --eb-radius-lg: 16px;
  --eb-radius-xl: 24px;

  /* Typography */
  --eb-font-heading: 'Inter', 'Poppins', 'Roboto', sans-serif;
  --eb-font-body: 'Inter', 'Roboto', sans-serif;

  /* Layout */
  --eb-max-width: 1200px;
  --eb-header-height: 72px;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   RESET & BASE
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-family: var(--eb-font-body);
  color: var(--eb-text);
  background: var(--eb-bg);
  line-height: 1.7;
  overflow-x: hidden;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  text-decoration: none;
  color: inherit;
  transition: color 0.2s;
}

ul,
ol {
  list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--eb-font-heading);
  font-weight: 700;
  line-height: 1.2;
  color: var(--eb-secondary);
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   UTILITY
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.eb-container {
  width: 100%;
  max-width: var(--eb-max-width);
  margin: 0 auto;
  padding: 0 var(--eb-space-lg);
}

.eb-section {
  padding: var(--eb-space-3xl) 0;
}

.eb-section--alt {
  background: var(--eb-white);
}

.eb-section-title {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  text-align: center;
  margin-bottom: var(--eb-space-xl);
  position: relative;
}

.eb-section-title::after {
  content: '';
  display: block;
  width: 60px;
  height: 4px;
  background: var(--eb-primary);
  border-radius: 2px;
  margin: var(--eb-space-md) auto 0;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   BUTTONS
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.eb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--eb-space-sm);
  padding: 14px 36px;
  font-family: var(--eb-font-heading);
  font-weight: 600;
  font-size: 1rem;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  position: relative;
  overflow: hidden;
}

.eb-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.2) 0%, transparent 50%);
  opacity: 0;
  transition: opacity 0.3s;
}

.eb-btn:hover::before {
  opacity: 1;
}

.eb-btn--primary {
  background: linear-gradient(135deg, var(--eb-primary) 0%, var(--eb-primary-dark) 100%);
  color: var(--eb-white);
  box-shadow: 0 4px 15px rgba(60, 191, 138, 0.35);
}

.eb-btn--primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(60, 191, 138, 0.45);
}

.eb-btn--secondary {
  background: transparent;
  color: var(--eb-secondary);
  border: 2px solid var(--eb-border);
}

.eb-btn--secondary:hover {
  border-color: var(--eb-primary);
  color: var(--eb-primary);
  transform: translateY(-2px);
}

.eb-btn--large {
  padding: 18px 48px;
  font-size: 1.1rem;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   HEADER
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.eb-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: var(--eb-header-height);
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index: 1000;
  transition: box-shadow 0.3s;
}

.eb-header.scrolled {
  box-shadow: var(--eb-elevation-2);
}

.eb-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  max-width: var(--eb-max-width);
  margin: 0 auto;
  padding: 0 var(--eb-space-lg);
}

.eb-header__logo {
  font-family: var(--eb-font-heading);
  font-weight: 800;
  font-size: 1.5rem;
  color: var(--eb-secondary);
  display: flex;
  align-items: center;
  gap: 0;
}

.eb-header__logo span {
  color: var(--eb-primary);
}

.eb-header__nav {
  display: flex;
  align-items: center;
  gap: var(--eb-space-lg);
}

.eb-header__nav a {
  font-weight: 500;
  font-size: 0.95rem;
  color: var(--eb-text-light);
  transition: color 0.2s;
}

.eb-header__nav a:hover {
  color: var(--eb-primary);
}

/* WordPress-managed nav menu (wp_nav_menu output) */
.eb-nav-menu {
  display: flex;
  align-items: center;
  gap: var(--eb-space-lg);
  list-style: none;
  margin: 0;
  padding: 0;
}

.eb-nav-menu li {
  position: relative;
}

.eb-nav-menu li a {
  font-weight: 500;
  font-size: 0.95rem;
  color: var(--eb-text-light);
  text-decoration: none;
  transition: color 0.2s;
}

.eb-nav-menu li a:hover {
  color: var(--eb-primary);
}

/* ── Dropdown sub-menu ── */

/* Chevron indicator on parent items */
.eb-nav-menu .menu-item-has-children > a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.eb-nav-menu .menu-item-has-children > a::after {
  content: '';
  display: inline-block;
  width: 5px;
  height: 5px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform 0.2s ease;
  flex-shrink: 0;
}

/* Rotate chevron when open (hover desktop / class mobile) */
.eb-nav-menu .menu-item-has-children:hover > a::after,
.eb-nav-menu .menu-item-has-children.sub-menu-open > a::after {
  transform: rotate(-135deg) translateY(2px);
}

/* Dropdown panel — hidden by default with smooth reveal */
.eb-nav-menu .sub-menu {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  min-width: 210px;
  background: var(--eb-white);
  border-radius: var(--eb-radius-md);
  box-shadow: var(--eb-elevation-3);
  border: 1px solid var(--eb-border);
  list-style: none;
  margin: 0;
  padding: 6px 0;
  z-index: 200;
  /* Hidden — animated reveal */
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
  transform: translateY(6px);
  /* Delay the hide so quick mouse movements don't flash-close the panel */
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0.25s;
}

/* Invisible bridge that fills the gap between the nav link and the panel.
   Without this, the mouse briefly leaves the <li> while crossing the gap,
   triggering the hide transition before the user reaches the dropdown. */
.eb-nav-menu .sub-menu::before {
  content: '';
  position: absolute;
  top: -10px;   /* same height as the gap in `top: calc(100% + 10px)` */
  left: 0;
  right: 0;
  height: 10px;
}

/* Show on hover (desktop) */
.eb-nav-menu .menu-item-has-children:hover > .sub-menu {
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0s;
}

/* Sub-menu link styles */
.eb-nav-menu .sub-menu li a {
  display: block;
  padding: 10px var(--eb-space-md);
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--eb-text-light);
  white-space: nowrap;
  transition: background 0.15s, color 0.15s;
}

.eb-nav-menu .sub-menu li a:hover {
  background: var(--eb-bg);
  color: var(--eb-primary);
}

.eb-header__cta .eb-btn {
  padding: 10px 28px;
  font-size: 0.9rem;
}

/* Mobile hamburger */
.eb-header__toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: var(--eb-space-sm);
}

.eb-header__toggle span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--eb-secondary);
  margin: 6px 0;
  transition: all 0.3s;
  border-radius: 2px;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   HERO
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.eb-hero {
  padding-top: calc(var(--eb-header-height) + var(--eb-space-3xl));
  padding-bottom: var(--eb-space-3xl);
  background: linear-gradient(170deg, var(--eb-bg) 0%, var(--eb-white) 50%, var(--eb-primary-light) 100%);
  position: relative;
  overflow: hidden;
}

.eb-hero::before {
  content: '';
  position: absolute;
  top: -200px;
  right: -200px;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(60, 191, 138, 0.08) 0%, transparent 70%);
  border-radius: 50%;
}

.eb-hero::after {
  content: '';
  position: absolute;
  bottom: -150px;
  left: -150px;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(86, 212, 165, 0.06) 0%, transparent 70%);
  border-radius: 50%;
}

.eb-hero__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--eb-space-2xl);
  align-items: center;
  position: relative;
  z-index: 1;
}

.eb-hero__content {
  animation: fadeInUp 0.8s ease-out;
}

.eb-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: var(--eb-space-sm);
  padding: 6px 16px;
  background: var(--eb-accent-light);
  color: var(--eb-primary-dark);
  font-size: 0.85rem;
  font-weight: 600;
  border-radius: 50px;
  margin-bottom: var(--eb-space-lg);
}

.eb-hero__badge svg {
  width: 16px;
  height: 16px;
}

.eb-hero__title {
  font-size: clamp(2rem, 5vw, 3.25rem);
  margin-bottom: var(--eb-space-lg);
  line-height: 1.15;
}

.eb-hero__title em {
  font-style: normal;
  color: var(--eb-primary);
  position: relative;
}

.eb-hero__subtitle {
  font-size: clamp(1rem, 2vw, 1.2rem);
  color: var(--eb-text-light);
  margin-bottom: var(--eb-space-xl);
  max-width: 520px;
  line-height: 1.7;
}

.eb-hero__actions {
  display: flex;
  gap: var(--eb-space-md);
  flex-wrap: wrap;
}

.eb-hero__mockup {
  position: relative;
  animation: fadeInRight 0.8s ease-out 0.2s both;
}

.eb-hero__mockup-img {
  width: 100%;
  border-radius: var(--eb-radius-lg);
  box-shadow: var(--eb-elevation-3);
}

/* Floating elements around mockup */
.eb-hero__float {
  position: absolute;
  background: var(--eb-white);
  border-radius: var(--eb-radius-md);
  box-shadow: var(--eb-elevation-2);
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: var(--eb-space-sm);
  font-size: 0.85rem;
  font-weight: 600;
  animation: float 3s ease-in-out infinite;
}

.eb-hero__float--top {
  top: -20px;
  right: 30px;
  color: var(--eb-primary);
}

.eb-hero__float--bottom {
  bottom: 20px;
  left: -20px;
  color: var(--eb-secondary);
  animation-delay: 1.5s;
}

.eb-hero__float svg {
  width: 20px;
  height: 20px;
  color: var(--eb-primary);
}

/* ───────────────────────────────────────────────
   INDUSTRIES STRIP
   ─────────────────────────────────────────────── */
.eb-industries {
  background: var(--eb-white);
  border-top: 1px solid var(--eb-border);
  border-bottom: 1px solid var(--eb-border);
  padding: var(--eb-space-lg) 0;
}

.eb-industries__label {
  text-align: center;
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--eb-text-light);
  margin-bottom: var(--eb-space-md);
}

.eb-industries__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--eb-space-sm) var(--eb-space-md);
}

.eb-industries__list span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--eb-bg);
  border: 1px solid var(--eb-border);
  border-radius: var(--eb-radius-xl);
  padding: 6px 14px;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--eb-secondary);
  white-space: nowrap;
}

/* ───────────────────────────────────────────────
   VALUE PROPOSITIONS
   ─────────────────────────────────────────────── */
.eb-value {
  background: var(--eb-white);
}

.eb-value__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--eb-space-lg);
}

.eb-value__card {
  background: var(--eb-bg);
  border-radius: var(--eb-radius-md);
  padding: var(--eb-space-xl) var(--eb-space-lg);
  text-align: center;
  transition: all 0.3s;
  border: 1px solid transparent;
}

.eb-value__card:hover {
  transform: translateY(-4px);
  box-shadow: var(--eb-elevation-2);
  border-color: var(--eb-primary-light);
}

.eb-value__icon {
  width: 56px;
  height: 56px;
  background: linear-gradient(135deg, var(--eb-primary-light) 0%, var(--eb-accent-light) 100%);
  border-radius: var(--eb-radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--eb-space-lg);
}

.eb-value__icon svg {
  width: 28px;
  height: 28px;
  color: var(--eb-primary);
}

.eb-value__card h3 {
  font-size: 1.2rem;
  margin-bottom: var(--eb-space-md);
}

.eb-value__card p {
  font-size: 0.95rem;
  color: var(--eb-text-light);
  line-height: 1.6;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   FEATURES GRID
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.eb-features__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--eb-space-lg);
}

.eb-feature-card {
  background: var(--eb-white);
  border-radius: var(--eb-radius-md);
  padding: var(--eb-space-lg);
  display: flex;
  gap: var(--eb-space-md);
  align-items: flex-start;
  transition: all 0.3s;
  border: 1px solid var(--eb-border);
}

.eb-feature-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--eb-elevation-2);
  border-color: var(--eb-primary);
}

.eb-feature-card__icon {
  width: 48px;
  height: 48px;
  min-width: 48px;
  background: var(--eb-primary-light);
  border-radius: var(--eb-radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
}

.eb-feature-card__icon svg {
  width: 24px;
  height: 24px;
  color: var(--eb-primary);
}

.eb-feature-card__content h3 {
  font-size: 1.05rem;
  margin-bottom: var(--eb-space-sm);
}

.eb-feature-card__content p {
  font-size: 0.9rem;
  color: var(--eb-text-light);
  line-height: 1.6;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   PRICING
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.eb-pricing {
  background: var(--eb-white);
}

.eb-pricing__subtitle {
  text-align: center;
  font-size: 1.1rem;
  color: var(--eb-text-light);
  margin-top: calc(var(--eb-space-md) * -1);
  margin-bottom: var(--eb-space-xl);
}

.eb-pricing__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--eb-space-lg);
  max-width: 800px;
  margin: 0 auto;
}

/* Single-plan layout */
.eb-pricing__grid--single {
  grid-template-columns: 1fr;
  max-width: 480px;
}

.eb-pricing__card {
  background: var(--eb-bg);
  border-radius: var(--eb-radius-lg);
  padding: var(--eb-space-xl);
  text-align: center;
  border: 2px solid transparent;
  transition: all 0.3s;
  position: relative;
}

.eb-pricing__card--featured {
  border-color: var(--eb-primary);
  background: var(--eb-white);
  box-shadow: var(--eb-elevation-3);
}

.eb-pricing__grid--single .eb-pricing__card--featured {
  transform: none; /* No sibling to scale against in single-plan layout */
}

.eb-pricing__badge {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, var(--eb-primary) 0%, var(--eb-primary-dark) 100%);
  color: var(--eb-white);
  padding: 6px 20px;
  border-radius: 50px;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.eb-pricing__card h3 {
  font-size: 1.1rem;
  margin-bottom: var(--eb-space-md);
  color: var(--eb-text-light);
  text-transform: uppercase;
  letter-spacing: 1px;
}

.eb-pricing__price {
  font-size: 3rem;
  font-weight: 800;
  color: var(--eb-secondary);
  line-height: 1;
  margin-bottom: var(--eb-space-xs);
}

.eb-pricing__price span {
  font-size: 1rem;
  font-weight: 500;
  color: var(--eb-text-light);
}

.eb-pricing__list {
  text-align: left;
  margin: var(--eb-space-lg) 0;
  display: flex;
  flex-direction: column;
  gap: var(--eb-space-md);
}

.eb-pricing__list li {
  display: flex;
  align-items: center;
  gap: var(--eb-space-sm);
  font-size: 0.95rem;
  color: var(--eb-text);
}

.eb-pricing__list li svg {
  width: 20px;
  height: 20px;
  min-width: 20px;
  color: var(--eb-primary);
}

.eb-pricing__card .eb-btn {
  width: 100%;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   BRAND MANIFESTO
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.eb-manifesto {
  background: linear-gradient(145deg, #0d1f17 0%, #122b1f 40%, #0a1a12 100%);
  color: var(--eb-white);
  position: relative;
  overflow: hidden;
}

/* Ambient glow orbs */
.eb-manifesto__bg-orb {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.eb-manifesto__bg-orb--1 {
  width: 500px;
  height: 500px;
  top: -120px;
  right: -100px;
  background: radial-gradient(circle, rgba(60, 191, 138, 0.12) 0%, transparent 65%);
}

.eb-manifesto__bg-orb--2 {
  width: 400px;
  height: 400px;
  bottom: -100px;
  left: -80px;
  background: radial-gradient(circle, rgba(86, 212, 165, 0.08) 0%, transparent 65%);
}

/* Tagline chips */
.eb-manifesto__chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--eb-space-sm);
  justify-content: center;
  margin-bottom: var(--eb-space-xl);
}

.eb-manifesto__chip {
  display: inline-block;
  padding: 7px 18px;
  border: 1px solid rgba(60, 191, 138, 0.35);
  border-radius: 50px;
  font-size: 0.82rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.75);
  background: rgba(60, 191, 138, 0.07);
  letter-spacing: 0.2px;
  transition: all 0.3s;
}

.eb-manifesto__chip:hover {
  border-color: var(--eb-primary);
  color: var(--eb-white);
  background: rgba(60, 191, 138, 0.15);
}

.eb-manifesto__chip--accent {
  border-color: var(--eb-primary);
  color: var(--eb-primary);
  background: rgba(60, 191, 138, 0.12);
  font-weight: 600;
}

/* Main headline */
.eb-manifesto__headline {
  font-size: clamp(2rem, 5vw, 3.5rem);
  color: var(--eb-white);
  text-align: center;
  line-height: 1.15;
  margin-bottom: var(--eb-space-xl);
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}

.eb-manifesto__headline::after {
  display: none;
}

/* Body copy â€” 2-column */
.eb-manifesto__body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--eb-space-xl);
  max-width: 1000px;
  margin: 0 auto var(--eb-space-xl);
  border-top: 1px solid rgba(60, 191, 138, 0.2);
  padding-top: var(--eb-space-xl);
}

.eb-manifesto__body-col p {
  font-size: 1.05rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.72);
}

/* Power statement / pullquote */
.eb-manifesto__quote {
  max-width: 760px;
  margin: 0 auto;
  padding: var(--eb-space-lg) var(--eb-space-xl);
  border-left: 4px solid var(--eb-primary);
  background: rgba(60, 191, 138, 0.07);
  border-radius: 0 var(--eb-radius-md) var(--eb-radius-md) 0;
}

.eb-manifesto__quote p {
  font-size: clamp(1.1rem, 2.5vw, 1.4rem);
  font-style: italic;
  font-weight: 500;
  color: var(--eb-white);
  line-height: 1.6;
}

/* Responsive */
@media (max-width: 768px) {
  .eb-manifesto__body {
    grid-template-columns: 1fr;
    gap: var(--eb-space-lg);
  }

  .eb-manifesto__chips {
    flex-direction: column;
    align-items: center;
  }

  .eb-manifesto__quote {
    padding: var(--eb-space-md) var(--eb-space-lg);
  }
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   FINAL CTA
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.eb-final-cta {
  background: linear-gradient(135deg, var(--eb-secondary) 0%, #2a2a2a 100%);
  color: var(--eb-white);
  text-align: center;
}

.eb-final-cta h2 {
  color: var(--eb-white);
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  margin-bottom: var(--eb-space-lg);
}

.eb-final-cta h2::after {
  display: none;
}

.eb-final-cta p {
  color: rgba(255, 255, 255, 0.7);
  font-size: 1.1rem;
  margin-bottom: var(--eb-space-xl);
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   FOOTER
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.eb-footer {
  background: var(--eb-secondary);
  color: rgba(255, 255, 255, 0.6);
  padding: var(--eb-space-xl) 0;
  text-align: center;
  font-size: 0.9rem;
}

.eb-footer a {
  color: var(--eb-primary);
  transition: color 0.2s;
}

.eb-footer a:hover {
  color: var(--eb-accent);
}

.eb-footer__trust {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--eb-space-sm) var(--eb-space-md);
  padding-bottom: var(--eb-space-lg);
  margin-bottom: var(--eb-space-lg);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.eb-trust-badge {
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--eb-radius-md);
  padding: 10px 16px;
}

.eb-trust-badge__icon {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(60, 191, 138, 0.15);
  border-radius: var(--eb-radius-sm);
  flex-shrink: 0;
  color: var(--eb-primary);
}

.eb-trust-badge__icon svg {
  width: 17px;
  height: 17px;
}

.eb-trust-badge__icon--flag {
  font-size: 1.25rem;
  background: rgba(255, 255, 255, 0.08);
}

.eb-trust-badge__text {
  text-align: left;
}

.eb-trust-badge__text strong {
  display: block;
  font-size: 0.8rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.3;
}

.eb-trust-badge__text span {
  display: block;
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.45);
  line-height: 1.3;
}

.eb-footer__links {
  display: flex;
  justify-content: center;
  gap: var(--eb-space-lg);
  margin-bottom: var(--eb-space-md);
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   EDD PRODUCT PAGE
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.eb-edd-product {
  padding-top: calc(var(--eb-header-height) + var(--eb-space-3xl));
  padding-bottom: var(--eb-space-3xl);
  min-height: 100vh;
  background: linear-gradient(170deg, var(--eb-bg) 0%, var(--eb-white) 100%);
}

.eb-edd-product__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--eb-space-2xl);
  align-items: start;
}

.eb-edd-product__info h1 {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  margin-bottom: var(--eb-space-md);
}

.eb-edd-product__info .eb-subtitle {
  font-size: 1.15rem;
  color: var(--eb-text-light);
  margin-bottom: var(--eb-space-xl);
  line-height: 1.7;
}

.eb-edd-product__benefits {
  margin-bottom: var(--eb-space-xl);
  display: flex;
  flex-direction: column;
  gap: var(--eb-space-md);
}

.eb-edd-product__benefits li {
  display: flex;
  align-items: center;
  gap: var(--eb-space-sm);
  font-size: 1rem;
}

.eb-edd-product__benefits li svg {
  width: 22px;
  height: 22px;
  min-width: 22px;
  color: var(--eb-primary);
}

.eb-edd-product__purchase {
  background: var(--eb-white);
  border-radius: var(--eb-radius-lg);
  padding: var(--eb-space-xl);
  box-shadow: var(--eb-elevation-3);
  position: sticky;
  top: calc(var(--eb-header-height) + var(--eb-space-lg));
}

.eb-edd-product__purchase h2 {
  font-size: 1.3rem;
  margin-bottom: var(--eb-space-lg);
  text-align: center;
}

.eb-edd-price-option {
  border: 2px solid var(--eb-border);
  border-radius: var(--eb-radius-md);
  padding: var(--eb-space-lg);
  margin-bottom: var(--eb-space-md);
  cursor: pointer;
  transition: all 0.3s;
  position: relative;
}

.eb-edd-price-option:hover,
.eb-edd-price-option.selected {
  border-color: var(--eb-primary);
  background: var(--eb-primary-light);
}

.eb-edd-price-option__label {
  font-weight: 700;
  font-size: 1.1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.eb-edd-price-option__price {
  color: var(--eb-primary-dark);
  font-size: 1.3rem;
}

.eb-edd-price-option__desc {
  font-size: 0.85rem;
  color: var(--eb-text-light);
  margin-top: var(--eb-space-xs);
}

.eb-edd-product__purchase .eb-btn {
  width: 100%;
  margin-top: var(--eb-space-md);
}

.eb-edd-product__trust {
  text-align: center;
  margin-top: var(--eb-space-md);
  font-size: 0.85rem;
  color: var(--eb-text-light);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--eb-space-sm);
}

.eb-edd-product__trust svg {
  width: 16px;
  height: 16px;
  color: var(--eb-primary);
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   ANIMATIONS
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(30px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes float {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-10px);
  }
}

/* Scroll animation classes */
.eb-animate {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.eb-animate.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger children */
.eb-animate-stagger>* {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.eb-animate-stagger.visible>*:nth-child(1) {
  transition-delay: 0.1s;
}

.eb-animate-stagger.visible>*:nth-child(2) {
  transition-delay: 0.2s;
}

.eb-animate-stagger.visible>*:nth-child(3) {
  transition-delay: 0.3s;
}

.eb-animate-stagger.visible>*:nth-child(4) {
  transition-delay: 0.4s;
}

.eb-animate-stagger.visible>*:nth-child(5) {
  transition-delay: 0.5s;
}

.eb-animate-stagger.visible>*:nth-child(6) {
  transition-delay: 0.6s;
}

.eb-animate-stagger.visible>*:nth-child(7) {
  transition-delay: 0.7s;
}

.eb-animate-stagger.visible>*:nth-child(8) {
  transition-delay: 0.8s;
}

.eb-animate-stagger.visible>* {
  opacity: 1;
  transform: translateY(0);
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   RESPONSIVE
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@media (max-width: 992px) {
  .eb-hero__inner {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .eb-hero__subtitle {
    margin-left: auto;
    margin-right: auto;
  }

  .eb-hero__actions {
    justify-content: center;
  }

  .eb-hero__mockup {
    order: -1;
    max-width: 500px;
    margin: 0 auto;
  }

  .eb-value__grid {
    grid-template-columns: 1fr;
    max-width: 500px;
    margin: 0 auto;
  }

  .eb-features__grid {
    grid-template-columns: 1fr;
  }

  .eb-pricing__grid {
    grid-template-columns: 1fr;
    max-width: 400px;
    margin: 0 auto;
  }

  .eb-pricing__card--featured {
    transform: none;
  }

  .eb-edd-product__inner {
    grid-template-columns: 1fr;
  }

  .eb-edd-product__purchase {
    position: static;
  }
}

@media (max-width: 768px) {
  .eb-header__nav {
    display: none;
  }

  .eb-header__toggle {
    display: block;
  }

  /* Mobile nav */
  .eb-header__nav.open {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: var(--eb-header-height);
    left: 0;
    right: 0;
    background: var(--eb-white);
    padding: var(--eb-space-lg);
    box-shadow: var(--eb-elevation-2);
    gap: var(--eb-space-md);
  }

  .eb-header__nav.open .eb-header__cta {
    width: 100%;
  }

  .eb-header__nav.open .eb-header__cta .eb-btn {
    width: 100%;
  }

  /* Mobile nav menu list */
  .eb-nav-menu {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--eb-space-md);
    width: 100%;
  }

  /* Mobile sub-menu: stacked, no floating panel */
  .eb-nav-menu .sub-menu {
    position: static;
    visibility: visible;
    pointer-events: auto;
    display: none;
    opacity: 1;
    transform: none;
    transition: none;
    box-shadow: none;
    border: none;
    border-left: 3px solid var(--eb-primary-light);
    border-radius: 0;
    padding: var(--eb-space-sm) 0 var(--eb-space-sm) var(--eb-space-md);
    margin-top: 4px;
    min-width: 0;
    width: 100%;
  }

  /* Show sub-menu when parent is toggled open */
  .eb-nav-menu .menu-item-has-children.sub-menu-open > .sub-menu {
    display: block;
  }

  .eb-nav-menu .sub-menu li a {
    padding: 8px 0;
    white-space: normal;
  }

  .eb-hero {
    padding-top: calc(var(--eb-header-height) + var(--eb-space-xl));
    padding-bottom: var(--eb-space-xl);
  }

  .eb-section {
    padding: var(--eb-space-2xl) 0;
  }
}

@media (max-width: 480px) {
  .eb-hero__actions {
    flex-direction: column;
    width: 100%;
  }

  .eb-hero__actions .eb-btn {
    width: 100%;
  }

  .eb-footer__links {
    flex-direction: column;
    gap: var(--eb-space-md);
  }

  .eb-footer__trust {
    flex-direction: column;
    align-items: center;
  }
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   STICKY MOBILE CTA
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.eb-mobile-cta {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: var(--eb-space-md);
  background: var(--eb-white);
  box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.1);
  z-index: 999;
}

.eb-mobile-cta .eb-btn {
  width: 100%;
}

@media (max-width: 768px) {
  .eb-mobile-cta {
    display: block;
  }

  .eb-footer {
    padding-bottom: 80px;
  }
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   WORDPRESS ADMIN BAR OFFSET
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.admin-bar .eb-header {
  top: 32px;
}

@media (max-width: 782px) {
  .admin-bar .eb-header {
    top: 46px;
  }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   BLOG SECTION STYLES
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   BLOG HERO
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.eb-blog-hero {
  padding-top: calc(var(--eb-header-height) + var(--eb-space-3xl));
  padding-bottom: var(--eb-space-2xl);
  background: linear-gradient(170deg, var(--eb-bg) 0%, var(--eb-white) 40%, var(--eb-primary-light) 100%);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.eb-blog-hero::before {
  content: '';
  position: absolute;
  top: -120px;
  right: -120px;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(60, 191, 138, 0.1) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.eb-blog-hero::after {
  content: '';
  position: absolute;
  bottom: -80px;
  left: -80px;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(86, 212, 165, 0.07) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.eb-blog-hero__content {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0 auto;
}

.eb-blog-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: var(--eb-space-sm);
  padding: 6px 20px;
  background: var(--eb-accent-light);
  color: var(--eb-primary-dark);
  font-size: 0.85rem;
  font-weight: 600;
  border-radius: 50px;
  margin-bottom: var(--eb-space-lg);
}

.eb-blog-hero__badge svg {
  width: 16px;
  height: 16px;
}

.eb-blog-hero__title {
  font-size: clamp(2rem, 5vw, 3rem);
  margin-bottom: var(--eb-space-md);
  line-height: 1.15;
}

.eb-blog-hero__subtitle {
  font-size: clamp(1rem, 2vw, 1.15rem);
  color: var(--eb-text-light);
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.7;
}

.eb-blog-hero--archive {
  padding-bottom: var(--eb-space-xl);
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   BLOG SEARCH & FILTERS
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.eb-blog-filters {
  padding: var(--eb-space-lg) 0;
  background: var(--eb-white);
  border-bottom: 1px solid var(--eb-border);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.eb-blog-search {
  max-width: 560px;
  margin: 0 auto var(--eb-space-lg);
}

.eb-blog-search__wrapper {
  display: flex;
  align-items: center;
  gap: var(--eb-space-sm);
  background: var(--eb-bg);
  border: 2px solid var(--eb-border);
  border-radius: 50px;
  padding: 12px 24px;
  transition: border-color 0.3s, box-shadow 0.3s;
}

.eb-blog-search__wrapper:focus-within {
  border-color: var(--eb-primary);
  box-shadow: 0 0 0 4px rgba(60, 191, 138, 0.1);
}

.eb-blog-search__icon {
  flex-shrink: 0;
  color: var(--eb-text-light);
}

.eb-blog-search__input {
  flex: 1;
  border: none;
  background: transparent;
  font-family: var(--eb-font-body);
  font-size: 1rem;
  color: var(--eb-text);
  outline: none;
}

.eb-blog-search__input::placeholder {
  color: var(--eb-text-light);
}

/* Filter Pills */
.eb-blog-pills {
  display: flex;
  align-items: center;
  gap: var(--eb-space-sm);
  flex-wrap: wrap;
  margin-bottom: var(--eb-space-sm);
}

.eb-blog-pills__label {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--eb-text-light);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-right: var(--eb-space-xs);
}

.eb-blog-pill {
  display: inline-flex;
  align-items: center;
  padding: 6px 16px;
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--eb-text-light);
  background: var(--eb-bg);
  border: 1px solid var(--eb-border);
  border-radius: 50px;
  transition: all 0.25s;
  white-space: nowrap;
}

.eb-blog-pill:hover {
  color: var(--eb-primary);
  border-color: var(--eb-primary);
  background: var(--eb-primary-light);
}

.eb-blog-pill--active {
  color: var(--eb-white);
  background: linear-gradient(135deg, var(--eb-primary) 0%, var(--eb-primary-dark) 100%);
  border-color: var(--eb-primary);
  font-weight: 600;
}

.eb-blog-pill--active:hover {
  color: var(--eb-white);
  background: linear-gradient(135deg, var(--eb-primary-dark) 0%, var(--eb-primary) 100%);
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   BLOG SECTIONS
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.eb-blog-section {
  padding: var(--eb-space-2xl) 0;
}

.eb-blog-section--newsletter-hero {
  padding-top: 0;
  padding-bottom: var(--eb-space-md);
  background: linear-gradient(to bottom, var(--eb-primary-light), var(--eb-white));
}

.eb-blog-section--end-cta,
.eb-blog-section--bottom-cta {
  padding: var(--eb-space-2xl) 0;
}

.eb-blog-section--newsletter-bottom {
  background: var(--eb-bg);
  padding: var(--eb-space-3xl) 0;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   BLOG LISTING
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.eb-blog-listing {
  padding: var(--eb-space-xl) 0 var(--eb-space-3xl);
  min-height: 40vh;
  scroll-margin-top: var(--eb-header-height);
}

.eb-blog-listing__count {
  font-size: 0.9rem;
  color: var(--eb-text-light);
  margin-bottom: var(--eb-space-lg);
}

.eb-blog-listing__count strong {
  color: var(--eb-secondary);
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   BLOG GRID
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.eb-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--eb-space-lg);
}

.eb-blog-grid--related {
  max-width: 100%;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   BLOG CARD
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.eb-blog-card {
  background: var(--eb-white);
  border-radius: var(--eb-radius-lg);
  overflow: hidden;
  border: 1px solid var(--eb-border);
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  opacity: 0;
  transform: translateY(20px);
}

.eb-blog-card.eb-blog-visible,
.eb-animate-stagger.visible .eb-blog-card {
  opacity: 1;
  transform: translateY(0);
}

.eb-blog-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--eb-elevation-3);
  border-color: var(--eb-primary-light);
}

.eb-blog-card__link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.eb-blog-card__image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: var(--eb-bg);
}

.eb-blog-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.eb-blog-card:hover .eb-blog-card__img {
  transform: scale(1.05);
}

.eb-blog-card__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--eb-bg) 0%, var(--eb-primary-light) 100%);
  color: var(--eb-primary);
}

.eb-blog-card__category {
  position: absolute;
  top: var(--eb-space-md);
  left: var(--eb-space-md);
  padding: 4px 14px;
  background: var(--eb-white);
  color: var(--eb-primary-dark);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 50px;
  box-shadow: var(--eb-elevation-1);
}

.eb-blog-card__body {
  padding: var(--eb-space-lg);
}

.eb-blog-card__meta {
  display: flex;
  align-items: center;
  gap: var(--eb-space-sm);
  font-size: 0.8rem;
  color: var(--eb-text-light);
  margin-bottom: var(--eb-space-sm);
  flex-wrap: wrap;
}

.eb-blog-card__meta-dot {
  color: var(--eb-border);
}

.eb-blog-card__industry {
  color: var(--eb-primary);
  font-weight: 600;
}

.eb-blog-card__title {
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: var(--eb-space-sm);
  color: var(--eb-secondary);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.eb-blog-card__excerpt {
  font-size: 0.9rem;
  color: var(--eb-text-light);
  line-height: 1.6;
  margin-bottom: var(--eb-space-md);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.eb-blog-card__readmore {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--eb-primary);
  transition: gap 0.2s;
}

.eb-blog-card:hover .eb-blog-card__readmore {
  gap: 10px;
}

.eb-blog-card__readmore svg {
  transition: transform 0.2s;
}

.eb-blog-card:hover .eb-blog-card__readmore svg {
  transform: translateX(3px);
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   BLOG PAGINATION
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.eb-blog-pagination {
  margin-top: var(--eb-space-2xl);
  display: flex;
  justify-content: center;
}

.eb-blog-pagination .page-numbers {
  display: flex;
  align-items: center;
  gap: var(--eb-space-sm);
  list-style: none;
  padding: 0;
  margin: 0;
}

.eb-blog-pagination .page-numbers li {
  display: flex;
}

.eb-blog-pagination .page-numbers a,
.eb-blog-pagination .page-numbers span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 var(--eb-space-md);
  border-radius: var(--eb-radius-md);
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--eb-text);
  background: var(--eb-white);
  border: 1px solid var(--eb-border);
  transition: all 0.25s;
}

.eb-blog-pagination .page-numbers a:hover {
  color: var(--eb-primary);
  border-color: var(--eb-primary);
  background: var(--eb-primary-light);
  transform: translateY(-2px);
  box-shadow: var(--eb-elevation-1);
}

.eb-blog-pagination .page-numbers span.current {
  color: var(--eb-white);
  background: linear-gradient(135deg, var(--eb-primary) 0%, var(--eb-primary-dark) 100%);
  border-color: var(--eb-primary);
}

.eb-blog-pagination .page-numbers .prev,
.eb-blog-pagination .page-numbers .next {
  padding: 0;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   BLOG EMPTY STATE
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.eb-blog-empty {
  text-align: center;
  padding: var(--eb-space-3xl) var(--eb-space-lg);
  color: var(--eb-text-light);
}

.eb-blog-empty svg {
  color: var(--eb-border);
  margin-bottom: var(--eb-space-lg);
}

.eb-blog-empty h2 {
  font-size: 1.5rem;
  margin-bottom: var(--eb-space-md);
  color: var(--eb-secondary);
}

.eb-blog-empty p {
  margin-bottom: var(--eb-space-lg);
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   BREADCRUMBS
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.eb-blog-breadcrumbs {
  padding-top: calc(var(--eb-header-height) + var(--eb-space-lg));
  padding-bottom: var(--eb-space-md);
  background: var(--eb-bg);
}

.eb-blog-breadcrumbs--inline {
  padding-top: 0;
  padding-bottom: var(--eb-space-md);
  background: transparent;
}

.eb-blog-breadcrumbs__list {
  display: flex;
  align-items: center;
  gap: var(--eb-space-sm);
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0.85rem;
  flex-wrap: wrap;
}

.eb-blog-breadcrumbs__list li::after {
  content: '\203A';
  margin-left: var(--eb-space-sm);
  color: var(--eb-text-light);
}

.eb-blog-breadcrumbs__list li:last-child::after {
  display: none;
}

.eb-blog-breadcrumbs__list a {
  color: var(--eb-primary);
  font-weight: 500;
  transition: color 0.2s;
}

.eb-blog-breadcrumbs__list a:hover {
  color: var(--eb-primary-dark);
}

.eb-blog-breadcrumbs__list li:last-child {
  color: var(--eb-text-light);
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   SINGLE ARTICLE â€” HERO
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.eb-blog-article-hero {
  padding: var(--eb-space-xl) 0 var(--eb-space-2xl);
  background: var(--eb-bg);
}

.eb-blog-article-hero__inner {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.eb-blog-article-hero__meta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--eb-space-md);
  margin-bottom: var(--eb-space-lg);
  flex-wrap: wrap;
}

.eb-blog-article-hero__cat {
  padding: 4px 16px;
  background: linear-gradient(135deg, var(--eb-primary) 0%, var(--eb-primary-dark) 100%);
  color: var(--eb-white);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-radius: 50px;
  transition: box-shadow 0.2s;
}

.eb-blog-article-hero__cat:hover {
  box-shadow: 0 4px 12px rgba(60, 191, 138, 0.35);
}

.eb-blog-article-hero__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.85rem;
  color: var(--eb-text-light);
}

.eb-blog-article-hero__meta-item svg {
  color: var(--eb-primary);
}

.eb-blog-article-hero__title {
  font-size: clamp(1.75rem, 5vw, 2.75rem);
  line-height: 1.2;
  margin-bottom: var(--eb-space-lg);
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.eb-blog-article-hero__tags {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--eb-space-sm);
  flex-wrap: wrap;
}

.eb-blog-tag {
  padding: 4px 14px;
  font-size: 0.8rem;
  font-weight: 600;
  border-radius: 50px;
  border: 1px solid;
}

.eb-blog-tag--industry {
  color: #0d9488;
  border-color: #99f6e4;
  background: #f0fdfa;
}

.eb-blog-tag--usecase {
  color: #7c3aed;
  border-color: #ddd6fe;
  background: #f5f3ff;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   FEATURED IMAGE
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.eb-blog-featured-image {
  padding-bottom: var(--eb-space-xl);
  background: var(--eb-bg);
}

.eb-blog-featured-image__img {
  max-width: 900px;
  margin: 0 auto;
  border-radius: var(--eb-radius-lg);
  box-shadow: var(--eb-elevation-3);
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   ARTICLE LAYOUT (Content + TOC)
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.eb-blog-article {
  padding: var(--eb-space-2xl) 0;
}

.eb-blog-article__layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: var(--eb-space-2xl);
  max-width: 1000px;
  margin: 0 auto;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   TABLE OF CONTENTS
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.eb-blog-toc {
  position: relative;
}

.eb-blog-toc__inner {
  position: sticky;
  top: calc(var(--eb-header-height) + var(--eb-space-lg));
}

.eb-blog-toc__title {
  display: flex;
  align-items: center;
  gap: var(--eb-space-sm);
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--eb-text-light);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: var(--eb-space-md);
}

.eb-blog-toc__title svg {
  color: var(--eb-primary);
}

.eb-blog-toc__list {
  list-style: none;
  padding: 0;
  margin: 0;
  border-left: 2px solid var(--eb-border);
}

.eb-blog-toc__item {
  margin: 0;
}

.eb-blog-toc__item--sub {
  padding-left: var(--eb-space-md);
}

.eb-blog-toc__link {
  display: block;
  padding: 6px 0 6px var(--eb-space-md);
  font-size: 0.82rem;
  color: var(--eb-text-light);
  border-left: 2px solid transparent;
  margin-left: -2px;
  transition: all 0.2s;
  line-height: 1.4;
}

.eb-blog-toc__link:hover {
  color: var(--eb-primary);
}

.eb-blog-toc__link--active {
  color: var(--eb-primary);
  border-left-color: var(--eb-primary);
  font-weight: 600;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   ARTICLE CONTENT TYPOGRAPHY
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.eb-blog-article__content {
  max-width: 700px;
  font-size: 1.05rem;
  line-height: 1.8;
  color: var(--eb-text);
}

.eb-blog-article__content h2 {
  font-size: 1.6rem;
  margin-top: var(--eb-space-2xl);
  margin-bottom: var(--eb-space-md);
  padding-bottom: var(--eb-space-sm);
  border-bottom: 2px solid var(--eb-primary-light);
}

.eb-blog-article__content h3 {
  font-size: 1.25rem;
  margin-top: var(--eb-space-xl);
  margin-bottom: var(--eb-space-md);
}

.eb-blog-article__content h4 {
  font-size: 1.1rem;
  margin-top: var(--eb-space-lg);
  margin-bottom: var(--eb-space-sm);
}

.eb-blog-article__content p {
  margin-bottom: var(--eb-space-lg);
}

.eb-blog-article__content a {
  color: var(--eb-primary);
  font-weight: 500;
  border-bottom: 1px solid rgba(60, 191, 138, 0.3);
  transition: border-color 0.2s;
}

.eb-blog-article__content a:hover {
  border-bottom-color: var(--eb-primary);
}

.eb-blog-article__content img {
  border-radius: var(--eb-radius-md);
  box-shadow: var(--eb-elevation-1);
  margin: var(--eb-space-lg) 0;
}

.eb-blog-article__content ul,
.eb-blog-article__content ol {
  padding-left: var(--eb-space-lg);
  margin-bottom: var(--eb-space-lg);
}

.eb-blog-article__content ul {
  list-style: disc;
}

.eb-blog-article__content ol {
  list-style: decimal;
}

.eb-blog-article__content li {
  margin-bottom: var(--eb-space-sm);
  padding-left: var(--eb-space-sm);
}

.eb-blog-article__content blockquote {
  border-left: 4px solid var(--eb-primary);
  background: var(--eb-primary-light);
  padding: var(--eb-space-lg);
  margin: var(--eb-space-lg) 0;
  border-radius: 0 var(--eb-radius-md) var(--eb-radius-md) 0;
  font-style: italic;
  color: var(--eb-text);
}

.eb-blog-article__content blockquote p:last-child {
  margin-bottom: 0;
}

.eb-blog-article__content pre {
  background: var(--eb-secondary);
  color: #e5e7eb;
  padding: var(--eb-space-lg);
  border-radius: var(--eb-radius-md);
  overflow-x: auto;
  margin: var(--eb-space-lg) 0;
  font-size: 0.9rem;
  line-height: 1.6;
}

.eb-blog-article__content code {
  background: var(--eb-bg);
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 0.9em;
  color: var(--eb-primary-dark);
}

.eb-blog-article__content pre code {
  background: transparent;
  padding: 0;
  color: inherit;
}

.eb-blog-article__content table {
  width: 100%;
  border-collapse: collapse;
  margin: var(--eb-space-lg) 0;
  font-size: 0.95rem;
}

.eb-blog-article__content th,
.eb-blog-article__content td {
  padding: var(--eb-space-md);
  border: 1px solid var(--eb-border);
  text-align: left;
}

.eb-blog-article__content th {
  background: var(--eb-bg);
  font-weight: 700;
}

.eb-blog-article__content hr {
  border: none;
  height: 2px;
  background: var(--eb-border);
  margin: var(--eb-space-2xl) 0;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   BLOG CTAs
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.eb-blog-cta {
  border-radius: var(--eb-radius-lg);
  overflow: visible;
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.eb-blog-cta.eb-blog-animate {
  opacity: 0;
  transform: translateY(20px);
}

.eb-blog-cta.eb-blog-animate.eb-blog-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Inline CTA */
.eb-blog-cta--inline {
  background: linear-gradient(135deg, var(--eb-primary-light) 0%, var(--eb-accent-light) 100%);
  border: 1px solid rgba(60, 191, 138, 0.2);
  margin: var(--eb-space-2xl) 0;
}

.eb-blog-cta--inline .eb-blog-cta__inner {
  display: flex;
  align-items: center;
  gap: var(--eb-space-lg);
  padding: var(--eb-space-xl);
}

.eb-blog-cta--inline .eb-blog-cta__icon {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  background: var(--eb-white);
  border-radius: var(--eb-radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--eb-elevation-1);
  color: var(--eb-primary);
}

.eb-blog-cta__text {
  font-size: 1.05rem;
  font-weight: 500;
  color: var(--eb-text);
  margin-bottom: var(--eb-space-md);
  line-height: 1.5;
}

.eb-blog-cta__btn {
  border-radius: 50px !important;
}

/* End CTA */
.eb-blog-cta--end {
  background: linear-gradient(135deg, var(--eb-secondary) 0%, #2a2a2a 100%);
  text-align: center;
}

.eb-blog-cta--end .eb-blog-cta__inner {
  padding: var(--eb-space-3xl) var(--eb-space-xl);
}

.eb-blog-cta__heading {
  font-size: clamp(1.5rem, 3vw, 2rem);
  color: var(--eb-white);
  margin-bottom: var(--eb-space-md);
}

.eb-blog-cta__subtext {
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: var(--eb-space-xl);
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

/* Newsletter CTA â€” compact horizontal banner */
.eb-blog-cta--newsletter {
  background: var(--eb-white);
  border: 1px solid var(--eb-border);
  box-shadow: var(--eb-elevation-1);
  text-align: left;
}

.eb-blog-cta--newsletter .eb-blog-cta__inner {
  padding: var(--eb-space-lg) var(--eb-space-xl);
  display: flex;
  align-items: center;
  gap: var(--eb-space-xl);
  flex-wrap: wrap;
}

.eb-blog-cta--newsletter .eb-blog-cta__icon {
  width: 44px;
  height: 44px;
  min-width: 44px;
  background: var(--eb-primary-light);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--eb-primary);
}

.eb-blog-cta--newsletter .eb-blog-cta__icon svg {
  width: 22px;
  height: 22px;
}

.eb-blog-cta--newsletter .eb-blog-cta__text-group {
  flex: 1;
  min-width: 200px;
}

.eb-blog-cta--newsletter .eb-blog-cta__heading {
  color: var(--eb-secondary);
  font-size: 1.1rem;
  margin-bottom: 2px;
}

.eb-blog-cta--newsletter .eb-blog-cta__subtext {
  color: var(--eb-text-light);
  font-size: 0.9rem;
  margin-bottom: 0;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

/* Newsletter Form */
.eb-blog-newsletter {
  max-width: 420px;
  margin: 0;
  flex-shrink: 0;
}

.eb-blog-newsletter__row {
  display: flex;
  gap: var(--eb-space-sm);
}

.eb-blog-newsletter__input {
  flex: 1;
  padding: 14px 20px;
  border: 2px solid var(--eb-border);
  border-radius: 50px;
  font-family: var(--eb-font-body);
  font-size: 1rem;
  color: var(--eb-text);
  background: var(--eb-bg);
  outline: none;
  transition: border-color 0.3s;
}

.eb-blog-newsletter__input:focus {
  border-color: var(--eb-primary);
}

.eb-blog-newsletter__btn {
  border-radius: 50px;
  padding: 14px 28px;
  white-space: nowrap;
}

.eb-blog-newsletter__note {
  font-size: 0.8rem;
  color: var(--eb-text-light);
  margin-top: var(--eb-space-sm);
  transition: color 0.3s;
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   RELATED POSTS
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.eb-blog-related {
  padding: var(--eb-space-3xl) 0;
  background: var(--eb-bg);
}

/* â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   BLOG RESPONSIVE
   â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@media (max-width: 992px) {
  .eb-blog-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .eb-blog-article__layout {
    grid-template-columns: 1fr;
  }

  .eb-blog-toc {
    order: -1;
  }

  .eb-blog-toc__inner {
    position: static;
    margin-bottom: var(--eb-space-lg);
    padding: var(--eb-space-lg);
    background: var(--eb-bg);
    border-radius: var(--eb-radius-md);
    border: 1px solid var(--eb-border);
  }

  .eb-blog-toc__list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--eb-space-xs);
    border-left: none;
  }

  .eb-blog-toc__link {
    border-left: none;
    margin-left: 0;
    padding: 4px 12px;
    background: var(--eb-white);
    border-radius: 50px;
    border: 1px solid var(--eb-border);
    font-size: 0.8rem;
  }

  .eb-blog-toc__link--active {
    background: var(--eb-primary-light);
    border-color: var(--eb-primary);
  }

  .eb-blog-toc__item--sub {
    padding-left: 0;
  }
}

@media (max-width: 768px) {
  .eb-blog-grid {
    grid-template-columns: 1fr;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
  }

  .eb-blog-hero {
    padding-top: calc(var(--eb-header-height) + var(--eb-space-xl));
    padding-bottom: var(--eb-space-xl);
  }

  .eb-blog-filters {
    padding: var(--eb-space-md) 0;
  }

  .eb-blog-pills {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: var(--eb-space-sm);
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .eb-blog-pills::-webkit-scrollbar {
    display: none;
  }

  .eb-blog-cta--inline .eb-blog-cta__inner {
    flex-direction: column;
    text-align: center;
  }

  .eb-blog-article-hero__title {
    font-size: clamp(1.5rem, 5vw, 2rem);
  }

  .eb-blog-newsletter__row {
    flex-direction: column;
  }

  .eb-blog-newsletter__btn {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .eb-blog-article-hero__meta {
    flex-direction: column;
    gap: var(--eb-space-sm);
  }

  .eb-blog-card__body {
    padding: var(--eb-space-md);
  }

  .eb-blog-cta--end .eb-blog-cta__inner,
  .eb-blog-cta--newsletter .eb-blog-cta__inner {
    padding: var(--eb-space-xl) var(--eb-space-md);
  }
}

/* ===================================================
   MAILPOET - NEWSLETTER OVERRIDES
   Scoped to .eb-mailpoet-newsletter-wrap only.

   Actual MailPoet HTML (from inspector):
   form.mailpoet_form
     div.mailpoet_paragraph       <- email input
     div.mailpoet_paragraph.last  <- submit button
     div.mailpoet_message         <- success/error
   =================================================== */

/* Wrapper sits in the CTA flex banner row */
.eb-mailpoet-newsletter-wrap {
  flex-shrink: 0;
  max-width: 500px;
  width: 100%;
}

/* KEY FIX: flex the <form> itself as a row.
   .mailpoet_form_body does NOT exist in MailPoet HTML.
   The two paragraphs are direct children of <form>. */
.eb-mailpoet-newsletter-wrap form.mailpoet_form {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  width: 100% !important;
}

/* Hide honeypot */
.eb-mailpoet-newsletter-wrap .mailpoet_hp_email_label {
  display: none !important;
  position: absolute !important;
  left: -9999px !important;
}

/* Each field paragraph */
.eb-mailpoet-newsletter-wrap .mailpoet_paragraph {
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

/* Email paragraph fills remaining space */
.eb-mailpoet-newsletter-wrap .mailpoet_paragraph:not(.last) {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

/* Submit paragraph stays compact */
.eb-mailpoet-newsletter-wrap .mailpoet_paragraph.last {
  flex: 0 0 auto !important;
}

/* Hide loading dots */
.eb-mailpoet-newsletter-wrap .mailpoet_form_loading {
  display: none !important;
}

/* -- EMAIL INPUT ------------------------------------ */
.eb-mailpoet-newsletter-wrap input.mailpoet_text[type="email"] {
  display: block !important;
  width: 100% !important;
  padding: 14px 20px !important;
  border: 2px solid var(--eb-border) !important;
  border-radius: 50px !important;
  font-family: var(--eb-font-body) !important;
  font-size: 1rem !important;
  color: var(--eb-text) !important;
  background: var(--eb-bg) !important;
  outline: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  transition: border-color 0.3s, box-shadow 0.3s !important;
  appearance: none !important;
  text-align: left !important;
}

.eb-mailpoet-newsletter-wrap input.mailpoet_text[type="email"]:focus {
  border-color: var(--eb-primary) !important;
  box-shadow: 0 0 0 4px rgba(60, 191, 138, 0.1) !important;
}

.eb-mailpoet-newsletter-wrap input.mailpoet_text[type="email"]::placeholder {
  color: var(--eb-text-light) !important;
  opacity: 1 !important;
}

/* -- SUBMIT BUTTON ---------------------------------- */
/* Include .mailpoet_submit class to beat inline style specificity */
.eb-mailpoet-newsletter-wrap input.mailpoet_submit[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: max-content !important;
  flex-shrink: 0 !important;
  padding: 14px 28px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  background: linear-gradient(135deg, var(--eb-primary) 0%, var(--eb-primary-dark) 100%) !important;
  color: var(--eb-white) !important;
  font-family: var(--eb-font-heading) !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  border: none !important;
  border-radius: 50px !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  box-shadow: 0 4px 15px rgba(60, 191, 138, 0.35) !important;
  white-space: nowrap !important;
  appearance: none !important;
  text-align: center !important;
}

.eb-mailpoet-newsletter-wrap input.mailpoet_submit[type="submit"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(60, 191, 138, 0.45) !important;
}

/* -- STATUS MESSAGES -------------------------------- */
.eb-mailpoet-newsletter-wrap .mailpoet_message {
  flex-basis: 100% !important;
  margin-top: 8px !important;
  font-size: 0.85rem !important;
}

.eb-mailpoet-newsletter-wrap .mailpoet_validate_success {
  color: var(--eb-primary-dark) !important;
}

.eb-mailpoet-newsletter-wrap .mailpoet_validate_error {
  color: #e53e3e !important;
}

/* -- RESPONSIVE ------------------------------------- */
@media (max-width: 640px) {
  .eb-mailpoet-newsletter-wrap {
    max-width: 100%;
  }

  .eb-mailpoet-newsletter-wrap form.mailpoet_form {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .eb-mailpoet-newsletter-wrap input.mailpoet_submit[type="submit"] {
    width: 100% !important;
  }
}

/* ===================================================
   MAILPOET - REUSABLE STYLED FORM CLASS
   Add class="eb-mailpoet-styled" to ANY wrapper div
   around a [mailpoet_form] shortcode to apply the
   same premium pill-input + green-button design.

   Usage in a page template or Gutenberg Custom HTML block:
   <div class="eb-mailpoet-styled">
     [mailpoet_form id="3"]
   </div>
   =================================================== */
.eb-mailpoet-styled form.mailpoet_form {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  width: 100% !important;
}

.eb-mailpoet-styled .mailpoet_hp_email_label {
  display: none !important;
  position: absolute !important;
  left: -9999px !important;
}

.eb-mailpoet-styled .mailpoet_paragraph {
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

.eb-mailpoet-styled .mailpoet_paragraph:not(.last) {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.eb-mailpoet-styled .mailpoet_paragraph.last {
  flex: 0 0 auto !important;
}

.eb-mailpoet-styled .mailpoet_form_loading {
  display: none !important;
}

.eb-mailpoet-styled input.mailpoet_text[type="email"] {
  display: block !important;
  width: 100% !important;
  padding: 14px 20px !important;
  border: 2px solid var(--eb-border) !important;
  border-radius: 50px !important;
  font-family: var(--eb-font-body) !important;
  font-size: 1rem !important;
  color: var(--eb-text) !important;
  background: var(--eb-bg) !important;
  outline: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  transition: border-color 0.3s, box-shadow 0.3s !important;
  appearance: none !important;
}

.eb-mailpoet-styled input.mailpoet_text[type="email"]:focus {
  border-color: var(--eb-primary) !important;
  box-shadow: 0 0 0 4px rgba(60, 191, 138, 0.1) !important;
}

.eb-mailpoet-styled input.mailpoet_text[type="email"]::placeholder {
  color: var(--eb-text-light) !important;
  opacity: 1 !important;
}

.eb-mailpoet-styled input.mailpoet_submit[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: max-content !important;
  flex-shrink: 0 !important;
  padding: 14px 28px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  background: linear-gradient(135deg, var(--eb-primary) 0%, var(--eb-primary-dark) 100%) !important;
  color: var(--eb-white) !important;
  font-family: var(--eb-font-heading) !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  border: none !important;
  border-radius: 50px !important;
  cursor: pointer !important;
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  box-shadow: 0 4px 15px rgba(60, 191, 138, 0.35) !important;
  white-space: nowrap !important;
  appearance: none !important;
  text-align: center !important;
}

.eb-mailpoet-styled input.mailpoet_submit[type="submit"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(60, 191, 138, 0.45) !important;
}

.eb-mailpoet-styled .mailpoet_message {
  flex-basis: 100% !important;
  margin-top: 8px !important;
  font-size: 0.85rem !important;
}

.eb-mailpoet-styled .mailpoet_validate_success {
  color: var(--eb-primary-dark) !important;
}

.eb-mailpoet-styled .mailpoet_validate_error {
  color: #e53e3e !important;
}

@media (max-width: 640px) {
  .eb-mailpoet-styled form.mailpoet_form {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .eb-mailpoet-styled input.mailpoet_submit[type="submit"] {
    width: 100% !important;
  }
}

/* ═══════════════════════════════════════════════════════
   LEGAL PAGES — Privacy Policy & Terms of Service
   ═══════════════════════════════════════════════════════ */

/* ── Hero ─────────────────────────────────────────────── */
.eb-legal-hero {
  padding-top: calc(var(--eb-header-height) + var(--eb-space-2xl));
  padding-bottom: var(--eb-space-xl);
  background: linear-gradient(160deg, var(--eb-bg) 0%, var(--eb-white) 60%, var(--eb-primary-light) 100%);
  border-bottom: 1px solid var(--eb-border);
}

.eb-legal-hero__inner {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}

.eb-legal-hero__icon {
  width: 64px;
  height: 64px;
  background: var(--eb-primary-light);
  border-radius: var(--eb-radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--eb-space-lg);
}

.eb-legal-hero__icon svg {
  width: 32px;
  height: 32px;
  color: var(--eb-primary);
}

.eb-legal-hero__title {
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  color: var(--eb-secondary);
  margin-bottom: var(--eb-space-sm);
}

.eb-legal-hero__meta {
  font-size: 0.875rem;
  color: var(--eb-text-light);
  margin-bottom: var(--eb-space-md);
  font-style: italic;
}

.eb-legal-hero__intro {
  font-size: 1.05rem;
  color: var(--eb-text-light);
  line-height: 1.75;
  max-width: 640px;
  margin: 0 auto;
}

/* ── Table of Contents ────────────────────────────────── */
.eb-legal-toc-section {
  background: var(--eb-white);
  border-bottom: 1px solid var(--eb-border);
  padding: var(--eb-space-lg) 0;
}

.eb-legal-toc {
  max-width: 760px;
  margin: 0 auto;
  background: var(--eb-bg);
  border: 1px solid var(--eb-border);
  border-radius: var(--eb-radius-md);
  padding: var(--eb-space-lg);
}

.eb-legal-toc__title {
  font-weight: 700;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: var(--eb-text-light);
  margin-bottom: var(--eb-space-md);
}

.eb-legal-toc__list {
  list-style: decimal;
  list-style-position: inside;
  display: flex;
  flex-direction: column;
  gap: var(--eb-space-sm);
}

.eb-legal-toc__list li {
  font-size: 0.95rem;
  list-style: decimal;
}

.eb-legal-toc__list a {
  color: var(--eb-primary-dark);
  text-decoration: none;
  transition: color 0.2s;
}

.eb-legal-toc__list a:hover {
  color: var(--eb-primary);
  text-decoration: underline;
}

/* ── Body ─────────────────────────────────────────────── */
.eb-legal-body {
  padding: var(--eb-space-2xl) 0 var(--eb-space-3xl);
  background: var(--eb-bg);
}

.eb-legal-content {
  max-width: 760px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: var(--eb-space-xl);
}

/* ── Individual Section ───────────────────────────────── */
.eb-legal-section {
  background: var(--eb-white);
  border: 1px solid var(--eb-border);
  border-radius: var(--eb-radius-md);
  padding: var(--eb-space-xl);
  box-shadow: var(--eb-elevation-1);
  scroll-margin-top: calc(var(--eb-header-height) + var(--eb-space-md));
  transition: box-shadow 0.25s;
}

.eb-legal-section:hover {
  box-shadow: var(--eb-elevation-2);
}

.eb-legal-section__heading {
  font-size: 1.2rem;
  color: var(--eb-secondary);
  margin-bottom: var(--eb-space-md);
  padding-bottom: var(--eb-space-sm);
  border-bottom: 2px solid var(--eb-primary-light);
  display: flex;
  align-items: center;
  gap: var(--eb-space-sm);
}

.eb-legal-section__body {
  font-size: 0.975rem;
  color: var(--eb-text);
  line-height: 1.85;
}

.eb-legal-section__body p {
  margin-bottom: var(--eb-space-md);
}

.eb-legal-section__body p:last-child {
  margin-bottom: 0;
}

/* ── Footer Navigation ────────────────────────────────── */
.eb-legal-footer-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: var(--eb-space-lg);
  border-top: 1px solid var(--eb-border);
  flex-wrap: wrap;
  gap: var(--eb-space-md);
}

.eb-legal-back-top {
  font-size: 0.9rem;
  color: var(--eb-text-light);
  transition: color 0.2s;
}

.eb-legal-back-top:hover {
  color: var(--eb-primary);
}

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 768px) {
  .eb-legal-section {
    padding: var(--eb-space-lg);
  }

  .eb-legal-toc {
    padding: var(--eb-space-md);
  }

  .eb-legal-footer-nav {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ═══════════════════════════════════════════════════════
   CONTACT PAGE
   ═══════════════════════════════════════════════════════ */

/* ── Hero ─────────────────────────────────────────────── */
.eb-contact-hero {
  padding-top: calc(var(--eb-header-height) + var(--eb-space-2xl));
  padding-bottom: var(--eb-space-xl);
  background: linear-gradient(160deg, var(--eb-bg) 0%, var(--eb-white) 60%, var(--eb-primary-light) 100%);
  border-bottom: 1px solid var(--eb-border);
  text-align: center;
}

.eb-contact-hero__inner {
  max-width: 640px;
  margin: 0 auto;
}

.eb-contact-hero__icon {
  width: 64px;
  height: 64px;
  background: var(--eb-primary-light);
  border-radius: var(--eb-radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--eb-space-lg);
}

.eb-contact-hero__icon svg {
  width: 32px;
  height: 32px;
  color: var(--eb-primary);
}

.eb-contact-hero__title {
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  color: var(--eb-secondary);
  margin-bottom: var(--eb-space-md);
}

.eb-contact-hero__intro {
  font-size: 1.05rem;
  color: var(--eb-text-light);
  line-height: 1.75;
}

/* ── Body Layout ──────────────────────────────────────── */
.eb-contact-body {
  padding: var(--eb-space-2xl) 0 var(--eb-space-3xl);
  background: var(--eb-bg);
}

.eb-contact-layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: var(--eb-space-xl);
  align-items: start;
  max-width: 1000px;
  margin: 0 auto;
}

/* ── Form Card ────────────────────────────────────────── */
.eb-contact-form-card {
  background: var(--eb-white);
  border: 1px solid var(--eb-border);
  border-radius: var(--eb-radius-lg);
  padding: var(--eb-space-xl);
  box-shadow: var(--eb-elevation-1);
}

.eb-contact-form-card__heading {
  font-size: 1.35rem;
  color: var(--eb-secondary);
  margin-bottom: var(--eb-space-lg);
  padding-bottom: var(--eb-space-sm);
  border-bottom: 2px solid var(--eb-primary-light);
}

/* MailPoet form wrapper inside contact card — vertical stacked layout */
.eb-contact-form-wrap {
  margin-top: var(--eb-space-md);
}

/*
 * Override the horizontal newsletter flex layout so the contact form
 * displays as a full-width stacked form: email on one line, button below.
 * All rules use !important to beat the same-specificity newsletter overrides.
 */
.eb-contact-form-wrap form.mailpoet_form {
  display: block !important;
  width: 100% !important;
}

.eb-contact-form-wrap .mailpoet_paragraph {
  display: block !important;
  width: 100% !important;
  margin: 0 0 var(--eb-space-md) !important;
  padding: 0 !important;
  flex: none !important;
}

.eb-contact-form-wrap .mailpoet_paragraph.last {
  margin-bottom: 0 !important;
}

.eb-contact-form-wrap input.mailpoet_text[type="email"] {
  display: block !important;
  width: 100% !important;
  padding: 14px 20px !important;
  border: 2px solid var(--eb-border) !important;
  border-radius: var(--eb-radius-md) !important;
  font-family: var(--eb-font-body) !important;
  font-size: 1rem !important;
  color: var(--eb-text) !important;
  background: var(--eb-bg) !important;
  outline: none !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  transition: border-color 0.3s, box-shadow 0.3s !important;
  appearance: none !important;
}

.eb-contact-form-wrap input.mailpoet_text[type="email"]:focus {
  border-color: var(--eb-primary) !important;
  box-shadow: 0 0 0 4px rgba(60, 191, 138, 0.12) !important;
}

.eb-contact-form-wrap input.mailpoet_text[type="email"]::placeholder {
  color: var(--eb-text-light) !important;
  opacity: 1 !important;
}

.eb-contact-form-wrap input.mailpoet_submit[type="submit"] {
  display: block !important;
  width: 100% !important;
  padding: 15px 28px !important;
  background: linear-gradient(135deg, var(--eb-primary) 0%, var(--eb-primary-dark) 100%) !important;
  color: var(--eb-white) !important;
  font-family: var(--eb-font-heading) !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  letter-spacing: 0.3px !important;
  border: none !important;
  border-radius: var(--eb-radius-md) !important;
  cursor: pointer !important;
  box-shadow: 0 4px 15px rgba(60, 191, 138, 0.35) !important;
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  text-transform: none !important;
  box-sizing: border-box !important;
  appearance: none !important;
}

.eb-contact-form-wrap input.mailpoet_submit[type="submit"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(60, 191, 138, 0.45) !important;
}

.eb-contact-form-wrap .mailpoet_message {
  margin-top: var(--eb-space-sm) !important;
  font-size: 0.9rem !important;
}

/* ── Placeholder (when no form ID set) ───────────────── */
.eb-contact-form-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--eb-space-sm);
  padding: var(--eb-space-2xl) var(--eb-space-xl);
  background: var(--eb-bg);
  border: 2px dashed var(--eb-border);
  border-radius: var(--eb-radius-md);
  text-align: center;
  color: var(--eb-text-light);
}

.eb-contact-form-placeholder svg {
  color: var(--eb-border);
}

.eb-contact-form-placeholder p {
  font-size: 0.95rem;
  margin: 0;
}

.eb-contact-form-placeholder__hint {
  font-size: 0.82rem !important;
  margin-top: var(--eb-space-sm) !important;
  opacity: 0.8;
}

/* ── Sidebar ──────────────────────────────────────────── */
.eb-contact-sidebar {
  display: flex;
  flex-direction: column;
  gap: var(--eb-space-md);
}

/* ── Info Cards ───────────────────────────────────────── */
.eb-contact-info-card {
  background: var(--eb-white);
  border: 1px solid var(--eb-border);
  border-radius: var(--eb-radius-md);
  padding: var(--eb-space-lg);
  display: flex;
  gap: var(--eb-space-md);
  align-items: flex-start;
  box-shadow: var(--eb-elevation-1);
  transition: box-shadow 0.25s, transform 0.25s;
}

.eb-contact-info-card:hover {
  box-shadow: var(--eb-elevation-2);
  transform: translateY(-2px);
}

.eb-contact-info-card__icon {
  width: 44px;
  height: 44px;
  min-width: 44px;
  background: var(--eb-primary-light);
  border-radius: var(--eb-radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
}

.eb-contact-info-card__icon svg {
  width: 22px;
  height: 22px;
  color: var(--eb-primary);
}

.eb-contact-info-card__content {
  flex: 1;
}

.eb-contact-info-card__label {
  font-weight: 700;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--eb-text-light);
  margin-bottom: var(--eb-space-xs);
}

.eb-contact-info-card__body {
  font-size: 0.95rem;
  color: var(--eb-text);
  line-height: 1.6;
  margin-bottom: var(--eb-space-xs);
}

.eb-contact-info-card__link {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--eb-primary-dark);
  transition: color 0.2s;
}

.eb-contact-info-card__link:hover {
  color: var(--eb-primary);
  text-decoration: underline;
}

/* ── Trust Note ───────────────────────────────────────── */
.eb-contact-trust {
  display: flex;
  align-items: center;
  gap: var(--eb-space-sm);
  padding: var(--eb-space-md);
  background: var(--eb-accent-light);
  border-radius: var(--eb-radius-sm);
  font-size: 0.875rem;
  color: var(--eb-primary-dark);
  font-weight: 500;
}

.eb-contact-trust svg {
  flex-shrink: 0;
  color: var(--eb-primary);
}

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 900px) {
  .eb-contact-layout {
    grid-template-columns: 1fr;
  }

  .eb-contact-sidebar {
    order: -1; /* Move sidebar above form on small screens */
    flex-direction: row;
    flex-wrap: wrap;
  }

  .eb-contact-info-card {
    flex: 1 1 260px;
  }
}

@media (max-width: 600px) {
  .eb-contact-form-card {
    padding: var(--eb-space-lg);
  }

  .eb-contact-sidebar {
    flex-direction: column;
  }
}

/* ═══════════════════════════════════════════════════════
   FAQ PAGE
   ═══════════════════════════════════════════════════════ */

/* ── Hero ─────────────────────────────────────────────── */
.eb-faq-hero {
  padding-top: calc(var(--eb-header-height) + var(--eb-space-2xl));
  padding-bottom: var(--eb-space-xl);
  background: linear-gradient(160deg, var(--eb-bg) 0%, var(--eb-white) 60%, var(--eb-primary-light) 100%);
  border-bottom: 1px solid var(--eb-border);
  text-align: center;
}

.eb-faq-hero__inner {
  max-width: 680px;
  margin: 0 auto;
}

.eb-faq-hero__icon {
  width: 64px;
  height: 64px;
  background: var(--eb-primary-light);
  border-radius: var(--eb-radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--eb-space-lg);
}

.eb-faq-hero__icon svg {
  width: 32px;
  height: 32px;
  color: var(--eb-primary);
}

.eb-faq-hero__title {
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  color: var(--eb-secondary);
  margin-bottom: var(--eb-space-md);
}

.eb-faq-hero__intro {
  font-size: 1.05rem;
  color: var(--eb-text-light);
  line-height: 1.75;
}

/* ── Category chip nav ────────────────────────────────── */
.eb-faq-cat-nav-section {
  background: var(--eb-white);
  border-bottom: 1px solid var(--eb-border);
  padding: var(--eb-space-md) 0;
  position: sticky;
  top: var(--eb-header-height);
  z-index: 900;
}

.eb-faq-cat-nav {
  display: flex;
  gap: var(--eb-space-sm);
  flex-wrap: wrap;
  justify-content: center;
}

.eb-faq-cat-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 16px;
  background: var(--eb-bg);
  border: 1px solid var(--eb-border);
  border-radius: 50px;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--eb-text-light);
  transition: all 0.2s;
  text-decoration: none;
}

.eb-faq-cat-chip svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  color: var(--eb-text-light);
  transition: color 0.2s;
}

.eb-faq-cat-chip:hover,
.eb-faq-cat-chip.is-active {
  background: var(--eb-primary-light);
  border-color: var(--eb-primary);
  color: var(--eb-primary-dark);
}

.eb-faq-cat-chip:hover svg,
.eb-faq-cat-chip.is-active svg {
  color: var(--eb-primary);
}

/* ── Body ─────────────────────────────────────────────── */
.eb-faq-body {
  padding: var(--eb-space-2xl) 0 var(--eb-space-3xl);
  background: var(--eb-bg);
}

.eb-faq-content {
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: var(--eb-space-2xl);
}

/* ── Category Group ───────────────────────────────────── */
.eb-faq-group {
  scroll-margin-top: calc(var(--eb-header-height) + 60px); /* account for sticky cat nav */
}

.eb-faq-group__header {
  display: flex;
  align-items: center;
  gap: var(--eb-space-md);
  margin-bottom: var(--eb-space-lg);
}

.eb-faq-group__icon {
  width: 44px;
  height: 44px;
  min-width: 44px;
  background: var(--eb-primary-light);
  border-radius: var(--eb-radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
}

.eb-faq-group__icon svg {
  width: 22px;
  height: 22px;
  color: var(--eb-primary);
}

.eb-faq-group__title {
  font-size: 1.25rem;
  color: var(--eb-secondary);
}

/* ── Accordion ────────────────────────────────────────── */
.eb-faq-accordion {
  display: flex;
  flex-direction: column;
  gap: var(--eb-space-sm);
}

.eb-faq-item {
  background: var(--eb-white);
  border: 1px solid var(--eb-border);
  border-radius: var(--eb-radius-md);
  overflow: hidden;
  transition: box-shadow 0.25s;
}

.eb-faq-item[data-open] {
  box-shadow: var(--eb-elevation-2);
  border-color: var(--eb-primary);
}

.eb-faq-item__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--eb-space-md);
  width: 100%;
  padding: var(--eb-space-lg);
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: var(--eb-font-heading);
  font-weight: 600;
  font-size: 1rem;
  color: var(--eb-secondary);
  transition: color 0.2s;
}

.eb-faq-item__question:hover {
  color: var(--eb-primary);
}

.eb-faq-item[data-open] .eb-faq-item__question {
  color: var(--eb-primary-dark);
}

.eb-faq-item__chevron {
  width: 20px;
  height: 20px;
  min-width: 20px;
  color: var(--eb-text-light);
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.eb-faq-item[data-open] .eb-faq-item__chevron {
  transform: rotate(180deg);
  color: var(--eb-primary);
}

.eb-faq-item__answer {
  overflow: hidden;
}

.eb-faq-item__answer-inner {
  padding: 0 var(--eb-space-lg) var(--eb-space-lg);
  font-size: 0.975rem;
  color: var(--eb-text);
  line-height: 1.85;
  border-top: 1px solid var(--eb-border);
  padding-top: var(--eb-space-md);
}

.eb-faq-item__answer-inner p {
  margin-bottom: var(--eb-space-md);
}

.eb-faq-item__answer-inner p:last-child {
  margin-bottom: 0;
}

/* ── Bottom CTA ───────────────────────────────────────── */
.eb-faq-cta {
  display: flex;
  align-items: center;
  gap: var(--eb-space-lg);
  background: linear-gradient(135deg, var(--eb-primary-light) 0%, var(--eb-accent-light) 100%);
  border: 1px solid var(--eb-primary);
  border-radius: var(--eb-radius-lg);
  padding: var(--eb-space-xl);
  flex-wrap: wrap;
}

.eb-faq-cta__icon {
  width: 52px;
  height: 52px;
  min-width: 52px;
  background: var(--eb-white);
  border-radius: var(--eb-radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--eb-elevation-1);
}

.eb-faq-cta__icon svg {
  width: 26px;
  height: 26px;
  color: var(--eb-primary);
}

.eb-faq-cta__content {
  flex: 1;
  min-width: 200px;
}

.eb-faq-cta__heading {
  font-size: 1.1rem;
  color: var(--eb-secondary);
  margin-bottom: var(--eb-space-xs);
}

.eb-faq-cta__body {
  font-size: 0.95rem;
  color: var(--eb-text-light);
  line-height: 1.5;
  margin: 0;
}

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 768px) {
  .eb-faq-cat-nav-section {
    padding: var(--eb-space-sm) 0;
  }

  .eb-faq-cat-chip {
    font-size: 0.8rem;
    padding: 6px 12px;
  }

  .eb-faq-cta {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--eb-space-md);
  }
}

@media (max-width: 480px) {
  .eb-faq-item__question {
    font-size: 0.95rem;
    padding: var(--eb-space-md);
  }

  .eb-faq-item__answer-inner {
    padding: var(--eb-space-sm) var(--eb-space-md) var(--eb-space-md);
  }
}

/* ═══════════════════════════════════════════════════════
   TRIAL REQUEST PAGE
   ═══════════════════════════════════════════════════════ */

/* ── Hero ─────────────────────────────────────────────── */
.eb-trial-hero {
  padding-top: calc(var(--eb-header-height) + var(--eb-space-2xl));
  padding-bottom: var(--eb-space-2xl);
  background: linear-gradient(160deg, var(--eb-bg) 0%, var(--eb-white) 50%, var(--eb-primary-light) 100%);
  border-bottom: 1px solid var(--eb-border);
  text-align: center;
}

.eb-trial-hero__inner {
  max-width: 680px;
  margin: 0 auto;
}

/* Animated check circle */
.eb-trial-hero__check {
  width: 88px;
  height: 88px;
  margin: 0 auto var(--eb-space-xl);
}

.eb-trial-check-svg {
  width: 100%;
  height: 100%;
}

.eb-trial-check-circle {
  stroke: var(--eb-primary);
  stroke-width: 2;
  stroke-dasharray: 166;
  stroke-dashoffset: 166;
  animation: eb-draw-circle 0.6s cubic-bezier(0.65, 0, 0.45, 1) 0.2s forwards;
}

.eb-trial-check-tick {
  stroke: var(--eb-primary);
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-dasharray: 48;
  stroke-dashoffset: 48;
  animation: eb-draw-tick 0.4s cubic-bezier(0.65, 0, 0.45, 1) 0.7s forwards;
}

@keyframes eb-draw-circle {
  100% { stroke-dashoffset: 0; }
}

@keyframes eb-draw-tick {
  100% { stroke-dashoffset: 0; }
}

.eb-trial-hero__title {
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  color: var(--eb-secondary);
  margin-bottom: var(--eb-space-md);
  animation: fadeInUp 0.6s ease-out 1s both;
}

.eb-trial-hero__intro {
  font-size: 1.05rem;
  color: var(--eb-text-light);
  line-height: 1.8;
  animation: fadeInUp 0.6s ease-out 1.1s both;
}

/* ── What Happens Next — steps ────────────────────────── */
.eb-trial-steps {
  padding: var(--eb-space-2xl) 0;
  background: var(--eb-white);
}

.eb-trial-steps__heading {
  font-size: clamp(1.4rem, 3vw, 2rem);
  text-align: center;
  margin-bottom: var(--eb-space-xl);
  color: var(--eb-secondary);
}

.eb-trial-steps__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--eb-space-lg);
  max-width: 960px;
  margin: 0 auto;
}

.eb-trial-step {
  background: var(--eb-bg);
  border: 1px solid var(--eb-border);
  border-radius: var(--eb-radius-md);
  padding: var(--eb-space-xl) var(--eb-space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--eb-space-md);
  transition: box-shadow 0.25s, transform 0.25s;
}

.eb-trial-step:hover {
  box-shadow: var(--eb-elevation-2);
  transform: translateY(-3px);
}

.eb-trial-step__num {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--eb-primary) 0%, var(--eb-primary-dark) 100%);
  color: var(--eb-white);
  font-weight: 800;
  font-size: 1.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(60, 191, 138, 0.35);
  flex-shrink: 0;
}

.eb-trial-step__heading {
  font-size: 1.1rem;
  color: var(--eb-secondary);
  margin: 0;
}

.eb-trial-step__body {
  font-size: 0.95rem;
  color: var(--eb-text-light);
  line-height: 1.75;
}

.eb-trial-step__body p {
  margin-bottom: var(--eb-space-sm);
}

.eb-trial-step__body p:last-child {
  margin-bottom: 0;
}

/* ── Resources ────────────────────────────────────────── */
.eb-trial-resources {
  background: var(--eb-bg);
  padding: var(--eb-space-2xl) 0;
}

.eb-trial-resources__intro {
  text-align: center;
  font-size: 1.05rem;
  color: var(--eb-text-light);
  margin-top: calc(var(--eb-space-md) * -1);
  margin-bottom: var(--eb-space-xl);
}

.eb-trial-resources__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--eb-space-lg);
  max-width: 860px;
  margin: 0 auto;
}

.eb-trial-resource-card {
  background: var(--eb-white);
  border: 1px solid var(--eb-border);
  border-radius: var(--eb-radius-md);
  padding: var(--eb-space-xl);
  display: flex;
  gap: var(--eb-space-md);
  align-items: flex-start;
  box-shadow: var(--eb-elevation-1);
  transition: box-shadow 0.25s, transform 0.25s, border-color 0.2s;
  text-decoration: none;
  color: inherit;
}

.eb-trial-resource-card:hover {
  box-shadow: var(--eb-elevation-2);
  transform: translateY(-3px);
  border-color: var(--eb-primary);
}

.eb-trial-resource-card__icon {
  width: 48px;
  height: 48px;
  min-width: 48px;
  background: var(--eb-primary-light);
  border-radius: var(--eb-radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
}

.eb-trial-resource-card__icon svg {
  width: 24px;
  height: 24px;
  color: var(--eb-primary);
}

.eb-trial-resource-card__content {
  flex: 1;
}

.eb-trial-resource-card__heading {
  font-size: 1rem;
  color: var(--eb-secondary);
  margin-bottom: var(--eb-space-sm);
  line-height: 1.4;
}

.eb-trial-resource-card__body {
  font-size: 0.9rem;
  color: var(--eb-text-light);
  line-height: 1.6;
  margin-bottom: var(--eb-space-md);
}

.eb-trial-resource-card__cta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--eb-primary-dark);
  transition: color 0.2s, gap 0.2s;
}

.eb-trial-resource-card:hover .eb-trial-resource-card__cta {
  color: var(--eb-primary);
  gap: 8px;
}

/* ── Brand Quote ──────────────────────────────────────── */
.eb-trial-quote-section {
  background: var(--eb-white);
  padding: var(--eb-space-2xl) 0;
  border-top: 1px solid var(--eb-border);
}

.eb-trial-quote {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
  position: relative;
}

.eb-trial-quote__mark {
  font-size: 5rem;
  line-height: 1;
  color: var(--eb-primary-light);
  font-family: Georgia, serif;
  position: absolute;
  top: -20px;
  left: 0;
  pointer-events: none;
  user-select: none;
}

.eb-trial-quote__text {
  font-size: clamp(1.05rem, 2.5vw, 1.35rem);
  font-style: italic;
  color: var(--eb-secondary);
  line-height: 1.7;
  margin: 0 0 var(--eb-space-md);
  padding: 0 var(--eb-space-xl);
  border: none;
}

.eb-trial-quote__attr {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--eb-primary-dark);
}

/* ── Footer Nav ───────────────────────────────────────── */
.eb-trial-footer-nav {
  background: var(--eb-bg);
  padding: var(--eb-space-xl) 0;
  text-align: center;
}

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 768px) {
  .eb-trial-steps__grid {
    grid-template-columns: 1fr;
    max-width: 480px;
  }

  .eb-trial-resources__grid {
    grid-template-columns: 1fr;
  }

  .eb-trial-quote__text {
    padding: 0 var(--eb-space-md);
  }
}

/* ═══════════════════════════════════════════════════════
   ONE MONTH FREE TRIAL PAGE  — page-one-month-free-trial.php
   Append this block to the bottom of style.css
   ═══════════════════════════════════════════════════════ */

/* ── Hero layout ──────────────────────────────────────── */
.eb-tf-hero {
  padding-top: calc(var(--eb-header-height) + var(--eb-space-3xl));
  padding-bottom: var(--eb-space-3xl);
  background: linear-gradient(160deg, var(--eb-bg) 0%, var(--eb-white) 55%, var(--eb-primary-light) 100%);
  position: relative;
  overflow: hidden;
}

.eb-tf-hero::before {
  content: '';
  position: absolute;
  top: -180px;
  right: -180px;
  width: 520px;
  height: 520px;
  background: radial-gradient(circle, rgba(60, 191, 138, 0.07) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.eb-tf-hero__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--eb-space-2xl);
  align-items: start;
}

/* ── Hero copy (left) ─────────────────────────────────── */
.eb-tf-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--eb-space-sm);
  padding: 7px 18px;
  background: var(--eb-accent-light);
  color: var(--eb-primary-dark);
  font-size: 0.85rem;
  font-weight: 600;
  border-radius: 50px;
  margin-bottom: var(--eb-space-lg);
}

.eb-tf-badge svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}

.eb-tf-hero__title {
  font-size: clamp(1.9rem, 4.5vw, 3rem);
  line-height: 1.15;
  color: var(--eb-secondary);
  margin-bottom: var(--eb-space-lg);
}

.eb-tf-hero__title em {
  font-style: normal;
  color: var(--eb-primary);
  display: block;
}

.eb-tf-hero__lead {
  font-size: clamp(1rem, 1.8vw, 1.1rem);
  color: var(--eb-text-light);
  line-height: 1.75;
  margin-bottom: var(--eb-space-xl);
  max-width: 480px;
}

/* Proof list */
.eb-tf-proof {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--eb-space-md);
  margin-bottom: var(--eb-space-xl);
}

.eb-tf-proof li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 0.975rem;
  font-weight: 500;
  color: var(--eb-text);
}

.eb-tf-proof li svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  color: var(--eb-primary);
  stroke: var(--eb-primary);
}

/* Pull quote */
.eb-tf-pullquote {
  border-left: 4px solid var(--eb-primary);
  padding-left: var(--eb-space-lg);
  margin-top: var(--eb-space-xl);
}

.eb-tf-pullquote p {
  font-size: 1rem;
  font-style: italic;
  color: var(--eb-text);
  line-height: 1.7;
  margin-bottom: var(--eb-space-sm);
}

.eb-tf-pullquote cite {
  font-size: 0.85rem;
  font-style: normal;
  font-weight: 600;
  color: var(--eb-primary-dark);
}

/* ── Form card (right) ────────────────────────────────── */
.eb-tf-hero__form-wrap {
  position: sticky;
  top: calc(var(--eb-header-height) + var(--eb-space-lg));
}

.eb-tf-card {
  background: var(--eb-white);
  border: 1px solid var(--eb-border);
  border-radius: var(--eb-radius-xl);
  box-shadow: var(--eb-elevation-3);
  overflow: hidden;
}

.eb-tf-card__header {
  background: linear-gradient(135deg, var(--eb-secondary) 0%, #2d2d2d 100%);
  padding: var(--eb-space-xl) var(--eb-space-xl) var(--eb-space-lg);
}

.eb-tf-card__step {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--eb-primary);
  background: rgba(60, 191, 138, 0.15);
  padding: 4px 12px;
  border-radius: 50px;
  margin-bottom: var(--eb-space-md);
}

.eb-tf-card__title {
  font-size: clamp(1.4rem, 3vw, 1.85rem);
  color: var(--eb-white);
  margin-bottom: var(--eb-space-sm);
  line-height: 1.2;
}

.eb-tf-card__sub {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.65);
  line-height: 1.6;
  margin: 0;
}

.eb-tf-card__body {
  padding: var(--eb-space-xl);
}

/* Question label blocks */
.eb-tf-q {
  margin-bottom: var(--eb-space-md);
}

.eb-tf-q + .eb-tf-q {
  margin-top: var(--eb-space-lg);
  padding-top: var(--eb-space-lg);
  border-top: 1px solid var(--eb-border);
}

.eb-tf-q__label {
  display: flex;
  align-items: center;
  gap: var(--eb-space-sm);
  margin-bottom: 6px;
}

.eb-tf-q__num {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--eb-primary);
  color: var(--eb-white);
  font-size: 0.8rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.eb-tf-q__label strong {
  font-size: 0.95rem;
  color: var(--eb-secondary);
  line-height: 1.4;
}

.eb-tf-q__hint {
  font-size: 0.83rem;
  color: var(--eb-text-light);
  line-height: 1.6;
  margin: 0 0 0 38px;
}

/* Form wrap separator */
.eb-tf-mailpoet-wrap {
  margin-top: var(--eb-space-lg);
  padding-top: var(--eb-space-lg);
  border-top: 1px solid var(--eb-border);
}

/* Card footer / privacy note */
.eb-tf-card__footer {
  display: flex;
  align-items: center;
  gap: var(--eb-space-sm);
  padding: var(--eb-space-md) var(--eb-space-xl);
  background: var(--eb-bg);
  border-top: 1px solid var(--eb-border);
  font-size: 0.8rem;
  color: var(--eb-text-light);
  line-height: 1.5;
}

.eb-tf-card__footer svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  color: var(--eb-primary);
}

/* ── Proof strip ──────────────────────────────────────── */
.eb-tf-proof-strip {
  background: var(--eb-secondary);
  padding: var(--eb-space-xl) 0;
}

.eb-tf-proof-strip__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--eb-space-xl);
  flex-wrap: wrap;
}

.eb-tf-proof-strip__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  text-align: center;
}

.eb-tf-proof-strip__item strong {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 800;
  color: var(--eb-primary);
  line-height: 1;
}

.eb-tf-proof-strip__item span {
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.6);
  font-weight: 400;
}

.eb-tf-proof-strip__divider {
  width: 1px;
  height: 48px;
  background: rgba(255, 255, 255, 0.12);
}

/* ── Why section ──────────────────────────────────────── */
.eb-tf-why {
  background: var(--eb-white);
}

.eb-tf-why__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--eb-space-2xl);
  align-items: start;
}

.eb-tf-why__label {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--eb-primary-dark);
  margin-bottom: var(--eb-space-md);
}

.eb-tf-why__title {
  font-size: clamp(1.5rem, 3vw, 2rem);
  color: var(--eb-secondary);
  margin-bottom: var(--eb-space-lg);
  line-height: 1.2;
}

.eb-tf-why__copy p {
  font-size: 0.975rem;
  color: var(--eb-text-light);
  line-height: 1.75;
  margin-bottom: var(--eb-space-md);
}

.eb-tf-why__copy p:last-child {
  margin-bottom: 0;
}

.eb-tf-why__copy strong {
  color: var(--eb-secondary);
}

/* Comparison table */
.eb-tf-compare-table {
  border: 1px solid var(--eb-border);
  border-radius: var(--eb-radius-md);
  overflow: hidden;
  font-size: 0.9rem;
}

.eb-tf-compare-table__header,
.eb-tf-compare-table__row {
  display: grid;
  grid-template-columns: 1fr 100px 120px;
  align-items: center;
}

.eb-tf-compare-table__header {
  background: var(--eb-bg);
  border-bottom: 1px solid var(--eb-border);
  padding: var(--eb-space-md) var(--eb-space-lg);
  font-weight: 700;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.eb-tf-compare-table__col {
  text-align: center;
}

.eb-tf-compare-table__col--them {
  color: var(--eb-text-light);
}

.eb-tf-compare-table__col--us {
  color: var(--eb-primary-dark);
}

.eb-tf-compare-table__row {
  padding: 14px var(--eb-space-lg);
  border-bottom: 1px solid var(--eb-border);
  transition: background 0.2s;
}

.eb-tf-compare-table__row:last-child {
  border-bottom: none;
}

.eb-tf-compare-table__row:hover {
  background: var(--eb-primary-light);
}

.eb-tf-compare-table__feature {
  font-weight: 500;
  color: var(--eb-text);
}

.eb-tf-compare-table__val {
  text-align: center;
  font-weight: 600;
}

.eb-tf-compare-table__val--them {
  color: #cc3333;
}

.eb-tf-compare-table__val--us {
  color: var(--eb-primary-dark);
}

/* ── Bottom CTA ───────────────────────────────────────── */
.eb-tf-bottom-cta {
  background: linear-gradient(135deg, var(--eb-secondary) 0%, #2d2d2d 100%);
  padding: var(--eb-space-3xl) 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.eb-tf-bottom-cta::before {
  content: '';
  position: absolute;
  top: -200px;
  left: 50%;
  transform: translateX(-50%);
  width: 600px;
  height: 400px;
  background: radial-gradient(ellipse, rgba(60, 191, 138, 0.12) 0%, transparent 70%);
  pointer-events: none;
}

.eb-tf-bottom-cta__inner {
  position: relative;
  z-index: 1;
  max-width: 620px;
  margin: 0 auto;
}

.eb-tf-bottom-cta h2 {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  color: var(--eb-white);
  margin-bottom: var(--eb-space-md);
}

.eb-tf-bottom-cta p {
  font-size: 1.05rem;
  color: rgba(255, 255, 255, 0.65);
  margin-bottom: var(--eb-space-xl);
  line-height: 1.7;
}

.eb-tf-bottom-cta .eb-btn--primary {
  box-shadow: 0 6px 24px rgba(60, 191, 138, 0.4);
  gap: var(--eb-space-sm);
}

.eb-tf-bottom-cta__note {
  margin-top: var(--eb-space-md);
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.4);
  margin-bottom: 0 !important;
}

/* ═══════════════════════════════════════════════════════
   FLUENT FORMS OVERRIDES
   Scoped inside .eb-tf-mailpoet-wrap so styles only
   apply on this page template.
═══════════════════════════════════════════════════════ */

/* ── Form container ─────────────────────────────────────── */
.eb-tf-mailpoet-wrap .fluentform,
.eb-tf-mailpoet-wrap .ff-form-wrap {
  width: 100% !important;
  max-width: 100% !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  font-family: var(--eb-font-body) !important;
}

/* ── All layout wrappers full-width ──────────────────── */
.eb-tf-mailpoet-wrap .ff-el-group,
.eb-tf-mailpoet-wrap .ff-el-form-control,
.eb-tf-mailpoet-wrap .ff-column,
.eb-tf-mailpoet-wrap .ff-t-container,
.eb-tf-mailpoet-wrap .ff-t-cell,
.eb-tf-mailpoet-wrap .frm-fluent-form,
.eb-tf-mailpoet-wrap .fluentform .ff_submit_btn_wrapper {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  float: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ── Field spacing ───────────────────────────────────── */
.eb-tf-mailpoet-wrap .ff-el-group {
  margin-bottom: 16px !important;
}

/* ── Labels ─────────────────────────────────────────── */
.eb-tf-mailpoet-wrap .ff-el-group label,
.eb-tf-mailpoet-wrap .ff-el-group .ff-el-input--label label {
  display: block !important;
  width: 100% !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: var(--eb-secondary) !important;
  font-family: var(--eb-font-heading) !important;
  margin-bottom: 6px !important;
  line-height: 1.4 !important;
}

/* ── Inputs, selects, textareas ─────────────────────── */
.eb-tf-mailpoet-wrap .ff-el-form-control,
.eb-tf-mailpoet-wrap input.ff-el-form-control,
.eb-tf-mailpoet-wrap select.ff-el-form-control,
.eb-tf-mailpoet-wrap textarea.ff-el-form-control,
.eb-tf-mailpoet-wrap .fluentform input[type="text"],
.eb-tf-mailpoet-wrap .fluentform input[type="email"],
.eb-tf-mailpoet-wrap .fluentform input[type="tel"],
.eb-tf-mailpoet-wrap .fluentform textarea,
.eb-tf-mailpoet-wrap .fluentform select {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  padding: 13px 16px !important;
  font-size: 0.95rem !important;
  font-family: var(--eb-font-body) !important;
  color: var(--eb-text) !important;
  background: var(--eb-bg) !important;
  border: 1.5px solid var(--eb-border) !important;
  border-radius: var(--eb-radius-sm) !important;
  box-shadow: none !important;
  outline: none !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  line-height: 1.5 !important;
}

.eb-tf-mailpoet-wrap .ff-el-form-control:focus,
.eb-tf-mailpoet-wrap .fluentform input[type="text"]:focus,
.eb-tf-mailpoet-wrap .fluentform input[type="email"]:focus,
.eb-tf-mailpoet-wrap .fluentform select:focus {
  border-color: var(--eb-primary) !important;
  box-shadow: 0 0 0 3px rgba(60, 191, 138, 0.15) !important;
  background: var(--eb-white) !important;
  outline: none !important;
}

/* Placeholder */
.eb-tf-mailpoet-wrap .fluentform input::placeholder,
.eb-tf-mailpoet-wrap .fluentform textarea::placeholder {
  color: #aaa !important;
  opacity: 1 !important;
}

/* ── Select arrow ─────────────────────────────────────── */
.eb-tf-mailpoet-wrap .fluentform select,
.eb-tf-mailpoet-wrap select.ff-el-form-control {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 16px !important;
  padding-right: 44px !important;
}

/* ── Submit button ────────────────────────────────────── */
.eb-tf-mailpoet-wrap .ff_submit_btn_wrapper,
.eb-tf-mailpoet-wrap .ff-btn-submit-wrapper {
  width: 100% !important;
  margin-top: 8px !important;
}

.eb-tf-mailpoet-wrap .ff-btn-submit,
.eb-tf-mailpoet-wrap button[type="submit"],
.eb-tf-mailpoet-wrap input[type="submit"],
.eb-tf-mailpoet-wrap .fluentform .ff-btn {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: 16px 32px !important;
  font-family: var(--eb-font-heading) !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px !important;
  text-transform: uppercase !important;
  color: var(--eb-white) !important;
  background: linear-gradient(135deg, var(--eb-primary) 0%, var(--eb-primary-dark) 100%) !important;
  border: none !important;
  border-radius: 50px !important;
  cursor: pointer !important;
  box-shadow: 0 4px 18px rgba(60, 191, 138, 0.38) !important;
  transition: transform 0.25s, box-shadow 0.25s !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  margin-top: var(--eb-space-md) !important;
}

.eb-tf-mailpoet-wrap .ff-btn-submit:hover,
.eb-tf-mailpoet-wrap button[type="submit"]:hover,
.eb-tf-mailpoet-wrap .fluentform .ff-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(60, 191, 138, 0.48) !important;
  color: var(--eb-white) !important;
}

/* ── Validation errors ───────────────────────────────── */
.eb-tf-mailpoet-wrap .ff-el-is-error .ff-el-form-control,
.eb-tf-mailpoet-wrap .ff-el-is-error input,
.eb-tf-mailpoet-wrap .ff-el-is-error select {
  border-color: #cc3333 !important;
}

.eb-tf-mailpoet-wrap .error.text-danger,
.eb-tf-mailpoet-wrap .ff-el-is-error .error {
  font-size: 0.82rem !important;
  color: #cc3333 !important;
  margin-top: 4px !important;
  display: block !important;
  font-family: var(--eb-font-body) !important;
}

/* ── Success message ────────────────────────────────── */
.eb-tf-mailpoet-wrap .ff-message-success,
.eb-tf-mailpoet-wrap .ff-errors-html {
  background: var(--eb-primary-light) !important;
  border: 1px solid var(--eb-primary) !important;
  border-radius: var(--eb-radius-sm) !important;
  padding: var(--eb-space-md) var(--eb-space-lg) !important;
  color: var(--eb-primary-dark) !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  font-family: var(--eb-font-body) !important;
}

/* ═══════════════════════════════════════════════════════════════
   NEW PAGE TEMPLATE STYLES — EasyPeasy Booking child theme
   ═══════════════════════════════════════════════════════════════ */

/* ── Breadcrumbs ───────────────────────────────────── */
.eb-breadcrumbs {
  background: #f8f9fa;
  border-bottom: 1px solid #eceef0;
  font-size: 0.85rem;
}

.eb-breadcrumbs .eb-container {
  padding-top: 10px;
  padding-bottom: 10px;
}

.eb-breadcrumbs .rank-math-breadcrumb p,
.eb-breadcrumbs p {
  margin: 0;
  color: #888;
}

.eb-breadcrumbs a {
  color: var(--eb-primary);
  text-decoration: none;
}

.eb-breadcrumbs a:hover {
  text-decoration: underline;
}

.eb-breadcrumbs .separator {
  margin: 0 6px;
  color: #ccc;
}

/* ── Generic page wrapper ──────────────────────────── */
.eb-page {
  padding: var(--eb-space-3xl) 0;
  min-height: 60vh;
}

.eb-page__header {
  text-align: center;
  max-width: 680px;
  margin: 0 auto var(--eb-space-3xl);
}

.eb-page__header h1 {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 800;
  color: var(--eb-secondary);
  margin-bottom: var(--eb-space-md);
  line-height: 1.15;
}

.eb-page__header p {
  font-size: 1.1rem;
  color: #555;
  line-height: 1.6;
}

.eb-container--narrow {
  max-width: 780px;
}

/* ── Section subtitle (shared) ─────────────────────── */
.eb-section-subtitle {
  font-size: 1.05rem;
  color: #555;
  max-width: 620px;
  margin: 0 auto var(--eb-space-2xl);
  text-align: center;
  line-height: 1.6;
}

/* ═══════════════════════════════════════════════════
   BLOG ARCHIVE — grid & filter
   ═══════════════════════════════════════════════════ */
.eb-blog {
  padding: var(--eb-space-2xl) 0 var(--eb-space-3xl);
}

.eb-blog__header {
  text-align: center;
  max-width: 680px;
  margin: 0 auto var(--eb-space-2xl);
}

.eb-blog__header h1 {
  font-size: clamp(1.75rem, 4vw, 2.25rem);
  font-weight: 800;
  color: var(--eb-secondary);
  margin-bottom: var(--eb-space-sm);
}

.eb-blog__header p {
  font-size: 1.05rem;
  color: #555;
}

.eb-blog__filter {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin-bottom: var(--eb-space-2xl);
}

.eb-filter-tag {
  display: inline-block;
  padding: 6px 16px;
  border-radius: 999px;
  border: 1.5px solid #ddd;
  font-size: 0.85rem;
  font-weight: 500;
  color: #555;
  text-decoration: none;
  transition: all 0.15s ease;
  background: #fff;
}

.eb-filter-tag:hover,
.eb-filter-tag--active {
  background: var(--eb-primary);
  border-color: var(--eb-primary);
  color: #fff;
}

.eb-blog__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: var(--eb-space-xl);
  margin-bottom: var(--eb-space-2xl);
}

.eb-blog__pagination {
  text-align: center;
  margin-top: var(--eb-space-xl);
}

.eb-blog__pagination .nav-links {
  display: flex;
  gap: 8px;
  justify-content: center;
  align-items: center;
}

.eb-blog__pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 8px;
  border: 1.5px solid #ddd;
  font-size: 0.9rem;
  color: #555;
  text-decoration: none;
  transition: all 0.15s ease;
}

.eb-blog__pagination .page-numbers.current,
.eb-blog__pagination .page-numbers:hover {
  background: var(--eb-primary);
  border-color: var(--eb-primary);
  color: #fff;
}

.eb-blog__empty {
  text-align: center;
  padding: var(--eb-space-3xl);
  color: #888;
}

/* ── Blog card missing wrapper ─────────────────────── */
.eb-blog-card {
  background: #fff;
  border-radius: var(--eb-radius-lg, 16px);
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,.07);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.eb-blog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
}

/* ── Blog CTA (updated structure) ─────────────────── */
.eb-blog-cta {
  background: linear-gradient(135deg, var(--eb-primary-light, #edfaf3), #fff);
  border: 1.5px solid var(--eb-primary);
  border-radius: var(--eb-radius-lg, 16px);
  padding: var(--eb-space-2xl);
  margin-top: var(--eb-space-3xl);
  display: flex;
  flex-wrap: wrap;
  gap: var(--eb-space-xl);
  align-items: center;
  justify-content: space-between;
}

.eb-blog-cta__text h3 {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--eb-secondary);
  margin-bottom: 6px;
}

.eb-blog-cta__text p {
  color: #555;
  font-size: 0.95rem;
}

.eb-blog-cta__form {
  flex: 1;
  min-width: 260px;
}

.eb-newsletter-form {
  display: flex;
  gap: 8px;
}

.eb-newsletter-form input[type="email"] {
  flex: 1;
  padding: 10px 14px;
  border: 1.5px solid #ddd;
  border-radius: 8px;
  font-size: 0.95rem;
  font-family: var(--eb-font-body);
}

.eb-newsletter-form input[type="email"]:focus {
  outline: none;
  border-color: var(--eb-primary);
}

.eb-blog-cta__plugin-note {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 0.9rem;
  color: #888;
  border-top: 1px solid #e8e8e8;
  padding-top: var(--eb-space-md);
  margin-top: var(--eb-space-sm);
}

/* ═══════════════════════════════════════════════════
   FAQ PAGE
   ═══════════════════════════════════════════════════ */
.eb-faq {
  max-width: 760px;
  margin: 0 auto;
}

.eb-faq__category {
  margin-bottom: var(--eb-space-2xl);
}

.eb-faq__category-title {
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--eb-primary);
  margin-bottom: var(--eb-space-md);
  padding-bottom: 10px;
  border-bottom: 2px solid var(--eb-primary-light, #edfaf3);
}

.eb-faq__item {
  border: 1.5px solid #e8e8e8;
  border-radius: 10px;
  margin-bottom: 8px;
  overflow: hidden;
  transition: border-color 0.15s ease;
}

.eb-faq__item[open] {
  border-color: var(--eb-primary);
}

.eb-faq__question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 20px;
  font-weight: 600;
  font-size: 1rem;
  color: var(--eb-secondary);
  cursor: pointer;
  list-style: none;
  gap: 16px;
  user-select: none;
}

.eb-faq__question::-webkit-details-marker { display: none; }

.eb-faq__chevron {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  border-right: 2px solid var(--eb-primary);
  border-bottom: 2px solid var(--eb-primary);
  transform: rotate(45deg);
  transition: transform 0.2s ease;
  margin-top: -4px;
}

.eb-faq__item[open] .eb-faq__chevron {
  transform: rotate(-135deg);
  margin-top: 4px;
}

.eb-faq__answer {
  padding: 0 20px 18px;
  color: #555;
  font-size: 0.95rem;
  line-height: 1.7;
  border-top: 1px solid #f0f0f0;
  padding-top: 14px;
}

.eb-faq__answer p { margin: 0; }

.eb-faq__cta {
  text-align: center;
  padding: var(--eb-space-2xl);
  background: #f8f9fa;
  border-radius: var(--eb-radius-lg, 16px);
  margin-top: var(--eb-space-2xl);
  display: flex;
  flex-wrap: wrap;
  gap: var(--eb-space-md);
  align-items: center;
  justify-content: center;
}

.eb-faq__cta p {
  width: 100%;
  font-weight: 600;
  color: var(--eb-secondary);
  margin-bottom: 4px;
}

/* ═══════════════════════════════════════════════════
   PRO FEATURES SECTION (front-page)
   ═══════════════════════════════════════════════════ */
.eb-pro-features {
  background: var(--eb-secondary);
  color: #fff;
  padding: var(--eb-space-3xl) 0;
}

.eb-pro-features__header {
  text-align: center;
  margin-bottom: var(--eb-space-2xl);
}

.eb-pro-badge,
.eb-pro-badge-lg {
  display: inline-block;
  background: var(--eb-primary);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: .1em;
  padding: 4px 12px;
  border-radius: 999px;
  margin-bottom: var(--eb-space-md);
}

.eb-pro-badge-lg {
  font-size: 0.85rem;
  padding: 6px 16px;
}

.eb-pro-features__header h2 {
  color: #fff;
  font-size: clamp(1.5rem, 3.5vw, 2.25rem);
  font-weight: 800;
  margin-bottom: var(--eb-space-md);
}

.eb-pro-features__header .eb-section-subtitle {
  color: rgba(255,255,255,.7);
}

.eb-pro-features__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: var(--eb-space-xl);
  margin-bottom: var(--eb-space-2xl);
}

.eb-pro-card {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--eb-radius-lg, 16px);
  padding: var(--eb-space-xl);
  transition: background 0.2s ease;
}

.eb-pro-card:hover {
  background: rgba(255,255,255,.11);
}

.eb-pro-card__icon {
  font-size: 1.75rem;
  margin-bottom: var(--eb-space-md);
}

.eb-pro-card h3 {
  color: #fff;
  font-size: 1.05rem;
  font-weight: 700;
  margin-bottom: 8px;
}

.eb-pro-card p {
  color: rgba(255,255,255,.7);
  font-size: 0.9rem;
  line-height: 1.6;
}

.eb-pro-features__cta {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--eb-space-md);
}

.eb-pro-features__cta-note {
  color: rgba(255,255,255,.6);
  font-size: 0.85rem;
}

/* ── Live demo section ─────────────────────────────── */
.eb-demo {
  padding: var(--eb-space-3xl) 0;
  background: var(--eb-bg, #f8f9fa);
}

.eb-demo__header {
  text-align: center;
  margin-bottom: var(--eb-space-2xl);
}

.eb-demo__badge {
  display: inline-block;
  background: var(--eb-primary);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 999px;
  margin-bottom: var(--eb-space-md);
}

.eb-demo__header h2 {
  font-size: clamp(1.5rem, 3.5vw, 2.25rem);
  font-weight: 800;
  color: var(--eb-secondary);
  margin-bottom: var(--eb-space-md);
}

.eb-demo__widget {
  max-width: 480px;
  margin: 0 auto;
}

.eb-demo__note {
  text-align: center;
  margin-top: var(--eb-space-lg);
  font-size: 0.85rem;
  color: #888;
}

/* Recolor the plugin's booking message as a friendly demo notice — this page only */
.eb-demo .ebi-error {
  background: #f0faf5 !important;
  border: 1px solid var(--eb-primary) !important;
  color: var(--eb-primary-dark, #2ca574) !important;
}

/* ═══════════════════════════════════════════════════
   PRICING PAGE — comparison table
   ═══════════════════════════════════════════════════ */
.eb-pricing-page .eb-pricing__grid {
  margin-bottom: var(--eb-space-3xl);
}

.eb-comparison {
  margin-top: var(--eb-space-3xl);
}

.eb-comparison h2 {
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: var(--eb-space-xl);
}

.eb-comparison__table-wrap {
  overflow-x: auto;
}

.eb-comparison__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
}

.eb-comparison__table th,
.eb-comparison__table td {
  padding: 12px 16px;
  text-align: center;
  border-bottom: 1px solid #e8e8e8;
}

.eb-comparison__table th:first-child,
.eb-comparison__table td:first-child {
  text-align: left;
  color: var(--eb-secondary);
  font-weight: 500;
}

.eb-comparison__table thead th {
  font-weight: 700;
  color: var(--eb-secondary);
  background: #f8f9fa;
}

.eb-comparison__pro-col {
  background: rgba(60, 191, 138, .05);
}

.eb-comparison__table thead .eb-comparison__pro-col {
  color: var(--eb-primary) !important;
}

.eb-check { color: var(--eb-primary); font-weight: 700; font-size: 1.1rem; }
.eb-cross  { color: #ccc; }

.eb-pricing-page__faq-link {
  text-align: center;
  margin-top: var(--eb-space-2xl);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--eb-space-md);
}

.eb-pricing-page__faq-link p {
  color: #666;
  font-size: 0.95rem;
}

/* ── Pricing card extras ────────────────────────────── */
.eb-pricing__badge {
  display: inline-block;
  background: var(--eb-primary);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 999px;
  margin-bottom: var(--eb-space-sm);
}

.eb-pricing__label {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: .1em;
  color: var(--eb-primary);
  margin-bottom: 6px;
}

.eb-pricing__features-divider {
  font-weight: 700;
  color: var(--eb-secondary);
  padding-top: var(--eb-space-md);
  border-top: 1px solid #e8e8e8;
  margin-top: var(--eb-space-sm);
  list-style: none;
}

.eb-pricing__note {
  font-size: 0.82rem;
  color: #888;
  text-align: center;
  margin-top: var(--eb-space-sm);
}

/* ═══════════════════════════════════════════════════
   CONTACT PAGE
   ═══════════════════════════════════════════════════ */
.eb-contact__layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: var(--eb-space-2xl);
  align-items: start;
}

.eb-contact__form-col h2 {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: var(--eb-space-xl);
  color: var(--eb-secondary);
}

.eb-contact__info-card {
  background: #f8f9fa;
  border-radius: var(--eb-radius-lg, 16px);
  padding: var(--eb-space-xl);
  margin-bottom: var(--eb-space-md);
}

.eb-contact__info-card h3 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--eb-secondary);
  margin-bottom: 8px;
}

.eb-contact__info-card p {
  color: #555;
  font-size: 0.9rem;
  line-height: 1.6;
  margin-bottom: var(--eb-space-md);
}

.eb-contact__email-link {
  font-weight: 600;
  color: var(--eb-primary);
  text-decoration: none;
  font-size: 1rem;
}

.eb-contact__email-link:hover { text-decoration: underline; }

/* Contact form */
.eb-contact__form,
.eb-form__group {
  margin-bottom: var(--eb-space-md);
}

.eb-form__group label {
  display: block;
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--eb-secondary);
  margin-bottom: 6px;
}

.eb-form__group input,
.eb-form__group select,
.eb-form__group textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1.5px solid #ddd;
  border-radius: 8px;
  font-size: 0.95rem;
  font-family: var(--eb-font-body);
  color: var(--eb-secondary);
  transition: border-color 0.15s ease;
}

.eb-form__group input:focus,
.eb-form__group select:focus,
.eb-form__group textarea:focus {
  outline: none;
  border-color: var(--eb-primary);
}

/* ═══════════════════════════════════════════════════
   LEGAL PAGES (Privacy / Terms)
   ═══════════════════════════════════════════════════ */
.eb-legal-page .eb-page__header { text-align: left; max-width: 100%; }

.eb-legal-page__updated {
  color: #888;
  font-size: 0.85rem;
  margin-top: 4px;
}

.eb-legal-page__content {
  max-width: 720px;
}

.eb-legal-page__content h2 {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--eb-secondary);
  margin: var(--eb-space-xl) 0 var(--eb-space-sm);
  padding-top: var(--eb-space-lg);
  border-top: 1px solid #e8e8e8;
}

.eb-legal-page__content p,
.eb-legal-page__content li {
  color: #444;
  font-size: 0.95rem;
  line-height: 1.75;
}

.eb-legal-page__content ul,
.eb-legal-page__content ol {
  padding-left: 24px;
  margin-bottom: var(--eb-space-md);
}

.eb-legal-page__content li { margin-bottom: 6px; }

/* ═══════════════════════════════════════════════════
   EDD PRODUCT PAGE (single-download.php)
   ═══════════════════════════════════════════════════ */
.eb-download-page { padding: var(--eb-space-3xl) 0; }

.eb-download__layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: var(--eb-space-2xl);
  align-items: start;
}

.eb-download__info h1 {
  font-size: clamp(1.5rem, 3.5vw, 2.25rem);
  font-weight: 800;
  color: var(--eb-secondary);
  margin: var(--eb-space-md) 0;
}

.eb-download__subtitle {
  font-size: 1.05rem;
  color: #555;
  line-height: 1.6;
  margin-bottom: var(--eb-space-xl);
}

.eb-download__image {
  border-radius: var(--eb-radius-lg, 16px);
  overflow: hidden;
  margin-bottom: var(--eb-space-xl);
}

.eb-download__image img { width: 100%; display: block; }

.eb-download__benefits {
  background: #f8f9fa;
  border-radius: var(--eb-radius-lg, 16px);
  padding: var(--eb-space-xl);
  margin-bottom: var(--eb-space-xl);
}

.eb-download__benefits h3 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--eb-secondary);
  margin-bottom: var(--eb-space-md);
}

.eb-download__benefits ul { list-style: none; padding: 0; margin: 0; }

.eb-download__benefits li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 0;
  font-size: 0.9rem;
  color: #444;
  border-bottom: 1px solid #e8e8e8;
}

.eb-download__benefits li:last-child { border-bottom: none; }

.eb-download__benefits li span { color: var(--eb-primary); font-weight: 700; }

.eb-download__compare-link { font-size: 0.9rem; }
.eb-download__compare-link a { color: var(--eb-primary); text-decoration: none; font-weight: 600; }

.eb-download__faq-link {
  text-align: center;
  margin-top: var(--eb-space-3xl);
  padding-top: var(--eb-space-xl);
  border-top: 1px solid #e8e8e8;
  display: flex;
  flex-wrap: wrap;
  gap: var(--eb-space-md);
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  color: #666;
}

/* Purchase box */
.eb-purchase-box {
  background: #fff;
  border: 2px solid #e8e8e8;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0,0,0,.08);
  position: sticky;
  top: 100px;
}

.eb-purchase-box__header {
  background: var(--eb-secondary);
  color: #fff;
  padding: var(--eb-space-xl);
}

.eb-purchase-box__header h2 {
  color: #fff;
  font-size: 1.15rem;
  font-weight: 700;
  margin: 0;
}

.eb-purchase-box__option {
  padding: var(--eb-space-lg) var(--eb-space-xl);
  border-bottom: 1px solid #f0f0f0;
}

.eb-purchase-box__option--selected {
  border-left: 3px solid var(--eb-primary);
}

.eb-purchase-box__option-label {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--eb-primary);
  margin-bottom: 4px;
}

.eb-purchase-box__price {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--eb-secondary);
  margin-bottom: 4px;
}

.eb-purchase-box__desc {
  font-size: 0.82rem;
  color: #888;
}

.eb-purchase-box__edd-btn,
.eb-purchase-box > a.eb-btn {
  display: block;
  padding: var(--eb-space-md) var(--eb-space-xl);
}

.eb-purchase-box__trust {
  padding: var(--eb-space-md) var(--eb-space-xl);
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.82rem;
  color: #555;
  background: #fafafa;
  border-top: 1px solid #f0f0f0;
}

.eb-purchase-box__note {
  padding: 0 var(--eb-space-xl) var(--eb-space-md);
  font-size: 0.8rem;
  color: #aaa;
  text-align: center;
}

.eb-purchase-box__free-note {
  padding: var(--eb-space-md) var(--eb-space-xl) var(--eb-space-lg);
  text-align: center;
  font-size: 0.85rem;
  color: #888;
  border-top: 1px solid #f0f0f0;
}

.eb-purchase-box__free-note a {
  color: var(--eb-primary);
  text-decoration: none;
  font-weight: 600;
}

/* ═══════════════════════════════════════════════════
   EDD RECEIPT
   ═══════════════════════════════════════════════════ */
.eb-receipt {
  max-width: 640px;
  margin: var(--eb-space-3xl) auto;
  font-family: var(--eb-font-body);
}

.eb-receipt__hero {
  border-radius: 16px 16px 0 0;
  padding: 40px 32px;
  text-align: center;
  color: #fff;
}

.eb-receipt__emoji { font-size: 2.5rem; margin-bottom: 12px; }

.eb-receipt__hero h2 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 8px;
}

.eb-receipt__hero p { margin: 0; opacity: .9; }

.eb-receipt__body {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-top: none;
  border-radius: 0 0 16px 16px;
  padding: 32px;
}

.eb-receipt__download {
  text-align: center;
  margin-bottom: var(--eb-space-xl);
}

.eb-receipt__key {
  background: #f8fffe;
  border: 2px dashed var(--eb-primary);
  border-radius: 10px;
  padding: 20px;
  margin-bottom: var(--eb-space-xl);
  text-align: center;
}

.eb-receipt__key-label {
  font-size: .8rem;
  font-weight: 600;
  color: #666;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: 6px;
}

.eb-receipt__key-value {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--eb-secondary);
  letter-spacing: .08em;
  display: block;
}

.eb-receipt__key-note {
  font-size: 0.82rem;
  color: #888;
  margin-top: 8px;
}

.eb-receipt__steps { margin-bottom: var(--eb-space-xl); }

.eb-receipt__steps h3 {
  font-size: 1rem;
  font-weight: 700;
  color: var(--eb-secondary);
  margin-bottom: var(--eb-space-md);
}

.eb-receipt__steps ol {
  padding-left: 20px;
  color: #333;
  line-height: 1.8;
}

.eb-receipt__order-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  margin-bottom: var(--eb-space-xl);
}

.eb-receipt__order-table th,
.eb-receipt__order-table td {
  padding: 8px 0;
  border-bottom: 1px solid #f0f0f0;
  text-align: left;
}

.eb-receipt__order-table th {
  color: #888;
  font-weight: 500;
  width: 140px;
}

.eb-receipt__support {
  text-align: center;
  font-size: 0.875rem;
  color: #666;
  border-top: 1px solid #e0e0e0;
  padding-top: var(--eb-space-lg);
}

.eb-receipt__support a { color: var(--eb-primary); }

/* ── Front page hero proof chips ───────────────────── */
.eb-hero__proof {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: var(--eb-space-lg);
}

.eb-hero__proof span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.82rem;
  font-weight: 600;
  color: #555;
  background: #f0faf5;
  border: 1px solid #c8eedd;
  border-radius: 999px;
  padding: 4px 12px;
}

/* ── Shortcode note ─────────────────────────────────── */
.eb-features__shortcode-note {
  text-align: center;
  margin-top: var(--eb-space-2xl);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-size: 0.9rem;
  color: #666;
}

.eb-features__shortcode-note code {
  background: #f0faf5;
  border: 1px solid #c8eedd;
  color: var(--eb-primary-dark, #2ca574);
  padding: 4px 10px;
  border-radius: 6px;
  font-family: monospace;
  font-size: 0.9rem;
}

/* ── Problem section cards ─────────────────────────── */
.eb-problem__cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--eb-space-xl);
  margin-top: var(--eb-space-xl);
}

.eb-problem__card {
  border-radius: var(--eb-radius-lg, 16px);
  padding: var(--eb-space-xl);
}

.eb-problem__card h4 {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: var(--eb-space-md);
}

.eb-problem__card ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.eb-problem__card li {
  padding: 6px 0;
  font-size: 0.9rem;
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.eb-problem__card li:last-child { border-bottom: none; }

.eb-problem__card--bad {
  background: #fff5f5;
  border: 1.5px solid #fcc;
}

.eb-problem__card--bad h4 { color: #c0392b; }

.eb-problem__card--bad li { color: #666; }
.eb-problem__card--bad li::before { content: '✗ '; color: #c0392b; font-weight: 700; }

.eb-problem__card--good {
  background: #f0faf5;
  border: 1.5px solid var(--eb-primary);
}

.eb-problem__card--good h4 { color: var(--eb-primary-dark, #2ca574); }
.eb-problem__card--good li { color: #444; }
.eb-problem__card--good li::before { content: '✓ '; color: var(--eb-primary); font-weight: 700; }

/* ── Final CTA sub link ─────────────────────────────── */
.eb-final-cta__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--eb-space-md);
}

.eb-final-cta__sub-link {
  font-size: 0.9rem;
  color: rgba(255,255,255,.75);
  text-decoration: none;
}

.eb-final-cta__sub-link:hover { color: #fff; text-decoration: underline; }

/* ═══════════════════════════════════════════════════
   BLOG SINGLE POST
   ═══════════════════════════════════════════════════ */
.eb-single {
  padding: var(--eb-space-2xl) 0 var(--eb-space-3xl);
}

.eb-single__article {
  max-width: 740px;
  margin: 0 auto;
}

.eb-single__header {
  margin-bottom: var(--eb-space-xl);
}

.eb-single__meta-terms {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: var(--eb-space-md);
}

/* Override GeneratePress default h1 size */
.eb-single__title,
.eb-single .eb-single__title {
  font-size: clamp(1.5rem, 3.5vw, 2.1rem) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  color: var(--eb-secondary) !important;
  margin: 0 0 var(--eb-space-md) !important;
  letter-spacing: -0.01em;
}

.eb-single__meta {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.85rem;
  color: #888;
}

.eb-single__meta time { color: #888; }

.eb-single__hero-image {
  border-radius: var(--eb-radius-lg, 16px);
  overflow: hidden;
  margin-bottom: var(--eb-space-xl);
}

.eb-single__hero-image img {
  width: 100%;
  display: block;
  height: auto;
}

.eb-single__content {
  font-size: 1rem;
  line-height: 1.8;
  color: #333;
  margin-bottom: var(--eb-space-2xl);
}

.eb-single__content h2 {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--eb-secondary);
  margin: var(--eb-space-xl) 0 var(--eb-space-md);
}

.eb-single__content h3 {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--eb-secondary);
  margin: var(--eb-space-lg) 0 var(--eb-space-sm);
}

.eb-single__content p { margin-bottom: var(--eb-space-md); }

.eb-single__content ul,
.eb-single__content ol {
  padding-left: 24px;
  margin-bottom: var(--eb-space-md);
}

.eb-single__content li { margin-bottom: 6px; }

.eb-single__content img {
  max-width: 100%;
  border-radius: 10px;
  height: auto;
}

.eb-single__content a {
  color: var(--eb-primary);
  text-decoration: underline;
}

.eb-single__content blockquote {
  border-left: 3px solid var(--eb-primary);
  margin: var(--eb-space-xl) 0;
  padding: var(--eb-space-md) var(--eb-space-lg);
  background: #f0faf5;
  border-radius: 0 10px 10px 0;
  font-style: italic;
  color: #555;
}

/* Inline CTA box */
.eb-single__inline-cta {
  background: linear-gradient(135deg, #f0faf5, #fff);
  border: 1.5px solid var(--eb-primary);
  border-radius: var(--eb-radius-lg, 16px);
  padding: var(--eb-space-xl);
  margin-bottom: var(--eb-space-2xl);
  text-align: center;
}

.eb-single__inline-cta p {
  font-weight: 600;
  color: var(--eb-secondary);
  margin-bottom: var(--eb-space-md);
}

.eb-single__inline-cta .eb-btn {
  margin: 0 6px 8px;
}

/* Post footer & tags */
.eb-single__footer {
  padding-top: var(--eb-space-xl);
  border-top: 1px solid #e8e8e8;
}

.eb-single__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.eb-tag {
  display: inline-block;
  padding: 4px 12px;
  background: #f4f4f4;
  border-radius: 999px;
  font-size: 0.8rem;
  color: #555;
  text-decoration: none;
  transition: background 0.15s ease;
}

.eb-tag:hover {
  background: var(--eb-primary);
  color: #fff;
}

@media (max-width: 768px) {
  .eb-single__title,
  .eb-single .eb-single__title {
    font-size: 1.5rem !important;
  }

  .eb-single__inline-cta .eb-btn {
    display: block;
    margin: 0 0 8px;
  }
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE — new sections
   ═══════════════════════════════════════════════════ */
@media (max-width: 900px) {
  .eb-download__layout,
  .eb-contact__layout { grid-template-columns: 1fr; }

  .eb-purchase-box {
    position: static;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .eb-purchase-box__header,
  .eb-purchase-box__option,
  .eb-purchase-box__trust,
  .eb-purchase-box__free-note {
    padding-left: var(--eb-space-lg);
    padding-right: var(--eb-space-lg);
  }

  .eb-purchase-box__edd-btn,
  .eb-purchase-box > a.eb-btn {
    padding-left: var(--eb-space-lg);
    padding-right: var(--eb-space-lg);
  }

  /* Stop EDD button overflowing on mobile */
  .eb-purchase-box .edd-add-to-cart,
  .eb-purchase-box .edd_go_to_checkout,
  .eb-purchase-box .button {
    width: 100% !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    text-align: center !important;
  }

  .eb-problem__cards { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .eb-blog__grid { grid-template-columns: 1fr; }

  .eb-pro-features__grid { grid-template-columns: 1fr; }

  .eb-comparison__table th,
  .eb-comparison__table td { padding: 8px 10px; font-size: 0.82rem; }

  .eb-newsletter-form { flex-direction: column; }

  .eb-blog-cta {
    flex-direction: column;
    text-align: center;
  }

  .eb-faq__question { font-size: 0.9rem; }
}

/* ═══════════════════════════════════════════════════
   FRONT-PAGE POLISH — consistent spacing, How It Works,
   manifesto heading fix
   ═══════════════════════════════════════════════════ */

/* 1 — Uniform vertical rhythm across all main sections.
   (The global rule targets .eb-section, which these sections don't use.) */
.eb-value,
.eb-problem,
.eb-features,
.eb-how,
.eb-pro-features,
.eb-demo,
.eb-pricing,
.eb-manifesto,
.eb-final-cta {
  padding-top: var(--eb-space-3xl);
  padding-bottom: var(--eb-space-3xl);
}

/* 2 — How It Works ("Up and running in 3 steps") */
.eb-how {
  background: var(--eb-white);
  text-align: center;
}

.eb-how h2 {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 800;
  color: var(--eb-secondary);
  margin-bottom: var(--eb-space-2xl);
}

.eb-how__steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--eb-space-xl);
  max-width: 960px;
  margin: 0 auto;
}

.eb-how__step {
  padding: var(--eb-space-xl) var(--eb-space-lg);
  background: var(--eb-bg, #f8f9fa);
  border: 1px solid var(--eb-border, #eceef0);
  border-radius: 16px;
  text-align: center;
  transition: transform .2s ease, box-shadow .2s ease;
}

.eb-how__step:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .08);
}

.eb-how__step-number {
  width: 48px;
  height: 48px;
  margin: 0 auto var(--eb-space-md);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--eb-primary);
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  border-radius: 50%;
}

.eb-how__step h3 {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--eb-secondary);
  margin-bottom: var(--eb-space-sm);
}

.eb-how__step p {
  font-size: 0.95rem;
  line-height: 1.7;
  color: #555;
  margin: 0;
}

/* 3 — Manifesto heading was invisible: markup renders <h2>, but the
   white-text rule targeted .eb-manifesto__headline (unused class). */
.eb-manifesto__content {
  position: relative;
  z-index: 1;
  max-width: 820px;
  margin: 0 auto;
}

.eb-manifesto__content h2 {
  color: var(--eb-white);
  font-size: clamp(1.9rem, 4.5vw, 3rem);
  font-weight: 800;
  line-height: 1.15;
  text-align: center;
  margin-bottom: var(--eb-space-xl);
}

.eb-manifesto__content p {
  color: rgba(255, 255, 255, 0.82);
  font-size: 1.05rem;
  line-height: 1.8;
  margin-bottom: var(--eb-space-md);
}

@media (max-width: 768px) {
  .eb-how__steps {
    grid-template-columns: 1fr;
    gap: var(--eb-space-lg);
  }
}

/* ═══════════════════════════════════════════════════
   AUDIT FIXES — missing CSS the markup expects
   ═══════════════════════════════════════════════════ */

/* Button modifiers — markup used --ghost/--block/--lg/--sm but only
   --primary/--secondary/--large existed. */
.eb-btn--ghost {
  background: transparent;
  border: 2px solid var(--eb-border, #d5d9dd);
  color: var(--eb-secondary);
}

.eb-btn--ghost:hover {
  border-color: var(--eb-primary);
  color: var(--eb-primary);
}

.eb-btn--block {
  display: flex;
  width: 100%;
}

.eb-btn--lg {
  padding: 16px 44px;
  font-size: 1.05rem;
}

.eb-btn--sm {
  padding: 9px 22px;
  font-size: 0.85rem;
}

/* Hero title highlight */
.eb-highlight {
  color: var(--eb-primary);
}

/* Hero visual — fallback booking-card mockup (shows when no hero image set) */
.eb-hero__visual {
  display: flex;
  justify-content: center;
  align-items: center;
}

.eb-hero__mockup-placeholder {
  width: 100%;
  max-width: 380px;
}

.eb-mockup-card {
  background: #fff;
  border: 1px solid var(--eb-border, #eceef0);
  border-radius: 16px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, .12);
  padding: 20px;
}

.eb-mockup-card__header {
  display: flex;
  gap: 6px;
  margin-bottom: 16px;
}

.eb-mockup-card__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #e2e8f0;
}

.eb-mockup-card__title {
  font-weight: 700;
  font-size: 1.1rem;
  color: var(--eb-secondary);
  margin-bottom: 16px;
}

.eb-mockup-card__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  margin-bottom: 10px;
  background: var(--eb-bg, #f8f9fa);
  border-radius: 10px;
  font-size: 0.9rem;
  color: #555;
}

.eb-mockup-card__cta {
  margin-top: 6px;
  text-align: center;
  padding: 12px;
  background: var(--eb-primary);
  color: #fff;
  font-weight: 600;
  border-radius: 10px;
  font-size: 0.95rem;
}

/* Pricing feature lists */
.eb-pricing__features {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--eb-space-lg);
}

.eb-pricing__features li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 7px 0;
  font-size: 0.92rem;
  color: #444;
}

.eb-pricing__features li span {
  color: var(--eb-primary);
  font-weight: 700;
}

/* Problem section intro */
.eb-problem h2 {
  text-align: center;
}

.eb-problem__intro {
  text-align: center;
  font-size: 1.1rem;
  color: #555;
  max-width: 700px;
  margin: var(--eb-space-md) auto var(--eb-space-2xl);
  line-height: 1.7;
}

