:root{ --gap: .75rem; --radius: 12px; --shadow: 0 6px 20px rgba(0,0,0,.08); }

.plantdb-card{
  border: 1px solid #e7e7e9;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: var(--gap);
  background: #fff;
}
.plantdb-grid{
  display: grid;
  grid-template-columns: repeat(var(--plantdb-public-columns-desktop, 3), minmax(0, 1fr));
  gap: var(--gap);
  margin-top: var(--gap);
}
.plantdb-card .thumb{
  width: 100%; aspect-ratio: 4/3; background-size: cover; background-position: center; border-radius: 10px;
  background-color: #f2f2f5;
}
.plantdb-card .meta{ padding: .5rem 0; }
.badges .badge, .badges .pill{ display:inline-block; padding:.15rem .5rem; border-radius:999px; background:#f4f4f8; margin-right:.25rem; }
.plantdb-pagination{ margin-top: var(--gap); display:flex; flex-wrap:wrap; gap:.4rem; }
.plantdb-pagination .active{ font-weight:bold; }
.plantdb-toolbar{ display:flex; align-items:center; gap:1rem; margin-bottom: .75rem; }
.plantdb-toolbar .filters{ display:flex; flex-wrap:wrap; gap:.4rem; }
.plantdb-dialog{ border:none; border-radius: 12px; width:min(980px, 96vw); padding:1rem; }
.plantdb-dialog.gallery .gallery-body{ position:relative; }
.plantdb-dialog.gallery .close{ position:absolute; right:.5rem; top:.5rem; font-size:1.5rem; background:transparent; border:0; cursor:pointer; }
.gallery-grid{ display:grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap:.5rem; padding-top:2rem; }
.gallery-grid .g{ background:#f5f5f5; border-radius:10px; overflow:hidden; }
.gallery-grid img{ width:100%; height:auto; display:block; }
.plantdb-form{ display:grid; gap:.6rem; }
.plantdb-form.large .grid-2{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:.5rem; }
.plantdb-form .grid-3{ display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:.5rem; }
.plantdb-form textarea{ width:100%; }
.image-row{ display:flex; gap:.4rem; }
.button-link-delete{ color:#b00020; }
@media (prefers-color-scheme: dark){
  .plantdb-card{ background:#1c1c1f; color:#eee; border-color:#2a2a2e; }
  .badges .badge, .badges .pill{ background:#2b2b30; }
}

/* Traits row uses its own 2-col grid to control column placement */
.traits{ margin-top:.25rem; }

/* Frontend filters */
.plantdb-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem;margin:.5rem 0;}
.trait-box{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;}

.list .list-row{display:flex;align-items:center;padding:.25rem 0;border-bottom:1px solid #eee;}
.list .list-row a{font-weight:600;}
.muted{opacity:.7;}

.plantdb-toolbar .search-row{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem;flex-wrap:wrap}


.plantdb-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}
.plantdb-header h1{margin:0}
.plantdb-searchbar{display:flex;align-items:center;gap:.5rem;min-width:40%;flex:1;justify-content:flex-end}
.plantdb-searchbar input[type="search"]{flex:1;min-width:360px;max-width:760px;padding:.375rem .5rem}
@media (max-width: 900px){
  .plantdb-header{flex-direction:column;align-items:stretch;gap:.75rem}
  .plantdb-searchbar{justify-content:stretch}
  .plantdb-searchbar input[type="search"]{min-width:0;max-width:100%}
}


.plantdb-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}
.plantdb-header h1{margin:0}
.plantdb-header .left{display:flex;align-items:center;gap:.75rem}
.plantdb-searchbar{display:flex;align-items:center;gap:.5rem;min-width:40%;flex:1;justify-content:flex-end}
.plantdb-searchbar input[type="search"]{flex:1;min-width:360px;max-width:760px;padding:.375rem .5rem}
@media (max-width: 900px){
  .plantdb-header{flex-direction:column;align-items:stretch;gap:.75rem}
  .plantdb-header .left{order:1}
  .plantdb-searchbar{order:2;justify-content:stretch}
  .plantdb-searchbar input[type="search"]{min-width:0;max-width:100%}
}


/* --- Plant cards --- */
.plant-card{display:flex;gap:.75rem;border:1px solid #ececf0;border-radius:12px;padding:.75rem;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.plant-thumb{flex:0 0 56px;height:56px;border-radius:8px;background:linear-gradient(135deg,#f0f2ff,#eaf7ff);display:flex;align-items:center;justify-content:center}
.plant-avatar{font-weight:700}
.plant-card-body{flex:1;min-width:0}
.plant-title{margin:0 0 .125rem;font-size:1rem;line-height:1.2}
.plant-sci{color:#6b7280;margin-bottom:.25rem}
.plant-tags{display:flex;flex-wrap:wrap;gap:.25rem;margin:.25rem 0 .5rem}
.plant-tags .tag{display:inline-block;padding:.125rem .375rem;border:1px solid #e5e7eb;border-radius:999px;font-size:.75rem;color:#374151;background:#f9fafb}
.plant-desc{margin:.25rem 0 .5rem;color:#374151}
.plant-actions{display:flex;gap:.375rem;margin-top:.25rem}
.plant-actions .btn-edit,.plant-actions .btn-danger{padding:.375rem .5rem;border-radius:8px;border:1px solid transparent;cursor:pointer}
.plant-actions .btn-edit{background:#eef2ff;border-color:#e5e7ff}
.plant-actions .btn-danger{background:#fee2e2;border-color:#fecaca}
.plantdb-empty,.plantdb-loading,.plantdb-error{padding:1rem;color:#374151}



/* --- Edit dialog layout --- */
.plantdb-dialog::backdrop{background:rgba(0,0,0,.3)}
.plantdb-dialog{max-width:960px;border:1px solid #e5e7eb;border-radius:12px;padding:1rem}
.plantdb-form.large .grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.plantdb-form.large .grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:.75rem}
.plantdb-form label{display:block}
.plantdb-form input, .plantdb-form select, .plantdb-form textarea{width:100%}
.plantdb-form .traits{gap:.5rem}
.plantdb-form .image-row{display:flex;gap:.5rem;align-items:center}
.dialog-actions{display:flex;gap:.5rem;align-items:center;margin-top:.75rem}
.button-small{padding:.25rem .5rem;font-size:.85rem}
.button-link-delete{background:#fee2e2;border:1px solid #fecaca}
/* Cards */
.plant-card{display:flex;gap:.75rem;border:1px solid #ececf0;border-radius:12px;padding:.75rem;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.plant-thumb{flex:0 0 56px;height:56px;border-radius:8px;background:linear-gradient(135deg,#f0f2ff,#eaf7ff);display:flex;align-items:center;justify-content:center}
.plant-avatar{font-weight:700}
.plant-card-body{flex:1;min-width:0}
.plant-title{margin:0 0 .125rem;font-size:1rem;line-height:1.2}
.plant-sci{color:#6b7280;margin-bottom:.25rem}
.plant-tags{display:flex;flex-wrap:wrap;gap:.25rem;margin:.25rem 0 .5rem}
.plant-tags .tag{display:inline-block;padding:.125rem .375rem;border:1px solid #e5e7eb;border-radius:999px;font-size:.75rem;color:#374151;background:#f9fafb}
.plant-desc{margin:.25rem 0 .5rem;color:#374151}
.plant-actions{display:flex;gap:.375rem;margin-top:.25rem}



/* Bloom Color: two-column layout */
.plantdb-filter-panel #flt-bloom{ columns: 2; column-gap: 1.25rem; }
.plantdb-filter-panel #flt-bloom label{ break-inside: avoid; display:block; }


/* === Plant DB View Modal Media (thumbnails + active image) === */
.plantdb-media{
  margin: 10px 0 14px;
}

.plantdb-thumbs{
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 6px 2px;
  margin-bottom: 10px;
}

.plantdb-thumbs button{
  border: 2px solid transparent;
  background: transparent;
  padding: 2px;
  border-radius: 6px;
  cursor: pointer;
  line-height: 0;
}

.plantdb-thumbs button img{
  display: block;
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: 4px;
  transition: opacity .15s ease;
}

.plantdb-thumbs button:hover img{
  opacity: .65;
}

.plantdb-thumbs button.active{
  border-color: #22c55e; /* green */
}

.plantdb-hero{
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 6px;
}

.plantdb-hero img{
  max-width: 500px;
  max-height: 500px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}


/* AI Generated thumbnail pill (PD modals/viewer) */
.plantdb-thumbs button{ position: relative; }
.plantdb-ai-pill{
  position: absolute;
  right: 4px;
  bottom: 4px;
  font-size: 10px;
  font-weight: 800;
  padding: 2px 6px;
  border-radius: 999px;
  background: rgba(15, 23, 42, .85);
  color: #fff;
  border: 1px solid rgba(255,255,255,.2);
  pointer-events: none;
}



/* AI Generated label on hero image */
.plantdb-hero{ position: relative; }
.plantdb-ai-hero-label{
  position: absolute;
  left: 8px;
  top: 8px;
  font-size: 11px;
  font-weight: 800;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(15, 23, 42, .85);
  color: #fff;
  border: 1px solid rgba(255,255,255,.2);
  pointer-events: none;
  z-index: 10;
}


.plantdb-filter-panel fieldset{margin:0 0 .6rem 0;padding:.55rem .65rem;border:1px solid #e5e7eb;border-radius:10px;background:#fff;}
.plantdb-smart-finder-title{font-weight:700;margin-bottom:.25rem;}
.plantdb-smart-finder-copy{font-size:.9rem;color:#4b5563;margin-bottom:.5rem;}
.plantdb-active-filters{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0 .25rem;}
.plantdb-active-filter-pill{display:inline-flex;align-items:center;padding:.24rem .55rem;border-radius:999px;background:#eef6ee;border:1px solid #d5ead7;color:#1f5131;font-size:.82rem;}
.plantdb-filter-summary-empty{color:#6b7280;font-size:.92rem;}
.plantdb-title-badge-wrap{display:inline-flex;margin-left:.45rem;vertical-align:middle;}
.plantdb-match-badge{display:inline-flex;align-items:center;padding:.18rem .45rem;border-radius:999px;background:#ecfdf3;border:1px solid #bbf7d0;color:#166534;font-size:.75rem;font-weight:700;}
.plantdb-match-reasons{margin-top:.35rem;font-size:.88rem;color:#2f5f42;}


@media (max-width: 980px){
  .plantdb-widget .plantdb-grid{ grid-template-columns: repeat(var(--plantdb-public-columns-tablet, 2), minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .plantdb-widget .plantdb-grid{ grid-template-columns: repeat(var(--plantdb-public-columns-mobile, 1), minmax(0, 1fr)); }
}
.plantdb-pagination{ align-items:center; justify-content:space-between; }
.plantdb-pagination-controls{ display:flex; flex-wrap:wrap; align-items:center; gap:.4rem; }
.plantdb-pagination-status{ font-weight:600; }
.plantdb-pagination-jump{ display:flex; align-items:center; gap:.5rem; margin-left:auto; }
.plantdb-pagination-jump-label{ display:flex; align-items:center; gap:.5rem; font-weight:600; }
.plantdb-pagination-jump-input{ width:84px; min-height:40px; padding:.4rem .5rem; }
@media (max-width: 640px){
  .plantdb-pagination{ flex-direction:column; align-items:stretch; }
  .plantdb-pagination-jump{ margin-left:0; justify-content:space-between; }
  .plantdb-pagination-jump-label{ flex:1; justify-content:space-between; }
}


/* v1.2.901 PD frontend text color normalization */
.plantdb-archive,
.plantdb-archive *,
.plantdb-app,
.plantdb-app *,
.bom-plantdb-archive,
.bom-plantdb-archive *,
.bom-plantdb-app,
.bom-plantdb-app *,
.bom-pd-archive,
.bom-pd-archive *,
.bom-pd-app,
.bom-pd-app * {
  color: #111111;
}

.plantdb-archive a,
.plantdb-app a,
.bom-plantdb-archive a,
.bom-plantdb-app a,
.bom-pd-archive a,
.bom-pd-app a {
  color: #111111;
}

/* buttons/chips that intentionally carry their own colors should retain them */
.plantdb-archive .bom-pb-button,
.plantdb-app .bom-pb-button,
.bom-plantdb-archive .bom-pb-button,
.bom-plantdb-app .bom-pb-button,
.bom-pd-archive .bom-pb-button,
.bom-pd-app .bom-pb-button,
.plantdb-archive button,
.plantdb-app button,
.bom-plantdb-archive button,
.bom-plantdb-app button,
.bom-pd-archive button,
.bom-pd-app button {
  color: inherit;
}



/* Portal embedding cleanup */
.plantdb-widget--portal,
.plantdb-widget--embedded{
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
  margin: 0;
}

.bom-portal-section--plantdb .plantdb-widget--portal .plantdb-toolbar:first-child,
.bom-portal-section--plantdb .plantdb-widget--embedded .plantdb-toolbar:first-child{
  margin-top: 0;
}

.bom-portal-section--plantdb .plantdb-widget--portal .plantdb-filter-panel,
.bom-portal-section--plantdb .plantdb-widget--embedded .plantdb-filter-panel{
  margin-top: 0;
}


/* v1.3.817 portal/public list text normalization */
.plantdb-app .plantdb-row .title,
.plantdb-app .plantdb-row .title a,
.plantdb-app .plantdb-row .subtitle,
.plantdb-app .plantdb-row .subtitle a,
.plantdb-app .plant-title,
.plantdb-app .plant-sci,
.plantdb-app .plantdb-row-summary,
.plantdb-app .plantdb-row-summary *,
.plantdb-app .plantdb-button,
.plantdb-archive .plantdb-row .title,
.plantdb-archive .plantdb-row .title a,
.plantdb-archive .plantdb-row .subtitle,
.plantdb-archive .plantdb-row .subtitle a,
.plantdb-archive .plant-title,
.plantdb-archive .plant-sci,
.plantdb-archive .plantdb-row-summary,
.plantdb-archive .plantdb-row-summary *,
.plantdb-archive .plantdb-button {
  color: #111111 !important;
}

/* v1.3.818 portal-facing plant row text normalization */
.bom-portal .plantdb-row .title,
.bom-portal .plantdb-row .title a,
.bom-portal .plantdb-row .title a:visited,
.bom-portal .plantdb-row .subtitle,
.bom-portal .plantdb-row .subtitle a,
.bom-portal .plantdb-row .subtitle a:visited,
.bom-portal .plantdb-row-summary,
.bom-portal .plantdb-actions .plantdb-button {
  color: #111111 !important;
}

.bom-portal .plantdb-row .title a:hover,
.bom-portal .plantdb-row .title a:focus-visible,
.bom-portal .plantdb-row .subtitle a:hover,
.bom-portal .plantdb-row .subtitle a:focus-visible {
  color: #111111 !important;
}


/* v1.3.988.33 plant filter action buttons + pill settings */
.plantdb-app,
.plantdb-archive,
.bom-plantdb-app,
.bom-pd-app,
.plantdb-widget--portal,
.plantdb-widget--embedded,
.bov2-public-plants-finder {
  --plantdb-pill-bg: var(--plantdb-pill-bg, #eef6ee);
  --plantdb-pill-text: var(--plantdb-pill-text, #1f5131);
  --plantdb-pill-border: var(--plantdb-pill-border, #d5ead7);
  --plantdb-pill-hover-bg: var(--plantdb-pill-hover-bg, #2f7e3b);
  --plantdb-pill-hover-text: var(--plantdb-pill-hover-text, #ffffff);
  --plantdb-pill-hover-border: var(--plantdb-pill-hover-border, #2f7e3b);
  --plantdb-pill-active-bg: var(--plantdb-pill-active-bg, #2f7e3b);
  --plantdb-pill-active-text: var(--plantdb-pill-active-text, #ffffff);
  --plantdb-pill-active-border: var(--plantdb-pill-active-border, #2f7e3b);
  --plantdb-pill-remove-color: var(--plantdb-pill-remove-color, #1f5131);
  --plantdb-pill-remove-hover-color: var(--plantdb-pill-remove-hover-color, #ffffff);
}

.bov2-filter-card .bov2-facet-actions .bov2-btn {
  background: var(--bom-btn-card-white-bg) !important;
  background-color: var(--bom-btn-card-white-bg) !important;
  color: var(--bom-btn-card-white-text) !important;
  border: 1px solid var(--bom-btn-card-white-border) !important;
  border-radius: var(--bom-btn-card-white-radius) !important;
  box-shadow: none !important;
  transform: none !important;
}

.bov2-filter-card .bov2-facet-actions .bov2-btn span,
.bov2-filter-card .bov2-facet-actions .bov2-btn strong {
  color: inherit !important;
}

.bov2-filter-card .bov2-facet-actions .bov2-btn:hover,
.bov2-filter-card .bov2-facet-actions .bov2-btn:focus-visible {
  background: var(--bom-btn-card-white-hover-bg) !important;
  background-color: var(--bom-btn-card-white-hover-bg) !important;
  color: var(--bom-btn-card-white-hover-text) !important;
  border-color: var(--bom-btn-card-white-hover-border) !important;
  box-shadow: 0 14px 28px rgba(0,0,0,.14) !important;
  transform: translateY(-2px) !important;
}

.bov2-filter-card .bov2-facet-actions .bov2-btn:hover span,
.bov2-filter-card .bov2-facet-actions .bov2-btn:hover strong,
.bov2-filter-card .bov2-facet-actions .bov2-btn:focus-visible span,
.bov2-filter-card .bov2-facet-actions .bov2-btn:focus-visible strong {
  color: inherit !important;
}

.plantdb-active-filter-pill,
.plantdb-active-filter-pill button,
.plantdb-active-filter-pill .button,
.plantdb-filter-chip,
.plantdb-pill,
.plantdb-chip {
  background: var(--plantdb-pill-bg) !important;
  color: var(--plantdb-pill-text) !important;
  border: 1px solid var(--plantdb-pill-border) !important;
}

.plantdb-active-filter-pill:hover,
.plantdb-active-filter-pill button:hover,
.plantdb-active-filter-pill .button:hover,
.plantdb-filter-chip:hover,
.plantdb-pill:hover,
.plantdb-chip:hover,
.plantdb-active-filter-pill:focus-visible,
.plantdb-filter-chip:focus-visible,
.plantdb-pill:focus-visible,
.plantdb-chip:focus-visible {
  background: var(--plantdb-pill-hover-bg) !important;
  color: var(--plantdb-pill-hover-text) !important;
  border-color: var(--plantdb-pill-hover-border) !important;
}

.plantdb-active-filter-pill.is-active,
.plantdb-active-filter-pill[aria-pressed="true"],
.plantdb-filter-chip.is-active,
.plantdb-pill.is-active,
.plantdb-chip.is-active {
  background: var(--plantdb-pill-active-bg) !important;
  color: var(--plantdb-pill-active-text) !important;
  border-color: var(--plantdb-pill-active-border) !important;
}

.plantdb-active-filter-pill .remove,
.plantdb-active-filter-pill .plantdb-remove,
.plantdb-filter-chip .remove,
.plantdb-filter-chip .plantdb-remove,
.plantdb-pill .remove,
.plantdb-pill .plantdb-remove,
.plantdb-chip .remove,
.plantdb-chip .plantdb-remove {
  color: var(--plantdb-pill-remove-color) !important;
}

.plantdb-active-filter-pill:hover .remove,
.plantdb-active-filter-pill:hover .plantdb-remove,
.plantdb-filter-chip:hover .remove,
.plantdb-filter-chip:hover .plantdb-remove,
.plantdb-pill:hover .remove,
.plantdb-pill:hover .plantdb-remove,
.plantdb-chip:hover .remove,
.plantdb-chip:hover .plantdb-remove {
  color: var(--plantdb-pill-remove-hover-color) !important;
}


/* v1.3.861 PD interaction hover polish */
.plantdb-app .button,
.plantdb-app button,
.bom-plantdb-app .button,
.bom-plantdb-app button,
.bom-pd-app .button,
.bom-pd-app button,
.plantdb-widget--portal .button,
.plantdb-widget--portal button,
.plantdb-widget--embedded .button,
.plantdb-widget--embedded button,
.plantdb-filter-panel button,
.plantdb-filter-panel .button,
.plantdb-toolbar .button,
.plantdb-toolbar button,
.plant-actions button,
.plant-actions .button,
.plantdb-pagination .button,
.plantdb-pagination button,
.plantdb-dialog .button,
.plantdb-dialog button,
.plantdb-favorites-modal .button,
.plantdb-favorites-modal button {
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .15s ease, opacity .15s ease;
}

.plantdb-app .button:hover,
.plantdb-app button:hover,
.bom-plantdb-app .button:hover,
.bom-plantdb-app button:hover,
.bom-pd-app .button:hover,
.bom-pd-app button:hover,
.plantdb-widget--portal .button:hover,
.plantdb-widget--portal button:hover,
.plantdb-widget--embedded .button:hover,
.plantdb-widget--embedded button:hover,
.plantdb-filter-panel button:hover,
.plantdb-filter-panel .button:hover,
.plantdb-toolbar .button:hover,
.plantdb-toolbar button:hover,
.plant-actions button:hover,
.plant-actions .button:hover,
.plantdb-pagination .button:hover,
.plantdb-pagination button:hover,
.plantdb-dialog .button:hover,
.plantdb-dialog button:hover,
.plantdb-favorites-modal .button:hover,
.plantdb-favorites-modal button:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(0,0,0,.12);
}

.plantdb-app .button:active,
.plantdb-app button:active,
.bom-plantdb-app .button:active,
.bom-plantdb-app button:active,
.bom-pd-app .button:active,
.bom-pd-app button:active,
.plantdb-widget--portal .button:active,
.plantdb-widget--portal button:active,
.plantdb-widget--embedded .button:active,
.plantdb-widget--embedded button:active,
.plantdb-filter-panel button:active,
.plantdb-filter-panel .button:active,
.plantdb-toolbar .button:active,
.plantdb-toolbar button:active,
.plant-actions button:active,
.plant-actions .button:active,
.plantdb-pagination .button:active,
.plantdb-pagination button:active,
.plantdb-dialog .button:active,
.plantdb-dialog button:active,
.plantdb-favorites-modal .button:active,
.plantdb-favorites-modal button:active {
  transform: translateY(0) scale(.98);
}

.plantdb-app .button-primary:hover,
.plantdb-app button.button-primary:hover,
.bom-plantdb-app .button-primary:hover,
.bom-plantdb-app button.button-primary:hover,
.bom-pd-app .button-primary:hover,
.bom-pd-app button.button-primary:hover,
.plantdb-widget--portal .button-primary:hover,
.plantdb-widget--portal button.button-primary:hover,
.plantdb-widget--embedded .button-primary:hover,
.plantdb-widget--embedded button.button-primary:hover,
.plantdb-toolbar .button-primary:hover,
.plantdb-toolbar button.button-primary:hover,
.plantdb-dialog .button-primary:hover,
.plantdb-dialog button.button-primary:hover,
.plantdb-favorites-modal .button-primary:hover,
.plantdb-favorites-modal button.button-primary:hover {
  background: var(--bov2-green,#3fa34d);
  border-color: var(--bov2-green,#3fa34d);
  color: #fff;
}

.plantdb-app .button:hover:not(.button-primary):not(.plantdb-favorite-toggle),
.plantdb-app button:hover:not(.button-primary):not(.plantdb-favorite-toggle),
.bom-plantdb-app .button:hover:not(.button-primary):not(.plantdb-favorite-toggle),
.bom-plantdb-app button:hover:not(.button-primary):not(.plantdb-favorite-toggle),
.bom-pd-app .button:hover:not(.button-primary):not(.plantdb-favorite-toggle),
.bom-pd-app button:hover:not(.button-primary):not(.plantdb-favorite-toggle),
.plantdb-widget--portal .button:hover:not(.button-primary):not(.plantdb-favorite-toggle),
.plantdb-widget--portal button:hover:not(.button-primary):not(.plantdb-favorite-toggle),
.plantdb-widget--embedded .button:hover:not(.button-primary):not(.plantdb-favorite-toggle),
.plantdb-widget--embedded button:hover:not(.button-primary):not(.plantdb-favorite-toggle),
.plantdb-filter-panel button:hover:not(.button-primary):not(.plantdb-favorite-toggle),
.plantdb-filter-panel .button:hover:not(.button-primary):not(.plantdb-favorite-toggle),
.plantdb-toolbar .button:hover:not(.button-primary):not(.plantdb-favorite-toggle),
.plantdb-toolbar button:hover:not(.button-primary):not(.plantdb-favorite-toggle),
.plant-actions button:hover:not(.button-primary):not(.plantdb-favorite-toggle),
.plant-actions .button:hover:not(.button-primary):not(.plantdb-favorite-toggle),
.plantdb-pagination .button:hover:not(.button-primary):not(.plantdb-favorite-toggle),
.plantdb-pagination button:hover:not(.button-primary):not(.plantdb-favorite-toggle),
.plantdb-dialog .button:hover:not(.button-primary):not(.plantdb-favorite-toggle),
.plantdb-dialog button:hover:not(.button-primary):not(.plantdb-favorite-toggle),
.plantdb-favorites-modal .button:hover:not(.button-primary):not(.plantdb-favorite-toggle),
.plantdb-favorites-modal button:hover:not(.button-primary):not(.plantdb-favorite-toggle) {
  background: var(--bov2-green,#3fa34d);
  border-color: var(--bov2-green,#3fa34d);
  color: #fff;
}

.plantdb-active-filter-pill,
.plantdb-active-filter-pill button,
.plantdb-active-filter-pill .button,
.plantdb-filter-chip,
.plantdb-pill,
.plantdb-chip {
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .15s ease, box-shadow .2s ease;
}

.plantdb-active-filter-pill:hover,
.plantdb-active-filter-pill button:hover,
.plantdb-active-filter-pill .button:hover,
.plantdb-filter-chip:hover,
.plantdb-pill:hover,
.plantdb-chip:hover {
  background: #2f7e3b;
  border-color: #2f7e3b;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(0,0,0,.12);
}

.plantdb-favorite-toggle,
.plantdb-favorite-btn,
.plant-favorite,
button[data-favorite],
button[aria-label*="Favorite"],
button[aria-label*="favorite"] {
  transition: transform .15s ease, color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.plantdb-favorite-toggle:hover,
.plantdb-favorite-btn:hover,
.plant-favorite:hover,
button[data-favorite]:hover,
button[aria-label*="Favorite"]:hover,
button[aria-label*="favorite"]:hover {
  transform: scale(1.1);
  color: #e63946;
  box-shadow: 0 6px 16px rgba(0,0,0,.12);
}

.plantdb-favorite-toggle.is-active,
.plantdb-favorite-btn.is-active,
.plant-favorite.is-active,
.plantdb-favorite-toggle.active,
.plantdb-favorite-btn.active,
.plant-favorite.active,
button[data-favorite="1"],
button[aria-pressed="true"][aria-label*="Favorite"],
button[aria-pressed="true"][aria-label*="favorite"] {
  color: #e63946;
}

.plant-card {
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.plant-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(0,0,0,.14);
  border-color: #d9dde5;
}

.plantdb-favorites-gallery-launcher .bom-gallery-modal-trigger{
  display:none !important;
}


/* v1.3.956 portal workspace button hover alignment */
.plantdb-widget--portal .alpha-filter button:hover,
.plantdb-widget--portal .alphabet-filter button:hover,
.plantdb-widget--portal .plantdb-alpha button:hover,
.plantdb-widget--portal [class*="alpha"] button:hover,
.plantdb-widget--embedded .alpha-filter button:hover,
.plantdb-widget--embedded .alphabet-filter button:hover,
.plantdb-widget--embedded .plantdb-alpha button:hover,
.plantdb-widget--embedded [class*="alpha"] button:hover,
.page-id-1329 .plantdb-widget button:hover,
.page-id-1329 .plantdb-widget .button:hover {
  background: var(--bov2-green,#3fa34d);
  border-color: var(--bov2-green,#3fa34d);
  color: #fff;
}


/* v1.3.969 AI image disclaimer styling */
.bom-ai-image-disclaimer{
  margin: 14px 0 0;
  color: #6b706b;
  font-size: 13px;
  line-height: 1.55;
  font-style: italic;
}
.bom-ai-image-disclaimer--workspace{
  padding-top: 10px;
  border-top: 1px solid rgba(0,0,0,.08);
}
.bom-ai-image-disclaimer--detail{
  max-width: 820px;
}



/* v1.3.971 disclaimer placement refinements */
.bom-ai-image-disclaimer--detail{
  margin-top: 16px;
  max-width: 980px;
}
.bov2-public-plants-finder > .bom-ai-image-disclaimer--workspace,
.bom-portal-plantdb-shell > .bom-ai-image-disclaimer--workspace,
#plantdb-app > .bom-ai-image-disclaimer--workspace,
.plantdb-app > .bom-ai-image-disclaimer--workspace{
  margin-top: 18px;
}



/* v1.3.988.40 public plants pill tuning */
.bov2-pill,
.bov2-chip,
.bov2-page-link,
.bov2-chip-check span {
  background: var(--plantdb-pill-bg) !important;
  color: var(--plantdb-pill-text) !important;
  border: 1px solid var(--plantdb-pill-border) !important;
}

.bov2-pill:hover,
.bov2-pill:focus-visible,
.bov2-chip:hover,
.bov2-chip:focus-visible,
.bov2-chip-check:hover span,
.bov2-chip-check input:focus-visible + span {
  background: var(--plantdb-pill-hover-bg) !important;
  color: var(--plantdb-pill-hover-text) !important;
  border-color: var(--plantdb-pill-hover-border) !important;
}

.bov2-pill.is-active,
.bov2-chip.is-active,
.bov2-chip-check input:checked + span {
  background: var(--plantdb-pill-active-bg) !important;
  color: var(--plantdb-pill-active-text) !important;
  border-color: var(--plantdb-pill-active-border) !important;
}

.bov2-pill .remove,
.bov2-pill .plantdb-remove,
.bov2-chip .remove,
.bov2-chip .plantdb-remove {
  color: var(--plantdb-pill-remove-color) !important;
}

.bov2-pill:hover .remove,
.bov2-pill:hover .plantdb-remove,
.bov2-chip:hover .remove,
.bov2-chip:hover .plantdb-remove {
  color: var(--plantdb-pill-remove-hover-color) !important;
}


/* Dedicated public plant finder controls */
.bov2-public-plants-finder .bov2-plants-nav-pill-nav,
.bov2-public-plants-finder .bov2-pill-nav{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  align-content:flex-start;
  white-space:normal;
  overflow:visible;
  width:100%;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
.bov2-public-plants-finder .bov2-plants-nav-pill-nav .bov2-plants-nav-pill,
.bov2-public-plants-finder .bov2-pill-nav .bov2-plants-nav-pill{
  display:inline-flex;
  width:auto;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  text-align:center;
  white-space:nowrap;
  font-size:.95rem;
  line-height:1;
  padding:7px 14px;
  max-width:100%;
}
.bov2-public-plants-finder .bov2-facet-actions .bov2-plants-action-btn{white-space:nowrap;}


/* v1.3.988.44 plant card hybrid layout */
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card{
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  transform:translateY(0);
  box-shadow:0 10px 24px rgba(0,0,0,.05);
  border-color:rgba(36,49,65,.08);
}
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card:hover,
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card:focus-within{
  transform:translateY(var(--plantdb-card-hover-translate, -4px));
  box-shadow:var(--plantdb-card-hover-shadow, 0 18px 36px rgba(0,0,0,.10));
  border-color:rgba(46,163,214,.22);
}

body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-chip,
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-chip:link,
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-chip:visited{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:7px 11px !important;
  border-radius:999px !important;
  border:1px solid var(--plantdb-pill-border) !important;
  background:var(--plantdb-pill-bg) !important;
  color:var(--plantdb-pill-text) !important;
  font-size:.9rem !important;
  font-weight:600 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  box-shadow:none !important;
  text-decoration:none !important;
  transition:transform .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-chip:hover,
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-chip:focus-visible{
  transform:translateY(-1px);
  background:var(--plantdb-pill-hover-bg) !important;
  color:var(--plantdb-pill-hover-text) !important;
  border-color:var(--plantdb-pill-hover-border) !important;
  box-shadow:0 8px 18px rgba(0,0,0,.08) !important;
}

body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid .bov2-plant-meta{
  margin-top:14px;
}
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid .bov2-plant-meta__label{
  display:block !important;
  margin:0 0 10px !important;
  font-size:.96rem !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  text-decoration:underline !important;
  text-underline-offset:3px !important;
  color:var(--plantdb-fact-label, #243141) !important;
}
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-facts{
  display:grid !important;
  gap:10px !important;
}
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-fact{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:10px !important;
  min-width:0 !important;
}
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-fact__icon{
  width:40px !important;
  height:40px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 40px !important;
  border-radius:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  overflow:visible !important;
}
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-fact__icon img,
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-fact__icon svg,
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-fact img{
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  max-width:40px !important;
  max-height:40px !important;
  object-fit:contain !important;
  display:block !important;
  border:none !important;
  background:none !important;
  padding:0 !important;
  box-shadow:none !important;
}
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-fact__content{
  min-width:0 !important;
  flex:1 1 auto !important;
}
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-fact__value{
  display:inline !important;
  color:var(--plantdb-fact-text, #243141) !important;
  font-weight:600 !important;
  line-height:1.3 !important;
}
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-chip-row--uses{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:0;
}
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-card__actions{
  margin-top:18px;
}

@media (max-width: 767px){
  body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-fact{
    gap:8px;
  }
  body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-fact__icon{
    width:40px !important;
    height:40px !important;
    flex-basis:40px !important;
  }
  body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-fact__icon img{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    max-width:40px !important;
  }
}


body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid{
  position:relative;
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease;
  cursor:pointer;
}
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(85, 105, 85, 0);
  transition:background .2s ease;
  pointer-events:none;
  z-index:2;
}
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid::before{
  content:"View Plant";
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  color:#fff;
  font-size:1.25rem;
  font-weight:700;
  line-height:1.2;
  text-align:center;
  opacity:0;
  transition:opacity .2s ease;
  z-index:3;
  pointer-events:none;
}
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid:hover::after,
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid:focus-within::after{
  background:rgba(85, 105, 85, 0.4);
}
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid:hover::before,
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid:focus-within::before{
  opacity:1;
}
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid .bov2-card__actions{
  display:none !important;
}
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid .bov2-card-link-wrap,
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid .bov2-plant-card__link-wrap{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:0;
  min-height:100%;
  color:inherit;
  text-decoration:none;
}
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid .bov2-card-link-wrap:hover,
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid .bov2-card-link-wrap:focus-visible,
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid .bov2-plant-card__link-wrap:hover,
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid .bov2-plant-card__link-wrap:focus-visible{
  color:inherit;
  text-decoration:none;
}
body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid .bov2-plant-card__link-wrap:focus-visible{
  outline:2px solid var(--bov2-link, #2e7d32);
  outline-offset:-2px;
}
@media (max-width: 767px){
  body.bov2-plant-finder-page .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid::before{
    font-size:1.05rem;
  }
}


/* Broad fallback selectors for public plant card hover overlay */
.bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid,
.bov2-card-grid--plants .bov2-plant-card--hybrid{
  position:relative;
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease;
  cursor:pointer;
}
.bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid::after,
.bov2-card-grid--plants .bov2-plant-card--hybrid::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(85, 105, 85, 0);
  transition:background .2s ease;
  pointer-events:none;
  z-index:20;
}
.bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid::before,
.bov2-card-grid--plants .bov2-plant-card--hybrid::before{
  content:"View Plant";
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  color:#fff;
  font-size:1.25rem;
  font-weight:700;
  line-height:1.2;
  text-align:center;
  opacity:0;
  transition:opacity .2s ease;
  z-index:21;
  pointer-events:none;
}
.bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid:hover::after,
.bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid:focus-within::after,
.bov2-card-grid--plants .bov2-plant-card--hybrid:hover::after,
.bov2-card-grid--plants .bov2-plant-card--hybrid:focus-within::after{
  background:rgba(85, 105, 85, 0.4);
}
.bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid:hover::before,
.bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid:focus-within::before,
.bov2-card-grid--plants .bov2-plant-card--hybrid:hover::before,
.bov2-card-grid--plants .bov2-plant-card--hybrid:focus-within::before{
  opacity:1;
}
.bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid .bov2-card-link-wrap,
.bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid .bov2-plant-card__link-wrap,
.bov2-card-grid--plants .bov2-plant-card--hybrid .bov2-card-link-wrap,
.bov2-card-grid--plants .bov2-plant-card--hybrid .bov2-plant-card__link-wrap{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  min-height:100%;
  color:inherit;
  text-decoration:none;
}
@media (max-width: 767px){
  .bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid::before,
  .bov2-card-grid--plants .bov2-plant-card--hybrid::before{
    font-size:1.05rem;
  }
}


/* v1.3.988.663 plant card hover polish */
.bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid,
.bov2-card-grid--plants .bov2-plant-card--hybrid{
  isolation:isolate;
}
.bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid .bov2-plant-card__image,
.bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid img:first-child,
.bov2-card-grid--plants .bov2-plant-card--hybrid .bov2-plant-card__image,
.bov2-card-grid--plants .bov2-plant-card--hybrid img:first-child{
  display:block;
  width:100%;
  transform:scale(1);
  transform-origin:center center;
  transition:transform .35s ease, filter .35s ease, opacity .35s ease;
  will-change:transform, filter;
}
.bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid:hover .bov2-plant-card__image,
.bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid:focus-within .bov2-plant-card__image,
.bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid:hover img:first-child,
.bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid:focus-within img:first-child,
.bov2-card-grid--plants .bov2-plant-card--hybrid:hover .bov2-plant-card__image,
.bov2-card-grid--plants .bov2-plant-card--hybrid:focus-within .bov2-plant-card__image,
.bov2-card-grid--plants .bov2-plant-card--hybrid:hover img:first-child,
.bov2-card-grid--plants .bov2-plant-card--hybrid:focus-within img:first-child{
  transform:scale(1.035);
  filter:brightness(.88) saturate(.96);
}
.bov2-public-plants-finder .bov2-card-grid--plants .bov2-plant-card--hybrid::before,
.bov2-card-grid--plants .bov2-plant-card--hybrid::before{
  letter-spacing:.02em;
  text-shadow:0 2px 10px rgba(0,0,0,.28);
}
