/*
 * MA visual consistency layer.
 * Loaded after Elementor and the plugin base styles to keep both rendering paths
 * typographically and geometrically identical.
 */

.site-main,
.site-main .elementor,
.site-main .elementor-widget-text-editor,
.site-main .elementor-button,
.site-main input,
.site-main select,
.site-main textarea,
.ma-real-wedding-single {
  font-family: "Montserrat", Arial, sans-serif !important;
}

.site-main h1,
.site-main h2,
.site-main h3,
.site-main h4,
.site-main p,
.site-main figure,
.site-main .elementor-widget,
.site-main .elementor-widget-container {
  margin-top: 0;
}

.site-main .elementor-widget:not(:last-child),
.site-main .elementor-element,
.site-main .elementor-widget-container > :last-child {
  margin-bottom: 0;
}

.site-main > .elementor,
.site-main > .elementor > .elementor-element,
.site-main .elementor-section-wrap {
  width: 100%;
  max-width: none;
}

.site-main .e-con.ma-section,
.site-main .e-con.ma-section-narrow,
.site-main .e-con.ma-hero,
.site-main .e-con.ma-paths {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

.site-main .ma-display,
.site-main .ma-display .elementor-heading-title,
.site-main .ma-title,
.site-main .ma-title .elementor-heading-title,
.site-main .ma-subtitle,
.site-main .ma-subtitle .elementor-heading-title,
.site-main .ma-quote-text,
.site-main .ma-quote-text .elementor-heading-title,
.site-main .ma-number,
.site-main .ma-number .elementor-heading-title,
.ma-wedding-card h3,
.ma-real-hero-copy h1,
.ma-real-intro h2,
.ma-real-next h2 {
  font-family: "Cormorant Garamond", "Times New Roman", serif !important;
  font-style: normal;
  text-transform: none;
}

.site-main .ma-display,
.site-main .ma-display .elementor-heading-title {
  font-size: clamp(49px, 7.6vw, 116px) !important;
  font-weight: 400 !important;
  line-height: .9 !important;
  letter-spacing: -.035em !important;
}

.site-main .ma-title,
.site-main .ma-title .elementor-heading-title {
  font-size: clamp(38px, 5vw, 70px) !important;
  font-weight: 400 !important;
  line-height: .98 !important;
  letter-spacing: -.025em !important;
}

.site-main .ma-subtitle,
.site-main .ma-subtitle .elementor-heading-title {
  font-size: clamp(27px, 3.4vw, 45px) !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
}

.site-main .ma-kicker,
.site-main .ma-kicker .elementor-heading-title,
.site-main .ma-kicker p,
.ma-wedding-meta,
.ma-wedding-link,
.ma-real-hero-copy p,
.ma-real-kicker,
.ma-real-next p {
  font-family: "Montserrat", Arial, sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

.site-main .ma-lead,
.site-main .ma-lead p {
  font-family: "Montserrat", Arial, sans-serif !important;
  font-size: clamp(16px, 1.45vw, 20px) !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
  letter-spacing: 0 !important;
}

.site-main .ma-copy,
.site-main .ma-copy p {
  font-family: "Montserrat", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.8 !important;
  letter-spacing: 0 !important;
}

.site-main .ma-button .elementor-button,
.site-main .ma-button-dark .elementor-button,
.site-main .ma-button-outline .elementor-button,
.site-main .ma-native-button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0 !important;
  padding: 16px 24px !important;
  font-family: "Montserrat", Arial, sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

.site-main .ma-button .elementor-button {
  color: #fff !important;
  background: #b76f45 !important;
  border: 1px solid #b76f45 !important;
}

.site-main .ma-button-dark .elementor-button {
  color: #fff !important;
  background: #0b0a09 !important;
  border: 1px solid #0b0a09 !important;
}

.site-main .ma-button-outline .elementor-button {
  color: #fff !important;
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.72) !important;
}

.site-main .e-con.ma-stack {
  gap: 22px !important;
}

.site-main .e-con.ma-center {
  align-items: center !important;
  justify-content: center;
}

.site-main .e-con.ma-paths,
.site-main .e-con.ma-service-grid,
.site-main .e-con.ma-brand-grid,
.site-main .e-con.ma-number-grid,
.site-main .e-con.ma-two-col,
.site-main .e-con.ma-two-col-reverse {
  flex-wrap: initial !important;
}

.site-main .ma-photo-frame,
.site-main .ma-photo-frame .elementor-widget-container,
.site-main .ma-card-image,
.site-main .ma-card-image .elementor-widget-container {
  overflow: hidden;
}

.site-main .ma-photo-frame img,
.site-main .ma-card-image img,
.site-main .ma-hero-image img {
  display: block;
  max-width: none !important;
  margin: 0 !important;
}

.site-main .ma-brand-logo img {
  display: block;
  width: min(230px, 72%) !important;
  max-width: 230px !important;
  height: 170px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}

.site-main .ma-service-card,
.site-main .ma-brand-card,
.site-main .ma-number-card {
  min-width: 0;
  box-shadow: none !important;
}

.site-main .ma-dark .elementor-heading-title,
.site-main .ma-dark p,
.site-main .ma-hero .elementor-heading-title,
.site-main .ma-hero p,
.site-main .ma-path-card .elementor-heading-title,
.site-main .ma-path-card p {
  color: #fff !important;
}

.site-main .ma-ivory {
  background-color: #f6f1e9 !important;
}

.site-main .ma-dark {
  background-color: #0b0a09 !important;
}

@media (max-width: 767px) {
  .site-main .ma-display,
  .site-main .ma-display .elementor-heading-title {
    font-size: clamp(46px, 15vw, 72px) !important;
    line-height: .92 !important;
  }

  .site-main .ma-title,
  .site-main .ma-title .elementor-heading-title {
    font-size: clamp(36px, 11vw, 52px) !important;
  }

  .site-main .e-con.ma-section,
  .site-main .e-con.ma-section-narrow {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }
}
