/* Shared public-site visual system */
:root { --ink:#173b24; --green:#207a3c; --green-dark:#155c35; --mint:#f3faf5; --gold:#f3ad16; --line:#e1ece4; --muted:#667085; }
body { background:#f6f8f7; color:#243b2c; }
.container { width:min(1120px, calc(100% - 32px)); box-sizing:border-box; }
main > section:not(.hero-modern) { padding:46px 0; }
main h2 { color:var(--ink); font-size:clamp(1.7rem,3vw,2.3rem); letter-spacing:-.02em; }
.page-heading { margin-bottom:24px; }
.page-heading h2 { margin:6px 0 8px; }
.page-heading p { color:var(--muted); margin:0; }
.eyebrow { color:var(--green); font-size:.78rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; box-sizing:border-box; padding:0 18px; border:0; border-radius:7px; font-weight:700; text-decoration:none; cursor:pointer; }
.button-primary { background:var(--green); color:#fff; }
.button-danger { background:#b42318; color:#fff; }
.button-gold { background:var(--gold); color:#17452a; }
.button-small { min-height:34px; padding:0 12px; font-size:.9rem; }
.button:hover { filter:brightness(.96); transform:translateY(-1px); }
.table-wrap { overflow-x:auto; border-radius:12px; }
.publications table { width:100%; border-collapse:collapse; background:#fff; }
.publications th { background:var(--mint); color:var(--green); padding:15px 14px; text-align:left; }
.publications td { padding:15px 14px; }
.publication-title { color:var(--green); font-weight:750; text-decoration:none; }
.publication-title:hover { text-decoration:underline; }
.empty-state { padding:34px !important; text-align:center; color:var(--muted); }
.results-summary { color:var(--muted); font-size:.92rem; margin:18px 0 10px; }
.pagination { display:flex; justify-content:center; gap:7px; margin-top:24px; }
.pagination a { min-width:38px; padding:9px 12px; box-sizing:border-box; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--green); text-align:center; text-decoration:none; }
.pagination a.active, .pagination a:hover { background:var(--green); color:#fff; }
.pagination a.pager-link { min-width:auto; }
.pagination a.disabled { opacity:.45; pointer-events:none; }
.related-publications { margin-top:28px; }
.related-publications h2 { margin:0 0 14px; font-size:1.35rem; }
.related-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; }
.related-card { display:flex; flex-direction:column; gap:9px; min-height:130px; padding:18px; box-sizing:border-box; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--ink); text-decoration:none; box-shadow:0 4px 14px rgba(23,59,36,.05); }
.related-card:hover { border-color:#9fcaae; transform:translateY(-2px); }
.related-card span { color:var(--muted); font-size:.82rem; }
.related-card strong { line-height:1.35; }
.related-card em { margin-top:auto; color:var(--green); font-size:.88rem; font-style:normal; font-weight:700; }
.public-card, .edition-details, .latest-publications, .latest-announcements, .blog-card, .archive article { border:1px solid var(--line); box-shadow:0 5px 18px rgba(23,59,36,.06); }
.filter-form, .publications form { background:#fff; border:1px solid var(--line); border-radius:12px; padding:14px; box-shadow:0 3px 12px rgba(23,59,36,.05); }
.filter-form input, .filter-form select, .publications select, .publications input { min-height:42px; border:1px solid #cfd9d2; border-radius:7px; padding:0 12px; background:#fff; color:var(--ink); }
.filter-form button, .publications form button { min-height:42px; border-radius:7px !important; }
.publications table { border:1px solid var(--line); overflow:hidden; }
.publications th { white-space:nowrap; }
.publications td { border-top:1px solid #edf2ee; vertical-align:middle; line-height:1.4; }
.publications tbody tr:hover { background:#fbfefc; }
.publications td a[href^="publication.php"] { display:inline-block; line-height:1.4; }
.announcements .container, .archive .container, .gallery .container, .conferences .container { position:relative; }
.announcements article, .archive article { background:#fff; border-radius:12px; padding:22px; margin-bottom:16px; }
.gallery .modern-gallery-grid { gap:20px; }
.modern-gallery-card { border:1px solid var(--line); box-shadow:0 5px 16px rgba(23,59,36,.07); border-radius:12px; overflow:hidden; background:#fff; }
.modern-gallery-img { transition:transform .3s ease; }
.modern-gallery-card:hover .modern-gallery-img { transform:scale(1.04); }
.conferences .editions-list { grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important; }
.conferences .blog-card { min-height:100%; }
.contact-flex-wrap { align-items:stretch; }
.contact-form-box, .contact-info-box { border:1px solid var(--line); box-shadow:0 5px 18px rgba(23,59,36,.07); }
footer { margin-top:0; }
@media (max-width:700px) {
  main > section:not(.hero-modern) { padding:30px 0; }
  .container { width:min(100% - 24px, 1120px); padding:12px; }
  .publications form { display:grid !important; grid-template-columns:1fr; gap:10px !important; }
  .publications form input, .publications form select, .publications form button, .publications form a { max-width:none !important; width:100%; box-sizing:border-box; margin:0 !important; text-align:center; }
  .publications table { font-size:.9rem; min-width:720px; }
  .publications > .container > div[style*="overflow-x"] { border-radius:10px; }
  .contact-flex-wrap { gap:18px; }
}
