.elementor-kit-3227{--e-global-color-primary:#0A0A0A;--e-global-color-secondary:#C8C1B6;--e-global-color-text:#38332E;--e-global-color-accent:#FAF9F7;--e-global-color-2a75247:#6B6560;--e-global-color-a2436a3:#8A8580;--e-global-color-ac0d6f9:#C4BFB6;--e-global-color-a00d232:#F0ECE61F;--e-global-color-b74f327:#7C7D82;--e-global-color-3ed9ddc:#25D366;--e-global-typography-primary-font-family:"Cormorant Garamond";--e-global-typography-primary-font-weight:300;--e-global-typography-secondary-font-family:"Cormorant Garamond";--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-font-style:italic;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-weight:300;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-weight:700;}.elementor-kit-3227 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ==========================================================
   MOD DENTISTRY — GLOBAL DESIGN SYSTEM v4.1 (FINAL)
   Design system + responsive overrides only
   JSON controls all desktop base values
   ========================================================== */

/* ==========================================================
   GLOBAL — Prevent horizontal overflow site-wide
   ========================================================== */
html, body {
  overflow-x: hidden !important;
}

/* ==========================================================
   HEADER — Constrain to viewport width
   ========================================================== */
.elementor-location-header {
  width: auto !important;
  max-width: 100vw !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

/* ==========================================================
   BUTTONS — TRUE BRUSHED ALUMINIUM (TEXTURED)
   ========================================================== */
.mod-btn-metal .elementor-button,
.mod-btn-metal.elementor-button,
.mod-btn-outline-light .elementor-button,
.mod-btn-outline-dark .elementor-button {
  background:
    linear-gradient(
      180deg,
      #8f9095 0%,
      #c9cacf 12%,
      #f7f8fa 28%,
      #ffffff 36%,
      #e3e4e8 50%,
      #b9bac0 68%,
      #8f9095 100%
    ),
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,0.18) 0px,
      rgba(255,255,255,0.18) 1px,
      rgba(0,0,0,0.10) 2px,
      rgba(0,0,0,0.10) 3px
    );
  color: #111 !important;
  border: 0.5px solid #7c7d82 !important;
  border-radius: 0 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 10px !important;
  letter-spacing: 0.35em !important;
  text-transform: uppercase !important;
  padding: 13px 32px !important;
  background-size: 100% 100%, auto;
  transition: filter 0.2s ease, box-shadow 0.25s ease !important;
}

.mod-btn-metal .elementor-button:hover,
.mod-btn-metal.elementor-button:hover,
.mod-btn-outline-light .elementor-button:hover,
.mod-btn-outline-dark .elementor-button:hover {
  filter: brightness(1.08) contrast(1.04) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.55),
    inset 0 -1px 0 rgba(0,0,0,0.18),
    0 3px 10px rgba(0,0,0,0.22) !important;
}

/* ==========================================================
   HEADER BUTTON — BRUSHED METAL PILL
   ========================================================== */
.mod-hdr-btn .elementor-button {
  background:
    linear-gradient(
      180deg,
      #8f9095 0%,
      #c9cacf 16%,
      #ffffff 40%,
      #dadbe0 62%,
      #8f9095 100%
    ),
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,0.18) 0px,
      rgba(255,255,255,0.18) 1px,
      rgba(0,0,0,0.10) 2px,
      rgba(0,0,0,0.10) 3px
    );
  color: #111 !important;
  border: none !important;
  border-radius: 100px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 9px !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  padding: 9px 20px !important;
  white-space: nowrap;
}

/* ==========================================================
   EMPHASIS — WARM CHAMPAGNE (DARK BACKGROUNDS)
   ========================================================== */
.elementor em {
  font-family: 'Cormorant Garamond', serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em;
}

