/**
 * Elementor compatibility v1.3 — full-bleed sections + mobile typography
 */

.elementor-widget-html,
.elementor-widget-html .elementor-widget-container,
.elementor-widget-html .e-con-inner,
.elementor-element .elementor-widget-html .e-con-inner {
  width: 100%;
  max-width: 100%;
  padding: 0 !important;
  margin-top: 0 !important;
  overflow-x: visible;
}

.elementor-widget-html .elementor-widget-container > .gems-site,
.elementor-widget-html .gems-site,
.elementor-widget-html .gems-home,
.elementor-widget-html .gems-insights-index {
  width: 100%;
  max-width: 100%;
  overflow-x: visible !important;
}

.elementor-widget-html .gems-site .gems-container,
.elementor-widget-html .gems-home .gems-container {
  max-width: 1200px;
  width: 100%;
  min-width: 0;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(16px, 4vw, 24px) !important;
  padding-right: clamp(16px, 4vw, 24px) !important;
  box-sizing: border-box;
}

@media (max-width: 991px) {
  .elementor-widget-html,
  .elementor-widget-html .elementor-widget-container,
  .elementor-widget-html .gems-site,
  .elementor-widget-html .gems-home,
  .elementor-widget-html .gems-insights-index {
    overflow-x: clip !important;
  }
}

/* Canvas layout is full-width — avoid 100vw bleed (breaks Elementor preview) */
@media (min-width: 992px) {
  .elementor-widget-html .gems-hero,
  .elementor-widget-html .gems-page-banner,
  .elementor-widget-html .gems-section,
  .elementor-widget-html .gems-section-alt,
  .elementor-widget-html .gems-section-dark,
  .elementor-widget-html .gems-why-split,
  .elementor-widget-html .gems-cta-band,
  .elementor-widget-html .gems-trust-bar,
  .elementor-widget-html .gems-cert-strip,
  .elementor-widget-html .gems-insights-index .gems-page-banner,
  .elementor-widget-html .gems-insights-index .gems-section,
  .elementor-widget-html .gems-insights-index .gems-section-alt {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
  }
}

@media (max-width: 991px) {
  .elementor-widget-html .gems-hero,
  .elementor-widget-html .gems-page-banner,
  .elementor-widget-html .gems-section,
  .elementor-widget-html .gems-section-alt,
  .elementor-widget-html .gems-section-dark,
  .elementor-widget-html .gems-why-split,
  .elementor-widget-html .gems-cta-band,
  .elementor-widget-html .gems-trust-bar,
  .elementor-widget-html .gems-cert-strip {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}

.elementor-widget-html a { text-decoration: none; }

/* Typography — override Elementor global heading styles */
.elementor-widget-html .gems-site {
  font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  color: var(--gems-body-text, #3d2914) !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.elementor-widget-html .gems-site h1,
.elementor-widget-html .gems-site .gems-page-banner-title {
  font-family: "Italiana", Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.35rem, 5.5vw, 2.25rem) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

.elementor-widget-html .gems-site .gems-section-title,
.elementor-widget-html .gems-site h2.gems-section-title {
  font-family: "Italiana", Georgia, "Times New Roman", serif !important;
  font-size: clamp(1.3rem, 4.5vw, 2.35rem) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: var(--gems-copper-dark, #6b3f20) !important;
}

.elementor-widget-html .gems-site h2:not(.gems-section-title) {
  font-family: "Italiana", Georgia, serif !important;
  font-size: clamp(1.2rem, 4vw, 1.6rem) !important;
  line-height: 1.25 !important;
}

.elementor-widget-html .gems-site h3 {
  font-family: "Manrope", sans-serif !important;
  font-size: clamp(0.95rem, 2.8vw, 1.05rem) !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: var(--gems-copper-dark, #6b3f20) !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

.elementor-widget-html .gems-site p,
.elementor-widget-html .gems-site li {
  font-family: "Manrope", sans-serif !important;
  font-size: clamp(0.94rem, 2.5vw, 1rem) !important;
  line-height: 1.65 !important;
}

.elementor-widget-html .gems-site .gems-eyebrow {
  font-family: "Manrope", sans-serif !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.elementor-widget-html .gems-site .gems-breadcrumb {
  font-size: 0.8rem !important;
  line-height: 1.4 !important;
}

/* Keep snippet header/footer lists visible inside Elementor Canvas */
.gems-header-wrap .gems-menu,
.gems-header-wrap .gems-footer-links,
.gems-site-footer .gems-footer-links,
.gems-site-footer .gems-footer-contact {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.gems-header-wrap .gems-menu li {
  display: flex !important;
  align-items: center !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.gems-header-wrap .gems-menu a {
  display: inline-flex !important;
  align-items: center !important;
  visibility: visible !important;
}
.gems-site-footer .gems-footer-links li,
.gems-site-footer .gems-footer-contact li {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.gems-site-footer .gems-footer-links a {
  display: inline !important;
  visibility: visible !important;
}

.elementor-widget-html .gems-hero a.gems-btn-ghost {
  color: var(--gems-cream, #f5f0e8) !important;
}

.elementor-widget-html .gems-hero a.gems-btn-primary,
.elementor-widget-html .gems-section a.gems-btn-primary {
  color: #1a1412 !important;
}

.elementor-widget-html .gems-section a.gems-btn-outline {
  color: var(--gems-copper-dark, #6b3f20) !important;
}

#main-content.gems-site {
  padding: 0;
  max-width: none;
  overflow-x: hidden;
}

.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 100%;
}

.elementor-section.elementor-section-boxed > .elementor-container,
.elementor-column,
.elementor-widget-wrap {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
