.elementor-495 .elementor-element.elementor-element-6fd902a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:35px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-495 .elementor-element.elementor-element-6fd902a:not(.elementor-motion-effects-element-type-background), .elementor-495 .elementor-element.elementor-element-6fd902a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-8446c3e );}.elementor-495 .elementor-element.elementor-element-7023a8b{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-495 .elementor-element.elementor-element-7abbb4c .elementor-heading-title{font-family:var( --e-global-typography-b6499c7-font-family ), Sans-serif;font-size:var( --e-global-typography-b6499c7-font-size );font-weight:var( --e-global-typography-b6499c7-font-weight );line-height:var( --e-global-typography-b6499c7-line-height );-webkit-text-stroke-color:#000;stroke:#000;color:var( --e-global-color-secondary );}.elementor-495 .elementor-element.elementor-element-fcb1edd .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-d53c353 );}.elementor-495 .elementor-element.elementor-element-7d892c5{--display:flex;--margin-top:15px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-495 .elementor-element.elementor-element-d12d3af .elementor-heading-title{font-family:"Stack Sans Text", Sans-serif;font-size:18px;font-weight:400;-webkit-text-stroke-color:#000;stroke:#000;color:var( --e-global-color-d53c353 );}.elementor-495 .elementor-element.elementor-element-403d7c7{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-495 .elementor-element.elementor-element-d11bf8a .elementor-button{background-color:var( --e-global-color-d53c353 );font-family:"Stack Sans Text", Sans-serif;font-size:15px;font-weight:400;line-height:1.5em;fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-radius:12px 12px 12px 12px;padding:12px 12px 12px 12px;}.elementor-495 .elementor-element.elementor-element-d11bf8a .elementor-button:hover, .elementor-495 .elementor-element.elementor-element-d11bf8a .elementor-button:focus{background-color:var( --e-global-color-accent );color:var( --e-global-color-d53c353 );}.elementor-495 .elementor-element.elementor-element-d11bf8a{width:var( --container-widget-width, 235px );max-width:235px;--container-widget-width:235px;--container-widget-flex-grow:0;}.elementor-495 .elementor-element.elementor-element-d11bf8a .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-495 .elementor-element.elementor-element-d11bf8a .elementor-button .elementor-button-content-wrapper{gap:29px;justify-content:space-between;}.elementor-495 .elementor-element.elementor-element-d11bf8a .elementor-button:hover svg, .elementor-495 .elementor-element.elementor-element-d11bf8a .elementor-button:focus svg{fill:var( --e-global-color-d53c353 );}.elementor-495 .elementor-element.elementor-element-374424f .elementor-button{background-color:var( --e-global-color-d53c353 );font-family:"Stack Sans Text", Sans-serif;font-size:15px;font-weight:400;line-height:1.5em;fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-radius:12px 12px 12px 12px;padding:12px 12px 12px 12px;}.elementor-495 .elementor-element.elementor-element-374424f .elementor-button:hover, .elementor-495 .elementor-element.elementor-element-374424f .elementor-button:focus{background-color:var( --e-global-color-accent );color:var( --e-global-color-d53c353 );}.elementor-495 .elementor-element.elementor-element-374424f{width:var( --container-widget-width, 235px );max-width:235px;padding:0px 0px 0px 0px;--container-widget-width:235px;--container-widget-flex-grow:0;}.elementor-495 .elementor-element.elementor-element-374424f .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-495 .elementor-element.elementor-element-374424f .elementor-button .elementor-button-content-wrapper{gap:0px;justify-content:space-between;}.elementor-495 .elementor-element.elementor-element-374424f .elementor-button:hover svg, .elementor-495 .elementor-element.elementor-element-374424f .elementor-button:focus svg{fill:var( --e-global-color-d53c353 );}.elementor-495 .elementor-element.elementor-element-964ebde{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-495 .elementor-element.elementor-element-683a3ab > .jet-listing-grid > .jet-listing-grid__items{--columns:1;}.elementor-495 .elementor-element.elementor-element-683a3ab{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-495 .elementor-element.elementor-element-683a3ab.elementor-element{--align-self:center;--flex-grow:1;--flex-shrink:0;}.elementor-495 .elementor-element.elementor-element-f72a172{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-495 .elementor-element.elementor-element-b9f0ecd{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--flex-wrap:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-495 .elementor-element.elementor-element-b9f0ecd.e-con{--align-self:center;--order:99999 /* order end hack */;--flex-grow:1;--flex-shrink:0;}.elementor-495 .elementor-element.elementor-element-filter-search .jet-search-filter__input-wrapper{max-width:100%;}.elementor-495 .elementor-element.elementor-element-filter-sort .jet-sorting-select{max-width:150px;}.elementor-495 .elementor-element.elementor-element-33fef18{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-495 .elementor-element.elementor-element-cef872f > .jet-listing-grid > .jet-listing-grid__items{--columns:3;}@media(max-width:1024px){.elementor-495 .elementor-element.elementor-element-6fd902a{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:32px 0px;--row-gap:32px;--column-gap:0px;--padding-top:40px;--padding-bottom:40px;--padding-left:32px;--padding-right:32px;}.elementor-495 .elementor-element.elementor-element-7abbb4c .elementor-heading-title{font-size:var( --e-global-typography-b6499c7-font-size );line-height:var( --e-global-typography-b6499c7-line-height );}.elementor-495 .elementor-element.elementor-element-fcb1edd .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-495 .elementor-element.elementor-element-d12d3af .elementor-heading-title{font-size:17px;}.elementor-495 .elementor-element.elementor-element-d11bf8a .elementor-button{font-size:19px;}.elementor-495 .elementor-element.elementor-element-374424f .elementor-button{font-size:19px;}.elementor-495 .elementor-element.elementor-element-683a3ab > .jet-listing-grid > .jet-listing-grid__items{--columns:1;}.elementor-495 .elementor-element.elementor-element-f72a172{--padding-top:0px;--padding-bottom:0px;--padding-left:32px;--padding-right:32px;}.elementor-495 .elementor-element.elementor-element-cef872f > .jet-listing-grid > .jet-listing-grid__items{--columns:2;}}@media(max-width:767px){.elementor-495 .elementor-element.elementor-element-6fd902a{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:24px 0px;--row-gap:24px;--column-gap:0px;--padding-top:32px;--padding-bottom:32px;--padding-left:16px;--padding-right:16px;}.elementor-495 .elementor-element.elementor-element-7023a8b{--width:100%;}.elementor-495 .elementor-element.elementor-element-7abbb4c .elementor-heading-title{font-size:var( --e-global-typography-b6499c7-font-size );line-height:var( --e-global-typography-b6499c7-line-height );}.elementor-495 .elementor-element.elementor-element-fcb1edd .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-495 .elementor-element.elementor-element-d12d3af .elementor-heading-title{font-size:16px;}.elementor-495 .elementor-element.elementor-element-403d7c7{--justify-content:flex-start;--gap:8px 8px;--row-gap:8px;--column-gap:8px;}.elementor-495 .elementor-element.elementor-element-d11bf8a{--container-widget-width:48%;--container-widget-flex-grow:0;width:var( --container-widget-width, 48% );max-width:48%;}.elementor-495 .elementor-element.elementor-element-d11bf8a .elementor-button{font-size:12px;padding:10px 14px 10px 14px;}.elementor-495 .elementor-element.elementor-element-374424f{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:48%;--container-widget-flex-grow:0;width:var( --container-widget-width, 48% );max-width:48%;}.elementor-495 .elementor-element.elementor-element-374424f .elementor-button{font-size:12px;padding:10px 14px 10px 14px;}.elementor-495 .elementor-element.elementor-element-964ebde{--width:100%;}.elementor-495 .elementor-element.elementor-element-683a3ab > .jet-listing-grid > .jet-listing-grid__items{--columns:1;}.elementor-495 .elementor-element.elementor-element-f72a172{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:12px 12px;--row-gap:12px;--column-gap:12px;--padding-top:0px;--padding-bottom:0px;--padding-left:16px;--padding-right:16px;}.elementor-495 .elementor-element.elementor-element-b9f0ecd{--gap:8px 8px;--row-gap:8px;--column-gap:8px;}.elementor-495 .elementor-element.elementor-element-cef872f > .jet-listing-grid > .jet-listing-grid__items{--columns:1;}}@media(min-width:768px){.elementor-495 .elementor-element.elementor-element-7023a8b{--width:50%;}.elementor-495 .elementor-element.elementor-element-964ebde{--width:50%;}}@media(max-width:1024px) and (min-width:768px){.elementor-495 .elementor-element.elementor-element-7023a8b{--width:100%;}.elementor-495 .elementor-element.elementor-element-964ebde{--width:100%;}}/* Start custom CSS for button, class: .elementor-element-d11bf8a */.elementor-495 .elementor-element.elementor-element-d11bf8a svg {
  width: 15px;
  height: auto;
}
@media (max-width: 767px) {
  .elementor-495 .elementor-element.elementor-element-d11bf8a svg {
    width: 15px;
  }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-374424f */.elementor-495 .elementor-element.elementor-element-374424f svg {
  width: 15px;
  height: auto;
}
@media (max-width: 767px) {
  .elementor-495 .elementor-element.elementor-element-374424f svg {
    width: 15px;
  }
}/* End custom CSS */
/* Start custom CSS *//* ─────────────────────────────────────────
 * Mosaics Archive — JetSmartFilters filter row
 * Layout: [Filter:] [Search] [Apply]   ......   [Sort]
 * Red focus ring (Brand Red) instead of blue.
 * ──────────────────────────────────────── */

/* All controls share height, font, baseline */
.elementor-element .jet-search-filter__input,
.elementor-element .jet-search-filter__submit,
.elementor-element .jet-select__control,
.elementor-element select.jet-sorting-select {
  height: 48px !important;
  min-height: 48px;
  max-height: 48px;
  margin: 0 !important;
  font-family: "Stack Sans Text", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  box-sizing: border-box;
  transition: border-color .2s ease, background-color .2s ease,
              color .2s ease, box-shadow .2s ease;
}

/* ── Search + Apply: TWO pills, vertically locked ── */
.elementor-element .jet-search-filter {
  display: flex !important;
  gap: 8px;
  align-items: center !important;
  flex-wrap: nowrap;
}
.elementor-element .jet-search-filter__input-wrapper {
  flex: 1 1 auto;
  min-width: 0;
  height: 48px;
  display: flex;
  align-items: center;
}
.elementor-element .jet-search-filter__input {
  width: 100%;
  background: #FFFFFF;
  color: #202020;
  border: 1px solid #E5E5E5;
  border-radius: 999px;
  padding: 0 20px;
  min-width: 240px;
}
.elementor-element .jet-search-filter__input::placeholder {
  color: #9D9FA9;
  opacity: 1;
}
.elementor-element .jet-search-filter__input:focus {
  outline: none;
  border-color: #FF0100;
  box-shadow: 0 0 0 3px rgba(255, 1, 0, 0.15);
}
.elementor-element .jet-search-filter__submit {
  background: #202020;
  color: #FFFFFF;
  border: none;
  border-radius: 999px;
  padding: 0 28px;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  cursor: pointer;
}
.elementor-element .jet-search-filter__submit:hover,
.elementor-element .jet-search-filter__submit:focus {
  background: #000000;
  color: #FFFFFF;
  outline: none;
  box-shadow: 0 0 0 3px rgba(32, 32, 32, 0.2);
}

/* ── Sort dropdown — independent pill ── */
.elementor-element .jet-select__control,
.elementor-element select.jet-sorting-select {
  background-color: #FFFFFF;
  color: #202020;
  border: 1px solid #E5E5E5;
  border-radius: 999px;
  padding: 0 44px 0 20px;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23202020' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 18px center;
  background-size: 12px;
  width: 200px;
  min-width: 200px;
}
.elementor-element .jet-smart-filters-select.jet-filter .jet-select {
  max-width: none !important;
  flex-basis: auto !important;
  width: auto !important;
}
.elementor-element .jet-select__control:hover,
.elementor-element select.jet-sorting-select:hover {
  border-color: #9D9FA9;
}
.elementor-element .jet-select__control:focus,
.elementor-element select.jet-sorting-select:focus {
  outline: none;
  border-color: #FF0100;
  box-shadow: 0 0 0 3px rgba(255, 1, 0, 0.15);
}

/* ── Filter-widgets container: full width ── */
.elementor-element-b9f0ecd {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
}
.elementor-element .jet-smart-filters-search {
  margin-right: auto !important;
  flex: 0 0 auto;
}
.elementor-element .jet-smart-filters-sorting {
  flex: 0 0 auto;
}

/* "Filter:" heading vertically center */
.elementor-element-a6f0c32 {
  width: auto !important;
  max-width: none !important;
  flex-basis: auto !important;
}
.elementor-element-a6f0c32 .elementor-widget-container {
  display: flex;
  align-items: center;
  height: 48px;
}
.elementor-element-a6f0c32 .elementor-heading-title {
  margin: 0;
  line-height: 1;
  white-space: nowrap;
}

@media (max-width: 1024px) {
  .elementor-element .jet-search-filter__input { min-width: 0; }
  .elementor-element .jet-select__control,
  .elementor-element select.jet-sorting-select { width: 180px; min-width: 180px; }
}

@media (max-width: 767px) {
  .elementor-element-b9f0ecd { flex-wrap: wrap !important; }
  .elementor-element-a6f0c32 { width: 100% !important; }
  .elementor-element-a6f0c32 .elementor-widget-container { height: auto; }
  .elementor-element .jet-smart-filters-search,
  .elementor-element .jet-smart-filters-sorting { width: 100%; flex: 1 1 100%; }
  .elementor-element .jet-smart-filters-search { margin-right: 0 !important; }
  .elementor-element .jet-select__control,
  .elementor-element select.jet-sorting-select { width: 100%; min-width: 0; }
  .elementor-element .jet-search-filter__input { min-width: 0; }
}

/* === BBHQ: mosaics archive hero photo height match (desktop) === */
@media (min-width: 1025px) {
  /* Row becomes the positioning context; its height is now authored solely
     by the text column (7023a8b), since the photo column is taken out of flow. */
  .elementor-element-6fd902a {
    position: relative;
  }

  /* Photo column (964ebde) leaves flex flow so it can no longer dictate the
     row's height. Elementor boxes this row's content to --content-width
     (1140px) via calc()'d flex-child widths, NOT via padding on the row
     itself -- so a naive `right:0; width:50%` anchors to the row's full
     edge-to-edge padding box instead of the boxed content edge. Re-derive
     the same boxed inset/width Elementor uses via its own --content-width
     custom property so this stays correct at every viewport width. */
  .elementor-element-964ebde {
    position: absolute;
    top: 0;
    right: calc((100% - var(--content-width, 100%)) / 2);
    width: calc(var(--content-width, 100%) / 2);
    height: 100%;
  }

  /* Cascade height:100% down through every JetEngine listing wrapper so the
     crop-to-fill photo box (07f44a9c) always matches the row's height.
     The <a> link wrapping the image widget's <img> defaults to
     display:inline-block with no explicit height -- if it's left out of
     this list it silently shrinks to the image's natural aspect-ratio
     height and the whole cascade is defeated at the very last step. */
  .elementor-element-964ebde .elementor-widget-jet-listing-grid,
  .elementor-element-964ebde .jet-listing-grid,
  .elementor-element-964ebde .jet-listing-grid__items,
  .elementor-element-964ebde .jet-listing-grid__item,
  .elementor-element-964ebde .elementor-497,
  .elementor-element-964ebde .elementor-element-07f44a9c,
  .elementor-element-964ebde .elementor-element-5a4008e,
  .elementor-element-964ebde .elementor-element-5a4008e a {
    height: 100% !important;
  }

  /* The legacy 700px ceiling on 07f44a9c is now redundant (and could conflict
     if the text column ever renders taller than 700px) -- the sibling-height
     cap above is now the sole height authority. */
  .elementor-element-964ebde .elementor-element-07f44a9c {
    max-height: none !important;
  }

  /* Link wrapper must also switch off its default inline-block shrink-wrap. */
  .elementor-element-964ebde .elementor-element-5a4008e a {
    display: block;
    width: 100% !important;
  }

  /* Photo itself keeps cropping to fill (object-fit: cover) -- no whitespace,
     overlay badge/heading stays correctly pinned over the visible image. */
  .elementor-element-964ebde .elementor-element-5a4008e img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
  }
}
/* === /BBHQ: mosaics archive hero photo height match (desktop) === *//* End custom CSS */