.mesrs-library { --mesrs-green:#009447; --mesrs-green-dark:#00763a; --mesrs-ink:#17221c; --mesrs-muted:#617068; --mesrs-line:#dce5df; --mesrs-soft:#f2f8f4; --mesrs-white:#fff; color:var(--mesrs-ink); }
.mesrs-library__hero { position:relative; overflow:hidden; margin-bottom:26px; padding:clamp(30px,5vw,58px); border-radius:4px; background:linear-gradient(125deg,#006d35,#009447); color:#fff; box-shadow:0 7px 20px rgb(0 90 43 / 8%); }
.mesrs-library__hero:after { content:""; position:absolute; right:-80px; bottom:-160px; width:360px; height:360px; border:55px solid rgb(255 255 255 / 8%); border-radius:50%; }
.mesrs-library__breadcrumb { position:relative; z-index:1; display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin:0 0 17px; color:rgb(255 255 255 / 82%); font-size:12px; font-weight:750; letter-spacing:.05em; text-transform:uppercase; }
.mesrs-library__breadcrumb a { color:#fff; text-decoration:none; }
.mesrs-library__breadcrumb a:hover { color:#fff; text-decoration:underline; }
.mesrs-library__kicker { margin:0 0 10px; color:inherit; font-size:12px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; }
.mesrs-library__hero h1 { position:relative; z-index:1; margin:0 0 10px; color:#fff; font-size:clamp(24px,3vw,32px); line-height:1.2; }
.mesrs-library__hero > p:last-child { position:relative; z-index:1; max-width:720px; margin:0; color:rgb(255 255 255 / 88%); font-size:17px; }
.mesrs-library__filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; padding:24px; border:1px solid var(--mesrs-line); border-radius:2px; background:#fff; box-shadow:none; }
.mesrs-library__filters label { display:block; margin-bottom:4px; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.mesrs-library__filters input,.mesrs-library__filters select { width:100%; min-height:40px; margin:0; padding:7px 11px; border:1px solid #afbeb4; border-radius:5px; background-color:#fff; box-shadow:none; font-size:13px; }
.mesrs-library__filters select { appearance:none; padding-right:34px; cursor:pointer; background-image:linear-gradient(45deg,transparent 50%,#17683d 50%),linear-gradient(135deg,#17683d 50%,transparent 50%); background-position:calc(100% - 17px) 17px,calc(100% - 12px) 17px; background-size:5px 5px,5px 5px; background-repeat:no-repeat; }
.mesrs-library__filters input:focus,.mesrs-library__filters select:focus { border-color:var(--mesrs-green); box-shadow:0 0 0 3px rgb(0 148 71 / 12%); }
.mesrs-library__search { grid-column:span 2; }
.mesrs-library__filter-actions { display:flex; align-items:end; gap:8px; }
.mesrs-library__filter-actions button,.mesrs-library__filter-actions a,.mesrs-button { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:7px 15px; border:1px solid var(--mesrs-green); border-radius:5px; background:var(--mesrs-green); color:#fff; font-size:13px; font-weight:750; text-decoration:none; cursor:pointer; }
.mesrs-library__filter-actions a,.mesrs-button--secondary { border-color:var(--mesrs-line); background:#fff; color:var(--mesrs-ink); }
.mesrs-library__filter-actions a:hover,.mesrs-button--secondary:hover { border-color:var(--mesrs-green); color:var(--mesrs-green); }
.mesrs-button:hover { background:var(--mesrs-green-dark); color:#fff; }
.mesrs-library__toolbar { display:flex; justify-content:space-between; margin:30px 0 15px; color:var(--mesrs-muted); font-size:14px; }
.mesrs-library__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.mesrs-document-card { display:flex; flex-direction:column; height:100%; min-width:0; overflow:hidden; border:1px solid var(--mesrs-line); border-radius:2px; background:#fff; box-shadow:0 8px 24px rgb(20 60 35 / 5%); transition:transform .18s ease,box-shadow .18s ease; }
.mesrs-document-card:hover { transform:translateY(-3px); box-shadow:0 14px 34px rgb(20 60 35 / 10%); }
.mesrs-document-card__cover { display:block; width:100%; aspect-ratio:4/3; overflow:hidden; background:var(--mesrs-soft); }
.mesrs-document-card__cover img { width:100%; height:100%; object-fit:cover; }
.mesrs-document-card__placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; height:100%; min-height:0; padding:18px; background:linear-gradient(145deg,#e9f6ee,#d4ecdd); color:var(--mesrs-green-dark); text-align:center; }
.mesrs-document-card__placeholder span { font-size:12px; font-weight:800; letter-spacing:.12em; }
.mesrs-document-card__placeholder strong { margin-top:16px; font-size:21px; }
.mesrs-document-card__body { display:flex; flex:1 1 auto; flex-direction:column; min-width:0; padding:18px; }
.mesrs-document-card__eyebrow { color:var(--mesrs-green); font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.mesrs-document-card h2 { margin:7px 0 9px; font-size:18px; line-height:1.3; }
.mesrs-document-card__meta { display:flex; flex-wrap:wrap; gap:6px 12px; color:var(--mesrs-muted); font-size:12px; font-weight:650; }
.mesrs-document-card__meta span+span:before { content:"•"; margin-right:10px; color:#a6b2aa; }
.mesrs-document-card__topic,.mesrs-document-card__excerpt,.mesrs-document-card__detail { margin:10px 0 0; color:var(--mesrs-muted); font-size:13px; line-height:1.5; }
.mesrs-document-card__detail { font-size:11px; }
.mesrs-document-card__actions { display:flex; margin-top:auto; padding-top:16px; }
.mesrs-document-card__actions .mesrs-button { width:100%; }
.mesrs-button__size { margin-left:4px; font-size:11px; font-weight:650; opacity:.88; }
.mesrs-library__empty { padding:60px 25px; border:1px dashed var(--mesrs-line); border-radius:8px; background:var(--mesrs-soft); text-align:center; }
.mesrs-library__pagination { display:flex; justify-content:center; gap:6px; margin-top:34px; }
.mesrs-library__pagination .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:42px; min-height:42px; padding:7px 12px; border:1px solid var(--mesrs-line); border-radius:5px; background:#fff; color:var(--mesrs-ink); text-decoration:none; }
.mesrs-library__pagination .current,.mesrs-library__pagination a:hover { border-color:var(--mesrs-green); background:var(--mesrs-green); color:#fff; }
@media(max-width:1100px){.mesrs-library__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.mesrs-library__filters{grid-template-columns:repeat(2,1fr)}.mesrs-library__search{grid-column:1/-1}.mesrs-library__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.mesrs-library__filters{grid-template-columns:1fr;gap:15px;padding:18px}.mesrs-library__search{grid-column:auto}.mesrs-library__grid{grid-template-columns:1fr}.mesrs-library__filter-actions{align-items:stretch;flex-direction:column}}
