/* QOT (qot.uw.edu.pl): deep-navy pages, white rounded header card, Futura-like
   type (Jost, a free Futura revival), slate-blue footer panel. */
@import url("fonts/jost.6be6de9f7607.css");

:root {
  --bg: #091044;
  --fg: #ffffff;
  --muted: #b9bfdc;
  --border: rgb(255 255 255 / .22);
  --primary: #4b5286;
  --primary-fg: #ffffff;
  --accent: #8bbde2;
  --link: #ffffff;
  --card-bg: #ffffff;
  --card-fg: #1c1c1c;
  --surface: rgb(255 255 255 / .08);
  --font-body: "Jost", "Futura PT", Futura, system-ui, sans-serif;
  --font-heading: var(--font-body);
  --radius: 22px;
}
body { font-size: 16.5px; letter-spacing: .005em; }
h1, h2, h3 { font-weight: 500; letter-spacing: 0; }

/* header: white rounded card floating on a circuit-pattern navy band */
.site-header { padding: 2.2rem 0 3.5rem; background: #13163f url("header-bg.4051944b9966.webp") center top / cover no-repeat; }
.header-inner { background: #fff; color: var(--primary); border-radius: 26px; padding: 1.25rem 2.5rem; min-height: 128px; box-shadow: 0 6px 30px rgb(0 0 0 / .25); max-width: calc(var(--container)); }
@media (min-width: 1260px) { .site-header .container.header-inner { padding-inline: 2.5rem; } }
.brand { color: var(--primary); }
.brand-logo { height: 84px; }
.brand-logo + .brand-name { display: none; } /* the QOT logo already contains the name */
.brand-name { text-transform: uppercase; letter-spacing: .14em; font-size: .9rem; line-height: 1.3; max-width: 21ch; }
.main-nav > ul > li > a { text-transform: uppercase; letter-spacing: .2em; font-size: 1.15rem; font-weight: 500; }
.main-nav .has-children > a::after { display: none; }
.submenu { border-radius: 14px; }
.submenu a { color: var(--primary); }
.submenu .active a, .submenu a:hover { background: #eef3fa; }

/* section pills inside the header band, as on the old People pages */
.page-header { padding-top: 2rem; }
.map a { color: #0078a8 !important; }
.map .leaflet-control-zoom a { color: #333 !important; }
.page-header .section-nav { justify-content: flex-end; }
.pill { border-color: #fff; color: #fff; min-width: 12rem; text-align: center; border-radius: 14px; padding: .45rem 1rem; }
.pill.active, .pill:hover { background: #fff; color: #091044; border-color: #fff; }

.page-header h1 { font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 500; }
.content a:not(.button):not(.pill):not(.card):not(.icon-link) { color: #fff; }
.card a, .card a:not(.button), .people-cards .person-name a, .profile .person a:not(.icon-link) { color: var(--primary) !important; }
.year { border-bottom-color: var(--border); }
.button { background: transparent; border-color: #fff; color: #fff; border-radius: 14px; text-transform: uppercase; font-weight: 500; letter-spacing: .03em; min-width: 16rem; justify-content: space-between; }
.button:hover { background: #fff; color: #091044; filter: none; }
.badge { background: rgb(255 255 255 / .14); color: #fff; }
.card .badge { background: #eef0f7; color: var(--primary); }
.card, .people-cards .person, .footer-funding { --muted: #62677d; }
.card .muted { color: var(--muted); }
.notice { background: rgb(255 255 255 / .08); }
.filter-bar input, .filter-bar select { border-radius: 14px; }
details summary { color: var(--accent); }

/* hero: QOT has no full-screen hero; keep a calm intro band */
.hero { text-align: left; padding: 3rem 0 1rem; }
.hero h1 { font-size: clamp(1.8rem, 3.2vw, 2.4rem); font-weight: 500; }
.hero hr { margin-left: 0; }

/* people cards: rounded-square photos, team-coloured top border */
.people-cards .person { border-radius: 0; }
.people-cards .person-photo img, .people-cards .person-placeholder { border-radius: 30px; border: 6px solid #f3f3f5; }
.people-cards .person-name { font-weight: 500; }
.people-section + .people-section, .people-role { border-top: 1px solid var(--border); padding-top: 1.5rem; }
.icon-link { background: #eef0f7; color: var(--primary) !important; }
.icon-orcid { background: #a6ce39; color: #1d2a05 !important; } /* white on ORCID green is unreadable */
.icon-scholar { background: #1a5fd0; color: #fff !important; }

.team-card { border-radius: 4px; }
.team-card .acronym { color: var(--primary); }

/* footer: contact on navy, slate panel with links, white funding strip */
.site-footer { margin-top: 5rem; background: var(--bg); color: #fff; }
.footer-grid { padding: 0; gap: 0; max-width: none; grid-template-columns: minmax(260px, 30%) 1fr; }
.footer-contact { padding: 3rem var(--gutter) 3rem max(var(--gutter), calc((100vw - var(--container)) / 2)); }
.footer-contact h2 { border-bottom: 1px solid #fff; display: inline-block; padding-bottom: .5rem; min-width: 10rem; font-weight: 500; }
.footer-links { background: #4b5286; border-radius: 60px 0 0 0; padding: 3rem var(--gutter); }
.footer-menu { display: flex; flex-wrap: nowrap; gap: 0; }
.footer-menu a { text-decoration: none; }
.footer-menu a:hover { text-decoration: underline; }
@media (max-width: 900px) { .footer-menu { flex-wrap: wrap; row-gap: 1.5rem; } .footer-menu > div { border-left: 0; padding-left: 0; } }
.footer-menu > div { padding: 0 2.5rem; border-left: 1px solid rgb(255 255 255 / .5); }
.footer-menu > div:first-child { border-left: 0; padding-left: 0; }
.footer-menu h2 { text-transform: uppercase; font-weight: 500; letter-spacing: .03em; }
.footer-menu ul { columns: auto; }
.footer-partners { padding-top: 1rem; }
.footer-funding { padding: 2.5rem 0; }
.footer-bottom { background: var(--bg); }
@media (max-width: 760px) { .footer-links { border-radius: 30px 30px 0 0; } .header-inner { padding: 1rem 1.25rem; min-height: 0; border-radius: 18px; } }

/* lab logo tiles (labs list, lab page header, menu) */
.team-logo-tile { display: grid; place-items: center; background: #fff; border-radius: 26px; padding: 1rem 1.5rem; width: 280px; height: 118px; flex: none; }
.team-logo-tile img { max-width: 100%; max-height: 86px; width: auto; height: auto; }
.team-row { display: flex; align-items: center; gap: 3rem; padding: 1.4rem 0; border-bottom: 1px solid var(--border); }
.team-row h3 { margin: 0 0 .2rem; font-size: 1.3rem; font-weight: 500; }
.team-row h3 a { color: #fff; text-decoration: none; }
.team-row .leader { margin: 0; font-size: 1.1rem; }
.team-row .button { margin-left: auto; min-width: 0; }
.team-row.former .team-logo-tile { opacity: .75; }
@media (max-width: 760px) { .team-row { flex-wrap: wrap; gap: 1rem; } .team-logo-tile { width: 200px; height: 90px; } .team-row .button { margin-left: 0; } }
.team-header { display: flex; align-items: center; gap: 3rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--border); }
.team-header h1 { margin: 0 0 .4rem; }
.team-header .leader { margin: 0; font-size: 1.15rem; }

/* EU / funder logo strips: a deliberate white panel instead of a white box on navy */
.content .funding-logos { background: #fff; border-radius: 18px; padding: .9rem 1.6rem; display: inline-flex; box-shadow: 0 4px 18px rgb(0 0 0 / .25); }
.content .funding-block { text-align: center; margin: 1.5rem 0 2.5rem; }
.content .funding-logos .logo-strip { max-height: 90px; }
.pub-funding .funding-text { color: var(--muted); }

/* partner logos on the navy home page in white */
.content .logo-row img { filter: brightness(0) invert(1); opacity: .92; --logo-h: 60px; }
.content .logo-row { gap: 2rem 2.75rem; }

/* research highlight cards */
.highlights h2 { font-weight: 500; }
.highlight .highlight-body h3 a { color: var(--primary) !important; }
.highlight .journal { font-weight: 600; color: #4b5286; }

/* teaching: bright pages for readability */
.page-teachingindexpage main .content, .page-coursepage main .content {
  background: #fff; color: #1c1c1c; border-radius: 26px; padding: 2.5rem clamp(1.25rem, 4vw, 3rem); margin-bottom: 3rem;
  --fg: #1c1c1c; --muted: #5d627a; --border: #e1e3ec; --surface: #eef0f7; --link: #2d4fa3;
}
.page-teachingindexpage main .content a:not(.button):not(.card),
.page-coursepage main .content a:not(.button) { color: #2d4fa3 !important; }
.page-coursepage main .content .button, .page-teachingindexpage main .content .button { color: #091044; border-color: #091044; }
.page-coursepage main .content .button:hover { background: #091044; color: #fff; }
.page-teachingindexpage .course.card { border: 1px solid var(--border); box-shadow: none; }
.page-coursepage .badge, .page-teachingindexpage .badge { background: #eef0f7; color: #4b5286; }

/* footer: wider contact column so the address does not wrap into a tall block */
/* contact column = left alignment offset + room for the address on single lines */
.site-footer { --footer-offset: max(var(--gutter), calc((100vw - var(--container)) / 2)); }
.footer-grid { grid-template-columns: calc(var(--footer-offset) + 360px) minmax(0, 1fr); }
.footer-contact { padding-left: var(--footer-offset) !important; padding-right: 2rem; }
@media (max-width: 1100px) { .footer-grid { grid-template-columns: 1fr; } .footer-contact { padding-left: var(--gutter) !important; } }
.footer-menu { flex-wrap: wrap; row-gap: 1.5rem; }
.footer-menu > div { padding: 0 1.4rem; max-width: 260px; }
@media (min-width: 1500px) { .footer-menu > div { max-width: none; } .footer-menu li { white-space: nowrap; } }
