/* ============================================================
   CMBN Hello Elementor — theme overrides / compatibility layer
   Loaded after cmbn-design-system.css. Keep this file small:
   it only patches things that change because content now lives
   inside Elementor's own container/section markup instead of
   the original static <section class="section">.
   ============================================================ */

/* Elementor wraps every imported section in <div class="e-con...">.
   Our design-system CSS already targets .section / .shell / .card
   etc. directly on the elements that carry those classes (added via
   each widget's Advanced > CSS Classes field), so no extra nesting
   fixes are usually required. These two rules cover the two most
   common edge cases when a designer nests our classes one level deeper
   than the generator did. */
.e-con .shell {
  width: 100%;
}
.e-con.e-con--column > .e-con .card {
  height: 100%;
}

/* The Events Calendar: give TEC's own templates the same max-width
   rhythm as the rest of the site when wrapped by our functions.php hook. */
.cmbn-tec-wrap.shell {
  padding-top: 40px;
  padding-bottom: 40px;
}

/* Contact Form 7 default styling to match the editorial design language. */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
  font-family: var(--font-body);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 12px 16px;
  width: 100%;
}
.wpcf7-form input[type="submit"] {
  font-family: var(--font-body);
  background: var(--crimson);
  color: var(--white);
  border-radius: var(--radius-pill);
  padding: 12px 24px;
  font-weight: 600;
  cursor: pointer;
}
.wpcf7-form input[type="submit"]:hover {
  background: var(--crimson-deep);
}

/* Keep footer newsletter form visually inline with the original design. */
.footer__news .wpcf7-form {
  display: flex;
  gap: 8px;
}
.footer__news .wpcf7-response-output {
  color: var(--sand);
  font-size: 13px;
  margin-top: 8px;
}

/* Respect reduced motion regardless of where the animation class lives. */
@media (prefers-reduced-motion: reduce) {
  .e-con *,
  .e-con *::before,
  .e-con *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}
