body{--cf-index-line:#dce5da;--cf-index-green:#1f6d35;--cf-index-ink:#10241a;--cf-index-muted:#66746b;--cf-index-soft:#f5f8f4}

/* Catalogue: the viewport stays fixed. Only the taxon list scrolls. */
body.cf-plant-catalogue-page{overflow:hidden}
.cf-plant-catalogue-page .cf-page{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.cf-plant-catalogue-page .cf-seo-public-header,.cf-plant-catalogue-page .cf-seo-public-footer{flex:0 0 auto}
.cf-plant-catalogue-page .cf-main{flex:1 1 auto;min-height:0;overflow:hidden;padding:22px 0 18px}
.cf-plant-catalogue-page .cf-shell,.cf-plant-catalogue-page [data-plant-view]{height:100%;min-height:0}

/* Override the old SEO v5 multi-column .cf-plant-index rule. */
.cf-plant-index{columns:auto!important;column-gap:normal!important;max-width:1280px;margin:0 auto;padding:0;height:100%;min-height:0;display:grid!important;grid-template-rows:auto minmax(0,1fr);gap:18px}
.cf-plant-index-hero{width:100%;margin:0;padding:0}
.cf-plant-index-hero h1{max-width:none;margin:0;color:#172132;font-size:clamp(2rem,3.15vw,3.25rem);line-height:1.02;letter-spacing:-.035em}

/* Under the title: compact alphabetical rail + one wide list column. */
.cf-catalogue-layout{display:grid;grid-template-columns:72px minmax(0,1fr);gap:24px;align-items:stretch;min-height:0;height:100%}
.cf-alpha-panel{min-height:0;height:100%}
.cf-alpha-panel-inner{height:100%;min-height:0;display:grid;grid-template-rows:repeat(26,minmax(0,1fr));gap:2px;padding:7px;border:1px solid var(--cf-index-line);border-radius:16px;background:var(--cf-index-soft);box-shadow:0 8px 26px rgba(20,45,29,.04)}
.cf-alpha-btn{display:flex!important;align-items:center;justify-content:center;width:100%;height:auto;min-height:0;padding:0!important;border-radius:7px;color:var(--cf-index-ink)!important;font-size:.88rem;font-weight:800;line-height:1;text-decoration:none!important;break-inside:auto!important;transition:background .12s ease,color .12s ease}
.cf-alpha-btn:hover,.cf-alpha-btn.is-active{background:var(--cf-index-green);color:#fff!important;text-decoration:none}
.cf-alpha-btn[aria-disabled=true]{opacity:.25;pointer-events:none}

.cf-catalogue-content{position:relative;min-width:0;min-height:0;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid var(--cf-index-line);border-radius:18px;background:#fff}
.cf-index-toolbar{display:flex;align-items:baseline;justify-content:space-between;gap:18px;min-height:58px;padding:12px 18px;border-bottom:1px solid var(--cf-index-line);background:#fbfcfb}
.cf-index-letter{font-size:1.65rem;line-height:1;font-weight:900;color:var(--cf-index-ink)}
.cf-index-count{color:var(--cf-index-muted);font-size:.94rem;white-space:nowrap}
.cf-index-state{position:absolute;z-index:2;top:58px;left:0;right:0;padding:10px 18px;background:rgba(255,255,255,.94);color:var(--cf-index-muted);border-bottom:1px solid var(--cf-index-line)}
.cf-index-state:empty{display:none}

/* This is intentionally the only vertical scrolling area in catalogue mode. */
.cf-plant-list{list-style:none!important;margin:0!important;padding:0!important;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;columns:auto!important}
.cf-plant-list li{margin:0!important;padding:0!important;border-bottom:1px solid #e8eee9;break-inside:auto!important}
.cf-plant-list li:last-child{border-bottom:0}
.cf-plant-list a{display:grid!important;grid-template-columns:minmax(260px,1.15fr) minmax(220px,.85fr) 24px;gap:24px;align-items:center;min-height:56px;padding:10px 18px!important;color:var(--cf-index-ink)!important;text-decoration:none!important;break-inside:auto!important}
.cf-plant-list a:hover{background:#f7faf7;color:var(--cf-index-green)!important}
.cf-plant-row-name{min-width:0;font-size:1rem;line-height:1.25}
.cf-plant-row-name em{font-weight:720}
.cf-plant-row-meta{min-width:0;color:var(--cf-index-muted);font-size:.91rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cf-plant-row-arrow{font-size:1.35rem;line-height:1;color:#88a092;text-align:right}

/* Plant detail view keeps normal document scrolling. */
.cf-plant-back{margin:2px 0 18px}
.cf-plant-back a{display:inline-flex;align-items:center;gap:6px;color:var(--cf-index-green);font-weight:750;text-decoration:none}
.cf-plant-back a:hover{text-decoration:underline}
.cf-plant-error{max-width:780px;margin:50px auto;padding:30px}
.cf-plant-view-loading{opacity:.52;pointer-events:none}
.cf-media-placeholder{display:grid;place-items:center;min-height:280px;border:1px dashed #cdd8cf;border-radius:18px;color:#758078;background:#f8faf8;font-weight:700}

/* On short desktop windows, keep every letter visible by using two slim columns. */
@media (max-height:760px) and (min-width:621px){
  .cf-catalogue-layout{grid-template-columns:94px minmax(0,1fr);gap:20px}
  .cf-alpha-panel-inner{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(13,minmax(0,1fr));grid-auto-flow:column;column-gap:4px}
  .cf-alpha-btn{font-size:.82rem}
  .cf-plant-catalogue-page .cf-main{padding-top:16px;padding-bottom:12px}
  .cf-plant-index{gap:12px}
  .cf-plant-index-hero h1{font-size:clamp(1.8rem,2.6vw,2.65rem)}
}

@media(max-width:820px){
  .cf-catalogue-layout{grid-template-columns:62px minmax(0,1fr);gap:14px}
  .cf-alpha-panel-inner{padding:5px}
  .cf-alpha-btn{font-size:.78rem}
  .cf-plant-list a{grid-template-columns:minmax(0,1fr) 22px;gap:8px 12px;padding:9px 12px!important}
  .cf-plant-row-meta{grid-column:1;grid-row:2;white-space:normal;font-size:.84rem}
  .cf-plant-row-arrow{grid-column:2;grid-row:1 / span 2}
  .cf-index-toolbar{padding-left:12px;padding-right:12px}
}

@media(max-width:620px){
  .cf-plant-catalogue-page .cf-main{padding:12px 0 10px}
  .cf-plant-index{gap:10px}
  .cf-plant-index-hero h1{font-size:clamp(1.55rem,7vw,2.15rem)}
  .cf-catalogue-layout{grid-template-columns:48px minmax(0,1fr);gap:10px}
  .cf-alpha-panel-inner{padding:4px;gap:1px;border-radius:12px}
  .cf-alpha-btn{font-size:.69rem;border-radius:5px}
  .cf-index-toolbar{min-height:48px;padding-top:9px;padding-bottom:9px}
  .cf-index-letter{font-size:1.3rem}
  .cf-index-count{font-size:.8rem}
  .cf-index-state{top:48px}
  .cf-plant-list a{min-height:50px}
}
