:root {
  /* Theme selection: LIGHT theme with custom variables tailored for Mobiflex */
  --mf-canvas: #f6f8fa;
  --mf-surface: #ffffff;
  --mf-surface-tint: #edf2f7;
  --mf-border-tint: #dae1e7;
  
  --mf-accent: #0f9f90;         /* Primary healthy Teal tone */
  --mf-accent-dim: #e4f7f5;     /* Soft highlight background tint */
  --mf-accent-hover: #0c8276;   /* Active button hover */
  
  --mf-ink: #1a202c;            /* Dark slate body text */
  --mf-ink-light: #ffffff;      /* Contrast light text */
  
  --mf-gradient: linear-gradient(135deg, #0f9f90 0%, #15bca9 100%);
  
  --font-display: 'Oswald', sans-serif;
  --font-body: 'Lato', sans-serif;
}

/* Custom Soft Border Radius style (12-20px) */
.mf-benefit-badge,
.mf-action-button,
.mf-cta-anchor-box,
.mf-feature-card,
.mf-opinion-strip,
.mf-star-rating {
  border-radius: 14px;
}

/* Custom shadow depth (raised shadows) */
.mf-cta-anchor-box,
.mf-feature-card,
.mf-opinion-strip {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05), 0 1px 3px rgba(0, 0, 0, 0.02);
}

body {
  font-family: var(--font-body);
  background-color: var(--mf-canvas);
  color: var(--mf-ink);
  margin: 0;
  padding: 0;
}

/* Header Styles */
.mf-top-panel {
  background-color: var(--mf-surface);
  border-bottom: 2px solid var(--mf-border-tint);
  z-index: 20;
}

.mf-brand-icon {
  color: var(--mf-accent);
}

.mf-brand-text {
  font-family: var(--font-display);
  color: var(--mf-accent);
}

/* Typography styles */
.mf-main-headline {
  font-family: var(--font-display);
  font-size: 2.75rem;
  line-height: 1.15;
  font-weight: 700;
  color: var(--mf-ink);
  letter-spacing: -0.015em;
}

@media (max-width: 768px) {
  .mf-main-headline {
    font-size: 2.1rem;
  }
}

.mf-sub-headline {
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: 600;
  color: var(--mf-ink);
}

/* Benefits & highlights */
.mf-benefit-badge {
  background-color: var(--mf-accent-dim);
  color: var(--mf-accent);
}

/* Price Display - badge configuration */
.mf-price-tag {
  background-color: var(--mf-ink);
  border-left: 4px solid var(--mf-accent);
  display: inline-block;
}

/* Button setup */
.mf-action-button {
  background: var(--mf-gradient);
  color: var(--mf-ink-light);
  min-width: 220px;
  box-shadow: 0 4px 14px rgba(15, 159, 144, 0.3);
  cursor: pointer;
}

.mf-action-button:hover {
  background-image: linear-gradient(135deg, #0c8276 0%, #11a291 100%);
  transform: translateY(-1px);
}

/* Testimonials / Opinions styling */
.mf-opinion-strip {
  border-left: 4px solid var(--mf-accent);
}

.mf-avatar-ring {
  background: var(--mf-accent);
  color: var(--mf-ink-light);
}

.mf-quote-decor {
  color: var(--mf-accent);
  opacity: 0.15;
  font-family: Georgia, serif;
}

/* Footer layout style rules */
.mf-bottom-panel {
  background-color: var(--mf-ink);
  color: var(--mf-ink-light);
  border-top: 4px solid var(--mf-accent);
  z-index: 20;
}

.mf-brand-icon-dark {
  color: var(--mf-accent);
}

.mf-footer-nav a {
  color: rgba(255, 255, 255, 0.7);
}

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

.mf-disclaimer p {
  color: rgba(255, 255, 255, 0.45);
}