/* === Keep Elementor containers visible (no design changes) ============== */
.elementor *,
.elementor-element,
.e-con,
.e-parent,
.e-child,
.elementor-widget,
.elementor-section,
.elementor-column,
.elementor-row {
  opacity: 1 !important;
  visibility: visible !important;
}

body.elementor-page {
  visibility: visible !important;
  opacity: 1 !important;
}

img.lazyload,
img[data-src] {
  opacity: 1 !important;
}

/* Pull in Playfair Display (same elegant serif the live hero uses) */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&display=swap');

/* === Static homepage hero (replacing the Slider Revolution module that
       can't render without WordPress JS). Keep it as a simple block that
       fills the slider's container — no break-out gymnastics. ============ */
/* The Slider Revolution widget on the homepage lives inside a flex
   container that, without the SR7 JS measuring widths, would otherwise
   collapse to its content. Force the hero (and its wrappers) to fill the
   row so the hero looks full-width like the live site. */
.elementor-widget-slider_revolution,
.elementor-widget-slider_revolution .elementor-widget-container,
.wp-block-themepunch-revslider {
  width: 100% !important;
  flex: 1 1 100% !important;
  max-width: 100% !important;
}

.pism-static-hero {
  position: relative;
  /* Break out of the 1140px e-con-boxed container so the hero is
     edge-to-edge like the live site. */
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  min-height: 600px;
  overflow: hidden;
  background:
    linear-gradient(100deg, rgba(0,0,0,.45), rgba(0,0,0,.15) 60%, transparent),
    #0B44C1 url('/wp-content/uploads/2024/08/Website-Photo-1a.jpg') center/cover no-repeat;
  color: #fff;
}

.pism-static-hero__inner {
  position: relative;
  max-width: 1140px;
  margin: 0 auto;
  /* extra top padding so the title sits lower on the hero, matching the
     live site's slider layout */
  padding: 9rem 2rem 5rem;
  box-sizing: border-box;
}

.pism-static-hero h1 {
  font-family: "Playfair Display", "Georgia", serif;
  font-weight: 500;
  font-size: clamp(2rem, 4vw, 3.5rem);
  line-height: 1.15;
  color: #fff;
  margin: 0;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45);
}

.pism-static-hero .cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1.75rem;
  background: #0B44C1;
  color: #fff;
  font-weight: 600;
  padding: 12px 26px;
  border-radius: 999px;
  text-decoration: none;
  font-family: "Poppins", system-ui, sans-serif;
  font-size: 0.95rem;
}

.pism-static-hero .cta:hover { background: #093697; color: #fff; }

/* === Hide broken slider remnants ===================================== */
rs-module-wrap,
sr7-module {
  display: none !important;
}

.sticky_form.rts-search-popup {
  display: none;
}

.tutor-front-load .tutor-spinner,
.ff-loader {
  display: none !important;
}

/* FluentForm widget can't render without WordPress backend (it tries to
   fetch form config and shows "Failed to fetch"). Hide it on the
   newsletter page where it appears. */
.fluentform_wrapper_pages,
.ff-el-form-control[disabled],
.fluentform_wrapper_pages .ff-message-success,
.fluentform_wrapper_pages .ff-message-failed,
.frm-fluent-form.failed-to-load {
  display: none !important;
}

/* 3D Flipbook plugin can't render without WP backend (it shows "Failed
   to fetch" because the plugin loads PDF via admin-ajax). Hide the broken
   widget — our static PDF iframe takes its place. */
._3d-flip-book,
.threed-flipbook,
.r3d-flipbook,
.elementor-widget-3d-flip-book,
.elementor-widget-threed_flipbook,
.real3dflipbook-container,
.threed-flipbook-thumbnail-container,
[class*="3d-flip-book"],
[class*="threed-flipbook"] {
  display: none !important;
}

/* The newsletter PDF iframe we embed should be the prominent content */
.pism-newsletter-viewer {
  display: block !important;
  margin-block: 0 !important;
}
