:root {
  /* Fix 1: Consistent type scale */
  --fluid-h1: clamp(2rem, 5vw, 3rem);
  --fluid-h2: clamp(1.75rem, 4vw, 2.5rem);
  --fluid-h3: clamp(1.5rem, 3vw, 2rem);
  --fluid-p: clamp(1rem, 2vw, 1.125rem);
  --fluid-small: 0.875rem;

  /* Fix 2: Consistent corner radii */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-full: 9999px;
}

/* Enforce type scale */
h1, .elementor-widget-heading h1.elementor-heading-title { font-size: var(--fluid-h1) !important; }
h2, .elementor-widget-heading h2.elementor-heading-title { font-size: var(--fluid-h2) !important; }
h3, .elementor-widget-heading h3.elementor-heading-title { font-size: var(--fluid-h3) !important; }
p, .elementor-widget-text-editor { font-size: var(--fluid-p) !important; }

/* Enforce radii */
.elementor-button { border-radius: var(--radius-md) !important; }
.elementor-widget-image img { border-radius: var(--radius-lg) !important; }
.elementor-widget-icon { border-radius: var(--radius-full) !important; }

/* Fix 4, 7, 8: Header Layout & Sizing */
header.elementor-location-header .elementor-container {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  max-height: 80px !important;
}

header.elementor-location-header .elementor-social-icon {
  width: 32px !important;
  height: 32px !important;
  font-size: 16px !important;
}

header.elementor-location-header .elementor-widget-nav-menu {
  margin: 0 auto !important;
}
