.subhead{font-family:var(--display);font-style:italic;color:var(--green-700);
  font-size:1.05rem;margin:18px 0 6px}

.notice{display:flex;gap:10px;align-items:flex-start;background:var(--ochre-soft);
  border:1px solid #e6cfa9;border-radius:12px;padding:11px 14px;font-size:.86rem;
  color:#6b4516;margin:14px 0 22px}
.notice svg{flex:0 0 auto;margin-top:2px}

.stepper{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:22px}
.step-pill{flex:1 1 0;min-width:34px;height:7px;border-radius:99px;background:var(--sage);
  transition:background .35s ease}
.step-pill.done{background:var(--green-600)}
.step-pill.active{background:var(--ochre)}
.step-meta{font-size:.8rem;color:var(--ink-soft);margin:-12px 0 18px;letter-spacing:.4px;
  text-transform:uppercase;font-weight:700}

.fz-card{background:var(--cream-2);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:30px 30px 26px;position:relative;overflow:visible}
.fz-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;border-radius:var(--radius) var(--radius) 0 0;
  background:linear-gradient(90deg,var(--green-700),var(--green-300),var(--ochre))}
.step{display:none;animation:fade .4s ease}
.step.show{display:block}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.fz-shell h2.q{font-family:var(--display);font-weight:600;font-size:1.5rem;color:var(--green-900);
  margin:0 0 4px;line-height:1.15}
.q-sub{color:var(--ink-soft);font-size:.95rem;margin:0 0 22px}

.fz-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:16px}
.field.full{grid-column:1/-1}
.fz-shell label{display:block;font-weight:600;font-size:.9rem;color:var(--green-800);margin-bottom:6px}
.fz-shell label .opt{font-weight:400;color:var(--ink-soft);font-size:.82rem}
.fz-shell .req{color:var(--rust)}
.fz-shell input[type=text], .fz-shell input[type=email], .fz-shell input[type=tel], .fz-shell input[type=number], .fz-shell input[type=date],
.fz-shell select, .fz-shell textarea{
  width:100%;padding:11px 13px;border:1.5px solid var(--line);border-radius:11px;
  background:var(--white);font-family:inherit;font-size:.95rem;color:var(--ink);
  transition:border-color .2s, box-shadow .2s}
.fz-shell textarea{resize:vertical;min-height:84px}
.fz-shell input:focus, .fz-shell select:focus, .fz-shell textarea:focus{outline:none;border-color:var(--green-600);
  box-shadow:0 0 0 4px rgba(61,107,73,.12)}
.hint{font-size:.8rem;color:var(--ink-soft);margin-top:5px}

