/* Pantanal Fungi | Biblioteca M1 — direção editorial e navegação acessível */
:root {
  --bg:#f6f3ea; --paper:#fffef8; --ink:#213c31; --muted:#62766c;
  --green:#183c30; --green2:#2c5742; --copper:#b56d43;
  --line:#dce2d8; --shade:#eaf0e8;
}
html {scroll-padding-top:90px}
body {font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;background:var(--bg)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible {
  outline:3px solid #cf9556;outline-offset:3px
}
.skip-link {position:fixed;top:-100px;left:12px;z-index:100;background:#fff;color:#123e2b;padding:11px 16px;border-radius:10px;font-weight:800}
.skip-link:focus {top:10px}
.intro {
  position:relative;overflow:hidden;
  background:radial-gradient(ellipse at 88% 10%,#537458 0%,transparent 34%),linear-gradient(132deg,#102c24 0%,#234e3a 78%,#19392f 100%);
  padding:70px max(5vw,20px) 62px;border-color:#ad7047
}
.intro:after {
  content:"";pointer-events:none;position:absolute;right:-110px;bottom:-225px;width:670px;height:670px;opacity:.21;border:1px solid #d1c6a7;border-radius:50%;
  box-shadow:0 0 0 66px #ffffff09,0 0 0 67px #d9cfb550,0 0 0 145px #ffffff05,0 0 0 146px #d9cfb550
}
.intro .wrap {position:relative;z-index:1;max-width:1320px}
.intro .eyebrow {color:#e9c9a3;letter-spacing:.17em}
.intro h1 {font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.06;letter-spacing:-.05em;font-size:clamp(2.8rem,6vw,5.4rem);max-width:820px;margin:18px 0}
.intro .lead {max-width:720px;font-size:clamp(1rem,1.6vw,1.16rem);line-height:1.65}
.hero-actions {display:flex;flex-wrap:wrap;gap:11px;margin:28px 0 22px}
.hero-btn {border:1px solid #efe2c4;background:#efe2c4;color:#163b2d;padding:13px 20px;border-radius:100px;font-weight:800;transition:transform .15s,background .15s}
.hero-btn:hover {transform:translateY(-2px);background:#fff8e8}
.hero-btn.outline {background:transparent;border-color:#8fa796;color:#f5f0e6}
.hero-btn.outline:hover {background:#ffffff1e}
.intro .pills {margin-top:24px;gap:8px}
.intro .pill {border-radius:30px;background:#ffffff0d;border-color:#ffffff27}
.navbg {top:0;border-color:#d5dfd3;background:#f9f7f1f2;box-shadow:0 4px 19px #123d2510}
.nav.wrap {max-width:1320px;gap:5px;padding:10px 4vw}
#nav {display:flex;align-items:center;gap:6px;min-width:max-content}
#nav button {flex:none}
.site-brand {display:flex;flex:none;align-items:center;gap:10px;margin-right:18px;white-space:nowrap;color:var(--green);font-size:.79rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.brand-glyph {display:grid;place-items:center;width:37px;height:37px;background:var(--green);border-radius:11px;color:#e7d8ba;font-family:Georgia,serif;font-size:1.25rem;font-weight:400;letter-spacing:-.12em;padding-right:3px}
.nav button {font-size:.85rem;border-radius:30px;padding:10px 14px}
.nav button.active {background:#244c38}
.nav button[aria-selected="true"] {background:var(--green);color:#fff}
main {max-width:1320px;padding-top:40px}
section h2 {font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.14;color:var(--green);letter-spacing:-.045em}
.standfirst {font-size:1.04rem;line-height:1.7;margin-top:10px;margin-bottom:22px}
.kicker {font-size:.73rem;text-transform:uppercase;letter-spacing:.18em;color:#a06541;font-weight:850;margin-bottom:10px}
.tiles {gap:14px}
.tile {border-radius:18px;box-shadow:0 7px 32px #1739290b}
.tile .num {font-family:Georgia,serif;font-size:2.2rem;font-weight:500}
.panel,.card,.checkgroup,.step {border-color:#e2e5dc;border-radius:18px;box-shadow:0 5px 26px #17392909}
.card {transition:box-shadow .2s,transform .2s}
.card:hover {transform:translateY(-2px);box-shadow:0 14px 28px #17392915}
.card h3 {line-height:1.3}
.tag {font-weight:680}
.topic-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 32px}
.topic-card {display:flex;flex-direction:column;align-items:flex-start;text-align:left;justify-content:space-between;min-height:145px;gap:14px;
  padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:18px;color:var(--green);font-weight:800;box-shadow:0 5px 22px #1739290a}
.topic-card:hover {border-color:#94b49c;background:#f3f7ee}
.topic-icon {font-size:1.6rem;line-height:1}
.topic-label {font-size:1.05rem;line-height:1.25}
.topic-next {font-size:.8rem;font-weight:650;color:#637968}
.search-tools {display:flex;flex-wrap:wrap;gap:7px;margin-top:6px;margin-bottom:18px}
.search-tools button {background:#e6ede4;color:#28543a;border:1px solid #d1ddd1;padding:8px 12px;border-radius:20px;font-size:.82rem;font-weight:750}
.search-tools button:hover {background:#d4e5d4}
.toolbar {grid-template-columns:minmax(180px,2fr) minmax(130px,1fr) 140px 170px}
.toolbar .field input,.toolbar .field select {min-height:48px}
.results-bar {display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0 18px}
.results-bar .results {margin:0}
.action.subtle {background:transparent;border-color:#c9d6cc}
.action[hidden], #loadMore[hidden] {display:none}
.card-actions {display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.link-small {border:1px solid #d5e0d4;background:transparent;color:#315c45;border-radius:9px;font-size:.78rem;font-weight:750;padding:7px 10px}
.link-small:hover {background:#e7eee5}
.checklist-summary {margin:13px 0 23px;padding:17px 19px;background:#e8eee5;border:1px solid #cadaca;border-radius:14px}
.progress-track {height:9px;background:#cdd9ce;overflow:hidden;border-radius:99px;margin-top:11px}
.progress-value {display:block;width:0;height:100%;border-radius:99px;background:#36694a;transition:width .18s}
.footer {background:#ebeee6;padding:28px 4vw}
.footer .wrap {max-width:1320px}
.footer-note {display:block;margin-top:7px}
.citation-rule {font-size:.81rem;color:#647567}
.to-top {position:fixed;right:18px;bottom:16px;z-index:4;width:44px;height:44px;border-radius:50%;background:var(--green);color:#fff;border:1px solid #e5e4d9;box-shadow:0 5px 20px #0c342655}
#toast {position:fixed;left:50%;bottom:26px;transform:translateX(-50%);padding:12px 18px;border-radius:12px;background:#173a2c;color:#fff;box-shadow:0 12px 24px #0b2a2066;z-index:20;font-size:.88rem}
#toast[hidden] {display:none}
@media(max-width:1100px) {
  .site-brand .brand-caption {display:none}
  .toolbar {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px) {
  .intro {padding:46px 6vw 37px}
  .intro:after {width:400px;height:400px;bottom:-150px;right:-250px}
  .intro h1 {font-size:clamp(2.4rem,10vw,3.7rem)}
  .intro .pills {gap:6px}
  .intro .pill {font-size:.74rem;padding:6px 10px}
  .hero-btn {font-size:.9rem;padding:12px 16px}
  .nav.wrap {padding:8px 4vw}
  .site-brand {margin-right:9px}
  main {padding-top:28px}
  .topic-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .topic-card {min-height:135px;padding:16px}
  .toolbar {grid-template-columns:1fr}
  .results-bar {align-items:flex-start}
  .card:hover {transform:none}
}
@media(max-width:430px) {.topic-grid {grid-template-columns:1fr 1fr;gap:9px}.topic-card {min-height:126px;padding:13px}.topic-label {font-size:.95rem}.topic-icon {font-size:1.35rem}}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
@media print {
  .hero-actions,.search-tools,.results-bar button,.card-actions,.to-top,#toast,.topic-grid,.site-brand {display:none!important}
  .intro {background:#fff;color:#111;border-bottom:1px solid #555;padding:15px}
  .intro h1,.intro .lead {color:#111}
  .intro:after {display:none}
  main section {display:block!important;break-before:page}
}


/* Ajustes pós-publicação: cabeçalho compacto nas páginas internas e navegação sem barra visível. */
.nav.wrap {
  max-width: 1600px;
  padding-inline: clamp(16px, 2vw, 30px);
  overflow: visible;
}
#nav {
  flex: 1 1 auto;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  overscroll-behavior-inline: contain;
}
#nav::-webkit-scrollbar { display: none; }
.site-brand { margin-right: 12px; }

body.route-internal .intro { padding: 19px clamp(18px, 4vw, 54px) 21px; }
body.route-internal .intro .wrap { max-width: 1440px; }
body.route-internal .intro .eyebrow { font-size: .69rem; }
body.route-internal .intro h1 {
  font-size: clamp(1.6rem, 2.8vw, 2.2rem);
  line-height: 1.2;
  margin: 6px 0 0;
  max-width: none;
}
body.route-internal .intro .lead,
body.route-internal .intro .hero-actions,
body.route-internal .intro .pills { display: none; }
body.route-internal .intro:after { opacity: .08; }
body.route-internal main { padding-top: 30px; }
@media(max-width:700px) {
  .nav.wrap { padding-inline: 12px; }
  body.route-internal .intro { padding: 17px 19px 20px; }
  body.route-internal .intro h1 { font-size: 1.6rem; }
}


/* M4 — Cartões de fontes bibliográficas e seleção de origem. */
.source-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px;margin:20px 0 38px; }
.source-card {display:flex;flex-direction:column;align-items:flex-start;gap:11px;padding:23px;background:#fffdf8;border:1px solid var(--line);border-radius:17px;box-shadow:0 6px 24px #1739290a;}
.source-card h3 {font-family:Georgia,serif;font-size:1.25rem;font-weight:550;line-height:1.32;color:var(--green);}
.source-card p {font-size:.91rem;color:var(--muted);line-height:1.6;margin:0;}
.source-card .meta {color:var(--muted);font-size:.78rem;}
.source-card .link-small {margin-top:auto;}
.source-label {color:#a35e35;font-weight:850;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;}
@media(min-width:1050px) {.toolbar {grid-template-columns:minmax(170px,1.9fr) minmax(170px,1.2fr) minmax(145px,1fr) 125px 155px;}}


/* M5 — Navegação bibliográfica com páginas acessíveis no portal autenticado */
#biblioteca .toolbar {grid-template-columns:repeat(3,minmax(0,1fr));}
#biblioteca .toolbar .field:first-child {grid-column:span 2;}
.detail-page {max-width:1080px;margin-inline:auto;color:var(--ink);}
.detail-page[hidden],#libraryListing[hidden] {display:none!important}
.detail-breadcrumb {display:flex;gap:7px;align-items:center;flex-wrap:wrap;font-size:.81rem;color:#657b70;margin:0 0 20px;}
.detail-breadcrumb a {color:#285843;text-decoration:underline;text-underline-offset:3px;}
.detail-eyebrow {text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:800;color:#a35f37;margin-bottom:8px;}
.detail-page h2 {font-size:clamp(2.1rem,4.5vw,3.65rem);font-family:Georgia,serif;font-weight:500;max-width:950px;line-height:1.12;letter-spacing:-.04em}
.detail-lead {font-size:1.02rem;color:#4d665a;line-height:1.75;max-width:840px;margin:14px 0 18px}
.detail-metadata {display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 26px;}
.detail-metadata span {font-size:.81rem;padding:6px 12px;border:1px solid #cad8cc;background:#e8efe6;border-radius:100px;color:#365a44;}
.detail-actions {display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 24px}
.detail-actions a,.detail-actions button {border:1px solid #bfccbd;border-radius:9px;background:#fffef8;color:#245339;font-size:.88rem;padding:9px 13px;font-weight:750;text-decoration:none}
.detail-actions a:hover,.detail-actions button:hover {background:#e4eee3}
.detail-section {margin:25px 0;padding:23px;background:var(--paper);border:1px solid var(--line);border-radius:18px}
.detail-section h3 {font-family:Georgia,serif;font-size:1.42rem;font-weight:500;color:#214b37;margin:0 0 13px}
.detail-section p {line-height:1.75;color:#42594d;margin-bottom:12px}
.book-index-layout {display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;align-items:start}
.book-toc {position:sticky;top:92px;background:#ebf0e9;border:1px solid #d7e1d6;border-radius:16px;padding:15px}
.book-toc strong {font-size:.85rem;color:#224b37}
.book-toc button {display:block;width:100%;text-align:left;border:0;background:transparent;padding:9px 5px;font-size:.84rem;color:#376049;border-radius:7px}
.book-toc button:hover,.book-toc button:focus-visible {background:#d5e5d5}
.book-index-group {margin:0 0 16px;padding:19px 23px;border:1px solid var(--line);border-radius:16px;background:var(--paper)}
.book-index-group h3 {font-family:Georgia,serif;font-size:1.26rem;color:#254c36;margin:0 0 8px}
.book-index-row {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #e4e8df}
.book-index-row:last-child {border-bottom:none}
.book-index-row a {color:#24543c;text-decoration:none;font-weight:740}
.book-index-row a:hover {text-decoration:underline}
.book-index-row small {color:#748377;white-space:nowrap}
.tag-buttons {display:flex;gap:7px;flex-wrap:wrap;margin:15px 0}
.tag-buttons button {border:1px solid #cbd9cd;border-radius:100px;background:#e8f0e7;color:#315c44;font-size:.81rem;font-weight:670;padding:7px 12px}
.tag-buttons button:hover {background:#dce9dc}
.related-list {list-style:none;padding:0;margin:0}
.related-list li {display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid #e2e8df}
.related-list li:last-child {border-bottom:0}
.related-list a {color:#215339;font-weight:700;text-decoration:none}
.related-list a:hover {text-decoration:underline}
.related-list small {color:#60796b}
.detail-note {font-size:.89rem;padding:16px 19px;background:#f2e9de;border-left:3px solid #b46f43;border-radius:0 11px 11px 0;color:#594632}
@media(max-width:900px) {
 #biblioteca .toolbar {grid-template-columns:repeat(2,minmax(0,1fr))}
 .book-index-layout {grid-template-columns:1fr}
 .book-toc {position:static}
}
@media(max-width:600px) {
 #biblioteca .toolbar {grid-template-columns:1fr}
 #biblioteca .toolbar .field:first-child {grid-column:auto}
 .detail-section,.book-index-group {padding:17px}
 .book-index-row {grid-template-columns:1fr;gap:1px}
 .detail-page h2 {font-size:2.08rem}
}
@media print {
 .book-toc,.detail-actions,.tag-buttons {display:none}
 .book-index-layout {display:block}
 .detail-page {max-width:none}
}


/* M5 usability: bibliographic navigation is visible on the very first screen */
.intro {padding-top:39px;padding-bottom:33px}
.intro h1 {font-size:clamp(2.5rem,4.25vw,4.05rem);margin:11px 0 10px}
.intro .lead {max-width:730px;line-height:1.56;font-size:1rem}
.intro .hero-actions {margin:18px 0 12px}
.intro .pills {margin-top:10px}
main:has(#inicio.show) {padding-top:20px}
#acervo {scroll-margin-top:86px}
.acervo-lead {background:linear-gradient(145deg,#f8f7ef,#eaf0e5);border:1px solid #d4dfd2;padding:28px clamp(18px,3.5vw,35px) 25px;border-radius:23px;margin-bottom:35px}
.acervo-eyebrow {font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:#ac643e;font-weight:850;margin-bottom:9px}
.acervo-lead-top {display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:15px}
.acervo-lead-top h2 {font-size:clamp(1.8rem,3.2vw,2.9rem)}
.acervo-lead-top p {font-size:.96rem;line-height:1.6;color:#516c59;max-width:710px;margin:7px 0 0}
.acervo-lead-top .action {white-space:nowrap}
.acervo-lead .source-grid {margin:18px 0 10px}
.acervo-lead .source-card {background:#fffefa;border-color:#cfdbcf;box-shadow:0 6px 20px #1b3b2510;min-height:228px}
.acervo-lead .source-card h3 {font-size:1.36rem}
.acervo-lead .source-card .link-small {background:#224c38;color:#fff;border-color:#224c38;padding:10px 13px;border-radius:10px}
.acervo-lead .source-card .link-small:hover {background:#123829}
.legacy-overview {margin-top:25px}
.legacy-overview > h2:first-child {border-top:1px solid #d5dfd4;padding-top:30px}
@media (max-width:740px){
 .intro {padding:39px 6vw 32px}
 .intro h1 {font-size:clamp(2.35rem,9vw,3.3rem)}
 .acervo-lead {padding:19px 14px}
 .acervo-lead-top {flex-direction:column;align-items:flex-start}
 .acervo-lead-top .action {width:100%}
}
