/*!**********************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js!./src/scss/blocks/columns_dividers.scss ***!
  \**********************************************************************************************************************************************************************************************************************************/
/**
 * Breakpoints & Media Queries
 */
/* ==========================================================================
   LUMINA: Master Columns & Gutter Dividers Engine (columns_lumina.scss)
   ========================================================================== */
/* -------------------------------------------------------------------------
 * 0. FLEX HEIGHT STRETCH (SURGICAL INTENT ONLY)
 * ------------------------------------------------------------------------- */
.wp-block-column {
  /* Nested columns expand ONLY when explicit stretch intent is set */
}
.wp-block-column.is-vertically-aligned-stretch > .wp-block-columns,
.wp-block-column > .wp-block-columns:is(.is-vertically-aligned-stretch, .is-vertically-aligned-space-between) {
  height: 100%;
}
.wp-block-column {
  /* Card stack groups expand ONLY when explicit stretch intent is set */
}
.wp-block-column.is-vertically-aligned-stretch > .wp-block-group.is-vertical,
.wp-block-column > .wp-block-group.is-vertical:is(.is-content-justification-space-between,
.is-content-justification-stretch,
.is-vertically-aligned-space-between,
.is-vertically-aligned-stretch) {
  height: 100%;
}

/* -------------------------------------------------------------------------
 * 1. GUTTER DIVIDERS BASE ENGINE (.is-style-gutter-dividers)
 * ------------------------------------------------------------------------- */
.wp-block-columns.is-style-gutter-dividers {
  position: relative;
  --gutter-divider-gap: var(--wp--preset--spacing--50, 2rem);
  gap: var(--gutter-divider-gap) !important;
}
.wp-block-columns.is-style-gutter-dividers > .wp-block-column {
  position: relative;
}
.wp-block-columns.is-style-gutter-dividers {
  /* Base Vertical Dividers between side-by-side flex columns */
}
.wp-block-columns.is-style-gutter-dividers > .wp-block-column:not(:first-child)::before {
  content: "";
  position: absolute;
  width: 1px;
  top: 0;
  bottom: 0;
  left: calc(var(--gutter-divider-gap) / -2);
  background-color: var(--wp--custom--color--divider, color-mix(in srgb, currentColor 18%, transparent));
  z-index: 2;
  pointer-events: none;
}

/* -------------------------------------------------------------------------
 * 2. BACK-TO-BACK ROW DIVIDERS & CROSSHAIRS (+)
 * ------------------------------------------------------------------------- */
/* Standardize top margin between consecutive divider rows to match internal gap */
.wp-block-columns.is-style-gutter-dividers + .wp-block-columns.is-style-gutter-dividers {
  position: relative;
  margin-top: var(--gutter-divider-gap) !important;
  /* Single horizontal divider line between adjacent row containers */
}
.wp-block-columns.is-style-gutter-dividers + .wp-block-columns.is-style-gutter-dividers::before {
  content: "";
  position: absolute;
  height: 1px;
  left: 0;
  right: 0;
  top: calc(var(--gutter-divider-gap) / -2);
  background-color: var(--wp--custom--color--divider, color-mix(in srgb, currentColor 18%, transparent));
  z-index: 2;
  pointer-events: none;
}
.wp-block-columns.is-style-gutter-dividers + .wp-block-columns.is-style-gutter-dividers {
  /* Extend vertical lines UP on bottom row to meet horizontal line */
}
.wp-block-columns.is-style-gutter-dividers + .wp-block-columns.is-style-gutter-dividers > .wp-block-column:not(:first-child)::before {
  top: calc(var(--gutter-divider-gap) / -2);
}

/* Extend vertical lines DOWN on top row to meet horizontal line */
.wp-block-columns.is-style-gutter-dividers:has(+ .wp-block-columns.is-style-gutter-dividers) > .wp-block-column:not(:first-child)::before {
  bottom: calc(var(--gutter-divider-gap) / -2);
}

/* -------------------------------------------------------------------------
 * 3. TABLET GRID TRANSFORMATIONS (600px to 959px / $break-small to $break-large - 1)
 *    Preserves tablet 2x2 grids for portrait & landscape tablets
 * ------------------------------------------------------------------------- */
