@media (max-width: 1024px) {
  .bov2-card-grid,
  .bov2-feature-grid,
  .bov2-plant-specs,
  .bov2-site-footer__grid,
  .bov2-two-col,
  .bov2-hero__grid,
  .bov2-plant-hero {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 767px) {
  .bov2-desktop-only { display: none !important; }
  .bov2-menu-toggle { display: inline-flex; }
  .bov2-site-header__inner { min-height: 74px; }
  .bov2-utility-bar__inner,
  .bov2-site-footer__bottom-inner { flex-direction: column; align-items: flex-start; justify-content: center; padding: 10px 0; }
  .bov2-utility-bar__contact { width: 100%; gap: 12px; }
  .bov2-branding__tag { display: none; }
  .bov2-mobile-drawer .bov2-nav__list,
  .bov2-footer-links { flex-direction: column; gap: 10px; align-items: flex-start; }
  .bov2-mobile-drawer .bov2-nav__item { width: 100%; }
  .bov2-mobile-drawer .bov2-nav__link { width: 100%; justify-content: flex-start; padding: 12px 14px; min-height: 0; border: 1px solid var(--bov2-border); background: #fff; }
  .bov2-mobile-drawer .bov2-nav__link:hover,
  .bov2-mobile-drawer .bov2-nav__item.current-menu-item .bov2-nav__link,
  .bov2-mobile-drawer .bov2-nav__item.current_page_item .bov2-nav__link { background: var(--bov2-green); color:#fff; border-color: var(--bov2-green); }
  .bov2-mobile-drawer .bov2-nav__link { min-height: 38px; }
  .bov2-card-grid,
  .bov2-feature-grid,
  .bov2-plant-specs,
  .bov2-site-footer__grid,
  .bov2-two-col,
  .bov2-hero__grid,
  .bov2-plant-hero {
    grid-template-columns: 1fr;
  }
  .bov2-cta__inner { flex-direction: column; align-items: flex-start; }
  .bov2-placeholder-image { min-height: 220px; }
  .bov2-section { padding: 64px 0; }
  .bov2-page-banner { padding: 44px 0 38px; }
  h1 { font-size: 2.35rem; }
  h2 { font-size: 1.85rem; }
}
@media (max-width: 900px) {
  .bov2-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .bov2-filter-grid { grid-template-columns: 1fr; }
}



@media (max-width: 1024px) {
  .bov2-site-header__inner { min-height: 80px; }
  .bov2-utility-bar__meta { font-size: .76rem; }
}


@media (max-width: 900px) {
  .bov2-hero__grid { grid-template-columns: 1fr; gap: 28px; }
  .bov2-hero__visual { order: -1; }
  .bov2-hero__image { height: 320px; }
  .bov2-hero__content, .bov2-hero__content h1 { max-width: none; }
}

@media (max-width: 640px) {
  .bov2-hero__actions .bov2-btn { width: 100%; }
  .bov2-hero__trust { gap: 8px 0; flex-direction: column; }
  .bov2-hero__trust span + span::before { display: none; }
}

@media (max-width: 900px){ .bov2-card-grid--projects{grid-template-columns:1fr;} }

@media (max-width: 900px) {
  .bov2-portfolio-grid { grid-template-columns: 1fr; grid-template-rows: none; }
  .bov2-portfolio-item.is-featured { grid-row: auto; }
  .bov2-portfolio-item, .bov2-portfolio-item__link { min-height: 260px; }
}


@media (max-width: 767px) {
  .bov2-footer-links--inline { justify-content: flex-start; }
  .bov2-cookie-consent {
    left: 12px;
    right: 12px;
    bottom: 12px;
  }
  .bov2-cookie-consent__inner {
    flex-direction: column;
    align-items: flex-start;
    padding: 16px 16px 14px;
  }
  .bov2-cookie-consent__actions {
    width: 100%;
    justify-content: flex-start;
  }
}

@media (max-width: 767px) {
  .bov2-utility-bar__meta { display: none; }
  .bov2-utility-link--email,
  .bov2-utility-bar .bov2-social { display: none; }
}


@media (max-width: 640px) {
  body { font-size: 16px; line-height: 1.62; }
  .bov2-btn, .bov2-header-cta { width: 100%; }
  .bov2-utility-bar__contact { gap: 10px; }
}


/* v2.9.43 footer mobile */
@media (max-width: 980px) {
  .bov2-site-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 24px;
  }
}

@media (max-width: 640px) {
  .bov2-site-footer__grid {
    grid-template-columns: 1fr;
  }
  .bov2-site-footer__bottom-inner {
    min-height: 0;
    padding: 16px 0;
    align-items: flex-start;
    flex-direction: column;
  }
  .bov2-footer-actions {
    width: 100%;
  }
  .bov2-footer-actions .bov2-btn {
    width: 100%;
    justify-content: center;
  }
}


/* v2.9.43 stage 1 mobile refinements */
@media (max-width: 980px) {
  .bov2-section { padding-top: 68px; padding-bottom: 68px; }
  .bov2-portfolio-grid {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    gap: 18px;
  }
  .bov2-portfolio-item.is-featured { grid-row: auto; }
  .bov2-contact-layout { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  .bov2-section { padding-top: 56px; padding-bottom: 56px; }
  .bov2-portfolio-item,
  .bov2-portfolio-item__link { min-height: 240px; }
  .bov2-portfolio-item__overlay { padding: 18px; }
  .bov2-contact-panel--form,
  .bov2-contact-card { padding: 20px; }
  .bov2-contact-actions { flex-direction: column; }
  .bov2-contact-actions .bov2-btn { width: 100%; justify-content: center; }
  .bov2-plant-viewer__hero-frame { height: var(--bov2-viewer-height, 360px); min-height: 240px; }
}

@media (max-width: 640px) {
  .bov2-hero h1,
  .bov2-page-banner__title { font-size: clamp(2rem, 9vw, 2.5rem); }
  .bov2-portfolio-item__title {
    max-width: 100%;
    font-size: .98rem;
    padding: 9px 12px;
  }
  .bov2-contact-heading { font-size: clamp(1.7rem, 7vw, 2.1rem); }
}

@media (max-width: 980px) {
  .bov2-footer-contact-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .bov2-about-hero__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .bov2-about-hero__visual {
    order: -1;
  }
  .bov2-about-hero__content,
  .bov2-about-hero__content h1 {
    max-width: none;
  }
}

/* v2.14.16 plant finder mobile hardening + PB plants shell restore */
@media (max-width: 980px) {
  body.bov2-plant-finder-page,
  body.bov2-plant-finder-page .bov2-site-main,
  body.bov2-plant-finder-page .bov2-section,
  body.bov2-plant-finder-page .bov2-container {
    overflow-x: hidden;
  }
  body.bov2-plant-finder-page .bov2-pill-nav,
  body.bov2-plant-finder-page .bov2-pagination {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 6px;
  }
  body.bov2-plant-finder-page .bov2-pill,
  body.bov2-plant-finder-page .bov2-page-link {
    flex: 0 0 auto;
  }
  body.bov2-plant-finder-page .bov2-facet,
  body.bov2-plant-finder-page .bov2-facet summary,
  body.bov2-plant-finder-page .bov2-facet--wide summary,
  body.bov2-plant-finder-page .bov2-facet summary.bov2-summary--wide {
    width: 100%;
    max-width: none;
  }
  body.bov2-plant-finder-page .bov2-facet-panel {
    position: static;
    left: auto;
    top: auto;
    min-width: 0;
    max-width: none;
    width: 100%;
    transform: none;
  }
  body.bov2-plant-finder-page .bov2-facet-form {
    overflow: visible;
  }
  body.bov2-plant-finder-page .bov2-card-grid--plants {
    grid-template-columns: repeat(var(--bov2-plant-cols-tablet, 2), minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  body.bov2-plant-finder-page .bov2-card-grid--plants {
    grid-template-columns: repeat(var(--bov2-plant-cols-mobile, 1), minmax(0, 1fr));
    gap: 18px;
  }

  body.bov2-plant-finder-page .bov2-pagination {
    flex-direction: column;
    align-items: stretch;
  }
  body.bov2-plant-finder-page .bov2-pagination__links {
    flex-wrap: nowrap;
  }
  body.bov2-plant-finder-page .bov2-pagination-jump {
    margin-left: 0;
    justify-content: space-between;
    gap: 8px;
  }
  body.bov2-plant-finder-page .bov2-pagination-jump__label {
    white-space: nowrap;
  }
  body.bov2-plant-finder-page .bov2-pagination-jump__input {
    width: 76px;
    min-width: 76px;
  }
  body.bov2-plant-finder-page .bov2-filter-card {
    padding: 16px;
  }
  body.bov2-plant-finder-page .bov2-facet-topbar,
  body.bov2-plant-finder-page .bov2-facet-actions {
    flex-direction: column;
    align-items: stretch;
  }
  body.bov2-plant-finder-page .bov2-facet-search,
  body.bov2-plant-finder-page .bov2-facet-actions .bov2-btn {
    width: 100%;
    flex: 1 1 auto;
  }
}
