/* IWUT Block header/footer layer. Adapted from iwut-pku pku-style.css
   for core block markup. LTR only (multilingual out of scope). */
:root{--iwut-shell-max:1760px;--iwut-shell-gutter:clamp(24px,6vw,112px)}

/* Topbar */
.topbar{position:relative;isolation:isolate;overflow:visible;z-index:5;max-height:36px;background:var(--wp--preset--color--green-deep,#022A1C);color:var(--wp--preset--color--surface);font-size:13px;transition:max-height 220ms cubic-bezier(.2,.8,.2,1),opacity 180ms ease-out}
.topbar::before{content:"";position:absolute;z-index:0;inset:0;background:#3FC3BA;-webkit-mask:url("svg/girih/girih-octagon-star-tiling.svg") center/72px 72px repeat;mask:url("svg/girih/girih-octagon-star-tiling.svg") center/72px 72px repeat;opacity:.34;pointer-events:none}
.topbar::after{content:"";position:absolute;z-index:0;inset-inline:0;bottom:0;height:2px;background:#C0A165;opacity:.9;pointer-events:none}
.topbar-row{width:min(calc(100% - var(--iwut-shell-gutter)),var(--iwut-shell-max));max-width:var(--iwut-shell-max)!important;margin-inline:auto;justify-content:space-between;align-items:center;min-height:36px}
.topbar-row>*{position:relative;z-index:1}
.topbar a{color:inherit;text-decoration:none}
.topbar a:hover{text-decoration:underline}
.topbar .audience-list,.topbar .quick-list{display:flex;gap:12px;list-style:none;margin:0;padding:0;align-items:center}
.topbar .audience-list a + a,.topbar .quick-list a + a{margin-left:12px;padding-left:12px;border-left:1px solid rgba(255,255,255,.3)}
.topbar .quick-list>li{position:relative}
.topbar .quick-list>li.menu-item-has-children{width:96px;text-align:center}
.topbar .quick-list>li.menu-item-has-children::after{content:"";position:absolute;inset-inline:0;top:100%;height:8px}
.topbar .quick-list>li.menu-item-has-children>a{display:block;box-sizing:border-box;width:100%;padding-inline:8px}
.topbar .quick-list .sub-menu{position:absolute;z-index:4;top:calc(100% + 8px);inset-inline:0;width:100%;margin:0;padding:0;list-style:none;background:#003b63;color:#fff;border:1px solid rgba(255,255,255,.22);border-top:2px solid var(--wp--preset--color--gold,#B8964A);box-shadow:0 10px 24px rgba(0,0,0,.2);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .1s ease-out,transform .1s ease-out,visibility 0s}
.topbar .quick-list .sub-menu li+li{border-top:1px solid rgba(255,255,255,.18)}
.topbar .quick-list .sub-menu a{display:block;box-sizing:border-box;width:100%;padding:9px 6px;white-space:nowrap;text-align:center}
.topbar .quick-list .sub-menu a:hover,.topbar .quick-list .sub-menu a:focus-visible{background:rgba(255,255,255,.12);text-decoration:none}
.topbar .quick-list>li:hover>.sub-menu,.topbar .quick-list>li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}

/* Mainbar */
.mainbar{position:relative;background:transparent}
/* Fixed header: transparent over hero on home, solid on scroll (ported behavior) */
header.wp-block-template-part{position:fixed;inset-inline:0;top:0;z-index:50;animation:iwut-header-in .45s cubic-bezier(.2,.8,.2,1) both;transition:background 180ms ease-out,box-shadow 180ms ease-out,transform 260ms cubic-bezier(.2,.8,.2,1),color 180ms ease-out}
@keyframes iwut-header-in{from{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:none}}
body.home header.wp-block-template-part{background:linear-gradient(var(--wp--preset--color--green-deep,#022A1C),transparent);color:var(--wp--preset--color--surface)}
header.wp-block-template-part.is-solid{background:var(--wp--preset--color--green,#043927);box-shadow:0 2px 12px rgba(0,0,0,.25)}
header.wp-block-template-part.is-solid:not(.show-top) .topbar,header.wp-block-template-part.is-hidden-top .topbar{max-height:0!important;opacity:0;border:0;visibility:hidden}
body:not(.home) main{padding-top:132px}
body:not(.home) header.wp-block-template-part{background:var(--wp--preset--color--surface);color:var(--wp--preset--color--green,#043927);box-shadow:0 2px 12px rgba(0,0,0,.1)}
body.scheme-blue:not(.home) header.wp-block-template-part{color:#002E5B}
body.scheme-blue header.wp-block-template-part.is-solid{background:var(--wp--preset--color--surface);color:#002E5B}
.admin-bar header.wp-block-template-part{top:32px}
@media (max-width:782px){.admin-bar header.wp-block-template-part{top:46px}}
.mainbar-row{width:min(calc(100% - var(--iwut-shell-gutter)),var(--iwut-shell-max));max-width:var(--iwut-shell-max)!important;margin-inline:auto;justify-content:space-between;align-items:center;min-height:96px;gap:16px}
/* Brand lockup (matches classic .logo/.logo-img) */
.brand{align-items:center;gap:10px}
.brand .wp-block-site-logo{margin:0}
.brand .wp-block-site-logo img{height:48px;width:auto;max-width:none}
.logo-tx{line-height:1.15}
.wp-block-site-title{font-weight:700;font-size:20px}
.wp-block-site-title a{text-decoration:none;color:inherit}

/* Primary nav with gold underline (classic menu markup) */
.mainbar ul.nav{display:flex;gap:2px;margin:0 auto;list-style:none;padding:0}
.mainbar ul.nav > li{position:relative}
.mainbar ul.nav > li > a{display:block;padding:24px 12px;font-weight:600;font-size:15px;text-decoration:none;position:relative;white-space:nowrap}
.mainbar ul.nav > li > a::after{content:"";position:absolute;left:14px;right:14px;bottom:16px;height:2px;background:var(--wp--preset--color--gold,#B8964A);transform:scaleX(0);transform-origin:center;transition:transform .2s ease-out}
.mainbar ul.nav > li:hover > a::after,.mainbar ul.nav > li.current-menu-item > a::after,.mainbar ul.nav > li.current-menu-ancestor > a::after{transform:scaleX(1)}
.mainbar ul.mega{position:absolute;left:0;top:100%;min-width:300px;background:var(--wp--preset--color--surface,var(--wp--preset--color--surface));color:var(--wp--preset--color--ink,#10201A);list-style:none;margin:0;padding:14px;border-top:3px solid var(--wp--preset--color--gold,#B8964A);box-shadow:0 14px 30px rgba(0,0,0,.2);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .1s ease-out,transform .1s ease-out,visibility 0s}
.mainbar ul.nav > li:hover > ul.mega,.mainbar ul.nav > li.is-open > ul.mega{opacity:1;visibility:visible;transform:none;transition:opacity .1s ease-out,transform .1s ease-out,visibility 0s}
.mainbar ul.mega a{display:block;padding:8px 12px;text-decoration:none}
.mainbar ul.mega a:hover,.mainbar ul.mega a:focus-visible{background:var(--wp--preset--color--mist,#E1EDE6);color:var(--wp--preset--color--green,#043927)}
.mainbar ul.mega .menu-static-text{display:block;padding:7px 12px}
.mainbar ul.mega .menu-section-heading .menu-static-text{margin-top:7px;border-bottom:1px solid var(--wp--preset--color--line,#C3D7CC);color:var(--wp--preset--color--green,#043927);font-weight:700;font-size:13px;text-transform:uppercase}
.mainbar ul.mega .menu-degree-label .menu-static-text{padding-left:24px;color:var(--wp--preset--color--muted,#4A5F55)}
.mainbar ul.mega .menu-degree-link a{padding-left:24px}
.qstrip ul.fq-list{display:flex;gap:14px;list-style:none;margin:0;padding:0}

/* Tools: language badge, apply button */
.mainbar-tools{align-items:center;gap:12px}
.lang-current{font-size:13px;padding:4px 8px;margin:0}
.wp-block-button.btn-apply .wp-block-button__link{background:var(--wp--preset--color--gold,#B8964A);color:#10201A;font-weight:600;padding:10px 20px;text-decoration:none;display:inline-block;border-radius:9999px;cursor:pointer;text-align:center;word-break:break-word;box-sizing:border-box}
.icon-btn{background:none;border:0;color:inherit;cursor:pointer;padding:10px;font-size:18px;line-height:1}
.circle-btn{border:1.5px solid rgba(255,255,255,.7);border-radius:50%;width:38px;height:38px;display:grid;place-items:center;padding:0;flex:0 0 auto}
.circle-btn svg{width:20px;height:20px}
.search-open,.search-open:hover,.search-open:focus-visible{color:#C0A165!important;border-color:#C0A165!important}
body:not(.home) .circle-btn,header.wp-block-template-part.is-solid .circle-btn{border-color:currentColor}
.iwut-user-avatar{display:block;flex:0 0 38px;width:38px;height:38px;border:1.5px solid #C0A165;border-radius:50%;overflow:hidden;background:var(--wp--preset--color--mist,#E1EDE6);transition:border-color .18s ease,transform .18s ease}
.iwut-user-avatar:hover,.iwut-user-avatar:focus-visible{border-color:currentColor;transform:translateY(-1px)}
.mainbar-tools > p:has(> .iwut-user-avatar){margin:0;padding:0;line-height:0}
.iwut-user-avatar__img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
@media (max-width:600px){.iwut-user-avatar{flex-basis:34px;width:34px;height:34px}}

/* Footer strip + footer */
.qstrip{position:relative;isolation:isolate;border-top:1px solid var(--wp--preset--color--line,#C3D7CC);padding:30px 0 14px;overflow:hidden}
.qstrip::before{content:"";position:absolute;z-index:-1;inset:0;background:#3FC3BA;-webkit-mask:url("svg/girih/girih-octagon-star-tiling.svg") center/150px 150px repeat;mask:url("svg/girih/girih-octagon-star-tiling.svg") center/150px 150px repeat;opacity:.18;pointer-events:none;transition:background-color 320ms cubic-bezier(.65,0,.35,1)}
.qstrip::after{content:"";position:absolute;top:0;inset-inline:0;height:3px;background:#C0A165;opacity:.85}
.qstrip-row{justify-content:space-between;align-items:center}
.site-footer{padding:26px 0 40px;text-align:center}
.site-footer p{margin:6px 0}

/* Responsive header switches to the dedicated drawer on small screens. */
.burger{display:none}
@media (max-width:960px){.burger{display:block}}
@media (max-width:960px){
	.topbar,.mainbar-row > nav{display:none}
	.mainbar-row.is-layout-flex,.qstrip-row.is-layout-flex{flex-wrap:nowrap;row-gap:8px}
	.mainbar-row.is-layout-flex>*,.qstrip-row.is-layout-flex>*{min-width:0}
	.mainbar-row{min-height:72px}
	.mainbar-tools{margin-left:auto;flex-wrap:nowrap;gap:6px}
	.mainbar .wp-block-search__inside-wrapper{flex-wrap:wrap}
	.qstrip ul{flex-wrap:wrap;row-gap:4px}
	.drawer ul.mega{position:static;opacity:1;visibility:visible;transform:none;min-width:0;box-shadow:none;border:0;border-left:2px solid var(--wp--preset--color--gold,#B8964A);padding:4px 0 4px 14px}
}
@media (max-width:600px){
	.brand .wp-block-site-logo img{height:34px}
	.logo-tx .wp-block-site-tagline{display:none}
	.wp-block-site-title{font-size:17px}
	.lang-current{display:none}
	.wp-block-button.btn-apply .wp-block-button__link{padding:8px 12px;font-size:13px;white-space:nowrap}
	.circle-btn{width:34px;height:34px}
	.burger{padding:8px}
	.mainbar::after{height:12px}
}

@media (hover:hover){
	.qstrip:hover::before,
	.qstrip:focus-within::before{background-color:#C0A165}
}

@media (prefers-reduced-motion:reduce){.topbar,header.wp-block-template-part,.topbar::before,.qstrip::before{transition:none}}

/* Mobile drawer (ported behavior; stacked list instead of details) */
.drawer{position:fixed;inset:0;background:var(--wp--preset--color--green-deep,#022A1C);color:var(--wp--preset--color--surface);z-index:80;transform:translateX(100%);transition:transform .3s;overflow:auto;padding:70px 20px 30px;visibility:hidden}
.drawer.is-open{transform:none;visibility:visible}
.drawer .drawer-close{position:absolute;top:12px;right:12px}
.drawer ul.drawer-list{list-style:none;margin:0;padding:0}
.drawer ul.drawer-list a{display:block;padding:10px 12px;text-decoration:none}
.drawer .menu-static-text{display:block;padding:10px 12px}
.drawer .menu-section-heading .menu-static-text{margin-top:10px;border-bottom:1px solid currentColor;font-weight:700}
.drawer .menu-degree-label .menu-static-text,.drawer .menu-degree-link a{padding-left:24px}
.drawer ul.drawer-list ul{list-style:none;margin:0;padding-left:16px}

/* Inline search panel */
.iwut-header-search{position:relative;display:flex;align-items:center}
.iwut-search-panel{position:absolute;top:calc(100% + 12px);right:0;z-index:60;box-sizing:border-box;width:min(360px,calc(100vw - 32px));padding:12px;background:#fff;border:1px solid var(--wp--preset--color--line,#C3D7CC);border-top:3px solid var(--wp--preset--color--gold,#B8964A);box-shadow:0 14px 30px rgba(0,0,0,.18);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .1s ease-out,transform .1s ease-out,visibility 0s}
.iwut-search-panel.is-open{opacity:1;visibility:visible;transform:none;transition:opacity .1s ease-out,transform .1s ease-out,visibility 0s}
.iwut-search-panel form{display:flex;align-items:stretch;gap:8px}
.iwut-search-panel input{flex:1;min-width:0;padding:9px 12px;border:1px solid var(--wp--preset--color--line,#C3D7CC);border-radius:3px;background:#fff;color:var(--wp--preset--color--ink,#10201A);font-size:15px}
.iwut-search-panel input:focus{border-color:var(--wp--preset--color--green,#043927);outline:0;box-shadow:0 0 0 2px rgba(4,57,39,.12)}
.iwut-search-submit{padding:9px 12px;border:0;border-radius:3px;background:var(--wp--preset--color--gold,#B8964A);color:#10201A;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.iwut-search-submit:hover{filter:brightness(.96)}
.iwut-search-panel .hint{min-height:0;margin:6px 0 0;color:#A32626;font-size:12px}
.iwut-search-panel .hint:empty{display:none}
@media (max-width:600px){
	.iwut-search-panel{position:fixed;top:76px;right:16px;left:16px;width:auto;transform:translateY(-6px)}
	body.admin-bar .iwut-search-panel{top:108px}
	.iwut-search-panel.is-open{transform:none}
}
@media (max-width:782px){body.admin-bar .iwut-search-panel{top:122px}}
@media (min-width:961px){.drawer{display:none}}
