/**
 * Digi Malarketing — site-wide typography + page polish
 */
:root {
  --dm-purple: #5b2d9e;
  --dm-purple-deep: #2a1058;
  --dm-blue: #1a4fd6;
  --dm-blue-bright: #00c3f2;
  --dm-yellow: #fcc800;
  --dm-white: #ffffff;
  --dm-ink: #12082b;
  --dm-muted: #3d3550;
  --dm-font: "Michroma", system-ui, sans-serif;
  --dm-body: "Plus Jakarta Sans", "Manrope", system-ui, sans-serif;
}

/* ---- Global readable type scale ---- */
body {
  font-family: var(--dm-body);
  font-size: 17px;
  line-height: 1.75;
  color: var(--dm-muted);
}

body .site-content,
body .elementor,
body .elementor-widget-text-editor,
body .elementor-text-editor,
body .elementor-widget-text-editor p,
body .elementor-text-editor p,
body article p,
body .entry-content p {
  font-size: 1.0625rem; /* ~17px */
  line-height: 1.8;
}

h1, .elementor-heading-title.elementor-size-default:is(h1),
.page-title, .entry-title {
  font-family: var(--dm-font) !important;
  letter-spacing: 0.03em;
  line-height: 1.25;
  font-size: clamp(1.85rem, 3.6vw, 2.75rem) !important;
}

h2, h2.elementor-heading-title {
  font-family: var(--dm-font) !important;
  letter-spacing: 0.03em;
  line-height: 1.3;
  font-size: clamp(1.45rem, 2.8vw, 2.15rem) !important;
}

h3, h3.elementor-heading-title,
.elementor-image-box-title,
.elementor-icon-box-title {
  font-family: var(--dm-font) !important;
  letter-spacing: 0.03em;
  line-height: 1.35;
  font-size: clamp(1.15rem, 2.2vw, 1.45rem) !important;
}

h4, h5, h6 {
  font-family: var(--dm-font) !important;
  letter-spacing: 0.02em;
}

.elementor-button .elementor-button-text {
  font-family: var(--dm-font) !important;
  letter-spacing: 0.05em;
  font-size: 0.95rem !important;
}

li, .elementor-icon-list-text {
  font-size: 1.05rem;
  line-height: 1.7;
}

/* ---- Homepage CTA: force white on dark band ---- */
.home .elementor-element-8854431 .elementor-heading-title,
.home.page-id-2377 .elementor-element-8854431 .elementor-heading-title {
  color: #ffffff !important;
  text-align: center;
  font-size: clamp(1.5rem, 3.2vw, 2.35rem) !important;
  line-height: 1.35 !important;
}

.home .elementor-element-8854431 .highlight,
.home.page-id-2377 .elementor-element-8854431 .highlight {
  color: var(--dm-yellow) !important;
}

/* Undo dark-purple heading override on other dark homepage sections */
.home.page-id-2377 .elementor-element-8854431 .elementor-heading-title {
  background-image: none !important;
  padding-bottom: 0 !important;
}

/* ---- SEO/SEM: center & polish "What is SEO?" box ---- */
.page-id-2558 .elementor-element-110f462 > .elementor-container {
  display: flex !important;
  justify-content: center !important;
}

.page-id-2558 .elementor-element-7f68d38 {
  width: 100% !important;
  max-width: 860px !important;
  float: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.page-id-2558 .elementor-element-7f68d38 > .elementor-element-populated {
  box-shadow: 0 18px 40px rgba(42, 16, 88, 0.16) !important;
  border-radius: 18px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(91, 45, 158, 0.15);
  margin: 40px auto !important;
  padding: 0 !important;
}

.page-id-2558 .elementor-element-bd56a08 {
  display: none !important;
}

.page-id-2558 .elementor-element-3349c73,
.page-id-2558 .elementor-element-3349c73 .elementor-widget-container,
.page-id-2558 .elementor-element-3349c73 .elementor-heading-title {
  text-align: center !important;
}

.page-id-2558 .elementor-element-3349c73 > .elementor-widget-container {
  background: linear-gradient(135deg, #5b2d9e, #1a4fd6) !important;
  border: 0 !important;
  padding: 22px 28px !important;
}

.page-id-2558 .elementor-element-3349c73 .elementor-heading-title {
  color: #ffffff !important;
  font-family: var(--dm-font) !important;
  font-size: clamp(1.5rem, 3vw, 2rem) !important;
  letter-spacing: 0.06em;
  background-image: none !important;
  padding-bottom: 0 !important;
}

.page-id-2558 .elementor-element-99cd409,
.page-id-2558 .elementor-element-99cd409 .elementor-widget-container,
.page-id-2558 .elementor-element-99cd409 .elementor-heading-title,
.page-id-2558 .elementor-element-99cd409 p,
.page-id-2558 .elementor-element-ae483de,
.page-id-2558 .elementor-element-ae483de p {
  text-align: center !important;
}

.page-id-2558 .elementor-element-99cd409 > .elementor-widget-container {
  padding: 28px 36px 36px !important;
  background: #faf8ff;
}

.page-id-2558 .elementor-element-99cd409 .elementor-heading-title,
.page-id-2558 .elementor-element-e5e7154 .elementor-heading-title,
.page-id-2558 .elementor-element-99cd409 span {
  font-family: var(--dm-font) !important;
  color: var(--dm-purple-deep) !important;
  font-size: clamp(1rem, 2vw, 1.2rem) !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
}

.page-id-2558 .elementor-element-99cd409 p,
.page-id-2558 .elementor-element-ae483de p {
  font-size: 1.125rem !important; /* 18px */
  line-height: 1.85 !important;
  color: var(--dm-muted) !important;
  max-width: 42em;
  margin-left: auto;
  margin-right: auto;
}

/* SEO page headings use Michroma + readable sizes */
.page-id-2558 .elementor-heading-title {
  font-family: var(--dm-font) !important;
}

.page-id-2558 .elementor-widget-text-editor p {
  font-size: 1.1rem !important;
  line-height: 1.85 !important;
}

@media (max-width: 767px) {
  body { font-size: 16px; }
  .page-id-2558 .elementor-element-99cd409 > .elementor-widget-container {
    padding: 22px 18px 26px !important;
  }
  .page-id-2558 .elementor-element-99cd409 p,
  .page-id-2558 .elementor-element-ae483de p {
    font-size: 1.05rem !important;
  }
}
