/* Bubba Hub Homepage — isolated showcase layout
   Loaded after the shared/theme CSS so the homepage cannot be distorted
   by generic page rules. Keep homepage styling scoped to .bh-home.
*/
:root{
  --bh-home-width:1400px;
  --bh-home-gutter:12px;
  --bh-home-dark:#0d3b32;
  --bh-home-teal:#159d9b;
  --bh-home-yellow:#f6c84a;
  --bh-home-pink:#ee6684;
  --bh-home-purple:#8068cf;
  --bh-home-green:#69ad35;
}

.bh-home{
  margin:0;
  min-width:0;
  background:#f7fbf8;
  color:#123f31;
  overflow-x:hidden;
}

.bh-home main{
  width:100%;
  max-width:none;
  min-height:0;
  overflow:visible;
}

.bh-home .site-header.home-header{
  width:100%;
  max-width:var(--bh-home-width);
  min-height:76px;
  margin:0 auto;
  padding:8px 18px;
  display:flex;
  align-items:center;
  gap:24px;
  background:#fff;
  border:0;
  border-radius:0;
  box-shadow:0 4px 18px rgba(18,63,49,.08);
  position:relative;
  z-index:20;
}

.bh-home .home-brand{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  margin-right:auto;
  min-width:0;
}

.bh-home .home-brand .brand-logo{
  width:auto;
  height:60px;
  max-width:245px;
  object-fit:contain;
  border-radius:0;
}

.bh-home .home-header .main-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1px;
  margin:0;
}

