.vap-search{max-width:1000px;margin:auto}.vap-search label{display:block;margin:12px 0}.vap-search input:not([type=checkbox]),.vap-search select{display:block;width:100%;box-sizing:border-box;padding:12px;margin-top:8px;border:1px solid #bbb;border-radius:6px;background:var(--wp--preset--color--base,#fff);color:var(--wp--preset--color--contrast,#111);font:inherit}.vap-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:16px}.vap-search button{padding:12px 20px;margin:12px 12px 12px 0;cursor:pointer;border:1px solid currentColor;border-radius:6px;background:var(--wp--preset--color--base,#fff);color:var(--wp--preset--color--contrast,#111);font:inherit}.vap-search :focus-visible{outline:3px solid var(--wp--preset--color--accent-3,#503aa8);outline-offset:3px}.vap-card,.vap-detail{border:1px solid #ccc;border-radius:8px;padding:24px;margin:18px 0}.vap-card a{display:inline-block;margin:12px}.vap-status{min-height:2em}.vap-detail[hidden]{display:none}.vap-search summary{cursor:pointer;padding:12px 0}
.vap-section{border-bottom:1px solid var(--wp--preset--color--accent-6,#ddd);padding:10px 0}.vap-section summary{font-size:1.15em;font-weight:600}.vap-help{font-size:.9em;color:var(--wp--preset--color--accent-4,#666)}.vap-alphabet{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.vap-alphabet button{margin:0;padding:8px 12px;border-radius:5px}.vap-alphabet button[aria-pressed=true]{background:var(--wp--preset--color--contrast,#111);color:var(--wp--preset--color--base,#fff)}.vap-parent-choices button{padding:8px 12px}.vap-parent-selected{font-weight:600}.vap-detail li{margin:10px 0}.vap-detail li button{padding:0;margin:0;border:0;background:transparent;text-decoration:underline;display:inline;font:inherit}.vap-detail a{display:inline-block;margin:12px 18px 12px 0}.vap-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px}.vap-card{margin:0}.vap-card h3{margin-top:0}.vap-detail{margin-top:28px}.vap-search button:disabled{opacity:.6;cursor:wait}

.vap-photo,.vap-thumb{margin:0 0 20px}.vap-photo img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;border-radius:6px}.vap-photo figcaption{font-size:.85em;margin-top:8px;color:var(--wp--preset--color--accent-4,#666)}.vap-thumb img{display:block;width:100%;height:220px;object-fit:contain;border-radius:6px;background:var(--wp--preset--color--base,#fff)}.vap-summary{line-height:1.65}.vap-card-summary{font-size:.95em}.vap-photo[hidden],.vap-thumb[hidden]{display:none}

.vap-search .vap-quality{font-size:.85em;font-style:italic;font-weight:400;line-height:1.5;margin:6px 0 14px}.vap-detail li .vap-quality{margin:4px 0 10px}

.vap-card{display:flex;flex-direction:column}.vap-card-summary{line-height:1.55}.vap-no-photo{height:220px;display:flex;align-items:center;justify-content:center;background:#f5f5f1;color:#666;border-radius:6px;margin-bottom:20px;font-size:.9em}.vap-culture{display:grid;grid-template-columns:minmax(90px,1fr) 1.5fr;gap:5px 14px;font-size:.9em;margin:14px 0}.vap-culture dt{font-weight:600}.vap-culture dd{margin:0}.vap-culture dd.vap-quality{grid-column:1/-1}.vap-active{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 20px}.vap-active button{margin:0;padding:7px 12px;font-size:.85em;border-radius:20px;background:#f5f5f1}.vap-card .vap-quality{margin-top:auto;padding-top:10px}@media(max-width:520px){.vap-card,.vap-detail{padding:18px}.vap-fields{gap:5px}.vap-thumb img,.vap-no-photo{height:190px}}

.vap-search .vap-card{font-size:18px}.vap-search .vap-card h3{font-size:1.3em;line-height:1.3;margin-bottom:8px}.vap-search .vap-card p{margin:10px 0}.vap-search .vap-card .vap-card-summary{font-size:16px;line-height:1.6}.vap-search .vap-card .vap-culture{font-size:15px;grid-template-columns:110px minmax(0,1fr);gap:6px 12px}.vap-search .vap-culture dd{min-width:0;overflow-wrap:break-word}.vap-search .vap-card .vap-quality{margin-top:auto;font-size:14px}.vap-search .vap-card button{font-size:16px}

.vap-summary{line-height:1.6;max-width:78ch}

/* Ascending genealogy, mobile-first and limited to the notice column. */
.vap-ancestry{max-width:100%;overflow-wrap:anywhere;margin:1rem 0 1.5rem}
.vap-ancestry-branch{display:flex;flex-direction:column;align-items:center;gap:.3rem;min-width:0;width:100%}
.vap-ancestry-parents{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;width:100%;min-width:0}
.vap-ancestry-parent{flex:1 1 155px;min-width:0;max-width:100%;display:flex;flex-direction:column;align-items:center;gap:.3rem}
.vap-ancestry-relation{font-size:.83em;color:var(--wp--preset--color--accent-4,#666);text-align:center}
.vap-ancestry-relation:after{content:' ↓';font-weight:700}
.vap-ancestry-item{box-sizing:border-box;min-width:0;max-width:100%;width:min(100%,320px);padding:.55rem .8rem;text-align:center;border:1px solid #ccc;border-radius:6px;background:var(--wp--preset--color--base,#fff)}
.vap-ancestry-current{background:var(--wp--preset--color--accent-6,#eef3ef);font-weight:600}
.vap-ancestry-item small{display:block;font-size:.75em;font-weight:400;margin-top:.2rem}
.vap-detail .vap-ancestry-item button{margin:0;padding:0;border:0;text-decoration:underline;background:transparent;white-space:normal;overflow-wrap:anywhere}
/* Keep the two hybrid parents on the same row, including narrow mobile screens. */
@media(max-width:520px){
.vap-ancestry-parents:not(.vap-ancestry-hybrid){flex-direction:column;align-items:center}
.vap-ancestry-parents:not(.vap-ancestry-hybrid)>.vap-ancestry-parent{flex:auto;width:100%}
.vap-ancestry-hybrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;align-items:start}
.vap-ancestry-hybrid>.vap-ancestry-parent{width:100%;min-width:0;flex:none}
.vap-ancestry-hybrid .vap-ancestry-item{width:100%;padding:.5rem .3rem;font-size:.88em}
.vap-ancestry-hybrid .vap-ancestry-item button{font-size:inherit;line-height:1.25}
.vap-ancestry-hybrid .vap-ancestry-relation{font-size:.75em}
}

/* Subtle joining line for the documented two-parent hybridization, desktop only. */
@media(min-width:521px){
.vap-ancestry-hybrid{position:relative;padding-bottom:.45rem}
.vap-ancestry-hybrid:after{content:"";position:absolute;bottom:.05rem;left:25%;right:25%;height:1px;background:#aaa;pointer-events:none}
.vap-ancestry-hybrid>.vap-ancestry-parent{position:relative}
.vap-ancestry-hybrid>.vap-ancestry-parent:after{content:"";position:absolute;bottom:-.45rem;left:50%;height:.45rem;border-left:1px solid #aaa;pointer-events:none}
}

/* v0.2.7: preserve the same row for two parents on every viewport. */
.vap-ancestry-parents.vap-ancestry-hybrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.55rem;align-items:end;width:100%;}
.vap-ancestry-hybrid>.vap-ancestry-parent{min-width:0!important;width:100%!important;max-width:none;flex:none!important}
.vap-ancestry-hybrid .vap-ancestry-item{width:100%;max-width:100%;padding:.5rem .25rem}
.vap-ancestry-hybrid-label{margin:.25rem 0 .4rem}
@media(max-width:520px){.vap-ancestry-hybrid .vap-ancestry-item button{font-size:clamp(12px,3.2vw,16px)!important;line-height:1.3}}

/* 0.3.3: fixed action area in every card, without inventing unavailable links. */
.vap-card .vap-card-actions{margin-top:auto;padding-top:18px;display:flex;flex-direction:column;gap:12px}
.vap-card .vap-card-actions>button{display:block;width:100%;box-sizing:border-box;margin:0;min-height:48px}
.vap-card .vap-card-sheets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-height:48px}
.vap-card .vap-sheet-slot{min-width:0;min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center}
.vap-card .vap-sheet-slot a{margin:0;padding:8px 0;font-size:14px;line-height:1.4;overflow-wrap:normal}
.vap-search .vap-card>.vap-quality{margin-top:12px;padding-top:0}
.vap-search .vap-search-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0 12px}
.vap-search .vap-search-actions>button{margin:0;min-height:50px;padding:12px 16px;font-size:16px;line-height:1.5;box-sizing:border-box}
.vap-search .vap-search-actions>button[type=submit]{background:#244d3e;border-color:#244d3e;color:#fff}
.vap-search .vap-search-actions>.vap-contribute{background:#f2f5f0;border-color:#93a18c;color:#244d3e}
@media(max-width:600px){.vap-search .vap-search-actions{gap:10px}.vap-search .vap-search-actions>button{flex:1 1 100%;width:100%}}
/* This heading is replaced by an editable beta hero on this page only. */
.page-id-20201 .wp-block-post-title{display:none}
.page-id-20201 .vap-beta-hero{position:relative;box-sizing:border-box;background:#183b30;color:var(--wp--preset--color--base,#fff);border:1px solid #315747;border-radius:16px;padding:clamp(28px,5vw,62px);margin:0 auto 42px;overflow:hidden}
.page-id-20201 .vap-beta-hero:before{content:'';display:block;width:54px;height:2px;background:#d6bd83;margin-bottom:24px}
.page-id-20201 .vap-beta-hero .vap-beta-kicker{font-size:12px;letter-spacing:.17em;font-weight:600;line-height:1.6;color:#e0d3ad;margin:0 0 18px;text-transform:uppercase}
.page-id-20201 .vap-beta-hero .vap-beta-badge{display:inline-block;border:1px solid #7d927b;border-radius:30px;padding:7px 13px;font-size:11px;font-weight:600;letter-spacing:.1em;color:#f5efd9;margin:0 0 22px;line-height:1.4;text-transform:uppercase}
.page-id-20201 .vap-beta-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,4.3vw,58px);font-weight:400;line-height:1.12;letter-spacing:-.025em;color:var(--wp--preset--color--base,#fff);margin:0 0 24px;max-width:18ch}
.page-id-20201 .vap-beta-hero .vap-beta-intro{font-size:clamp(16px,1.5vw,19px);line-height:1.7;color:#e2e9e1;max-width:70ch;margin:0}
.page-id-20201 .vap-beta-hero .vap-beta-thanks{font-size:14px;line-height:1.75;color:#d4dece;border-top:1px solid #4b6655;padding-top:20px;margin:24px 0 0;max-width:78ch}
@media(max-width:600px){.page-id-20201 .vap-beta-hero{border-radius:10px;margin-bottom:28px}.page-id-20201 .vap-beta-hero .vap-beta-kicker{font-size:10px;letter-spacing:.12em}.page-id-20201 .vap-beta-hero .vap-beta-badge{font-size:10px}}

.vap-access{padding:2rem;border:1px solid #d5ded5;border-radius:16px;background:#f5f8f4;color:#173a2e}.vap-access h2{margin-top:0}.vap-access a.vap-access-login,.vap-access a.vap-access-pay{display:inline-block;background:#173a2e;color:#fff;padding:12px 20px;border-radius:7px;text-decoration:none}.vap-access a.vap-access-login:hover,.vap-access a.vap-access-pay:hover{background:#285644}.vap-access button{padding:10px 16px;cursor:pointer}

/* 0.4.1: lightweight public preview; no extra scripts, images or remote fonts. */
.vap-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 28px;margin:30px 0 12px}
.vap-stat{border-top:1px solid #698172;padding-top:16px;min-width:0}
.vap-stat strong{display:block;font-size:clamp(30px,4vw,44px);line-height:1.15;font-weight:500;letter-spacing:-.03em;color:#f5e3b8;font-variant-numeric:tabular-nums}
.vap-stat span{display:block;font-size:13px;line-height:1.5;margin-top:7px;color:#e2e9e1}
.page-id-20201 .vap-beta-hero .vap-stats-note{font-size:11px;line-height:1.6;color:#c4d2c5;margin:18px 0 0}
.page-id-20201 .vap-beta-hero .vap-beta-promise{font-size:clamp(18px,2vw,25px);line-height:1.45;color:#f5e3b8;margin:0 0 20px;max-width:none}
.vap-showcase{margin:0 0 36px;color:#183b30}
.vap-showcase>details{border:1px solid #d5dfd6;border-radius:12px;overflow:hidden}
.vap-showcase summary{padding:22px 26px;font-size:clamp(18px,2vw,23px);font-weight:600;cursor:pointer;background:#f4f6f0;line-height:1.5}
.vap-showcase-content{padding:clamp(18px,3vw,30px)}
.vap-showcase-lead{font-size:17px;line-height:1.7;margin:0 0 26px}
.vap-demo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}
.vap-demo-card{min-width:0;background:#fbfaf3;border:1px solid #e2e3d8;border-radius:12px;padding:clamp(16px,2vw,26px);display:flex;flex-direction:column}
.vap-demo-card .vap-demo-kicker{font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#5e715f;margin:0 0 10px}
.vap-demo-card h2{font-family:Georgia,'Times New Roman',serif;font-size:25px;line-height:1.2;margin:0 0 12px;font-weight:400;letter-spacing:-.02em}
.vap-demo-card>p:not(.vap-demo-kicker){font-size:14px;line-height:1.7;margin:0 0 22px}
.vap-demo-tree{margin:auto 0 20px;display:flex;flex-direction:column;align-items:center;gap:0;min-width:0;width:100%}
.vap-demo-node{background:#fff;border:1px solid #bccbbf;border-radius:6px;text-align:center;padding:10px 6px;box-sizing:border-box;width:min(100%,245px);font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.vap-demo-current{background:#244d3e;color:#fff;border-color:#244d3e;font-weight:600}
.vap-demo-parents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;position:relative;padding-bottom:10px}
.vap-demo-parents:after{content:'';position:absolute;bottom:0;left:25%;right:25%;height:9px;border:solid #acb9ac;border-width:0 1px 1px}
.vap-demo-parents .vap-demo-node{height:100%;display:flex;justify-content:center;align-items:center}
.vap-demo-tree .vap-demo-arrow{font-size:11px;line-height:1.5;text-align:center;margin:7px 0;color:#596e5b}
.vap-demo-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}
.vap-demo-branches>div{display:flex;flex-direction:column;align-items:center;min-width:0}
.vap-demo-wide .vap-demo-parents .vap-demo-node{font-size:11px;padding:8px 4px;min-height:48px}
.vap-demo-tree .vap-demo-uncertain{border-top:1px dashed #8b937c;padding-top:12px;width:100%;margin-top:12px}
.vap-demo-card .vap-demo-caption{font-size:11px!important;line-height:1.6!important;color:#657261;margin:0!important}
.vap-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:30px;border-top:1px solid #d5dfd6;padding-top:25px}
.vap-benefits h3{font-size:16px;line-height:1.45;margin:0 0 10px;font-weight:600}
.vap-benefits p{font-size:13px;line-height:1.75;margin:0}
.vap-offer{display:flex;gap:24px;align-items:center;justify-content:space-between;background:#eef3eb;border:1px solid #d5dfd6;border-radius:12px;padding:24px;margin-top:22px}
.vap-offer strong{font-family:Georgia,'Times New Roman',serif;font-size:24px;line-height:1.3;font-weight:400}
.vap-offer p{font-size:13px;line-height:1.7;margin:10px 0 0;max-width:55ch}
.vap-offer a{display:block;flex:none;background:#244d3e;color:#fff;border-radius:7px;padding:14px 18px;text-align:center;font-size:14px;font-weight:600;text-decoration:none}
.vap-showcase a:hover{background:#34624e}.vap-showcase :focus-visible{outline:3px solid #503aa8;outline-offset:4px}
#vap-premium-start{scroll-margin-top:80px}
@media(max-width:700px){.vap-demo-grid,.vap-benefits{grid-template-columns:1fr}.vap-offer{flex-direction:column;align-items:stretch}.vap-showcase summary{padding:18px}.vap-demo-tree{margin-top:16px}.vap-demo-wide .vap-demo-parents .vap-demo-node{font-size:12px}}
@media(max-width:420px){.vap-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.vap-stat span{font-size:12px}.vap-demo-wide .vap-demo-parents .vap-demo-node{font-size:10px}.vap-demo-branches{gap:8px}}


/* Quick search: a visible submit button beside the name field, including on mobile. */
.vap-search .vap-quick-search{margin:12px 0 8px}
.vap-search .vap-quick-search>label{margin:0 0 8px;display:block}
.vap-search .vap-quick-search-row{display:flex;align-items:stretch;gap:10px}
.vap-search .vap-quick-search-row input{flex:1 1 auto;min-width:0;width:auto;margin:0}
.vap-search .vap-quick-search-row>.vap-quick-submit{flex:0 0 auto;margin:0;min-height:48px;padding:10px 18px;background:#244d3e;color:#fff;border-color:#244d3e;font-weight:600}
.vap-search .vap-status{scroll-margin-top:95px}
@media(max-width:520px){.vap-search .vap-quick-search-row{gap:7px}.vap-search .vap-quick-search-row>.vap-quick-submit{padding:10px 12px;font-size:14px}.vap-search .vap-quick-search-row input{font-size:16px}}

/* Mobile: no Premium ad placeholder. Search results remain directly visible. */
@media (max-width: 767px) {
  .vap-search .vap-ad-slot { display: none !important; }
  .vap-search .vap-ad-content { min-height: 0; }
}

.vap-genus-filter{max-width:360px;margin:0 0 18px}.vap-genus-filter label{display:block;margin-bottom:6px;font-weight:600}.vap-genus-filter select{width:100%;min-height:44px}

/* Dedicated search page: remove the theme's duplicate title and large introductory gap. */
body.page-id-20629 .wp-block-post-title{display:none}body.page-id-20629 main>.wp-block-group{padding-top:24px!important;padding-bottom:24px!important}body.page-id-20629 .wp-block-post-content{margin-block-start:0}body.page-id-20629 .vap-search-heading{font-size:clamp(1.5rem,3vw,2rem);line-height:1.25;margin-top:0;margin-bottom:24px}

/* Simple plant pickers and mobile-friendly parentage choices. */
.vap-family-directions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:10px;margin:16px 0}.vap-family-directions button{margin:0;min-height:60px;white-space:normal}.vap-family-directions button[aria-pressed=true]{background:#244e40;color:#fff;border-color:#244e40}.vap-parent-choices,.vap-lineage-choices{display:flex;flex-direction:column;gap:6px;max-height:330px;overflow:auto}.vap-parent-choices button,.vap-lineage-choices button{margin:0;text-align:left;padding:12px;min-height:48px;white-space:normal}.vap-lineage-selected{font-weight:600}.vap-family-result{font-weight:600;color:#244e40}

/* Legible figures on both the public page and its dark hero. */
.vap-stats .vap-stat strong{color:#304e3f}
.vap-stats .vap-stat span{color:#47574e}
.vap-stats-note{font-size:12px;line-height:1.6;color:#52635a}
.page-id-20201 .vap-beta-hero .vap-stat strong{color:#f5e3b8}
.page-id-20201 .vap-beta-hero .vap-stat span{color:#e2e9e1}
/* Main notice photograph: natural proportions across the full content width. */
.vap-search .vap-detail{min-width:0;overflow-wrap:anywhere}
.vap-search .vap-detail>.vap-photo{display:block;width:100%;max-width:none;margin:16px 0 20px}
.vap-search .vap-detail>.vap-photo img{display:block;width:100%;max-width:100%;height:auto;max-height:none;object-fit:contain;border-radius:8px}
.vap-search .vap-detail>.vap-photo figcaption{font-size:12px;line-height:1.5}
@media(max-width:600px){
 .vap-search .vap-detail{padding:16px}
 .vap-search .vap-detail button{max-width:100%;overflow-wrap:anywhere;white-space:normal}
 .vap-search .vap-detail .vap-culture{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
}

.has-contrast-background-color .vap-stats .vap-stat strong{color:#f5e3b8}
.has-contrast-background-color .vap-stats .vap-stat span{color:#e2e9e1}
.has-contrast-background-color .vap-stats-note{color:#d7e1d8}

.vap-search .vap-detail>.vap-detail-back{display:inline-block;min-height:44px;margin:0 0 8px;padding:8px 0;border:0;background:transparent;color:#304e3f;font-size:13px;text-decoration:underline;text-underline-offset:4px}

/* Keep empty grid tracks so one card has the same width as a full result set. */
.vap-search .vap-results{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.vap-search .vap-card .vap-thumb img{display:block;width:100%;height:230px;object-fit:cover;border-radius:7px}
@media(min-width:768px){
 .vap-search .vap-detail>.vap-photo img{height:clamp(210px,38vh,360px);max-height:360px;object-fit:contain;background:#f5f6f1}
}

/* Basic and Expert share the query engine, but submit only their own controls. */
.vap-search[data-search-mode=basic] .vap-advanced,.vap-search[data-search-mode=basic] .vap-search-actions,.vap-search[data-search-mode=expert] .vap-basic-fields,.vap-search[data-search-mode=expert] .vap-alphabet-section{display:none!important}
.vap-search .vap-alphabet-section h2{font-size:18px;margin:12px 0}

.vap-search .vap-pagination-top{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin:0 0 16px}
.vap-search .vap-pagination-top:empty{display:none}
.vap-search .vap-pagination .vap-page-indicator{display:inline-block;margin:0 4px;padding:8px 10px;border-radius:5px;background:#f4f6f2;color:#304e3f;font-size:.9em}
.vap-search .vap-pagination-top button{min-height:44px;margin:0}
@media(max-width:600px){.vap-search .vap-pagination-top{position:sticky;top:0;z-index:5;padding:6px 0;background:var(--wp--preset--color--base,#fff);box-shadow:0 4px 10px rgba(0,0,0,.06)}}

/* Highlight a searched alternate name before the plant description. */
.vap-search .vap-card .vap-name-match{
  margin:12px 0 16px;
  padding:12px 14px;
  border:1px solid rgba(158,32,61,.42);
  border-left:5px solid #a12b48;
  border-radius:8px;
  background:rgba(183,47,76,.12);
  color:#5f172b;
  font-size:1em;
  font-weight:650;
  line-height:1.45;
  overflow-wrap:anywhere;
}
