/* ACF Page Hero (full-width static banner) */

.wp-block-acf-page-hero {
  position: relative;
  margin: 0; /* remove default gap */
}

/* Force full-bleed even inside legacy .container/.grid */
.wp-block-acf-page-hero.alignfull {
  width: 100dvw !important;
  max-width: 100dvw !important;
  margin-left: calc(50% - 50dvw) !important;
  margin-right: calc(50% - 50dvw) !important;
  box-sizing: border-box;
}

/* Media */
.page-hero__media {
  position: relative;
  display: block;
  margin: 0;
  line-height: 0;
  overflow: hidden;
}

.page-hero__media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* Focal helpers (optional) */
.wp-block-acf-page-hero[data-focal="top"]    .page-hero__media img { object-position: center top; }
.wp-block-acf-page-hero[data-focal="center"] .page-hero__media img { object-position: center center; }
.wp-block-acf-page-hero[data-focal="bottom"] .page-hero__media img { object-position: center bottom; }

/* Height presets */
.page-hero--auto   .page-hero__media img { height: auto; }
.page-hero--short  .page-hero__media { height: 280px; }
.page-hero--medium .page-hero__media { height: 420px; }
.page-hero--tall   .page-hero__media { height: 560px; }

@media (max-width: 768px) {
  .page-hero--short  .page-hero__media { height: 220px; }
  .page-hero--medium .page-hero__media { height: 300px; }
  .page-hero--tall   .page-hero__media { height: 380px; }
}

/* Overlay */
.page-hero__overlay {
  position: absolute;
  inset: 0;
  display: grid;
  align-items: end; /* text bottom-left by default */
  pointer-events: none;
}

.page-hero__overlay-bg {
  position: absolute;
  inset: 0;
  opacity: 1;
  mix-blend-mode: normal;
}

/* Inner aligns with site content width but you can keep your legacy .container */
.page-hero__inner.container {
  position: relative;
  z-index: 2;
  padding: 24px 20px; /* side padding for small screens */
}

/* Text */
.page-hero__title {
  margin: 0 0 6px 0;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.1;
  text-wrap: balance;
}

.page-hero__subtitle {
  margin: 0;
  font-size: clamp(16px, 2vw, 20px);
  line-height: 1.4;
}

body.page .grid.grid-pad:has(.wp-block-acf-page-hero.alignfull:first-child) {
  padding-top: 0 !important;
}

body.page .grid.grid-pad,
body.page .col-1-1,
body.page .content.main {
  overflow: visible !important;
}

.wp-block-acf-page-hero.alignfull{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  margin-top:0 !important;
  box-sizing:border-box;
}

body.page .grid.grid-pad:has(.wp-block-acf-page-hero.alignfull:first-child){
  padding-top:0 !important;
}

.entry-content .wp-block-acf-page-hero.alignfull:first-child{
  padding-left:0 !important;
  padding-right:0 !important;
}

body.page .content.main:has(> .wp-block-acf-page-hero) > h1:first-of-type {
  display: none !important;
}

/* When a Page Hero block is present, remove the theme padding/margins above it */
body.page .grid.grid-pad:has(.wp-block-acf-page-hero) {
  padding-top: 0 !important;
}

body.page .content.main:has(> .wp-block-acf-page-hero) {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
/* Full-bleed hero; no left/right container padding on the grid that holds it */
.wp-block-acf-page-hero,
.wp-block-acf-page-hero.alignfull {
  width: 100dvw !important;
  max-width: 100dvw !important;
  margin-left: calc(50% - 50dvw - 1px) !important;
  margin-right: calc(50% - 50dvw) !important;
  margin-bottom: 50px !important;
  box-sizing: border-box;
}

body.page .grid.grid-pad:has(.wp-block-acf-page-hero) {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Make sure the image inside the hero truly spans edge-to-edge */
.page-hero img,
.wp-block-acf-page-hero img {
  display: block;
  width: 100%;
  height: auto;
}


