/*
  * CLS fix: Elementor popup/dialog that opens on page load.
  * Keep it fixed and out of flow so it never shifts layout when it appears.
  */
  .elementor-popup-modal,
  .dialog-widget.dialog-lightbox-widget {
    position: fixed !important;
    inset: 0;
    z-index: 999999;
  }
  .dialog-widget-content.dialog-lightbox-widget-content,
  .dialog-message.dialog-lightbox-message {
    contain: layout;
  }

  /* 
  * CLS fix: Featured post images (Elementor theme post featured image widget).
  * The exact aspect-ratio is output dynamically per single post in wp_head
  * based on the featured image dimensions. These base styles just ensure
  * the image fills its reserved box and does not overflow.
  */
  .elementor-widget-theme-post-featured-image .elementor-widget-container {
    position: relative;
    overflow: hidden;
  }

  .elementor-widget-theme-post-featured-image .elementor-widget-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }