/*!****************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./assets/styles/frontend.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************/
/**
 * Frontend styles for WordPress Core Block Enhancements
 */
/**
 * Shared credit system styles
 * 
 * Single source of truth for image credit overlay styling.
 * Used by both core/cover and core/image block enhancements.
 */
.image-credit {
  position: absolute;
  padding: 8px 12px;
  font-size: 12px;
  line-height: 1.4;
  z-index: 10;
  max-width: 80%;
  word-wrap: break-word;
  font-family: Montserrat, sans-serif;
}
.image-credit a {
  color: inherit;
  text-decoration: underline;
  font-size: inherit;
}
.image-credit a:hover {
  opacity: 0.8;
}
.image-credit--top-left {
  left: 0;
}
.image-credit--top-right {
  right: 0;
}
.image-credit--bottom-left {
  left: 0;
}
.image-credit--bottom-right {
  right: 0;
}
.image-credit--outside.image-credit--top-left, .image-credit--outside.image-credit--top-right {
  top: -33px;
}
.image-credit--outside.image-credit--bottom-left, .image-credit--outside.image-credit--bottom-right {
  bottom: -33px;
}
.image-credit--inside.image-credit--top-left, .image-credit--inside.image-credit--top-right {
  top: 0;
}
.image-credit--inside.image-credit--bottom-left, .image-credit--inside.image-credit--bottom-right {
  bottom: 0;
}
@media (max-width: 768px) {
  .image-credit {
    font-size: 10px;
    padding: 6px 10px;
    max-width: 90%;
  }
}

.wp-block-cover.has-image-credit {
  overflow: visible !important;
}
.wp-block-cover.has-stacking-fix .wp-block-cover__image-background,
.wp-block-cover.has-stacking-fix .wp-block-cover__video-background {
  z-index: 1 !important;
}
.wp-block-cover.has-stacking-fix .wp-block-cover__inner-container {
  z-index: 5 !important;
}
.wp-block-cover.has-stacking-fix .image-credit {
  z-index: 10 !important;
}

.wp-block-image.has-image-credit {
  overflow: visible !important;
}
.wp-block-image.has-image-credit figure {
  overflow: visible !important;
}
.wp-block-image.has-image-credit .image-credit-wrapper {
  position: relative;
  display: inline-block;
  overflow: visible;
}

/**
 * Three Column Layout Pattern Styles
 *
 * Styles for the three-column-layout pattern that uses core/columns (2 columns)
 * with core/image blocks (with credit system).
 *
 * Layout: Left column with 3 images in grid | Right column with text content
 * Grid: 60% full-height image | 40% two stacked images
 */
.three-column-layout.wp-block-columns {
  gap: 2.5rem !important;
}
@media screen and (max-width: 768px) {
  .three-column-layout.wp-block-columns {
    gap: 0 !important;
  }
}
.three-column-layout__images {
  display: grid !important;
  grid-template-columns: 60% 40%;
  grid-template-rows: 1.063rem auto auto 1.063rem;
  gap: 10px;
  align-items: start;
}
@media screen and (max-width: 768px) {
  .three-column-layout__images {
    gap: 0;
    grid-template-rows: auto auto;
  }
}
.three-column-layout__images .wp-block-image {
  margin: 0;
}
.three-column-layout__images .wp-block-image figure {
  margin: 0;
}
.three-column-layout__images .wp-block-image:nth-child(1) {
  grid-row: 1/5;
  grid-column: 1;
  position: relative;
  align-self: stretch;
}
@media screen and (max-width: 768px) {
  .three-column-layout__images .wp-block-image:nth-child(1) {
    grid-row: 1/3;
  }
}
.three-column-layout__images .wp-block-image:nth-child(1) .image-credit-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.three-column-layout__images .wp-block-image:nth-child(1) img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.three-column-layout__images .wp-block-image:nth-child(2) {
  grid-row: 2;
  grid-column: 2;
  position: relative;
  width: 86%;
  justify-self: start;
}
@media screen and (max-width: 768px) {
  .three-column-layout__images .wp-block-image:nth-child(2) {
    width: 100%;
    grid-row: 1;
  }
}
.three-column-layout__images .wp-block-image:nth-child(2) .image-credit-wrapper {
  position: relative;
  width: 100%;
  overflow: visible;
}
.three-column-layout__images .wp-block-image:nth-child(2) img {
  width: 100%;
  height: auto;
  display: block;
}
@media screen and (max-width: 768px) {
  .three-column-layout__images .wp-block-image:nth-child(2) .image-credit {
    padding-inline: 4px;
  }
}
.three-column-layout__images .wp-block-image:nth-child(3) {
  grid-row: 3;
  grid-column: 2;
  position: relative;
}
@media screen and (max-width: 768px) {
  .three-column-layout__images .wp-block-image:nth-child(3) {
    grid-row: 2;
  }
}
.three-column-layout__images .wp-block-image:nth-child(3) .image-credit-wrapper {
  position: relative;
  width: 100%;
  overflow: visible;
}
.three-column-layout__images .wp-block-image:nth-child(3) img {
  width: 100%;
  height: auto;
  display: block;
}
@media screen and (max-width: 768px) {
  .three-column-layout__images .wp-block-image:nth-child(3) .image-credit {
    padding-inline: 4px;
  }
}
@media screen and (max-width: 781px) {
  .three-column-layout.wp-block-columns {
    flex-direction: column;
  }
  .three-column-layout__images {
    display: flex !important;
    flex-direction: column;
    gap: 0;
  }
  .three-column-layout__images .wp-block-image {
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
  }
  .three-column-layout__images .wp-block-image .image-credit-wrapper {
    height: auto;
  }
  .three-column-layout__images .wp-block-image img {
    height: auto;
    aspect-ratio: 4/3;
  }
}

