/* =====================================================================
   PROTOTYPE-ONLY SHIMS — do NOT paste into WordPress.
   These rules imitate what Elementor's own frontend CSS/JS already does
   (boxed width, form grid, tab panels, entrance animations) so the static
   HTML behaves like the Elementor build. Kept in @layer base so Tailwind
   utilities (= your Elementor panel settings) always win.
   ===================================================================== */
@layer base {
  .e-con-inner { width: 100%; max-width: 1240px; margin-inline: auto; padding-inline: 20px; }
  @media (min-width: 768px) { .e-con-inner { padding-inline: 32px; } }
  .elementor-widget { min-width: 0; }
  .elementor-widget-image img { max-width: 100%; height: auto; }

  /* Elementor Pro form grid */
  .elementor-form-fields-wrapper { display: flex; flex-wrap: wrap; gap: 18px; }
  .elementor-form .elementor-field-group { width: 100%; }
  @media (min-width: 768px) { .elementor-form .elementor-col-50 { width: calc(50% - 9px); } }
  .elementor-form .elementor-field-type-submit { width: auto; }
  .ks-form-inline .elementor-form-fields-wrapper { flex-wrap: nowrap; gap: 10px; }
  .ks-form-inline .elementor-field-type-email { flex: 1; }
  .elementor-message { display: none; }
  .elementor-message.is-visible { display: block; }

  /* Nested tabs panels */
  .e-n-tabs-content > .e-con { display: none; }
  .e-n-tabs-content > .e-con.e-active { display: flex; }

  /* Entrance animations (Elementor: Motion Effects → Entrance Animation) */
  [data-anim] { opacity: 0; transform: translateY(26px); transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1); transition-delay: var(--d, 0ms); }
  [data-anim="fadeIn"] { transform: none; }
  [data-anim="zoomIn"] { transform: scale(.94); }
  [data-anim].is-in { opacity: 1; transform: none; }
  @media (prefers-reduced-motion: reduce) { [data-anim] { opacity: 1; transform: none; } }

  .elementor-screen-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  body.ks-menu-open { overflow: hidden; }
}
