/* Blue Sky professional refinement layer v1.4.7 */

/* Match every interior-page header to the Home header's left and right edge. */
.bs-system-header.e-con{
  width:calc(100% - 96px)!important;
  max-width:none!important;
  top:24px!important;
  min-height:0!important;
  gap:20px!important;
}
.bs-system-logo{
  width:158px!important;
  max-width:158px!important;
  flex:0 0 158px!important;
}
.bs-system-logo a{
  display:block!important;
}
.bs-system-logo img{
  display:block!important;
  width:158px!important;
  height:88px!important;
}

/* Giving Back uses a separate Elementor header; normalize it to Home too. */
.giving-native-header.e-con{
  left:48px!important;
  top:24px!important;
  width:calc(100% - 96px)!important;
  max-width:none!important;
  min-height:0!important;
  padding:0!important;
  gap:20px!important;
}
.giving-native-logo{
  width:158px!important;
  max-width:158px!important;
  flex:0 0 158px!important;
}
.giving-native-logo a,
.giving-native-logo img{
  display:block!important;
}
.giving-native-logo img{
  width:158px!important;
  height:88px!important;
  object-fit:contain!important;
}
:root{
  --bs-red:#c91f27;
}

.bs-skip-link{
  position:fixed;
  z-index:100000;
  top:10px;
  left:10px;
  padding:12px 16px;
  transform:translateY(-160%);
  border:3px solid #fff;
  background:#202568;
  color:#fff!important;
  font:800 16px/1.2 "Zilla Slab",Georgia,serif;
  text-decoration:none;
  box-shadow:0 0 0 3px #202568;
}

.bs-skip-link:focus{
  transform:translateY(0);
}

.bs-main.e-con,
.giving-native-main.e-con{
  display:flex!important;
  width:100%!important;
  max-width:none!important;
  flex-direction:column!important;
  gap:0!important;
  padding:0!important;
}

.giving-native-main:not(.e-con){
  display:flex;
  width:100%;
  max-width:none;
  flex-direction:column;
}

.bs-page a:focus-visible,
.poster-home a:focus-visible,
.giving-native-page a:focus-visible,
.bs-page button:focus-visible,
.poster-home button:focus-visible,
.giving-native-page button:focus-visible,
.bs-page input:focus-visible,
.bs-page select:focus-visible,
.bs-page textarea:focus-visible{
  outline:3px solid #202568!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 2px #fff!important;
}

.bs-system-nav .elementor-button,
.poster-header-nav .elementor-button,
.giving-native-nav .elementor-button,
.bs-mobile-toggle-widget .elementor-button,
.poster-mobile-toggle-widget .elementor-button,
.giving-mobile-toggle .elementor-button{
  min-height:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.bs-page .elementor-button,
.poster-home .poster-button .elementor-button,
.giving-native-page .giving-primary-button .elementor-button,
.giving-native-page .giving-cta-button .elementor-button{
  min-height:44px;
}

.poster-home .poster-button .elementor-button,
.giving-native-page .giving-primary-button .elementor-button,
.giving-native-page .giving-cta-button .elementor-button{
  background:#c91f27!important;
  color:#fff!important;
}

@media(prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto!important}
  .bs-page *,
  .poster-home *,
  .giving-native-page *{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
  }
}
.bs-page .elementor-button,
.giving-native-page .elementor-button{
  transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;
}

/* Home refinement v13: give key mobile imagery enough room to read at a glance. */
@media(max-width:767px){
  .poster-home .poster-flavor.e-con{
    min-height:0!important;
    padding:66px 20px 54px!important;
  }

  .poster-home .poster-food-row.e-con{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:20px 14px!important;
    width:min(310px,100%)!important;
    margin:30px auto 26px!important;
  }

  .poster-home .poster-food-item .elementor-widget-image img{
    width:118px!important;
    height:118px!important;
  }

  .poster-home .poster-food-item h3{
    margin-top:7px!important;
    font-size:13px!important;
    letter-spacing:.2px;
  }

  .poster-home .poster-native-carousel .swiper-slide-image{
    height:220px!important;
  }
}

.bs-page .elementor-button:focus-visible,
.giving-native-page .elementor-button:focus-visible{
  outline:3px solid #fff!important;
  outline-offset:3px;
}

.bs-page .bs-card.e-con{
  transition:transform .2s ease,box-shadow .2s ease;
}

@media(hover:hover){
  .bs-page .bs-button .elementor-button:hover,
  .giving-native-page .elementor-button:hover{
    filter:brightness(1.06);
    transform:translateY(-2px);
  }

  .bs-page .bs-card.e-con:hover{
    transform:translateY(-4px);
    box-shadow:11px 13px 0 rgba(32,37,104,.13);
  }
}

.bs-contact-hero.e-con,
.bs-contact-hero .bs-hero-photo.e-con{
  min-height:610px;
}

.bs-contact-hero .bs-hero-copy.e-con{
  padding-top:138px!important;
  padding-bottom:76px!important;
}

.bs-contact-hero .bs-hero-image img{
  object-position:center 42%!important;
}