/* Button Mobile Full Width Styles */
@media (max-width: 767px) {
  .wp-block-button:has(.has-mobile-full-style),
  .has-mobile-full-style {
    width: 100% !important;
    display: block !important;
    text-align: center !important;
  }
  .wp-block-button:has(.has-mobile-full-style) a,
  .has-mobile-full-style a {
    width: 100%;
  }
}
/* Columns Mobile Reverse Stack Styles */
@media (max-width: 767px) {
  .wp-block-columns.has-mobile-reverse-stack {
    flex-direction: column-reverse !important;
  }
}
@media (min-width: 768px) {
  .wp-block-columns.has-mobile-reverse-stack {
    flex-direction: row !important;
  }
}

/* Row Mobile Stack Styles */
@media (max-width: 767px) {
  .wp-block-group-is-layout-flex.has-mobile-stack {
    flex-direction: column !important;
  }
}
@media (min-width: 768px) {
  .wp-block-group-is-layout-flex.has-mobile-stack {
    flex-direction: row !important;
  }
}

/* Row Mobile Reverse Stack Styles */
@media (max-width: 767px) {
  .wp-block-group-is-layout-flex.has-mobile-reverse-stack {
    flex-direction: column-reverse !important;
  }
}
@media (min-width: 768px) {
  .wp-block-group-is-layout-flex.has-mobile-reverse-stack {
    flex-direction: row !important;
  }
}

/* List Custom Bullet Image Styles */
ul.has-custom-bullet-image {
  list-style: none;
  padding-left: 0;
}
ul.has-custom-bullet-image li {
  position: relative;
  padding-left: calc(var(--list-bullet-size, 16px) + 0.75em);
}
ul.has-custom-bullet-image li::before {
  content: "";
  position: absolute;
  left: 0;
  top: calc((var(--list-first-line-height, 1.4em) - var(--list-bullet-size, 16px)) / 2);
  width: var(--list-bullet-size, 16px);
  height: var(--list-bullet-size, 16px);
  background-image: var(--list-bullet-image);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

/* Cover Mobile Image Styles */
.wp-block-cover.has-mobile-image {
  position: relative;
}
.wp-block-cover.has-mobile-image::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: var(--mobile-image-url);
  background-position: var(--mobile-focal-point, center);
  display: block;
}
.wp-block-cover.has-mobile-image .wp-block-cover__inner-container {
  position: relative;
  z-index: 2;
}
.wp-block-cover.has-mobile-image .wp-block-cover__background {
  z-index: 1;
}
.wp-block-cover.has-mobile-image .wp-block-cover__image-background,
.wp-block-cover.has-mobile-image .wp-block-cover__video-background {
  display: none;
}
.wp-block-cover.has-mobile-image.show-desktop-image::before {
  display: none;
}
.wp-block-cover.has-mobile-image.show-desktop-image .wp-block-cover__image-background,
.wp-block-cover.has-mobile-image.show-desktop-image .wp-block-cover__video-background {
  display: block;
}

.block-editor-block-list__layout .wp-block-cover.has-mobile-image::after {
  content: "Mobile Image Active";
  position: absolute;
  top: 10px;
  right: 10px;
  background: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 4px 8px;
  font-size: 11px;
  border-radius: 3px;
  z-index: 10;
  pointer-events: none;
  opacity: 0.8;
}

/*# sourceMappingURL=frontend.css.map*/