.choices{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.choice{position:relative;cursor:pointer}
.choice input{position:absolute;opacity:0;inset:0}
.choice .box{border:1.5px solid var(--line);border-radius:14px;padding:18px 16px;background:var(--white);
  transition:.2s;height:100%}
.choice .box .ic{font-size:1.6rem;line-height:1}
.choice .box .t{font-weight:700;margin:8px 0 3px;color:var(--green-900);font-size:1.02rem}
.choice .box .d{font-size:.85rem;color:var(--ink-soft)}
.choice input:checked + .box{border-color:var(--green-600);background:var(--sage-soft);
  box-shadow:0 0 0 4px rgba(61,107,73,.12)}
.choice.invasive input:checked + .box{border-color:var(--ochre);background:var(--ochre-soft);
  box-shadow:0 0 0 4px rgba(184,115,46,.14)}

.yesno{display:flex;gap:12px}
.yesno .choice{flex:1}
.yesno .box{display:flex;align-items:center;justify-content:center;gap:9px;font-weight:700;
  padding:16px;color:var(--green-900)}

.combo{position:relative}
.combo-list{position:absolute;z-index:50;left:0;right:0;top:calc(100% + 4px);background:var(--white);
  border:1.5px solid var(--line);border-radius:12px;box-shadow:var(--shadow);max-height:260px;
  overflow:auto;display:none}
.combo-list.open{display:block}
.combo-item{padding:9px 13px;cursor:pointer;border-bottom:1px solid var(--sage-soft);font-size:.92rem}
.combo-item:last-child{border-bottom:none}
.combo-item:hover,.combo-item.hi{background:var(--sage-soft)}
.combo-item .lat{font-style:italic;color:var(--ink-soft);font-size:.85rem}
.combo-item .tag{float:right;font-size:.68rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.4px;padding:2px 7px;border-radius:99px;background:var(--sage);color:var(--green-800)}
.combo-item .tag.u{background:var(--ochre-soft);color:#7a4a14}
.selected-species{margin-top:10px;display:none;align-items:center;gap:10px;background:var(--sage-soft);
  border:1px solid var(--sage);border-radius:12px;padding:10px 13px}
.selected-species.show{display:flex}
.selected-species b{color:var(--green-900)}
.selected-species i{color:var(--ink-soft)}
.selected-species .x{margin-left:auto;cursor:pointer;color:var(--rust);font-weight:700;
  background:none;border:none;font-size:1rem}

.map-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;align-items:center}
.map-toolbar .search{flex:1 1 200px;display:flex;gap:6px}
.map-toolbar .search input{flex:1}
.btn-mini{border:1.5px solid var(--line);background:var(--white);border-radius:10px;padding:9px 12px;
  font-family:inherit;font-weight:600;font-size:.85rem;color:var(--green-800);cursor:pointer;
  display:inline-flex;align-items:center;gap:6px;transition:.18s;white-space:nowrap}
.btn-mini:hover{border-color:var(--green-600);background:var(--sage-soft)}
.btn-mini.danger{color:var(--rust)}
#map{height:380px;border-radius:14px;border:1.5px solid var(--line);overflow:hidden;z-index:1}
.map-hint{font-size:.82rem;color:var(--ink-soft);margin:8px 0 0;display:flex;gap:7px;align-items:center}
.polygon-tools{display:none;gap:8px;margin-top:10px;flex-wrap:wrap}
.polygon-tools.show{display:flex}

.lookups{margin-top:18px;border-top:1px dashed var(--line);padding-top:16px;display:none}
.lookups.show{display:block}
.lookups h3{font-family:var(--display);font-size:1.05rem;color:var(--green-900);margin:0 0 12px;
  display:flex;align-items:center;gap:8px}
.lk-row{display:grid;grid-template-columns:170px 1fr;gap:10px;align-items:center;margin-bottom:9px}
.lk-row .lk-label{font-size:.85rem;font-weight:700;color:var(--green-800);display:flex;align-items:center;gap:7px}
.lk-status{font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:99px;white-space:nowrap}
.lk-status.wait{background:#fff4e0;color:#8a5a12}
.lk-status.ok{background:#dff0e3;color:#23633a}
.lk-status.warn{background:#fbe4df;color:#8c2e1d}
.lk-row input{padding:8px 11px;font-size:.9rem}
@media(max-width:560px){.lk-row{grid-template-columns:1fr}}

.dropzone{border:2px dashed var(--green-300);border-radius:14px;background:var(--sage-soft);
  padding:26px 18px;text-align:center;cursor:pointer;transition:.2s}
.dropzone:hover{background:#e7f0e2;border-color:var(--green-600)}
.dropzone .big{font-size:1.9rem}
.dropzone b{color:var(--green-900)}
.dropzone span{display:block;font-size:.84rem;color:var(--ink-soft);margin-top:4px}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;margin-top:16px}
.thumb{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line);
  aspect-ratio:1;background:#000}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb .rm{position:absolute;top:5px;right:5px;width:24px;height:24px;border-radius:50%;border:none;
  background:rgba(162,59,42,.92);color:#fff;cursor:pointer;font-weight:700;line-height:1}
.photo-guide{background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:13px 16px;
  font-size:.85rem;color:var(--ink-soft);margin-bottom:16px}
.photo-guide b{color:var(--green-800)}

.check{display:flex;gap:11px;align-items:flex-start;margin-bottom:13px;font-size:.9rem}
.check input{margin-top:3px;width:18px;height:18px;accent-color:var(--green-700);flex:0 0 auto}
.check label{font-weight:400;color:var(--ink);margin:0}
.check .req{font-weight:700}

.fnav{display:flex;justify-content:space-between;gap:12px;margin-top:26px}

.err{color:var(--rust);font-size:.85rem;margin-top:12px;display:none;font-weight:600}
.err.show{display:block}

.review{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;font-size:.9rem;margin-bottom:8px}
.review .r{padding:7px 0;border-bottom:1px solid var(--sage-soft)}
.review .r .k{font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft);font-weight:700}
.review .r .v{color:var(--ink);font-weight:600}
.routing{background:var(--sage-soft);border:1px solid var(--sage);border-radius:12px;padding:14px 16px;
  margin:18px 0;font-size:.9rem}
.routing .badge{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;
  background:var(--green-700);color:#fff;border-radius:99px;padding:3px 9px;margin-bottom:8px}
.routing b{color:var(--green-900)}

.preview-scroll{margin-top:16px;background:repeating-linear-gradient(45deg,#ece5d6,#ece5d6 10px,#e7dfce 10px,#e7dfce 20px);
  border-radius:14px;padding:18px;overflow:hidden}
.preview-scale-host{transform-origin:top left}
#letterSheet{width:794px;min-height:1123px;background:#fff;padding:64px 70px;
  font-family:Georgia,'Times New Roman',serif;color:#1c1c1c;font-size:15px;line-height:1.6;
  box-shadow:0 10px 40px -10px rgba(0,0,0,.35)}
#letterSheet .lt-top{display:flex;justify-content:space-between;align-items:flex-start;font-family:Arial,Helvetica,sans-serif;font-size:13px}
#letterSheet .lt-sender{max-width:48%}
#letterSheet .lt-place{text-align:right;color:#333}
#letterSheet .lt-addr{margin:46px 0 0;text-align:right;font-family:Arial,Helvetica,sans-serif;font-size:13.5px}
#letterSheet .lt-addr .role{font-weight:700}
#letterSheet .lt-cc{margin-top:10px;text-align:right;font-size:12px;color:#555;font-family:Arial,Helvetica,sans-serif}
#letterSheet h2.lt-title{text-align:center;font-size:18px;margin:44px 0 26px;letter-spacing:.3px}
#letterSheet p{margin:0 0 12px;text-align:left}
#letterSheet .lt-data{font-family:Arial,Helvetica,sans-serif;font-size:13px;border:1px solid #d8d8d8;border-radius:8px;
  padding:14px 16px;margin:14px 0;background:#fafaf7}
#letterSheet .lt-data dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:4px 14px}
#letterSheet .lt-data dt{color:#555;font-weight:600}
#letterSheet .lt-data dd{margin:0;color:#1c1c1c}
#letterSheet .lt-sign{margin-top:54px;text-align:right;font-family:Arial,Helvetica,sans-serif}
#letterSheet .lt-sign .line{margin-top:34px;border-top:1px solid #999;width:230px;margin-left:auto;
  padding-top:6px;font-size:12px;color:#555}
#letterSheet .lt-photos{margin-top:30px;font-family:Arial,Helvetica,sans-serif}
#letterSheet .lt-photos .pg{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
#letterSheet .lt-photos img{width:160px;height:120px;object-fit:cover;border:1px solid #ccc;border-radius:4px}
#letterSheet .lt-foot{margin-top:40px;border-top:1px solid #ddd;padding-top:10px;font-family:Arial,Helvetica,sans-serif;
  font-size:10.5px;color:#888;text-align:center}
#letterSheet .lt-disc{font-family:Arial,Helvetica,sans-serif;font-size:11px;color:#777;font-style:italic;margin-top:18px}

#letterSheet .pdf-block{margin:0 0 2px}
#letterSheet .lt-photos-head{font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:700;margin:18px 0 8px}
#letterSheet .lt-photo{margin:0 0 14px}
#letterSheet .lt-photo img{display:block;width:100%;max-width:540px;max-height:380px;object-fit:contain;border:1px solid #ccc;border-radius:4px}
#letterSheet .cap-line{font-family:Arial,Helvetica,sans-serif;font-size:12px;color:#444;margin-top:5px}
.thumb-wrap{display:flex;flex-direction:column;gap:6px}
.thumb-wrap .cap{padding:7px 9px;font-size:.82rem;border:1.5px solid var(--line);border-radius:9px;font-family:inherit;color:var(--ink);background:#fff}
.thumb-wrap .cap:focus{outline:none;border-color:var(--green-600)}
.pdf-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.success-final{display:none;text-align:center;padding:20px}
.success-final.show{display:block}
.success-final .ring{width:74px;height:74px;border-radius:50%;background:var(--sage-soft);
  display:grid;place-items:center;margin:0 auto 14px}

@media(max-width:640px){
  .fz-grid,.choices{grid-template-columns:1fr}
  .review{grid-template-columns:1fr}
  .fz-card{padding:22px 18px}
}
.spin{display:inline-block;width:12px;height:12px;border:2px solid #d9b682;border-top-color:transparent;
  border-radius:50%;animation:sp .7s linear infinite;vertical-align:middle}
@keyframes sp{to{transform:rotate(360deg)}}

.family-picked{margin-top:10px;display:none;align-items:center;gap:10px;background:var(--paper-2);
  border:1px solid var(--line);border-radius:12px;padding:10px 14px;font-size:.92rem}
.family-picked.show{display:flex}
.family-picked b{color:var(--green-900)}
.family-picked .x{margin-left:auto;cursor:pointer;color:var(--moss);font-weight:700;border:0;background:none;font-family:inherit;font-size:.85rem}

.form-sec{padding:clamp(30px,5vw,60px) 0 clamp(56px,8vw,96px);position:relative;z-index:1}
.fz-shell{max-width:940px;margin:0 auto;
  --green-900:#06343d; --green-800:#004F4F; --green-700:#00657A; --green-600:#0A7E8C; --green-300:#9FBDBF;
  --cream:var(--paper); --cream-2:var(--card); --white:#FFFFFF;
  --ochre:#E08A1E; --ochre-soft:#F6ECD6; --rust:#A23B2A;
  --sage:#DDE6E7; --sage-soft:#C2D2D2; --radius:14px;
  --shadow-sm:0 6px 18px -12px rgba(28,35,38,.22)}
.fz-shell, .fz-shell *{box-sizing:border-box}
.fz-shell .btn:disabled{opacity:.45;cursor:not-allowed;transform:none}

.combo-list{max-height:316px;overflow-y:auto;padding:6px}
.combo-item{padding:11px 14px;border-radius:9px}
.combo-item .lat{display:block;margin-top:1px}

#map{height:500px}
#map:fullscreen,#map:-webkit-full-screen{width:100%;height:100%;border-radius:0;border:0}
.leaflet-bar.vr-fs a{color:#00657A}

.preview-scale-host{position:relative}
#ltWatermark{position:absolute;top:0;left:0;width:794px;height:1123px;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:5}
#ltWatermark span{transform:rotate(-35deg);font-size:92px;font-weight:800;letter-spacing:6px;color:rgba(0,101,122,.12);font-family:Arial,Helvetica,sans-serif;white-space:nowrap;text-transform:uppercase}

.page-hd{ padding-bottom: 10px; }
.coordInput:disabled{ background:#f1efe9; color:#9aa39a; opacity:.65; cursor:not-allowed; }
.coordRow{ display:flex; gap:12px; }
.combo-item .tag.u{ background:#fbe9e7; color:#9a3b2e; }
.combo-item .tag.pl{ background:#e6eef6; color:#1f4e79; }
.coordCol{ flex:1; min-width:0; }
.coordTag{ font-size:.78rem; font-weight:600; color:#6b7669; margin:0 0 4px; }
.dmsGroup{ display:flex; align-items:center; gap:3px; }
.dmsGroup .dmsCell{ flex:1 1 0; min-width:0; width:auto; text-align:center; padding-left:4px; padding-right:4px; }
.dmsSym{ flex:none; color:#6b7669; font-weight:600; font-size:.95rem; }

.leaflet-control-layers label{ display:flex !important; align-items:center !important; justify-content:flex-start !important; gap:6px !important; width:auto !important; min-width:0 !important; margin:0 !important; padding:1px 0 !important; font-weight:400 !important; text-transform:none !important; letter-spacing:normal !important; white-space:nowrap !important; cursor:pointer; }
.leaflet-control-layers label>span{ display:flex !important; align-items:center !important; justify-content:flex-start !important; gap:6px !important; }
.leaflet-control-layers label input{ width:auto !important; min-width:0 !important; height:auto !important; margin:0 !important; flex:0 0 auto !important; float:none !important; position:static !important; -webkit-appearance:radio !important; appearance:auto !important; }
.leaflet-control-layers label span{ flex:0 1 auto; }
.page-hd .lead{ max-width: 970px; margin-bottom: 0; }
.form-sec{ padding-top: 12px; padding-bottom: 200px; }

.sel-cat{ display:inline-block; font-size:.75rem; font-weight:700; padding:2px 10px; border-radius:99px; background:rgba(0,101,122,.12); color:#00657A; }

.lk-row.lk-row-area{ align-items:start; }
.lk-row textarea{ padding:8px 11px; font-size:.9rem; line-height:1.45; min-height:40px; overflow:hidden; resize:vertical; }
.lk-label{ flex-wrap:wrap; }
.lk-note{ margin:-2px 0 11px; font-size:.8rem; line-height:1.45; color:var(--ink-soft,#5b6b6e); }
.lk-note b{ color:var(--green-900,#11512f); font-weight:700; }

.btn-ghost{ padding-left: 1.6em; justify-content:center; }

.fz-shell{ max-width: 1080px; }

#introScreen h3{ font-size:1.05rem; color:var(--green-900,#2e5339); margin:22px 0 8px; }
#introScreen ol, #introScreen ul{ margin:0 0 6px; padding-left:20px; line-height:1.65; }
#introScreen li{ margin:5px 0; }
.vr-acc{ border:1px solid var(--line,#e3e0d8); border-radius:10px; margin:0 0 10px; background:#fff; }
.vr-acc>summary{ cursor:pointer; padding:13px 16px; font-weight:600; list-style:none; color:var(--green-900,#2e5339); display:flex; justify-content:space-between; align-items:center; gap:10px; }
.vr-acc>summary::-webkit-details-marker{ display:none; }
.vr-acc>summary::after{ content:'+'; font-size:1.35em; line-height:1; color:#9aa79a; font-weight:400; }
.vr-acc[open]>summary::after{ content:'\2013'; }
.vr-acc>summary:hover{ background:var(--paper-2,#f6f4ee); }
.vr-acc .acc-body{ padding:2px 16px 16px; font-size:.93rem; line-height:1.6; color:var(--ink,#333); }
.vr-acc .acc-body ol, .vr-acc .acc-body ul{ margin:8px 0; padding-left:20px; }
.vr-acc .acc-body li{ margin:3px 0; }
.vr-acc .acc-body a{ color:#00657A; }

/* ==========================================================================
   WYSZUKIWANIE GATUNKU (krok 3) — dopisek do formularz.css
   Dodane na końcu pliku, więc CELOWO nadpisuje część wcześniejszych reguł:
     .combo-item (float -> flex), .combo-item .lat (block -> inline),
     .combo-item .tag, .combo-list (max-height), .selected-species,
     .selected-species .x, .selected-species .sel-cat.
   Reguły .family-picked* w górnej części pliku są po tej zmianie nieużywane
   (etap wyboru rodziny zniknął z HTML) — zostawiono je, bo nic nie psują.
   Kolory: zmienne motywu (--green-600..900, --sage, --sage-soft, --ochre-soft,
   --paper-2, --ink-soft, --white, --line) + 6 stałych barw dla plakietek
   i podświetlenia, których w motywie nie ma. Zmienne spoza .fz-shell mają
   wartości zapasowe, żeby tła nie zniknęły przy braku definicji.
   ========================================================================== */

/* --- pole z przyciskiem czyszczenia --- */
.combo .combo-clear{position:absolute;top:50%;right:4px;transform:translateY(-50%);
  width:38px;height:38px;border:0;border-radius:50%;background:none;color:var(--green-800);
  font-size:.82rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;
  padding:0;z-index:2}
.combo .combo-clear::before{content:"";position:absolute;width:26px;height:26px;border-radius:50%;
  background:var(--sage);z-index:-1}
.combo .combo-clear:hover::before{background:var(--sage-soft)}
.combo .combo-clear[hidden]{display:none}
#speciesField .combo input{padding-right:42px}

/* --- wiersz podpowiedzi: „Nazwa polska (Nazwa naukowa)" + kategoria na końcu ---
   Układ na flexie zamiast float — plakietka trzyma się prawej krawędzi także
   przy długich nazwach i na wąskich ekranach, bez nachodzenia na tekst. */
.combo-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;line-height:1.4}
.combo-item .nm{order:1;flex:1 1 auto;min-width:0}
.combo-item .tag{order:2;float:none;flex:0 0 auto;margin-left:auto;white-space:nowrap}
.combo-item .sub{order:3;flex:1 1 100%;margin:0;font-size:.74rem;color:var(--ink-soft,#6b7669)}
.combo-item .lat.solo{color:var(--ink-soft,#6b7669);font-size:.95rem}
.combo-item .lat{font-style:italic;color:var(--ink-soft,#6b7669);font-size:.88rem;display:inline}
.combo-item mark{background:#fdf0d3;color:inherit;border-radius:3px;padding:0 1px;font-weight:700}
.combo-item.hi{outline:2px solid var(--green-600);outline-offset:-2px}
.combo-empty{padding:14px;font-size:.86rem;color:var(--ink-soft,#6b7669);line-height:1.5}
.combo-list{max-height:min(60vh,380px)}

/* --- kategorie IGO --- */
.combo-item .tag.elim{background:#fde8e8;color:#8f2323}   /* IGO — szybka eliminacja */

/* --- mini-plakietki: ochrona czynna / strefa ochrony --- */
.mini-badge{display:inline-block;margin-right:6px;padding:1px 7px;border-radius:99px;
  font-size:.68rem;font-weight:700;letter-spacing:.3px;white-space:nowrap}
.mini-badge.czynna{background:var(--ochre-soft);color:#7a4a14}
.mini-badge.strefa{background:#e6eef6;color:#1f4e79}
.mini-badge.brakpl{background:#eeece4;color:#5a5648}

/* --- notka pod wybranym gatunkiem (rodzina, ochrona czynna, strefa, podstawa prawna) --- */
.sel-note{margin:8px 0 0;padding:9px 13px;border-left:3px solid var(--green-600);
  background:var(--paper-2,#f6f4ee);border-radius:0 10px 10px 0;font-size:.82rem;color:var(--ink-soft,#6b7669);line-height:1.55}
.sel-note b{color:var(--green-900)}

/* --- wybrany gatunek: zawijanie na małych ekranach --- */
.selected-species{flex-wrap:wrap}
.selected-species .sel-cat{display:inline-block;margin-left:6px;font-size:.72rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.4px;padding:2px 8px;border-radius:99px;
  background:var(--white);border:1px solid var(--sage);color:var(--green-800)}

/* --- wskazania z opracowania GDOŚ pod wybranym gatunkiem --- */
.opr-note{display:block;margin-top:7px;padding-top:7px;border-top:1px dashed var(--sage-soft)}
.opr-note b{color:var(--green-900)}
.opr-fn{display:block;margin-top:3px;font-size:.74rem;font-style:italic;color:var(--ink-soft,#6b7669)}
.opr-src{display:block;margin-top:5px;font-size:.75rem;font-style:italic;color:var(--ink-soft,#6b7669)}
.opr-src a{color:var(--green-700);text-decoration:underline}

/* --- rozwijana informacja o źródłach (krok 3) --- */
.src-box{margin-top:16px;border:1px solid var(--line,#e0ddd2);border-radius:12px;background:var(--paper-2,#f6f4ee);
  font-size:.85rem;line-height:1.6}
.src-box>summary{cursor:pointer;padding:11px 15px;font-weight:700;color:var(--green-800);
  list-style:none;display:flex;align-items:center;gap:8px}
.src-box>summary::-webkit-details-marker{display:none}
.src-box>summary::before{content:"›";display:inline-block;transition:transform .2s ease;font-size:1.1rem;line-height:1}
.src-box[open]>summary::before{transform:rotate(90deg)}
.src-box>summary:hover{color:var(--green-600)}
.src-box p{margin:0 15px 12px;color:var(--ink-soft,#6b7669)}
.src-box p:first-of-type{margin-top:2px}
.src-box b{color:var(--green-900)}
.src-box a{color:var(--green-700);text-decoration:underline}

.src-sub{font-family:var(--display);font-style:italic;color:var(--green-700);font-size:1.02rem;
  margin:22px 0 6px}

/* --- akapit o źródłach na stronie wstępnej --- */
.src-hint{font-size:.88rem;color:var(--ink-soft,#6b7669);background:var(--paper-2,#f6f4ee);border-left:3px solid var(--green-600);
  border-radius:0 10px 10px 0;padding:11px 15px;margin:14px 0 0;line-height:1.6}
.src-hint b{color:var(--green-900)}

/* --- responsywność --- */
@media (max-width:640px){
  .combo-item{padding:12px 13px;gap:4px 10px}
  .combo-item .nm{flex:1 1 100%}
  .combo-item .tag{order:3;margin-left:0}
  .combo-item .sub{order:2}
  .combo-list{max-height:min(52vh,320px)}
  .selected-species{align-items:flex-start}
  .selected-species .x{margin-left:0;margin-top:6px}
}
@media (hover:none){                 /* na dotyku nie polegamy na :hover */
  .combo-item:active{background:var(--sage-soft)}
}