.bh-home .home-header .main-nav a{
  padding:9px 10px;
  border-radius:10px;
  color:var(--bh-home-dark);
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.bh-home .home-header .main-nav a:hover{
  background:#e7f1ea;
  color:#159d9b;
}

.bh-home .home-header-search{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  flex:0 0 38px;
  margin:0;
  border-radius:50%;
  color:var(--bh-home-dark);
  font-size:23px;
  font-weight:800;
}

.bh-home .home-hero{
  width:min(var(--bh-home-width),calc(100% - var(--bh-home-gutter)*2));
  min-height:620px;
  margin:0 auto;
  position:relative;
  overflow:visible;
  border-radius:0 0 28px 28px;
}

.bh-home .home-hero-image{
  position:absolute;
  inset:0;
  z-index:0;
  background:url("../../images/home/herobanner-20260924-220048-e3d271.png") 50% 50%/cover no-repeat;
  border-radius:0 0 28px 28px;
}

.bh-home .home-hero-copy{
  position:relative;
  z-index:2;
  width:min(55%,700px);
  margin-left:auto;
  padding:55px 48px 170px 35px;
  text-align:center;
}

.bh-home .home-brush{
  display:inline-block;
  padding:25px 34px 30px;
  background:linear-gradient(135deg,#168f9c,#159c9b);
  color:#fff;
  font-family:"Chewy",cursive;
  font-size:clamp(32px,4vw,52px);
  line-height:1.08;
  font-weight:400;
  transform:rotate(-2deg);
  clip-path:polygon(3% 12%,97% 0,94% 89%,7% 100%,0 50%);
}

.bh-home .home-hero-copy p{
  margin:24px 0 0;
  color:#fff;
  font-size:16px;
  line-height:1.45;
  font-weight:700;
  text-shadow:0 2px 8px rgba(0,0,0,.3);
}

.bh-home .home-search{
  position:absolute;
  z-index:5;
  left:28px;
  right:28px;
  bottom:-74px;
  width:auto;
  margin:0;
  padding:18px 20px 20px;
  background:#159d9b;
  border:0;
  border-radius:26px;
  box-shadow:0 18px 35px rgba(18,63,49,.2);
}

.bh-home .home-search h2{
  margin:0 0 12px;
  color:#fff;
  font-family:"Quicksand",sans-serif;
  font-size:21px;
  line-height:1.2;
  font-weight:800;
}

.bh-home .home-search-fields{
  display:grid;
  grid-template-columns:1.1fr 1fr 1fr 1fr auto;
  gap:9px;
  align-items:center;
}

.bh-home .home-search-fields label{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
  min-height:48px;
  padding:0 13px;
  background:#fff;
  border:0;
  border-radius:999px;
  color:#5c7067;
}

.bh-home .home-search-fields label span{
  flex:0 0 auto;
  color:#3c8e96;
  font-weight:900;
}

.bh-home .home-search-fields input,
.bh-home .home-search-fields select{
  width:100%;
  min-width:0;
  min-height:42px;
  margin:0;
  padding:8px 2px;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent;
  color:#123f31;
  font-size:12px;
}

.bh-home .home-search-fields .button{
  min-width:112px;
  min-height:48px;
  padding:10px 20px;
  background:var(--bh-home-yellow)!important;
  color:#123f31!important;
  border:0;
  border-radius:999px;
  box-shadow:none;
  font-weight:900;
}

.bh-home .home-advanced-link{
  display:block;
  margin:7px 4px 0;
  text-align:right;
  color:rgba(255,255,255,.88);
  font-size:11px;
  font-weight:800;
}

.bh-home .home-category-row{
  width:min(var(--bh-home-width),calc(100% - var(--bh-home-gutter)*2));
  min-width:0;
  margin:100px auto 18px;
  padding:10px 18px;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  background:#fff;
  border:1px solid rgba(18,63,49,.06);
  border-radius:20px;
  box-shadow:0 8px 25px rgba(18,63,49,.05);
}

.bh-home .home-category-row a{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:8px 12px;
  border-right:1px solid rgba(18,63,49,.12);
  text-align:left;
}

.bh-home .home-category-row a:last-child{border-right:0}

.bh-home .home-category-icon{
  width:52px;
  height:52px;
  flex:0 0 52px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  font-size:24px;
}

.bh-home .home-category-icon.pink{background:#ee6684}
.bh-home .home-category-icon.teal{background:#3c9fa9}
.bh-home .home-category-icon.green{background:#6fb52d}
.bh-home .home-category-icon.purple{background:#8068cf}
.bh-home .home-category-icon.yellow{background:#f6bd27}

.bh-home .home-category-row strong{
  color:#123f31;
  font-size:13px;
  line-height:1.15;
  font-weight:850;
}

.bh-home .home-section{
  width:min(var(--bh-home-width),calc(100% - var(--bh-home-gutter)*2));
  margin:0 auto;
  padding:22px 10px;
}

.bh-home .home-section-heading,
.bh-home .home-lower-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:15px;
}

.bh-home .home-section-heading h2,
.bh-home .home-lower-heading h2{
  margin:0;
  color:var(--bh-home-dark);
  font-family:"Chewy",cursive;
  font-size:31px;
  line-height:1.1;
  font-weight:400;
}

.bh-home .home-section-heading .eyebrow,
.bh-home .home-lower-heading .eyebrow{
  margin:0 0 2px;
}

.bh-home .home-view-all,
.bh-home .home-lower-heading>a{
  color:#416651;
  font-size:13px;
  font-weight:800;
}

.bh-home .home-activity-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:15px;
  margin-top:15px;
}

.bh-home .home-activity-card{
  position:relative;
  min-width:0;
  display:block;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(18,63,49,.09);
  border-radius:17px;
  box-shadow:0 8px 25px rgba(18,63,49,.06);
}

.bh-home .home-activity-card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(18,63,49,.1);
}

.bh-home .home-card-image{
  height:158px;
  overflow:hidden;
  background:#dceee1;
}

.bh-home .home-card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.bh-home .home-age-badge{
  position:absolute;
  top:140px;
  right:9px;
  padding:4px 9px;
  border-radius:999px;
  background:#69ad35;
  color:#fff;
  font-size:11px;
  font-weight:900;
}

.bh-home .home-age-badge.pink{background:#ee6684}
.bh-home .home-age-badge.purple{background:#8068cf}
.bh-home .home-age-badge.teal{background:#159aa0}

.bh-home .home-heart{
  position:absolute;
  top:166px;
  right:8px;
  z-index:3;
  width:28px;
  height:28px;
  padding:2px;
  border:0;
  background:transparent;
  color:#3c8e96;
  font-size:21px;
  line-height:1;
}

.bh-home .home-card-body{
  padding:17px 14px 15px;
}

.bh-home .home-card-body h3{
  margin:0 0 8px;
  color:var(--bh-home-dark);
  font-size:18px;
  line-height:1.15;
}

.bh-home .home-card-body p{
  margin:5px 0;
  color:#5c7067;
  font-size:11px;
  line-height:1.35;
  font-weight:650;
}

.bh-home .home-plan-band{
  width:min(var(--bh-home-width),calc(100% - var(--bh-home-gutter)*2));
  min-width:0;
  margin:8px auto 24px;
  padding:28px 38px;
  display:grid;
  grid-template-columns:145px minmax(0,1fr) minmax(0,1.05fr);
  gap:25px;
  align-items:center;
  position:relative;
  overflow:hidden;
  border-radius:24px;
  background:linear-gradient(135deg,#eef7e8,#e0f0e9);
}

.bh-home .home-plan-photo{
  width:145px;
  height:145px;
  overflow:hidden;
  border:10px solid #fff;
  border-radius:50%;
}

.bh-home .home-plan-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.bh-home .home-plan-copy h2{
  margin:0;
  color:var(--bh-home-dark);
  font-family:"Chewy",cursive;
  font-size:35px;
  line-height:1;
  font-weight:400;
}

.bh-home .home-plan-copy p{
  max-width:430px;
  margin:9px 0 15px;
  color:#5c7067;
  font-size:13px;
  line-height:1.45;
}

.bh-home .home-plan-benefits{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:12px;
}

.bh-home .home-plan-benefits li{
  display:flex;
  align-items:center;
  gap:12px;
  color:#123f31;
  font-size:13px;
  font-weight:700;
}

.bh-home .home-plan-benefits span{
  width:31px;
  height:31px;
  flex:0 0 31px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#3c8e96;
  font-size:19px;
}

.bh-home .home-lower-grid{
  width:min(var(--bh-home-width),calc(100% - var(--bh-home-gutter)*2));
  min-width:0;
  margin:0 auto 30px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.bh-home .home-lower-card{
  min-width:0;
  padding:16px;
  background:#fff;
  border:1px solid rgba(18,63,49,.09);
  border-radius:18px;
  box-shadow:0 7px 23px rgba(18,63,49,.05);
}

.bh-home .home-admin-preview{grid-column:1/-1}

.bh-home .home-week{
  display:flex;
  justify-content:space-between;
  margin:15px 0 8px;
  font-size:12px;
}

.bh-home .home-day-row{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:4px;
  margin-bottom:10px;
}

.bh-home .home-day-row>*{
  padding:7px 2px;
  text-align:center;
  border-radius:8px;
  background:#f4f8f4;
  font-size:9px;
}

.bh-home .home-day-row small{font-size:15px}

.bh-home .home-mini-event{
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 0;
  border-top:1px solid rgba(18,63,49,.1);
}

.bh-home .home-mini-thumb{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:8px;
  background:url("../../images/home/gemini_generated_image_dbeql8dbeql8dbeq-20260927-181224-80709b.jpeg") center/cover;
}

.bh-home .home-mini-thumb.second{background-image:url("../../images/home/gemini_generated_image_fi5el2fi5el2fi5e-20260927-181228-89394c.jpeg")}
.bh-home .home-mini-thumb.third{background-image:url("../../images/home/gemini_generated_image_khj2knkhj2knkhj2-20260927-181226-769ff1.jpeg")}

.bh-home .home-mini-event div{min-width:0;flex:1}
.bh-home .home-mini-event b,
.bh-home .home-mini-event small{display:block}
.bh-home .home-mini-event b{font-size:11px}
.bh-home .home-mini-event small{color:#5c7067;font-size:9px}
.bh-home .home-mini-event em{font-style:normal;color:#e65d7b}

.bh-home .home-full-button{
  width:100%;
  margin-top:10px;
}

.bh-home .home-profile-row{
  display:flex;
  align-items:center;
  gap:10px;
  margin:16px 0;
}

.bh-home .home-avatar{
  width:53px;
  height:53px;
  flex:0 0 53px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#d6e8ea;
  color:#3c8e96;
  font-weight:900;
}

.bh-home .home-profile-row div{min-width:0;flex:1}
.bh-home .home-profile-row strong,
.bh-home .home-profile-row small{display:block}
.bh-home .home-profile-row small{font-size:10px;color:#5c7067}
.bh-home .home-profile-row a{
  padding:6px 9px;
  border-radius:999px;
  background:#e8f2ec;
  color:#416651;
  font-size:10px;
  font-weight:800;
}

.bh-home .home-account-links{
  display:grid;
  gap:0;
}

.bh-home .home-account-links a{
  padding:7px 0;
  border-top:1px solid rgba(18,63,49,.1);
  color:#123f31;
  font-size:11px;
}

.bh-home .home-logout{
  display:block;
  margin-top:12px;
  padding:7px;
  text-align:center;
  border:1px solid #ef6b7f;
  border-radius:999px;
  color:#df536b;
  font-size:10px;
  font-weight:800;
}

.bh-home .home-leader-preview>img{
  width:100%;
  height:125px;
  margin:12px 0;
  object-fit:cover;
  border-radius:12px;
}

.bh-home .home-leader-preview h3{
  margin:0;
  color:var(--bh-home-dark);
  font-family:"Chewy",cursive;
  font-size:25px;
  line-height:1.05;
  font-weight:400;
}

.bh-home .home-leader-preview p{
  margin:8px 0;
  color:#5c7067;
  font-size:11px;
  line-height:1.4;
}

.bh-home .home-leader-icons{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin-top:12px;
}

.bh-home .home-leader-icons span{
  padding:8px;
  text-align:center;
  background:#f1f7f2;
  border-radius:10px;
  color:#3c8e96;
  font-size:18px;
}

.bh-home .home-leader-icons small{
  display:block;
  color:#5c7067;
  font-size:8px;
}

.bh-home .home-admin-layout{
  display:grid;
  grid-template-columns:135px minmax(0,1fr);
  min-height:185px;
  overflow:hidden;
  margin-top:12px;
  border-radius:13px;
  background:#f4f8f5;
}

.bh-home .home-admin-layout aside{
  padding:13px;
  display:flex;
  flex-direction:column;
  gap:7px;
  background:#0d3b32;
  color:#fff;
  font-size:10px;
}

.bh-home .home-admin-layout aside strong{
  margin-bottom:6px;
  font-size:15px;
}

.bh-home .home-admin-layout aside a{opacity:.9}

.bh-home .home-admin-main{
  min-width:0;
  padding:13px;
}

.bh-home .home-admin-main h3{
  margin:0 0 12px;
  font-size:15px;
}

.bh-home .home-admin-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}

.bh-home .home-admin-stats b{
  padding:9px;
  border-radius:9px;
  background:#fff;
  color:var(--bh-home-dark);
  font-size:18px;
}

.bh-home .home-admin-stats small{
  display:block;
  color:#5c7067;
  font-size:7px;
  font-weight:700;
}

.bh-home .home-admin-main h4{
  margin:12px 0 4px;
  font-size:11px;
}

.bh-home .home-admin-main p{
  margin:0;
  color:#5c7067;
  font-size:9px;
}

.bh-home .home-footer{
  width:min(var(--bh-home-width),calc(100% - var(--bh-home-gutter)*2));
  margin:0 auto 12px;
  border-radius:0 0 24px 24px;
  background:#0d3b32;
  color:#fff;
}

.bh-home .home-footer .site-footer-column h2,
.bh-home .home-footer .site-footer-title{color:#fff}

.bh-home .home-footer .site-footer-links a{color:rgba(255,255,255,.85)}
.bh-home .home-footer .site-footer-links a:hover{color:#f6c84a}

.bh-home .home-newsletter form{display:flex}
.bh-home .home-newsletter input{
  min-width:0;
  flex:1;
  border:0!important;
  border-radius:999px 0 0 999px;
  background:#fff;
  padding:9px 12px;
}

.bh-home .home-newsletter button{
  width:40px;
  border:0;
  border-radius:0 999px 999px 0;
  background:#3c9fa9;
  color:#fff;
  font-weight:900;
}

@media(max-width:1100px){
  .bh-home .home-header .main-nav a{padding-inline:7px;font-size:11px}
  .bh-home .home-brand .brand-logo{max-width:215px}
  .bh-home .home-hero-copy{width:58%;padding-right:25px}
  .bh-home .home-search-fields{grid-template-columns:1fr 1fr}
  .bh-home .home-search-fields .button{grid-column:1/-1}
}

@media(max-width:900px){
  .bh-home .home-header{padding-inline:12px;gap:12px}
  .bh-home .home-header .main-nav{overflow-x:auto;justify-content:flex-start}
  .bh-home .home-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bh-home .home-plan-band{grid-template-columns:130px minmax(0,1fr)}
  .bh-home .home-plan-benefits{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}
  .bh-home .home-lower-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bh-home .home-admin-preview{grid-column:1/-1}
}

@media(max-width:650px){
  .bh-home .site-header.home-header{
    width:calc(100% - 12px);
    min-height:64px;
    margin:6px auto 0;
    padding:7px 9px;
    border-radius:16px;
  }

  .bh-home .home-brand .brand-logo{
    height:45px;
    max-width:180px;
  }

  .bh-home .home-header .main-nav{
    display:none;
  }

  .bh-home .home-header-search{
    margin-left:auto;
    width:40px;
    height:40px;
  }

  .bh-home .home-header:after{
    content:"☰";
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    color:#0d3b32;
    font-size:23px;
    font-weight:900;
  }

  .bh-home .home-hero{
    width:calc(100% - 12px);
    min-height:610px;
    border-radius:0 0 22px 22px;
  }

  .bh-home .home-hero-image{
    border-radius:0 0 22px 22px;
    background-position:58% center;
  }

  .bh-home .home-hero-copy{
    width:100%;
    padding:28px 14px 330px;
  }

  .bh-home .home-brush{
    padding:20px 22px;
    font-size:30px;
  }

  .bh-home .home-hero-copy p{
    margin-top:18px;
    font-size:13px;
  }

  .bh-home .home-search{
    left:10px;
    right:10px;
    bottom:-125px;
    padding:15px;
    border-radius:20px;
  }

  .bh-home .home-search-fields{
    grid-template-columns:1fr;
  }

  .bh-home .home-search-fields .button{
    grid-column:auto;
  }

  .bh-home .home-category-row{
    width:calc(100% - 12px);
    margin-top:155px;
    grid-template-columns:1fr 1fr;
    padding:8px;
  }

  .bh-home .home-category-row a{
    justify-content:flex-start;
    border-right:0;
    border-bottom:1px solid rgba(18,63,49,.1);
  }

  .bh-home .home-category-row a:last-child{
    grid-column:1/-1;
    border-bottom:0;
  }

  .bh-home .home-section{
    width:calc(100% - 12px);
    padding:20px 0;
  }

  .bh-home .home-section-heading,
  .bh-home .home-lower-heading{
    align-items:flex-start;
  }

  .bh-home .home-section-heading h2,
  .bh-home .home-lower-heading h2{
    font-size:27px;
  }

  .bh-home .home-activity-grid{
    grid-template-columns:1fr 1fr;
  }

  .bh-home .home-card-image{height:125px}
  .bh-home .home-age-badge{top:108px}
  .bh-home .home-heart{top:130px}

  .bh-home .home-plan-band{
    width:calc(100% - 12px);
    grid-template-columns:1fr;
    padding:22px;
  }

  .bh-home .home-plan-photo{margin:auto}
  .bh-home .home-plan-benefits{grid-template-columns:1fr}

  .bh-home .home-lower-grid{
    width:calc(100% - 12px);
    grid-template-columns:1fr;
  }

  .bh-home .home-admin-preview{grid-column:auto}
  .bh-home .home-admin-layout{grid-template-columns:95px minmax(0,1fr)}
  .bh-home .home-admin-stats{grid-template-columns:1fr 1fr}

  .bh-home .home-footer{
    width:calc(100% - 12px);
  }
}

@media(max-width:420px){
  .bh-home .home-activity-grid,
  .bh-home .home-category-row{grid-template-columns:1fr}

  .bh-home .home-category-row a:last-child{grid-column:auto}

  .bh-home .home-brand .brand-logo{
    max-width:165px;
    height:42px;
  }

  .bh-home .home-hero{min-height:590px}
  .bh-home .home-brush{font-size:27px}
}


/* DIRECTORY — use the homepage visual language without changing home itself */
.bh-directory main.app-shell{
  width:min(var(--bh-home-width),calc(100% - var(--bh-home-gutter)*2));
  max-width:none;
  margin:0 auto;
  padding:34px 0 50px;
}
.bh-directory .directory-layout{
  display:grid;
  grid-template-columns:255px minmax(0,1fr);
  gap:22px;
  align-items:start;
}
.bh-directory .directory-results-column{min-width:0}
.bh-directory .directory-hero-search{
  position:relative;
  left:auto;
  right:auto;
  bottom:auto;
  width:100%;
  margin:0 0 22px;
}
.bh-directory .directory-search-advanced-link{
  appearance:none;
  border:0;
  background:transparent;
  cursor:pointer;
  width:auto;
  margin:7px 4px 0 auto;
}
.bh-directory .directory-filters-panel{
  position:sticky;
  top:18px;
  padding:18px;
  background:#fff;
  border:1px solid rgba(18,63,49,.08);
  border-radius:22px;
  box-shadow:0 8px 25px rgba(18,63,49,.06);
}
.bh-directory .directory-filter-fields{gap:4px}
.bh-directory .directory-filter-fields>div,
.bh-directory .directory-filter-fields>label{
  padding:9px 0;
  border-bottom:1px solid rgba(18,63,49,.08);
}
.bh-directory .directory-filter-fields>label:last-of-type{border-bottom:0}
.bh-directory .directory-filter-label,
.bh-directory .directory-filter-fields label{
  color:#416651;
  font-size:11px;
  font-weight:850;
}
.bh-directory .filter-input{
  min-height:42px;
  margin-top:5px;
  border:1px solid rgba(18,63,49,.12)!important;
  border-radius:12px!important;
  background:#f8fbf8!important;
}
.bh-directory .directory-advanced-section{padding-top:8px}
.bh-directory .directory-advanced-toggle{
  color:#416651;
}
.bh-directory .directory-results-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  margin:4px 0 12px;
}
.bh-directory .directory-results-heading h1{
  margin:0;
  color:#123f31;
  font-family:"Chewy",cursive;
  font-size:32px;
  font-weight:400;
  line-height:1;
}
.bh-directory .directory-viewbar{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
  margin:0;
}
.bh-directory .directory-viewbar #count{
  margin:0;
  color:#617261;
  font-size:12px;
  font-weight:800;
}
.bh-directory .directory-views{
  background:#fff;
  border:1px solid rgba(18,63,49,.08);
  border-radius:999px;
  padding:3px;
}
.bh-directory .directory-view{
  border:0;
  border-radius:999px;
  background:transparent;
  color:#617261;
  padding:7px 11px;
  font-size:11px;
  font-weight:800;
}
.bh-directory .directory-view.active{
  background:#d8e6db;
  color:#123f31;
}
.bh-directory .directory-count-control{
  display:none;
}
.bh-directory .activity-grid.directory-view-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:15px!important;
  margin-top:8px;
}
.bh-directory .activity-grid.directory-view-grid .activity-card{
  position:relative;
  display:block!important;
  overflow:hidden!important;
  min-width:0;
  background:#fff!important;
  border:1px solid rgba(18,63,49,.09)!important;
  border-radius:17px!important;
  box-shadow:0 8px 25px rgba(18,63,49,.06)!important;
  transform:none;
}
.bh-directory .activity-grid.directory-view-grid .activity-card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(18,63,49,.10)!important;
}
.bh-directory .activity-grid.directory-view-grid .activity-image{
  height:158px!important;
  min-height:158px!important;
  background:#dceee1!important;
}
.bh-directory .activity-grid.directory-view-grid .activity-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.bh-directory .activity-grid.directory-view-grid .activity-body{
  padding:17px 14px 15px!important;
  background:#fff!important;
}
.bh-directory .activity-grid.directory-view-grid .activity-meta{
  color:#3c8e96!important;
  font-size:10px!important;
  font-weight:900!important;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.bh-directory .activity-grid.directory-view-grid .activity-card h3{
  margin:0 0 8px!important;
  color:#123f31!important;
  font-size:18px!important;
  line-height:1.15!important;
}
.bh-directory .activity-grid.directory-view-grid .activity-card p{
  margin:5px 0!important;
  color:#5c7067!important;
  font-size:11px!important;
  line-height:1.35!important;
  font-weight:650!important;
}
.bh-directory .activity-grid.directory-view-grid .activity-footer{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  margin-top:10px!important;
  padding-top:10px!important;
  border-top:1px solid rgba(18,63,49,.07);
}
.bh-directory .activity-grid.directory-view-grid .text-link{
  color:#416651!important;
  font-size:11px;
  font-weight:850;
}
.bh-directory .activity-grid.directory-view-grid .bh-save{
  min-height:34px!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  font-size:10px!important;
}
.bh-directory .directory-mobile-actions{display:none}
@media(max-width:1000px){
  .bh-directory .directory-layout{grid-template-columns:220px minmax(0,1fr)}
  .bh-directory .activity-grid.directory-view-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .bh-directory main.app-shell{width:calc(100% - 28px);padding-top:20px}
  .bh-directory .directory-layout{display:block}
  .bh-directory .directory-mobile-actions{display:flex;margin-bottom:10px}
  .bh-directory .directory-filter-toggle{width:100%;justify-content:space-between}
  .bh-directory .directory-filters-panel{
    position:fixed;
    top:12px;
    left:12px;
    bottom:12px;
    width:min(340px,calc(100vw - 24px));
    z-index:10000;
    overflow:auto;
    transform:translateX(-120%);
    transition:transform .22s ease;
  }
  .bh-directory .directory-filters-panel.is-open{transform:translateX(0)}
  .bh-directory .directory-results-heading{align-items:flex-start;flex-direction:column}
  .bh-directory .directory-viewbar{align-items:flex-start;width:100%}
  .bh-directory .directory-hero-search{border-radius:22px}
}
@media(max-width:560px){
  .bh-directory .directory-hero-search{padding:15px}
  .bh-directory .home-search-fields{grid-template-columns:1fr}
  .bh-directory .home-search-fields .button{width:100%}
  .bh-directory .activity-grid.directory-view-grid{grid-template-columns:1fr!important}
  .bh-directory .directory-results-heading h1{font-size:28px}
}


/* FINAL HOMEPAGE RESPONSIVE SCALE
   Keep typography, spacing and layout fluid between desktop, tablet and mobile.
   Avoid fixed text/image dimensions causing clipping at intermediate widths. */
.bh-home .home-hero-copy p{
  font-size:clamp(13px,1.25vw,16px);
}
.bh-home .home-section-heading h2,
.bh-home .home-lower-heading h2{
  font-size:clamp(26px,2.2vw,31px);
}
.bh-home .home-plan-copy h2{
  font-size:clamp(28px,2.7vw,35px);
}
.bh-home .home-card-body h3{
  font-size:clamp(16px,1.35vw,18px);
}
.bh-home .home-activity-card,
.bh-home .home-plan-band,
.bh-home .home-lower-card{
  min-width:0;
}
.bh-home .home-search h2{
  font-size:clamp(17px,1.7vw,21px);
}
.bh-home .home-category-row strong{
  font-size:clamp(11px,1.05vw,13px);
}

/* Medium desktop/tablet: let the hero and navigation breathe instead of
   squeezing fixed-width content into the viewport. */
@media (max-width:1200px) and (min-width:901px){
  .bh-home .site-header.home-header{
    padding-inline:14px;
    gap:12px;
  }
  .bh-home .home-header .main-nav{
    gap:0;
  }
  .bh-home .home-header .main-nav a{
    padding:8px 6px;
    font-size:10px;
  }
  .bh-home .home-brand .brand-logo{
    max-width:190px;
    height:54px;
  }
  .bh-home .home-hero{
    min-height:560px;
  }
  .bh-home .home-hero-copy{
    width:57%;
    padding:46px 28px 155px 20px;
  }
  .bh-home .home-brush{
    font-size:clamp(34px,4vw,46px);
    padding:21px 26px 25px;
  }
  .bh-home .home-search{
    left:22px;
    right:22px;
  }
  .bh-home .home-search-fields{
    grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;
  }
  .bh-home .home-search-fields .button{
    grid-column:auto;
  }
  .bh-home .home-category-row a{
    gap:7px;
    padding-inline:7px;
  }
  .bh-home .home-category-icon{
    width:44px;
    height:44px;
    flex-basis:44px;
    font-size:20px;
  }
}

/* Tablet: stack the hero content naturally and keep all text inside the
   viewport rather than relying on desktop-sized offsets. */
@media (max-width:900px) and (min-width:651px){
  .bh-home .home-hero{
    min-height:560px;
  }
  .bh-home .home-hero-copy{
    width:62%;
    padding:42px 24px 150px 18px;
  }
  .bh-home .home-brush{
    font-size:clamp(32px,5vw,44px);
    padding:20px 24px 24px;
  }
  .bh-home .home-search{
    left:18px;
    right:18px;
    bottom:-105px;
  }
  .bh-home .home-search-fields{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
  }
  .bh-home .home-search-fields .button{
    grid-column:auto;
    min-width:100px;
    padding-inline:15px;
  }
  .bh-home .home-category-row{
    margin-top:130px;
  }
  .bh-home .home-category-row a{
    gap:6px;
    padding-inline:6px;
  }
  .bh-home .home-category-icon{
    width:42px;
    height:42px;
    flex-basis:42px;
    font-size:19px;
  }
  .bh-home .home-plan-band{
    grid-template-columns:115px minmax(0,1fr);
    gap:18px;
    padding:24px;
  }
  .bh-home .home-plan-photo{
    width:115px;
    height:115px;
  }
}

/* Prevent text/buttons from overflowing narrow cards and headings. */
.bh-home .home-section-heading>div,
.bh-home .home-lower-heading>div,
.bh-home .home-plan-copy,
.bh-home .home-profile-row div,
.bh-home .home-admin-main{
  min-width:0;
}
.bh-home .home-section-heading h2,
.bh-home .home-lower-heading h2,
.bh-home .home-plan-copy h2,
.bh-home .home-leader-preview h3{
  overflow-wrap:anywhere;
}
.bh-home .home-view-all,
.bh-home .home-lower-heading>a,
.bh-home .home-profile-row a{
  flex:0 0 auto;
  white-space:nowrap;
}

/* Small phones: reduce fixed image heights and let copy determine card height. */
@media (max-width:560px){
  .bh-home .home-section-heading,
  .bh-home .home-lower-heading{
    gap:8px;
  }
  .bh-home .home-section-heading h2,
  .bh-home .home-lower-heading h2{
    font-size:clamp(23px,7vw,28px);
  }
  .bh-home .home-view-all,
  .bh-home .home-lower-heading>a{
    font-size:11px;
  }
  .bh-home .home-card-image{
    height:clamp(112px,32vw,145px);
  }
  .bh-home .home-age-badge{
    top:calc(clamp(112px,32vw,145px) - 17px);
  }
  .bh-home .home-heart{
    top:calc(clamp(112px,32vw,145px) + 3px);
  }
  .bh-home .home-card-body{
    padding:14px 12px 13px;
  }
  .bh-home .home-card-body h3{
    font-size:16px;
  }
  .bh-home .home-card-body p{
    font-size:10px;
  }
  .bh-home .home-plan-copy h2{
    font-size:clamp(27px,8vw,34px);
  }
}

/* Very narrow phones: single-column content where two-column cards become
   too cramped, while keeping the hero readable. */
@media (max-width:380px){
  .bh-home .home-hero-copy{
    padding-inline:9px;
  }
  .bh-home .home-brush{
    font-size:26px;
    padding:18px 18px 21px;
  }
  .bh-home .home-hero-copy p{
    font-size:12px;
  }
  .bh-home .home-search{
    left:7px;
    right:7px;
    padding:13px;
  }
  .bh-home .home-category-row,
  .bh-home .home-activity-grid{
    grid-template-columns:1fr;
  }
  .bh-home .home-category-row a:last-child{
    grid-column:auto;
  }
  .bh-home .home-category-row a{
    min-height:58px;
  }
}


/* FINAL HOMEPAGE MOBILE NAV */
@media(max-width:650px){
  body.bh-home .site-header{
    position:relative;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    width:calc(100% - 12px);
    min-height:64px;
    margin:6px auto 12px;
    padding:8px 12px;
    box-sizing:border-box;
    border-radius:16px;
    z-index:100;
  }
  body.bh-home .mobile-nav-toggle{
    display:grid!important;
    place-items:center;
    width:40px;
    height:40px;
    margin-left:auto;
    padding:7px;
    border:0;
    border-radius:50%;
    background:#e7f1ea;
    cursor:pointer;
  }
  body.bh-home .mobile-nav-toggle span{
    display:block;
    width:20px;
    height:2px;
    margin:2px 0;
    background:#144400;
    border-radius:99px;
  }
  body.bh-home .site-header .main-nav{
    display:none!important;
    order:4;
    width:100%;
    flex:0 0 100%;
    padding:8px 0 2px;
    flex-direction:column;
    align-items:stretch;
    overflow:visible;
  }
  body.bh-home .site-header.mobile-menu-open .main-nav{
    display:flex!important;
  }
  body.bh-home .site-header .main-nav a{
    display:block;
    width:100%;
    box-sizing:border-box;
    padding:12px 13px;
    border-radius:10px;
    font-size:14px;
  }
  body.bh-home .site-header.mobile-menu-open .home-header-search{
    display:none;
  }
}


/* FINAL logo sizing — keep the Bubba Hub header compact */
.bh-home .home-brand .brand-logo{
  height:44px!important;
  max-width:190px!important;
  width:auto!important;
}
@media(max-width:650px){
  body.bh-home .home-brand .brand-logo{
    height:38px!important;
    max-width:165px!important;
  }
}


/* FINAL PAGE FRAME — HOMEPAGE */
.bh-home .site-header.home-header{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:15px !important;
  padding-right:15px !important;
  box-sizing:border-box !important;
}
.bh-home .home-hero,
.bh-home .home-category-row,
.bh-home .home-section,
.bh-home .home-plan-band,
.bh-home .home-lower-grid,
.bh-home .home-footer{
  width:calc(100% - 30px) !important;
  max-width:none !important;
  margin-left:15px !important;
  margin-right:15px !important;
  box-sizing:border-box !important;
}
@media(max-width:650px){
  .bh-home .site-header.home-header{padding-left:6px !important;padding-right:6px !important}
  .bh-home .home-hero,
  .bh-home .home-category-row,
  .bh-home .home-section,
  .bh-home .home-plan-band,
  .bh-home .home-lower-grid,
  .bh-home .home-footer{
    width:calc(100% - 12px) !important;
    margin-left:6px !important;
    margin-right:6px !important;
  }
}


/* Dynamic homepage planner states */
.home-planner-content{min-height:210px;display:flex;flex-direction:column;gap:10px}
.home-planner-guest,.home-planner-empty{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:210px;padding:24px;border-radius:18px;background:#f4f8f5;text-align:left}
.home-planner-guest h3,.home-planner-empty h3{margin:6px 0 4px;color:#144400}
.home-planner-guest p,.home-planner-empty p{margin:0 0 16px;color:#617261;max-width:460px}
.home-planner-icon{font-size:28px;color:#3c8e96;font-weight:900}
.home-planner-content .home-mini-event{margin:0}
.home-planner-content .home-full-button{margin-top:auto}
.home-newsletter-status{min-height:18px;margin:6px 0 0;font-size:12px;color:#617261}
@media(max-width:650px){.home-planner-guest,.home-planner-empty{padding:18px;min-height:180px}}
