/* ==== OFFER / PRICING (source .offer-section / .offer-panel) ==== */

#offer,
.cm-offer-wrap,
.elementor-element.cm-offer-wrap {
  padding: 38px max(24px, calc((100vw - 1240px) / 2)) 120px !important;
  background: #F7F3E8 !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
}

#offer > .e-con,
#offer > .elementor-element,
.cm-offer-wrap > .e-con {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

#cm-offer,
.cm-offer,
.elementor-element.cm-offer {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 70px !important;
  display: grid !important;
  grid-template-columns: 1fr 430px !important;
  gap: 80px !important;
  align-items: center !important;
  background:
    radial-gradient(circle at 15% 80%, rgba(117, 34, 28, 0.8), transparent 35%),
    #000F23 !important;
  color: #FFFFFF !important;
  border: 0 !important;
  box-shadow: none !important;
  flex-direction: unset !important;
  flex-wrap: unset !important;
  --display: grid !important;
  --flex-direction: unset !important;
  --gap: 80px !important;
  box-sizing: border-box !important;
}

#cm-offer > #cm-offer-copy,
#cm-offer-copy,
.cm-offer-copy,
.elementor-element.cm-offer-copy {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  flex: unset !important;
  --width: 100% !important;
}

/* eyebrow */
.cm-offer-eyebrow,
.cm-offer-eyebrow p,
#cm-offer-copy > .elementor-widget-text-editor:first-child,
#cm-offer-copy > .elementor-widget-text-editor:first-child p {
  margin: 0 0 26px !important;
  color: #FCF392 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  line-height: 1.35 !important;
}

/* title — one visual block */
.cm-offer-title,
.cm-offer-title .elementor-heading-title,
#cm-offer-copy > .elementor-widget-heading .elementor-heading-title,
#cm-offer-copy > .cm-offer-title-line .elementor-heading-title {
  margin: 0 !important;
  max-width: 680px !important;
  color: #FFFFFF !important;
  font-family: "Bricolage Grotesque", sans-serif !important;
  font-size: clamp(52px, 5.3vw, 76px) !important;
  font-weight: inherit !important; /* match Next .offer-copy h2 — no explicit weight */
  line-height: 0.94 !important;
  letter-spacing: -0.06em !important;
}

#cm-offer-copy > .elementor-widget-heading,
#cm-offer-copy > .cm-offer-title-line {
  margin: 0 !important;
  --margin-top: 0px !important;
  --margin-bottom: 0px !important;
  width: 100% !important;
}

#cm-offer-copy > .elementor-widget-heading:last-of-type,
#cm-offer-copy > .cm-offer-title-line:last-of-type {
  margin: 0 0 24px !important;
  --margin-bottom: 24px !important;
}

/* body copy */
.cm-offer-body,
.cm-offer-body p,
#cm-offer-copy > .elementor-widget-text-editor:nth-of-type(2),
#cm-offer-copy > .elementor-widget-text-editor:nth-of-type(2) p {
  margin: 0 !important;
  max-width: 590px !important;
  color: rgba(255, 255, 255, 0.62) !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* tags — horizontal wrap pills (NOT full-width stacks) */
#cm-offer-tags,
.cm-offer-tags,
.elementor-element.cm-offer-tags {
  margin-top: 34px !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  align-content: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 590px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  --display: flex !important;
  --flex-direction: row !important;
  --flex-wrap: wrap !important;
  --gap: 8px !important;
}

.cm-offer-tag,
.elementor-element.cm-offer-tag,
#cm-offer-tags > .e-con,
.cm-offer-tags > .e-con {
  width: auto !important;
  max-width: max-content !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  --width: max-content !important;
  margin: 0 !important;
  padding: 8px 12px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 40px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

.cm-offer-tag .elementor-widget-text-editor,
.cm-offer-tag .elementor-widget-text-editor p,
.cm-offer-tag p {
  margin: 0 !important;
  padding: 0 !important;
  color: rgba(255, 255, 255, 0.68) !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

/* pricing card — beat #cm-offer > .e-con resets */
#cm-offer > #cm-pricing,
#cm-pricing,
.cm-pricing,
.elementor-element.cm-pricing {
  width: 430px !important;
  max-width: 100% !important;
  --width: 430px !important;
  justify-self: end !important;
  margin: 0 !important;
  padding: 38px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
  background: #F7F3E8 !important;
  color: #000F23 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: 18px 18px 0 #D7A319 !important;
  box-sizing: border-box !important;
}

.cm-price-eyebrow,
.cm-price-eyebrow p,
#cm-pricing > .elementor-widget-text-editor:first-child,
#cm-pricing > .elementor-widget-text-editor:first-child p {
  margin: 0 !important;
  color: #75221C !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
}

/* $599 / month */
#cm-price,
.cm-price,
.elementor-element.cm-price {
  margin: 14px 0 10px !important;
  --margin-top: 14px !important;
  --margin-bottom: 10px !important;
}

#cm-price p,
.cm-price p,
.cm-price-row {
  margin: 0 !important;
  display: flex !important;
  align-items: flex-start !important;
  line-height: 1 !important;
  color: #000F23 !important;
}

.cm-price sup,
#cm-price sup {
  margin-top: 12px !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  color: #000F23 !important;
}

