/* ---------- Core container ---------- */
.umbc-hero-cover-block{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;    /* overridden by .valign-* classes */
  overflow:hidden;
  color:#fff;
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
  background-blend-mode: multiply;
  width:100%;
}

/* ---------- Content wrapper for inner blocks ---------- */
.umbc-hero-cover-block .hero-content-wrapper{
  position:relative;
  z-index:2;
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding-inline: 1.5rem;
  box-sizing: border-box;
  text-align:inherit;
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: none;
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
}


/* ---------- scrim overlay divs ---------- */
.hero-scrim{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
}
@media(min-width:768px){ .hero-scrim.mobile-scrim{display:none;} }
@media(max-width:767px){ .hero-scrim.desktop-scrim{display:none;} }

/* ---------- horizontal alignment (text + column) ---------- */
.umbc-hero-cover-block.align-left   { text-align:left;   }
.umbc-hero-cover-block.align-center { text-align:center; }
.umbc-hero-cover-block.align-right  { text-align:right;  }

/* Content wrapper is always centered at 1200px max, but content inside aligns based on text-align */
.umbc-hero-cover-block .hero-content-wrapper { 
  margin: 0 auto;
}

/* ---------- vertical alignment (flex parent) ---------- */
.umbc-hero-cover-block.valign-top    { justify-content:flex-start; }
.umbc-hero-cover-block.valign-center { justify-content:center;     }
.umbc-hero-cover-block.valign-bottom { justify-content:flex-end;   }

/* ---------- mobile overrides ---------- */
@media(max-width:767px){
  .umbc-hero-cover-block .hero-content-wrapper {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  /* mobile horizontal alignment */
  .umbc-hero-cover-block.mobile-align-left   { text-align:left !important;   }
  .umbc-hero-cover-block.mobile-align-center { text-align:center !important; }
  .umbc-hero-cover-block.mobile-align-right  { text-align:right !important;  }

  /* Mobile alignment - content wrapper stays centered, content inside aligns */

  /* mobile vertical alignment */
  .umbc-hero-cover-block.mobile-valign-top    { justify-content:flex-start !important; }
  .umbc-hero-cover-block.mobile-valign-center { justify-content:center !important;     }
  .umbc-hero-cover-block.mobile-valign-bottom { justify-content:flex-end !important;   }

  /* mobile button alignment override */
  .umbc-hero-cover-block.mobile-align-left .wp-block-buttons.hero-buttons   { justify-content:flex-start !important; }
  .umbc-hero-cover-block.mobile-align-center .wp-block-buttons.hero-buttons { justify-content:center !important; }
  .umbc-hero-cover-block.mobile-align-right .wp-block-buttons.hero-buttons  { justify-content:flex-end !important; }

  /* disable fixed attachment for parallax on mobile */
  .umbc-hero-cover-block{ 
    background-attachment:scroll!important; 
  }
}

/* ---------- Inner blocks typography ---------- */
.umbc-hero-cover-block h1,
.umbc-hero-cover-block h2,
.umbc-hero-cover-block h3,
.umbc-hero-cover-block h4,
.umbc-hero-cover-block h5,
.umbc-hero-cover-block h6 {
  color:inherit;
  margin:0 0 1rem;
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: none;
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
}

.umbc-hero-cover-block p {
  color:inherit;
  margin:0 0 1rem;
  font-size:1.125rem;
  line-height:1.6;
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: none;
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
}

.umbc-hero-cover-block .hero-heading {
  font-size:clamp(2.5rem, 5vw, 4rem);
  font-weight:700;
  line-height:1.2;
  margin-bottom:1.5rem;
}

.umbc-hero-cover-block .hero-text {
  font-size:1.25rem;
  line-height:1.6;
  margin-bottom:2rem;
}

/* ---------- Button groups ---------- */
.umbc-hero-cover-block .wp-block-buttons {
  margin-top:2rem;
}

.umbc-hero-cover-block .wp-block-buttons.hero-buttons {
  justify-content:flex-start;
}

.umbc-hero-cover-block.align-center .wp-block-buttons.hero-buttons {
  justify-content:center;
}

.umbc-hero-cover-block.align-right .wp-block-buttons.hero-buttons {
  justify-content:flex-end;
}

@media(max-width:767px){
  .umbc-hero-cover-block .wp-block-buttons {
    flex-direction:column;
  }

  /* Only center buttons when mobile alignment is center */
  .umbc-hero-cover-block.mobile-align-center .wp-block-buttons {
    align-items:center;
  }

  .umbc-hero-cover-block.mobile-align-left .wp-block-buttons {
    align-items:flex-start;
  }

  .umbc-hero-cover-block.mobile-align-right .wp-block-buttons {
    align-items:flex-end;
  }
}

/* ---------- WordPress button styles ---------- */
.umbc-hero-cover-block .wp-block-button__link {
  border-radius:var(--umbc-radius-sm, 4px);
  font-weight:600;
  text-decoration:none;
  transition:all .3s ease;
  padding:0.75rem 1.5rem;
}

.umbc-hero-cover-block .wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background:#fdb515;
  color:#252525;
}

.umbc-hero-cover-block .wp-block-button.is-style-outline .wp-block-button__link {
  background:transparent;
  border:2px solid #fdb515;
  color:#fdb515;
}

.umbc-hero-cover-block .wp-block-button__link:hover {
  opacity:0.85;
}

/* ---------- Legacy button support ---------- */
.umbc-hero-cover-block .btn{
  display:inline-block;
  padding:.75em 1.5em;
  border-radius:var(--umbc-radius-sm, 4px);
  font-weight:600;
  text-decoration:none;
  transition:opacity .3s;
}
.umbc-hero-cover-block .btn-solid{
  background:#fdb515;
  color:#252525;
}
.umbc-hero-cover-block .btn-ghost{
  background:transparent;
  border:2px solid #fdb515;
  color:#fdb515;
}
.umbc-hero-cover-block .btn:hover{opacity:.85;}

/* ---------- Responsive adjustments ---------- */
@media(max-width:767px){
  .umbc-hero-cover-block .hero-heading {
    font-size:clamp(2rem, 6vw, 3rem);
    margin-bottom:1rem;
  }

  .umbc-hero-cover-block p {
    font-size:1rem;
  }

  .umbc-hero-cover-block .hero-text {
    font-size:1.125rem;
    margin-bottom:1.5rem;
  }
}

/* =============================================================
   Dark Mode — Page Hero Block
   The hero is inherently dark (full-bleed photo with scrim,
   white text). Dark mode additions are minimal: backstop bg
   color and ensuring the scrim doesn't fight the dark page bg.
   Gold buttons use color:#252525 — black on gold, valid pair.
   ============================================================= */

/* Backstop: prevent white flash if background image is slow.
   background-blend-mode is reset to normal so the dark backstop
   doesn't multiply-darken the photo into solid black. */
[data-theme="dark"] .umbc-hero-cover-block {
  background-color: #111;
  background-blend-mode: normal;
}