.bs-contact-main.e-con{
  padding-top:90px!important;
  padding-bottom:104px!important;
}

.bs-contact-main>.bs-section-title,
.bs-contact-main>.bs-section-title .elementor-heading-title{
  max-width:900px!important;
  font-size:clamp(40px,4.7vw,66px)!important;
  line-height:.92!important;
}

.bs-contact-main .bs-contact-layout.e-con{
  align-items:stretch!important;
  gap:30px!important;
  margin-top:38px!important;
}

.bs-contact-main .bs-form-card{
  border-width:2px;
}

.bs-contact-main .bs-form-card .elementor-form-fields-wrapper{
  row-gap:19px;
}

.bs-contact-main .bs-form-card .elementor-field{
  min-height:50px;
  transition:border-color .18s ease,box-shadow .18s ease;
}

.bs-contact-main .bs-form-card .elementor-field:focus{
  border-color:var(--bs-navy)!important;
  box-shadow:0 0 0 3px rgba(32,37,104,.13)!important;
  outline:0;
}

.bs-contact-main .bs-info-card.e-con{
  min-height:100%;
  align-self:stretch!important;
  justify-content:center!important;
  padding:42px 36px!important;
  border-left:7px solid var(--bs-red);
}

.bs-contact-main .bs-info-copy a{
  color:#fff!important;
  text-decoration-color:rgba(255,255,255,.65)!important;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

.bs-contact-main .bs-info-copy a:hover{
  color:#fff!important;
  text-decoration-color:var(--bs-red)!important;
}

.bs-info-location-link{
  display:inline-block;
  margin-top:4px;
  font-weight:800;
  text-transform:uppercase;
}

.bs-contact-giving.e-con{
  position:relative;
  overflow:visible;
  padding-top:84px!important;
}

.bs-contact-giving-star{
  width:92px!important;
  margin:-132px auto 25px!important;
}

.bs-contact-giving-star img{
  width:92px!important;
  height:92px!important;
  object-fit:contain;
}

/* Locations and ordering */
.bs-location-search-form .elementor-form-fields-wrapper{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:stretch;
  gap:0!important;
}

.bs-location-search-form .elementor-field-group{
  width:auto!important;
  max-width:none!important;
  margin:0!important;
}

.bs-location-search-form .elementor-field-textual{
  width:100%!important;
  min-width:0!important;
}

.bs-location-search-form .e-form__buttons .elementor-button{
  width:100%!important;
  min-width:180px;
  white-space:nowrap;
}

@media(min-width:768px){
  .bs-location-search-form{
    padding-inline:28px!important;
  }

  .bs-location-search-form .elementor-form-fields-wrapper{
    grid-template-columns:minmax(0,1fr) 154px;
  }

  .bs-location-search-form .e-form__buttons .elementor-button{
    min-width:0;
    padding-inline:12px!important;
    font-size:12px!important;
    letter-spacing:.15px;
  }
}

.bs-page-locations .bs-opening-soon-badge .elementor-button{
  pointer-events:none;
  cursor:default;
  box-shadow:none!important;
  filter:none!important;
  transform:none!important;
  opacity:.82;
}

.bs-page-locations .bs-location-card.e-con{
  min-height:344px;
}

.bs-page-locations .bs-garden-city-card.e-con{
  align-self:stretch;
}

.bs-page-locations .bs-garden-city-card .bs-location-meta p:last-child{
  margin-top:8px;
  color:var(--bs-red);
  font:900 14px/1.1 "Roboto Slab",Georgia,serif;
  text-transform:uppercase;
}

.bs-page-locations .bs-garden-city-links>.elementor-widget-button,
.bs-page-locations .bs-garden-city-links .elementor-button{
  width:100%!important;
  max-width:none!important;
  flex:1 1 100%!important;
}

.bs-page-locations .bs-location-card .bs-location-meta strong{
  color:var(--bs-navy);
}

@media(min-width:901px){
  .bs-page-locations .bs-grid{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
  }

  .bs-page-locations .bs-location-card{
    grid-column:span 2;
  }

  .bs-page-locations .bs-location-card:nth-last-child(2){
    grid-column:2/span 2;
  }

  .bs-page-locations .bs-location-card:last-child{
    grid-column:4/span 2;
  }

  .bs-page-order .bs-section .bs-grid{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
  }

  .bs-page-order .bs-section .bs-card{
    grid-column:span 2;
  }

  .bs-page-order .bs-section .bs-card:nth-child(4){
    grid-column:2/span 2;
  }

  .bs-page-order .bs-section .bs-card:last-child{
    grid-column:4/span 2;
  }
}

.bs-page-location-amarillo .bs-card-copy a,
.bs-page-location-lubbock .bs-card-copy a,
.bs-page-location-midland .bs-card-copy a,
.bs-page-location-abilene .bs-card-copy a{
  color:var(--bs-navy)!important;
  font-weight:800;
}

/* Giving Back keeps its distinct composition but shares the mobile navigation behavior. */
.giving-mobile-toggle,
.giving-mobile-toggle-runtime{
  display:none;
}

@media(max-width:767px){
  body.elementor-page .bs-page .bs-system-header.e-con{
    left:12px!important;
    width:calc(100% - 24px)!important;
    max-width:calc(100% - 24px)!important;
  }
  .bs-system-logo{
    width:76px!important;
    max-width:76px!important;
    flex-basis:76px!important;
  }
  .bs-system-logo img{
    width:76px!important;
    height:54px!important;
  }
  body.elementor-page .bs-page .bs-system-header.e-con{
    width:calc(100% - 24px)!important;
    min-width:0!important;
    max-width:calc(100% - 24px)!important;
  }

  .poster-mobile-toggle{
    min-height:44px!important;
  }

  .bs-page-order .bs-hero-copy.e-con{
    min-height:460px;
    padding-bottom:48px!important;
  }

  .bs-page-order .bs-order-team{
    width:100%!important;
  }

  .bs-contact-hero.e-con{
    min-height:auto;
  }

  .bs-contact-hero .bs-hero-copy.e-con{
    min-height:450px;
    padding:96px 22px 54px!important;
  }

  .bs-contact-hero .bs-hero-photo.e-con{
    min-height:310px;
  }

  .bs-contact-hero .bs-hero-image img{
    object-position:center 28%!important;
  }

  .bs-contact-main.e-con{
    padding:58px 22px 78px!important;
  }

  .bs-contact-main>.bs-section-title,
  .bs-contact-main>.bs-section-title .elementor-heading-title{
    font-size:43px!important;
    line-height:.94!important;
  }

  .bs-contact-main .bs-contact-layout.e-con{
    margin-top:30px!important;
  }

  .bs-contact-main .bs-info-card.e-con{
    min-height:auto;
    padding:34px 27px!important;
  }

  .bs-contact-giving.e-con{
    padding-top:62px!important;
  }

  .bs-contact-giving-star{
    width:76px!important;
    margin:-103px auto 20px!important;
  }

  .bs-contact-giving-star img{
    width:76px!important;
    height:76px!important;
  }

  .bs-location-search-form .elementor-form-fields-wrapper{
    grid-template-columns:1fr;
  }

  .bs-location-search-form .e-form__buttons .elementor-button{
    min-width:0;
  }

  .giving-native-header.e-con{
    left:12px!important;
    width:calc(100% - 24px)!important;
    max-width:calc(100% - 24px)!important;
  }

  .giving-native-logo{
    width:76px!important;
    max-width:76px!important;
    flex-basis:76px!important;
  }

  .giving-native-logo img{
    width:76px!important;
    height:54px!important;
  }

  .giving-mobile-toggle,
  .giving-mobile-toggle-runtime{
    position:absolute!important;
    z-index:53;
    top:4px!important;
    right:0!important;
    display:block!important;
    width:44px!important;
    height:44px;
  }

  .giving-mobile-toggle-runtime{
    display:flex!important;
    align-items:center;
    justify-content:center;
    padding:0;
    border:2px solid rgba(255,255,255,.86);
    border-radius:3px;
    background:rgba(20,25,71,.92);
    color:transparent;
    font-size:0;
    box-shadow:0 4px 12px rgba(0,0,0,.32);
  }

  .giving-mobile-toggle-runtime:before{
    content:"";
    width:22px;
    height:3px;
    border-radius:2px;
    background:#fff;
    box-shadow:0 -7px 0 #fff,0 7px 0 #fff;
  }

  .giving-mobile-toggle .elementor-button{
    position:relative;
    display:flex;
    width:44px;
    height:42px;
    align-items:center;
    justify-content:center;
    padding:0!important;
    border:2px solid rgba(255,255,255,.86)!important;
    border-radius:3px!important;
    background:rgba(20,25,71,.92)!important;
    box-shadow:0 4px 12px rgba(0,0,0,.32);
  }

  .giving-mobile-toggle .elementor-button:before{
    content:"";
    width:22px;
    height:3px;
    border-radius:2px;
    background:#fff;
    box-shadow:0 -7px 0 #fff,0 7px 0 #fff;
  }

  .giving-mobile-toggle .elementor-button-text{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
    clip:rect(0 0 0 0)!important;
  }

  .giving-native-nav.e-con{
    position:absolute!important;
    z-index:52;
    top:54px!important;
    right:0!important;
    display:flex!important;
    width:220px!important;
    max-width:calc(100vw - 24px)!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:2px!important;
    padding:12px!important;
    border-top:4px solid var(--bs-red,#ff2028);
    background:rgba(20,25,71,.98);
    box-shadow:0 16px 28px rgba(0,0,0,.4);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-8px);
  }

  .giving-native-header.is-menu-open .giving-native-nav.e-con{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }

  .giving-native-nav .elementor-widget-button,
  .giving-native-nav .elementor-button{
    width:100%!important;
  }

  .giving-native-nav .elementor-button{
    justify-content:flex-start;
    padding:12px!important;
    font-size:14px!important;
  }
}

@media(max-width:360px){
  .bs-page-about .bs-band-title .elementor-heading-title{
    font-size:40px!important;
    line-height:.92!important;
  }
}