.cm-price strong,
#cm-price strong {
  font-family: "Bricolage Grotesque", sans-serif !important;
  font-size: 98px !important;
  font-weight: 700 !important;
  line-height: 0.9 !important;
  letter-spacing: -0.08em !important;
  color: #000F23 !important;
}

.cm-price span,
#cm-price span {
  align-self: flex-end !important;
  margin: 0 0 10px 10px !important;
  color: #6F6E69 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.cm-price-sub,
.cm-price-sub p,
#cm-pricing > .cm-price-sub,
#cm-pricing > .cm-price-sub p {
  margin: 0 !important;
  color: #6F6E69 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

/* checklist */
.cm-offer-checks,
#cm-pricing .elementor-icon-list-items,
#cm-pricing ul.cm-offer-checks {
  margin: 24px 0 30px !important;
  padding: 22px 0 0 !important;
  border-top: 1px solid rgba(16, 20, 24, 0.15) !important;
  list-style: none !important;
}

#cm-pricing .elementor-icon-list-item,
.cm-offer-checks li {
  margin: 13px 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #000F23 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

#cm-pricing .elementor-icon-list-icon {
  width: 19px !important;
  height: 19px !important;
  min-width: 19px !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid #000F23 !important;
  border-radius: 50% !important;
  box-sizing: border-box !important;
}

#cm-pricing .elementor-icon-list-icon i,
#cm-pricing .elementor-icon-list-icon svg {
  width: 11px !important;
  height: 11px !important;
  font-size: 11px !important;
  color: #000F23 !important;
  fill: #000F23 !important;
}

.cm-offer-checks .check {
  width: 19px !important;
  height: 19px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  border: 1px solid currentColor !important;
  border-radius: 50% !important;
  font-size: 11px !important;
  line-height: 1 !important;
  color: #000F23 !important;
}

#cm-pricing .elementor-widget-spacer {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
}

/* CTA */
#cm-pricing .cm-btn,
#cm-pricing .cm-btn-full,
#cm-pricing .elementor-widget-button {
  width: 100% !important;
  margin: 0 !important;
}

#cm-pricing .cm-btn .elementor-button,
#cm-pricing .cm-btn-full .elementor-button,
#cm-pricing .elementor-button {
  width: 100% !important;
  min-height: 58px !important;
  padding: 0 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  background: #F2C83B !important;
  color: #000F23 !important;
  border: 0 !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: 0.045em !important;
  text-transform: uppercase !important;
  text-align: center !important;
}

#cm-pricing .elementor-button-text,
#cm-pricing .elementor-button-content-wrapper {
  color: #000F23 !important;
}

/* footnote */
.cm-price-note,
.cm-price-note p,
#cm-pricing > .elementor-widget-text-editor:last-child,
#cm-pricing > .elementor-widget-text-editor:last-child p {
  margin: 16px 0 0 !important;
  color: #6F6E69 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  text-align: center !important;
}

@media (max-width: 1050px) {
  #cm-offer,
  .cm-offer,
  .elementor-element.cm-offer {
    grid-template-columns: 1fr !important;
    gap: 48px !important;
  }

  #cm-offer > #cm-pricing,
  #cm-pricing,
  .cm-pricing {
    width: min(480px, 100%) !important;
    --width: min(480px, 100%) !important;
    justify-self: start !important;
  }
}

@media (max-width: 720px) {
  #offer,
  .cm-offer-wrap {
    padding: 0 !important;
  }

  #cm-offer,
  .cm-offer {
    padding: 76px 20px !important;
    gap: 44px !important;
    max-width: none !important;
  }

  .cm-offer-title,
  .cm-offer-title .elementor-heading-title,
  #cm-offer-copy > .elementor-widget-heading .elementor-heading-title {
    font-size: 52px !important;
  }

  #cm-offer > #cm-pricing,
  #cm-pricing,
  .cm-pricing {
    width: 100% !important;
    --width: 100% !important;
    padding: 30px 24px !important;
    box-shadow: 9px 9px 0 #D7A319 !important;
  }

  .cm-price strong,
  #cm-price strong {
    font-size: 82px !important;
  }
}

/* offer-fix 20260811b */