@supports (-webkit-background-clip:text) {
  .elementor em {
    background: linear-gradient(180deg,#8a8078 0%,#c4bbb0 10%,#f0e9df 22%,#ffffff 34%,#f5efe6 42%,#a89e92 50%,#f5efe6 58%,#ffffff 66%,#f0e9df 78%,#c4bbb0 90%,#8a8078 100%);
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
  }
}

/* ==========================================================
   EMPHASIS — DARK METAL GRADIENT (LIGHT / GREIGE)
   ========================================================== */
.mod-light em {
  font-family: 'Cormorant Garamond', serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
}

@supports (-webkit-background-clip:text) {
  .mod-light em {
    background: linear-gradient(180deg,#08080c 0%,#2e2f35 10%,#58595f 22%,#787980 34%,#3a3b42 42%,#08080c 50%,#3a3b42 58%,#787980 66%,#58595f 78%,#2e2f35 90%,#08080c 100%);
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
  }
}

/* ==========================================================
   STATS & NUMERALS — OLDSTYLE + CHAMPAGNE
   ========================================================== */
.mod-hero-stat .elementor-heading-title,
.mod-stats-row .elementor-heading-title {
  background: linear-gradient(180deg,#8a8078 0%,#c4bbb0 10%,#f0e9df 22%,#ffffff 34%,#f5efe6 42%,#a89e92 50%,#f5efe6 58%,#ffffff 66%,#f0e9df 78%,#c4bbb0 90%,#8a8078 100%);
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  font-variant-numeric: oldstyle-nums;
}

/* ==========================================================
   DISCIPLINE NUMERALS — DARKER METAL (GREIGE BACKGROUND)
   ========================================================== */
.mod-disc-num em {
  background: linear-gradient(180deg,#1a1a1a 0%,#38332e 10%,#58595f 22%,#787980 34%,#3a3b42 42%,#1a1a1a 50%,#3a3b42 58%,#787980 66%,#58595f 78%,#38332e 90%,#1a1a1a 100%);
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  font-variant-numeric: oldstyle-nums;
}

/* ==========================================================
   TEAM CARD TYPOGRAPHY
   ========================================================== */
.mod-team-row h4.elementor-heading-title {
  font-size: 22px !important;
}

/* ==========================================================
   ACCORDION VISIBILITY
   ========================================================== */
.mod-svc-row .mod-svc-body { display: none; }
.mod-svc-row.open .mod-svc-body { display: flex; }

/* ==========================================================
   MOBILE NAV — Book CTA styling
   ========================================================== */
#mod-nav .mod-nav-cta {
  margin-top: 16px;
  padding: 14px 32px !important;
  border: 0.5px solid rgba(240,236,230,0.25) !important;
  border-radius: 0 !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 10px !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  color: #FAF9F7 !important;
  transition: border-color 0.2s, color 0.2s;
}
#mod-nav .mod-nav-cta:hover { border-color: #FAF9F7 !important; }

/* ==========================================================
   FOOTER LINKS
   ========================================================== */
.mod-footer-row a {
  color: rgba(240,236,230,0.55) !important;
  text-decoration: none;
}
.mod-footer-row a:hover { color: #FAF9F7 !important; }

/* ==========================================================
   TABLET — 768px to 1024px
   ========================================================== */
@media (min-width: 768px) and (max-width: 1024px) {

  /* Side padding */
  .elementor .e-con {
    padding-left: 36px !important;
    padding-right: 36px !important;
  }

  /* Protect header */
  .elementor-location-header .e-con {
    padding-left: 0 !important; padding-right: 0 !important;
    padding-top: 0 !important; padding-bottom: 0 !important;
  }

  /* All nested containers — full width */
  .elementor .e-con .e-con {
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Typography */
  h1.elementor-heading-title { font-size: 56px !important; line-height: 1.02 !important; }
  h2.elementor-heading-title { font-size: 42px !important; line-height: 1.08 !important; }
  .mod-hero-stat .elementor-heading-title { font-size: 100px !important; }
  .mod-stats-row .elementor-heading-title { font-size: 72px !important; }

  /* Pillar grids — 2x2 */
  .mod-pillars { flex-wrap: wrap !important; gap: 28px !important; }
  .mod-pillars > .e-con, .mod-pillar { width: 46% !important; }

  /* Inline oversized spans */
  .elementor-widget-text-editor span[style*="font-size"] { font-size: inherit !important; }

  /* Accordion — hide number, keep badge */
  .mod-svc-row > .e-con:first-child > .e-con:first-child { display: none !important; }
  .mod-svc-row > .e-con:first-child > .e-con:nth-child(2) { width: 65% !important; }
  .mod-svc-row > .e-con:first-child > .e-con:nth-child(3) { width: 20% !important; }
  .mod-svc-row > .e-con:first-child > .e-con:nth-child(4) { width: 10% !important; }

  /* Accordion body — stack */
  .mod-svc-body { flex-direction: column !important; }
  .mod-svc-body > .e-con { width: 100% !important; padding-left: 0 !important; }

  /* Discipline grid — 4 across */
  .mod-disc-grid { flex-wrap: wrap !important; }
  .mod-disc-grid > .e-con { width: 23% !important; }

  /* Google Maps — full width */
  .elementor-widget-google_maps,
  .elementor-widget-google_maps .elementor-custom-embed,
  .elementor-widget-google_maps iframe {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ==========================================================
   MOBILE — max 767px
   ========================================================== */
@media (max-width: 767px) {

  /* --- GLOBAL: Outer sections get 20px padding --- */
  .elementor .e-con {
    padding-left: 20px !important;
    padding-right: 20px !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  /* --- GLOBAL: ALL nested containers — full width, no padding --- */
  .elementor .e-con .e-con {
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .elementor .e-con .e-con .e-con {
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .elementor .e-con .e-con .e-con .e-con {
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* --- Protect header --- */
  .elementor-location-header .e-con,
  .elementor-location-header .e-con .e-con,
  .elementor-location-header .e-con .e-con .e-con {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* --- Center text globally --- */
  .elementor .elementor-widget-heading,
  .elementor .elementor-widget-text-editor {
    text-align: center !important;
  }

  /* --- Full-width buttons --- */
  .mod-btn-metal .elementor-button {
    width: 100% !important;
    justify-content: center !important;
  }

  /* --- Full-width widgets --- */
  .mod-team-row > .e-con,
  .mod-stats-row > .e-con { width: 100% !important; }

  .elementor-widget-image { width: 100% !important; }
  .elementor-widget-form { width: 100% !important; }

  .elementor-widget-google_maps,
  .elementor-widget-google_maps .elementor-custom-embed,
  .elementor-widget-google_maps iframe {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* --- TYPOGRAPHY --- */
  h1.elementor-heading-title { font-size: 38px !important; line-height: 1.08 !important; text-align: center !important; }
  h2.elementor-heading-title { font-size: 32px !important; line-height: 1.1 !important; text-align: center !important; }
  h3.elementor-heading-title { font-size: 20px !important; line-height: 1.15 !important; }
  h4.elementor-heading-title { font-size: 20px !important; }
  .mod-hero-stat .elementor-heading-title { font-size: 72px !important; }
  .mod-stats-row .elementor-heading-title { font-size: 56px !important; }
  .elementor-widget-text-editor span[style*="font-size"] { font-size: inherit !important; }

  /* --- HERO IMAGE — full bleed --- */
  .elementor > .e-con > .elementor-widget-image {
    width: 100vw !important;
    margin-left: -20px !important;
    margin-right: -20px !important;
  }

  /* --- DISCIPLINE GRID — 2 per row --- */
  .elementor .mod-disc-grid { flex-direction: row !important; flex-wrap: wrap !important; }
  .mod-disc-grid > .e-con { width: 48% !important; }

  /* --- PILLAR GRIDS — stacked --- */
  .mod-pillars { gap: 24px !important; }
  .mod-pillars > .e-con, .mod-pillar { width: 100% !important; }

  /* --- ACCORDION ROWS --- */
  .mod-svc-row > .e-con:first-child {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
  }

  .mod-svc-row > .e-con:first-child > .e-con:first-child { display: none !important; }
  .mod-svc-row > .e-con:first-child > .e-con:nth-child(2) { width: 80% !important; flex-shrink: 1 !important; }
  .mod-svc-row > .e-con:first-child > .e-con:nth-child(3) { width: auto !important; order: 4 !important; margin-top: -4px !important; margin-bottom: 4px !important; }
  .mod-svc-row > .e-con:first-child > .e-con:nth-child(4) { width: 15% !important; flex-shrink: 0 !important; align-items: flex-end !important; }

  .mod-svc-row .elementor-widget-heading { text-align: left !important; }
  .mod-svc-row > .e-con:first-child > .e-con:nth-child(4) .elementor-widget-text-editor { text-align: right !important; }
  .mod-svc-row > .e-con:first-child > .e-con:nth-child(3) .elementor-widget-text-editor { text-align: left !important; }

  .mod-svc-body { flex-direction: column !important; }
  .mod-svc-body > .e-con { width: 100% !important; padding-left: 0 !important; }
  .mod-svc-body .elementor-widget-text-editor { text-align: left !important; }

  /* --- FOOTER — 3 link columns horizontal --- */
  .elementor .mod-footer-row {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 0 !important;
  }

  .elementor .mod-footer-row > .e-con:first-child {
    width: 100% !important;
    margin-bottom: 24px !important;
    align-items: center !important;
  }

  .mod-footer-row > .e-con:first-child .elementor-widget-heading,
  .mod-footer-row > .e-con:first-child .elementor-widget-text-editor {
    text-align: center !important;
  }

  .elementor .mod-footer-row > .e-con:nth-child(2),
  .elementor .mod-footer-row > .e-con:nth-child(3),
  .elementor .mod-footer-row > .e-con:nth-child(4) {
    width: 33.33% !important;
    flex-shrink: 0 !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 0 8px !important;
  }

  .mod-footer-row > .e-con:nth-child(2) .elementor-widget-text-editor,
  .mod-footer-row > .e-con:nth-child(3) .elementor-widget-text-editor,
  .mod-footer-row > .e-con:nth-child(4) .elementor-widget-text-editor {
    text-align: left !important;
    font-size: 11px !important;
  }

  /* Copyright bar */
  .elementor-location-footer > .e-con:last-child .e-con {
    flex-direction: column !important;
    align-items: center !important;
  }
  .elementor-location-footer > .e-con:last-child .elementor-widget-text-editor {
    text-align: center !important;
  }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Cormorant Garamond';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://www.dentistinbedfordview.co.za/wp-content/uploads/CormorantGaramond-LightItalic.woff2') format('woff2');
}
/* End Custom Fonts CSS */