@media (min-width: 600px) and (max-width: 959px) {
  /* --- A. 4-Column Container -> 2x2 Grid on Tablet --- */
  .wp-block-columns.wp-block-columns:not(.is-not-stacked-on-mobile):has(> .wp-block-column:first-child:nth-last-child(4)) {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .wp-block-columns.wp-block-columns:not(.is-not-stacked-on-mobile):has(> .wp-block-column:first-child:nth-last-child(4)) > .wp-block-column {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: auto !important;
    margin: 0 !important;
  }
  /* Crosshair Dividers: 4-Up in 2x2 Grid (Seamless Center Intersection) */
  .wp-block-columns.is-style-gutter-dividers:has(> .wp-block-column:first-child:nth-last-child(4)) > .wp-block-column:not(:first-child)::before {
    content: none;
  }
  .wp-block-columns.is-style-gutter-dividers:has(> .wp-block-column:first-child:nth-last-child(4)) {
    /* Top-right vertical divider extends DOWN into row gap */
  }
  .wp-block-columns.is-style-gutter-dividers:has(> .wp-block-column:first-child:nth-last-child(4)) > .wp-block-column:nth-child(2)::before {
    content: "";
    position: absolute;
    width: 1px;
    top: 0;
    bottom: calc(var(--gutter-divider-gap) / -2);
    left: calc(var(--gutter-divider-gap) / -2);
    background-color: var(--wp--custom--color--divider, color-mix(in srgb, currentColor 18%, transparent));
    z-index: 2;
    pointer-events: none;
  }
  .wp-block-columns.is-style-gutter-dividers:has(> .wp-block-column:first-child:nth-last-child(4)) {
    /* Bottom-right vertical divider extends UP into row gap to meet top line */
  }
  .wp-block-columns.is-style-gutter-dividers:has(> .wp-block-column:first-child:nth-last-child(4)) > .wp-block-column:nth-child(4)::before {
    content: "";
    position: absolute;
    width: 1px;
    top: calc(var(--gutter-divider-gap) / -2);
    bottom: 0;
    left: calc(var(--gutter-divider-gap) / -2);
    background-color: var(--wp--custom--color--divider, color-mix(in srgb, currentColor 18%, transparent));
    z-index: 2;
    pointer-events: none;
  }
  .wp-block-columns.is-style-gutter-dividers:has(> .wp-block-column:first-child:nth-last-child(4)) {
    /* Horizontal divider line under row 1 */
  }
  .wp-block-columns.is-style-gutter-dividers:has(> .wp-block-column:first-child:nth-last-child(4)) > .wp-block-column:nth-child(3)::after {
    content: "";
    position: absolute;
    height: 1px;
    top: calc(var(--gutter-divider-gap) / -2);
    left: 0;
    right: calc(-100% - var(--gutter-divider-gap));
    background-color: var(--wp--custom--color--divider, color-mix(in srgb, currentColor 18%, transparent));
    z-index: 2;
    pointer-events: none;
  }
  /* --- B. OPT-IN 3-Column Container -> 1 + 2 Grid on Tablet ---
     (Triggers when .is-style-first-on-mobile, .is-first-on-mobile, or .first-on-mobile exists) */
  .wp-block-columns.wp-block-columns:not(.is-not-stacked-on-mobile):has(> .wp-block-column:first-child:nth-last-child(3)):has(> .wp-block-column:is(.is-style-first-on-mobile, .is-first-on-mobile, .first-on-mobile)) {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .wp-block-columns.wp-block-columns:not(.is-not-stacked-on-mobile):has(> .wp-block-column:first-child:nth-last-child(3)):has(> .wp-block-column:is(.is-style-first-on-mobile, .is-first-on-mobile, .first-on-mobile)) > .wp-block-column {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: auto !important;
    margin: 0 !important;
  }
  .wp-block-columns.wp-block-columns:not(.is-not-stacked-on-mobile):has(> .wp-block-column:first-child:nth-last-child(3)):has(> .wp-block-column:is(.is-style-first-on-mobile, .is-first-on-mobile, .first-on-mobile)) > .wp-block-column:is(.is-style-first-on-mobile, .is-first-on-mobile, .first-on-mobile) {
    grid-column: span 2 !important;
    order: -1 !important;
  }
  /* Crosshair Dividers: 3-Up in Opt-In 1 + 2 Grid */
  .wp-block-columns.is-style-gutter-dividers:has(> .wp-block-column:first-child:nth-last-child(3)):has(> .wp-block-column:is(.is-style-first-on-mobile, .is-first-on-mobile, .first-on-mobile)) > .wp-block-column:not(:first-child)::before {
    content: none;
  }
  .wp-block-columns.is-style-gutter-dividers:has(> .wp-block-column:first-child:nth-last-child(3)):has(> .wp-block-column:is(.is-style-first-on-mobile, .is-first-on-mobile, .first-on-mobile)) {
    /* Vertical divider between bottom two columns extending UP into gap */
  }
  .wp-block-columns.is-style-gutter-dividers:has(> .wp-block-column:first-child:nth-last-child(3)):has(> .wp-block-column:is(.is-style-first-on-mobile, .is-first-on-mobile, .first-on-mobile)) > .wp-block-column:not(.is-style-first-on-mobile):not(.is-first-on-mobile):not(.first-on-mobile):last-child::before {
    content: "";
    position: absolute;
    width: 1px;
    top: calc(var(--gutter-divider-gap) / -2);
    bottom: 0;
    left: calc(var(--gutter-divider-gap) / -2);
    background-color: var(--wp--custom--color--divider, color-mix(in srgb, currentColor 18%, transparent));
    z-index: 2;
    pointer-events: none;
  }
  .wp-block-columns.is-style-gutter-dividers:has(> .wp-block-column:first-child:nth-last-child(3)):has(> .wp-block-column:is(.is-style-first-on-mobile, .is-first-on-mobile, .first-on-mobile)) {
    /* Horizontal divider under featured top column */
  }
  .wp-block-columns.is-style-gutter-dividers:has(> .wp-block-column:first-child:nth-last-child(3)):has(> .wp-block-column:is(.is-style-first-on-mobile, .is-first-on-mobile, .first-on-mobile)) > .wp-block-column:is(.is-style-first-on-mobile, .is-first-on-mobile, .first-on-mobile)::after {
    content: "";
    position: absolute;
    height: 1px;
    right: 0;
    bottom: calc(var(--gutter-divider-gap) / -2);
    left: 0;
    background-color: var(--wp--custom--color--divider, color-mix(in srgb, currentColor 18%, transparent));
    z-index: 2;
    pointer-events: none;
  }
  /* --- C. Standard 3-Column Container -> Stack to Single Column on Tablet ---
     (Triggers when NO first-on-mobile class variant is present) */
  .wp-block-columns.wp-block-columns:not(.is-not-stacked-on-mobile):has(> .wp-block-column:first-child:nth-last-child(3)):not(:has(> .wp-block-column.is-style-first-on-mobile)):not(:has(> .wp-block-column.is-first-on-mobile)):not(:has(> .wp-block-column.first-on-mobile)) {
    flex-direction: column !important;
    flex-wrap: wrap !important;
  }
  .wp-block-columns.wp-block-columns:not(.is-not-stacked-on-mobile):has(> .wp-block-column:first-child:nth-last-child(3)):not(:has(> .wp-block-column.is-style-first-on-mobile)):not(:has(> .wp-block-column.is-first-on-mobile)):not(:has(> .wp-block-column.first-on-mobile)) > .wp-block-column {
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  /* Hairlines for 3-column containers stacked on tablet */
  .wp-block-columns.is-style-gutter-dividers:not(.is-not-stacked-on-mobile):has(> .wp-block-column:first-child:nth-last-child(3)):not(:has(> .wp-block-column.is-style-first-on-mobile)):not(:has(> .wp-block-column.is-first-on-mobile)):not(:has(> .wp-block-column.first-on-mobile)) > .wp-block-column:not(:first-child)::before {
    content: "" !important;
    position: absolute !important;
    width: 100% !important;
    height: 1px !important;
    top: calc(var(--gutter-divider-gap) / -2) !important;
    bottom: auto !important;
    left: 0 !important;
    background-color: var(--wp--custom--color--divider, color-mix(in srgb, currentColor 18%, transparent));
    z-index: 2;
    pointer-events: none;
  }
  /* --- D. 2-Column Container -> Smart 2-Up vs Stacked CTAs on Tablet --- */
  .wp-block-columns.wp-block-columns:not(.is-not-stacked-on-mobile):has(> .wp-block-column:first-child:nth-last-child(2)) {
    /* Default: Stack plain 2-column text containers vertically on tablet */
    flex-direction: column !important;
    flex-wrap: wrap !important;
  }
  .wp-block-columns.wp-block-columns:not(.is-not-stacked-on-mobile):has(> .wp-block-column:first-child:nth-last-child(2)) > .wp-block-column {
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .wp-block-columns.wp-block-columns:not(.is-not-stacked-on-mobile):has(> .wp-block-column:first-child:nth-last-child(2)) {
    /* Smart 2-Up Exception: Preserves side-by-side when dividers or cards/borders are present */
  }
  .wp-block-columns.wp-block-columns:not(.is-not-stacked-on-mobile):has(> .wp-block-column:first-child:nth-last-child(2)):not(.has-background):is(.is-style-keep-2-up,
  .is-style-gutter-dividers,
  :has(> .wp-block-column:is(.has-background,
  .is-style-rounded-border,
  .is-style-rounded-corners,
  .is-style-outline-border,
  .is-style-card,
  .has-border-color,
  [class*=has-border-color]))) {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
  }
  .wp-block-columns.wp-block-columns:not(.is-not-stacked-on-mobile):has(> .wp-block-column:first-child:nth-last-child(2)):not(.has-background):is(.is-style-keep-2-up,
  .is-style-gutter-dividers,
  :has(> .wp-block-column:is(.has-background,
  .is-style-rounded-border,
  .is-style-rounded-corners,
  .is-style-outline-border,
  .is-style-card,
  .has-border-color,
  [class*=has-border-color]))) > .wp-block-column {
    flex-basis: 0 !important;
    flex-grow: 1 !important;
    min-width: 0;
    width: auto !important;
    max-width: none !important;
  }
}
/* -------------------------------------------------------------------------
 * 4. STACKED VIEWPORTS (< 600px / < $break-small)
 * ------------------------------------------------------------------------- */
@media only screen and (max-width: 599px) {
  /* Force single-column stacking layout across ALL multi-column layouts on mobile */
  .wp-block-columns.wp-block-columns:not(.is-not-stacked-on-mobile) {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: wrap !important;
  }
  .wp-block-columns.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  /* Horizontal hairlines strictly for standard stacked GUTTER DIVIDERS on mobile */
  .wp-block-columns.is-style-gutter-dividers:not(.is-not-stacked-on-mobile) > .wp-block-column::after {
    content: none !important;
  }
  .wp-block-columns.is-style-gutter-dividers:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:first-child)::before {
    content: "" !important;
    position: absolute !important;
    width: 100% !important;
    height: 1px !important;
    top: calc(var(--gutter-divider-gap) / -2) !important;
    bottom: auto !important;
    left: 0 !important;
    background-color: var(--wp--custom--color--divider, color-mix(in srgb, currentColor 18%, transparent));
    z-index: 2;
    pointer-events: none;
  }
  .wp-block-columns.is-style-gutter-dividers:not(.is-not-stacked-on-mobile) > .wp-block-column:first-child::before {
    content: none !important;
  }
}
/* -------------------------------------------------------------------------
 * 5. MEDIA & UTILITY REORDERING (<= 781px)
 * ------------------------------------------------------------------------- */
@media only screen and (max-width: 781px) {
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:has(.wp-block-video, .wp-block-image),
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:is(.is-style-first-on-mobile, .is-first-on-mobile, .first-on-mobile) {
    order: -1 !important;
  }
}
