/*
Theme Name: FF UNSA Clean
Theme URI: https://ff.unsa.ba
Author: FF UNSA
Description: Čista custom tema za FF UNSA portal.
Version: 3.1.0
Text Domain: ffunsa
*/
:root{--ff-navy:#052f5f;--ff-navy-2:#073f78;--ff-blue:#0a4f91;--ff-gold:#e4b126;--ff-bg:#f4f7fb;--ff-text:#0b315d;--ff-muted:#6d7f91;--ff-line:#dfe7ef;--ff-white:#fff;--ff-max:1440px;--ff-shadow:0 12px 30px rgba(5,47,95,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ff-text);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}img{max-width:100%;height:auto}.ff-container{width:min(calc(100% - 48px),var(--ff-max));margin:0 auto}
.ff-topbar{height:38px;background:#062a54;color:#fff;font-size:12px}.ff-topbar .ff-container{height:100%;display:flex;align-items:center;justify-content:space-between}.ff-utilities{display:flex;align-items:center;gap:18px}.ff-utilities a{text-decoration:none;opacity:.96}.ff-eunsa{padding:6px 10px;border:1px solid rgba(255,255,255,.35);border-radius:4px;font-weight:700}.ff-lang{font-weight:700}.ff-search-trigger{font-size:15px}
.ff-hero{position:relative;min-height:610px;background:#0b3a69;overflow:visible}.ff-hero-media{position:absolute;inset:0;background:url('assets/images/hero.jpg') center center/cover no-repeat}.ff-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,33,66,.64) 0%,rgba(3,33,66,.46) 45%,rgba(2,28,56,.38) 100%)}
.ff-header{position:relative;z-index:20}.ff-navrow{display:flex;align-items:center;gap:30px;padding:18px 0 0}.ff-logo{flex:0 0 108px}.ff-logo img{width:108px;height:108px;object-fit:contain;border-radius:50%;display:block}.ff-nav{display:flex;align-items:center;justify-content:space-between;gap:15px;flex:1}.ff-nav-item{position:relative}.ff-nav-link{display:flex;align-items:center;gap:7px;padding:15px 4px 19px;color:#fff;text-decoration:none;font-weight:800;font-size:14px;white-space:nowrap;letter-spacing:.01em;border-bottom:3px solid transparent}.ff-nav-link:hover,.ff-nav-item.is-open>.ff-nav-link{border-color:var(--ff-gold)}.ff-nav-link .chev{font-size:9px;opacity:.85}
.ff-dropdown{position:absolute;top:58px;left:0;min-width:290px;background:#fff;border-top:3px solid var(--ff-gold);box-shadow:0 16px 40px rgba(0,0,0,.22);border-radius:0 0 8px 8px;padding:12px;display:none;color:var(--ff-text)}.ff-nav-item:hover>.ff-dropdown,.ff-nav-item:focus-within>.ff-dropdown{display:block}.ff-dropdown a{display:block;text-decoration:none;padding:11px 13px;border-radius:6px;font-size:13px;line-height:1.25}.ff-dropdown a:hover{background:#f2f6fb;color:var(--ff-blue)}.ff-dropdown.cols-3{width:760px;display:none;grid-template-columns:repeat(3,1fr);gap:5px}.ff-nav-item:hover>.ff-dropdown.cols-3,.ff-nav-item:focus-within>.ff-dropdown.cols-3{display:grid}.ff-dropdown-title{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--ff-gold);font-weight:800;padding:8px 13px 4px}
.ff-hero-copy{position:relative;z-index:5;padding-top:165px;padding-left:58px;color:#fff}.ff-hero-copy h1{margin:0;max-width:690px;font-size:44px;line-height:1.12;letter-spacing:-.02em;font-weight:900;text-shadow:0 3px 18px rgba(0,0,0,.34)}.ff-hero-copy .kicker{display:inline-block;margin-top:34px;color:var(--ff-gold);font-size:15px;font-weight:900;letter-spacing:.28em;text-transform:uppercase;position:relative;padding-bottom:10px}.ff-hero-copy .kicker:after{content:"";position:absolute;left:0;bottom:0;width:70px;height:3px;background:var(--ff-gold)}
.ff-quick-wrap{position:relative;z-index:12;margin-top:-54px}.ff-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.ff-quick-card{min-height:112px;background:#fff;border:1px solid #e4eaf1;border-radius:8px;box-shadow:var(--ff-shadow);display:flex;align-items:center;gap:24px;padding:22px 28px;text-decoration:none;transition:.2s ease}.ff-quick-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(5,47,95,.18)}.ff-quick-icon{width:48px;height:48px;display:grid;place-items:center;color:var(--ff-gold);flex:0 0 48px}.ff-quick-icon svg{width:34px;height:34px;stroke:currentColor;stroke-width:1.9;fill:none}.ff-quick-card strong{font-size:21px;color:var(--ff-navy-2);letter-spacing:.01em}
.ff-stream-section{padding:46px 0 56px;background:#fff}.ff-stream-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1160px;margin:0 auto}.ff-stream{background:#f6f8fb;border:1px solid #ebeff4;border-radius:8px;padding:14px}.ff-stream-heading{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:18px;color:var(--ff-navy-2)}.ff-stream-heading .mini{color:var(--ff-navy-2);width:23px}.ff-stream-list{display:grid;gap:8px}.ff-stream-item{background:#fff;border:1px solid var(--ff-line);border-radius:6px;display:grid;grid-template-columns:86px 1fr 20px;align-items:center;gap:8px;padding:12px 13px;text-decoration:none;min-height:56px}.ff-stream-item time{font-size:11px;color:#7d8b99}.ff-stream-item strong{font-size:13px;line-height:1.25}.ff-stream-item .arr{color:var(--ff-blue);font-weight:800}.ff-stream-more{display:inline-block;margin:13px 4px 2px;color:#0864bc;text-decoration:none;font-size:13px;font-weight:800}
.ff-footer{background:linear-gradient(90deg,#073f78,#063664);color:#fff}.ff-footer-main{display:grid;grid-template-columns:1.05fr 1.45fr 1fr 1.25fr;gap:38px;padding:42px 0 34px;align-items:start}.ff-footer-brand img{width:78px;border-radius:50%}.ff-footer-brand p{font-size:12px;line-height:1.6;max-width:260px}.ff-footer h3{font-size:13px;color:var(--ff-gold);text-transform:uppercase;margin:0 0 16px}.ff-contact-line{font-size:13px;margin:0 0 8px}.ff-map-box{margin-top:14px;border:1px solid rgba(255,255,255,.38);height:76px;display:grid;place-items:center;font-size:12px}.ff-footer-links a{display:block;text-decoration:none;font-size:13px;margin:0 0 10px}.ff-contact-search{display:flex}.ff-contact-search input{width:100%;height:44px;border:0;padding:0 14px;font-size:13px}.ff-contact-search button{width:50px;border:0;background:#062951;color:#fff;font-size:17px}.ff-portal-button{margin-top:14px;display:block;border:1px solid rgba(255,255,255,.5);text-align:center;padding:12px;text-decoration:none;font-weight:800;font-size:12px}.ff-footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding:17px 0;text-align:center;color:var(--ff-gold);font-size:11px}
.ff-mobile-toggle{display:none;margin-left:auto;background:none;border:1px solid rgba(255,255,255,.5);color:#fff;border-radius:5px;padding:9px 11px;font-size:18px}
@media(max-width:1250px){.ff-nav{gap:8px}.ff-nav-link{font-size:12px}.ff-hero-copy{padding-left:30px}.ff-hero-copy h1{font-size:39px}.ff-dropdown.cols-3{width:650px}}
@media(max-width:980px){.ff-nav{display:none}.ff-mobile-toggle{display:block}.ff-navrow{align-items:flex-start}.ff-hero{min-height:570px}.ff-hero-copy{padding-top:170px;padding-left:10px}.ff-hero-copy h1{font-size:34px}.ff-quick-grid{grid-template-columns:repeat(2,1fr)}.ff-stream-grid{grid-template-columns:1fr}.ff-footer-main{grid-template-columns:repeat(2,1fr)}.ff-topbar .ff-container>span:first-child{display:none}}
@media(max-width:600px){.ff-container{width:min(calc(100% - 28px),var(--ff-max))}.ff-topbar{height:auto;padding:8px 0}.ff-utilities{gap:11px}.ff-logo{flex-basis:82px}.ff-logo img{width:82px;height:82px}.ff-hero{min-height:520px}.ff-hero-copy{padding-top:175px}.ff-hero-copy h1{font-size:29px}.ff-hero-copy .kicker{font-size:12px}.ff-quick-wrap{margin-top:-30px}.ff-quick-grid{grid-template-columns:1fr}.ff-quick-card{min-height:90px}.ff-footer-main{grid-template-columns:1fr}.ff-stream-section{padding-top:34px}}


/* v2.2 menu hierarchy + content presentation; layered on stable v2.0 */
.ff-has-sub{position:relative}.ff-has-sub>a{display:flex!important;justify-content:space-between;align-items:center;gap:16px}.ff-submenu{position:absolute;left:calc(100% + 8px);top:-12px;min-width:310px;max-width:410px;background:#fff;border-top:3px solid var(--ff-gold);box-shadow:0 16px 40px rgba(0,0,0,.22);border-radius:0 8px 8px 8px;padding:10px;display:none;z-index:70}.ff-has-sub:hover>.ff-submenu,.ff-has-sub:focus-within>.ff-submenu{display:block}.ff-submenu a{font-size:12.5px!important}.ff-submenu-long{max-height:430px;overflow-y:auto}.ff-dropdown-right{left:auto;right:0}
.ff-quick-icon svg{stroke-linecap:round;stroke-linejoin:round}.ff-quick-card:nth-child(1) .ff-quick-icon svg,.ff-quick-card:nth-child(2) .ff-quick-icon svg,.ff-quick-card:nth-child(3) .ff-quick-icon svg,.ff-quick-card:nth-child(4) .ff-quick-icon svg,.ff-quick-card:nth-child(5) .ff-quick-icon svg,.ff-quick-card:nth-child(6) .ff-quick-icon svg,.ff-quick-card:nth-child(7) .ff-quick-icon svg,.ff-quick-card:nth-child(8) .ff-quick-icon svg{stroke-width:1.8}
.ff-stream-item{grid-template-columns:86px 1fr auto}.ff-stream-item .open-label{font-size:11px;color:var(--ff-blue);font-weight:800;white-space:nowrap}.ff-stream-heading .mini{font-size:18px;width:auto}.ff-news-card{background:#fff;border:1px solid var(--ff-line);border-radius:7px;overflow:hidden}.ff-news-image{display:block;height:150px;background:#dce7f2;overflow:hidden}.ff-news-image img{width:100%;height:100%;object-fit:cover;display:block}.ff-news-image.placeholder{background:linear-gradient(135deg,#dae6f1,#a8bfd6)}.ff-news-body{padding:14px}.ff-news-body time{font-size:11px;color:#7d8b99}.ff-news-body h3{font-size:17px;line-height:1.3;margin:5px 0}.ff-news-body h3 a{text-decoration:none;color:var(--ff-navy-2)}.ff-news-body p{font-size:13px;line-height:1.45;color:#526679;margin:0 0 9px}.ff-news-more{text-decoration:none;color:#0864bc;font-size:13px;font-weight:800}
@media(max-width:1250px){.ff-submenu{left:auto;right:100%}}


/* ==========================================
   FF UNSA v2.4 — Modern Portal Polish
   Targets the real v2.2 .ff-* DOM classes
   ========================================== */
:root{
  --ff-modern-blue:#063b70;
  --ff-modern-blue2:#0b5b9e;
  --ff-modern-gold:#e4b126;
  --ff-modern-surface:#f7f9fc;
  --ff-modern-border:#dce5ee;
  --ff-modern-shadow:0 12px 32px rgba(5,47,95,.09);
  --ff-modern-shadow-hover:0 20px 46px rgba(5,47,95,.15);
}

/* v4.0.5 — javne arhive objava */
.ff-archive-hero{padding:54px 0 40px;background:#0b3155;color:#fff}.ff-archive-hero h1{margin:18px 0 0;font-size:42px}.ff-archive-hero .ff-breadcrumbs,.ff-archive-hero .ff-breadcrumbs a{color:#dce8f2}
.ff-archive-content{padding-top:42px;padding-bottom:64px}.ff-archive-list{border-top:1px solid #dfe6ec}.ff-archive-row{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:24px;align-items:start;padding:24px 0;border-bottom:1px solid #dfe6ec}.ff-archive-row time{color:#0866bf;font-size:12px;font-weight:700}.ff-archive-row h2{margin:0 0 8px;font-size:20px;line-height:1.3}.ff-archive-row h2 a{color:#0b3155;text-decoration:none}.ff-archive-row p{margin:0;color:#607385;line-height:1.6}.ff-archive-open{color:#0b4a81;font-weight:700;text-decoration:none;white-space:nowrap}.ff-pagination{margin-top:34px}.ff-pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px}.ff-pagination .page-numbers{min-width:40px;padding:9px 12px;border:1px solid #d4dee6;color:#0b3155;text-align:center;text-decoration:none}.ff-pagination .page-numbers.current{border-color:#0b3155;background:#0b3155;color:#fff}
@media(max-width:760px){.ff-archive-hero{padding:38px 0 30px}.ff-archive-hero h1{font-size:32px}.ff-archive-content{padding-top:24px}.ff-archive-row{grid-template-columns:1fr;gap:8px;padding:18px 0}.ff-archive-open{margin-top:4px}.ff-pagination .page-numbers{min-width:36px;padding:8px 10px}}

/* Header + navigation */
.ff-development-bar{position:relative;z-index:10010;background:#e2ad22;color:#092d4f;font-size:12px;line-height:1.3}
.ff-development-bar .ff-container{display:flex;align-items:center;justify-content:center;gap:12px;min-height:30px;padding-top:5px;padding-bottom:5px;text-align:center}
.ff-development-bar strong{text-transform:uppercase;letter-spacing:.06em}.ff-development-bar span{padding-left:12px;border-left:1px solid rgba(9,45,79,.3)}
@media(max-width:520px){.ff-development-bar .ff-container{gap:8px}.ff-development-bar span{padding-left:8px}}

.ff-header{
  transition:background .22s ease, box-shadow .22s ease, transform .22s ease;
}
body.ff-scrolled .ff-header{
  position:fixed;
  top:38px;
  left:0;
  right:0;
  z-index:200;
  background:rgba(5,47,95,.96);
  backdrop-filter:blur(10px) saturate(135%);
  box-shadow:0 12px 30px rgba(0,0,0,.18);
}
body.ff-scrolled .ff-navrow{min-height:74px}
body.ff-scrolled .ff-logo img{width:74px;height:74px}
body.ff-scrolled .ff-nav-link{padding-top:24px;padding-bottom:24px}

.ff-dropdown,.ff-submenu{
  transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
}
.ff-nav-item>.ff-dropdown{
  opacity:0;
  transform:translateY(8px);
  visibility:hidden;
  display:grid !important;
  pointer-events:none;
}
.ff-nav-item:hover>.ff-dropdown{
  opacity:1;
  transform:translateY(0);
  visibility:visible;
  pointer-events:auto;
}
.ff-has-sub>.ff-submenu{
  opacity:0;
  transform:translateX(8px);
  visibility:hidden;
  display:block !important;
  pointer-events:none;
}
.ff-has-sub:hover>.ff-submenu{
  opacity:1;
  transform:none;
  visibility:visible;
  pointer-events:auto;
}

/* Quick category cards */
.ff-quick-wrap{background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%)}
.ff-quick-card{
  position:relative;
  overflow:hidden;
  border:1px solid var(--ff-modern-border);
  box-shadow:var(--ff-modern-shadow);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.ff-quick-card::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:3px;
  background:linear-gradient(90deg,var(--ff-modern-gold),#f0cf65);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .22s ease;
}
.ff-quick-card:hover{
  transform:translateY(-5px);
  border-color:#ccd9e6;
  box-shadow:var(--ff-modern-shadow-hover);
}
.ff-quick-card:hover::after{transform:scaleX(1)}
.ff-quick-icon svg{
  transition:transform .22s ease;
}
.ff-quick-card:hover .ff-quick-icon svg{transform:scale(1.08)}

/* More editorial / news portal layout */
.ff-stream-section{
  background:
    radial-gradient(circle at 50% -20%,rgba(9,79,145,.06),transparent 35%),
    #fff;
  padding-top:34px;
}
.ff-stream-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1.28fr) minmax(0,1fr);
  gap:24px;
  align-items:start;
}
.ff-stream{
  background:#f8fafc;
  border:1px solid #e0e7ef;
  border-radius:12px;
  padding:18px;
  box-shadow:0 7px 20px rgba(5,47,95,.055);
  transition:transform .2s ease,box-shadow .2s ease;
}
.ff-stream:hover{
  transform:translateY(-2px);
  box-shadow:0 15px 32px rgba(5,47,95,.09);
}
.ff-stream-heading{
  margin:0 0 14px;
  padding:0 0 11px;
  border-bottom:2px solid rgba(228,177,38,.7);
  font-size:20px;
  letter-spacing:-.015em;
}

/* Official lists */
.ff-stream-item{
  border-radius:8px;
  transition:transform .17s ease,border-color .17s ease,background .17s ease;
}
.ff-stream-item:hover{
  transform:translateX(4px);
  border-color:#c7d5e3;
  background:#fff;
}
.ff-stream-item .open-label{
  transition:transform .17s ease,color .17s ease;
}
.ff-stream-item:hover .open-label{
  transform:translateX(3px);
  color:#0b69b3;
}
.ff-stream-more{
  display:inline-flex;
  margin-top:14px;
  font-weight:800;
  text-decoration:none;
  position:relative;
}
.ff-stream-more::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-3px;height:1px;
  background:#0b69b3;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .18s ease;
}
.ff-stream-more:hover::after{transform:scaleX(1)}

/* News card becomes visual / Klix-like but cleaner */
.ff-news-stream{background:#fff}
.ff-news-card{
  border-radius:10px;
  overflow:hidden;
  border:1px solid #dce5ee;
  background:#fff;
  box-shadow:0 7px 18px rgba(5,47,95,.055);
}
.ff-news-image{
  height:220px !important;
  overflow:hidden;
  display:block;
}
.ff-news-image img,
.ff-news-image.placeholder{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .38s ease;
}
.ff-news-card:hover .ff-news-image img,
.ff-news-card:hover .ff-news-image.placeholder{transform:scale(1.045)}
.ff-news-body{padding:16px 17px 18px}
.ff-news-body h3{
  font-size:21px;
  line-height:1.22;
  letter-spacing:-.02em;
  margin:5px 0 8px;
}
.ff-news-body h3 a{text-decoration:none}
.ff-news-body p{font-size:13.5px;line-height:1.55}
.ff-news-more{
  font-weight:800;
  color:#0b69b3;
  text-decoration:none;
}
.ff-news-secondary{
  display:grid;
  margin-top:12px;
}
.ff-news-secondary a{
  display:grid;
  grid-template-columns:72px 1fr auto;
  gap:10px;
  align-items:center;
  border-top:1px solid #e1e8ef;
  padding:11px 3px;
  text-decoration:none;
  color:#123c68;
  transition:padding-left .17s ease,color .17s ease;
}
.ff-news-secondary a:hover{padding-left:7px;color:#0b69b3}
.ff-news-secondary time{font-size:11px;color:#8a99a8}
.ff-news-secondary strong{font-size:13px;line-height:1.35}
.ff-news-secondary span{font-weight:800}

/* Scroll reveal */
.ff-reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .55s ease,transform .55s ease;
}
.ff-reveal.ff-visible{
  opacity:1;
  transform:none;
}

@media(max-width:1000px){
  .ff-stream-grid{grid-template-columns:1fr}
  .ff-breaking-items{overflow-x:auto}
}
@media(prefers-reduced-motion:reduce){
  .ff-reveal{opacity:1;transform:none}
  *,*::before,*::after{transition:none!important}
}


/* ==========================================
   FF UNSA v2.5 — News-first editorial layout
   ========================================== */

/* modern category icon presentation */
.ff-quick-icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:linear-gradient(145deg,rgba(228,177,38,.13),rgba(228,177,38,.035));
  border:1px solid rgba(228,177,38,.22);
  flex:0 0 54px;
}
.ff-quick-icon svg{
  width:31px;
  height:31px;
  fill:none;
  stroke:#dea500;
  stroke-width:1.95;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ff-quick-card:hover .ff-quick-icon{
  background:linear-gradient(145deg,rgba(228,177,38,.20),rgba(228,177,38,.06));
}

/* News-first: 50% / 25% / 25% */
.ff-stream-grid-newsfirst{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);
  gap:18px;
  align-items:start;
}
.ff-stream-grid-newsfirst .ff-news-stream{
  grid-column:1;
}
.ff-stream-grid-newsfirst .ff-news-stream .ff-news-image{
  height:300px !important;
}
.ff-stream-grid-newsfirst .ff-news-stream .ff-news-body h3{
  font-size:25px;
  line-height:1.16;
}
.ff-stream-grid-newsfirst .ff-news-stream .ff-news-body p{
  font-size:14px;
  max-width:90%;
}
.ff-stream-grid-newsfirst .ff-stream:not(.ff-news-stream){
  padding:16px;
}
.ff-stream-grid-newsfirst .ff-stream:not(.ff-news-stream) .ff-stream-heading{
  font-size:18px;
}
.ff-stream-grid-newsfirst .ff-stream:not(.ff-news-stream) .ff-stream-item{
  grid-template-columns:70px 1fr;
  gap:8px;
  padding:11px 10px;
}
.ff-stream-grid-newsfirst .ff-stream:not(.ff-news-stream) .ff-stream-item .open-label{
  grid-column:2;
  justify-self:start;
  font-size:11px;
  margin-top:-3px;
}
.ff-stream-grid-newsfirst .ff-stream:not(.ff-news-stream) .ff-stream-item time{
  font-size:10.5px;
}
.ff-stream-grid-newsfirst .ff-stream:not(.ff-news-stream) .ff-stream-item strong{
  font-size:12.5px;
  line-height:1.28;
}
.ff-stream-grid-newsfirst .ff-news-secondary{
  grid-template-columns:1fr 1fr;
  gap:0 14px;
}
.ff-stream-grid-newsfirst .ff-news-secondary a{
  grid-template-columns:68px 1fr auto;
}

/* subtly more portal-like spacing */
.ff-stream-section{
  padding-top:30px;
  padding-bottom:52px;
}
.ff-stream-grid-newsfirst .ff-stream{
  min-height:100%;
}

@media(max-width:1150px){
  .ff-stream-grid-newsfirst{
    grid-template-columns:1fr 1fr;
  }
  .ff-stream-grid-newsfirst .ff-news-stream{
    grid-column:1 / -1;
  }
}
@media(max-width:760px){
  .ff-stream-grid-newsfirst{grid-template-columns:1fr}
  .ff-stream-grid-newsfirst .ff-news-stream{grid-column:auto}
  .ff-breaking-items{overflow-x:auto}
}

/* FF UNSA v2.6 — Aktuelno strip removed */
.ff-hero-copy{
  margin-top:0;
}


/* ==========================================
   FF UNSA v2.7 — Compact hero + Quote of the Day
   ========================================== */

/* Stable hero image: no zoom, no hover movement */
.ff-hero{
  min-height:500px;
}
.ff-hero-media{
  transform:none !important;
  transition:none !important;
}
.ff-hero:hover .ff-hero-media{
  transform:none !important;
}

/* More compact hero copy */
.ff-hero-copy{
  padding-top:140px;
}
.ff-hero-copy h1{
  font-size:clamp(34px,3.25vw,54px);
  line-height:1.08;
  max-width:760px;
  margin-bottom:26px;
}
.ff-hero-subtitle{
  display:block;
  font-size:clamp(16px,1.45vw,23px);
  line-height:1.35;
  font-weight:600;
  letter-spacing:.01em;
  margin-top:12px;
  opacity:.96;
}
.ff-hero-copy .kicker{
  margin-top:12px;
}

/* Pull the quick categories upward */
.ff-quick-wrap{
  margin-top:-58px;
  position:relative;
  z-index:24;
}

/* Quote of the Day */
.ff-quote-day{
  background:#fff;
  padding:32px 0 28px;
}
.ff-quote-inner{
  text-align:center;
  max-width:980px;
  position:relative;
}
.ff-quote-mark{
  display:block;
  color:var(--ff-gold);
  font-family:Georgia,"Times New Roman",serif;
  font-size:54px;
  line-height:.65;
  margin-bottom:8px;
  opacity:.9;
}
.ff-quote-inner blockquote{
  margin:0 auto;
  max-width:820px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(19px,1.55vw,26px);
  line-height:1.5;
  color:#173b63;
  font-style:italic;
  letter-spacing:.005em;
}
.ff-quote-inner cite{
  display:block;
  margin-top:12px;
  color:#718296;
  font-size:13px;
  font-style:normal;
  font-weight:700;
}

@media(max-width:900px){
  .ff-hero{min-height:520px}
  .ff-hero-copy{padding-top:170px}
  .ff-quick-wrap{margin-top:-30px}
}


/* ==========================================
   FF UNSA v2.8 — Hero/card overlap correction
   ========================================== */

/* Keep hero compact, but give enough room for the CTA */
.ff-hero{
  min-height:545px;
}

/* Anchor hero copy so both title and "Istraži fakultet" remain visible */
.ff-hero-copy{
  position:relative;
  z-index:20;
  padding-top:185px;
  padding-bottom:92px;
}

.ff-hero-copy h1{
  margin-bottom:18px;
}

.ff-hero-copy .kicker{
  display:inline-block;
  margin-top:6px;
  position:relative;
  z-index:22;
}

/* First row of cards overlaps the hero by roughly half its height */
.ff-quick-wrap{
  margin-top:-64px;
  position:relative;
  z-index:30;
  background:transparent;
}

/* Give card area its own soft background only after overlap */
.ff-quick-wrap::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:64px;
  bottom:0;
  background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%);
  z-index:-1;
}

/* First row sits across the hero boundary */
.ff-quick-grid{
  position:relative;
}

/* Keep both rows visually clean */
.ff-quick-card{
  min-height:118px;
}

/* Quote gets a little more breathing room after the second row */
.ff-quote-day{
  padding-top:38px;
}

/* Desktop tuning for shorter browser windows */
@media (max-height:850px) and (min-width:1000px){
  .ff-hero{
    min-height:520px;
  }
  .ff-hero-copy{
    padding-top:165px;
    padding-bottom:82px;
  }
  .ff-quick-wrap{
    margin-top:-58px;
  }
  .ff-quick-wrap::after{
    top:58px;
  }
}

/* Tablet/mobile: reduce overlap for readability */
@media(max-width:900px){
  .ff-hero{
    min-height:535px;
  }
  .ff-hero-copy{
    padding-top:175px;
    padding-bottom:80px;
  }
  .ff-quick-wrap{
    margin-top:-36px;
  }
  .ff-quick-wrap::after{
    top:36px;
  }
}


/* ==========================================
   FF UNSA v2.9 — Typography + balanced feeds
   ========================================== */
/* Fonts loaded via wp_enqueue_style for non-blocking discovery. */

body{
  font-family:'Poppins',Arial,Helvetica,sans-serif;
}

.ff-nav-link,
.ff-hero-copy h1,
.ff-quick-card strong,
.ff-stream-heading,
.ff-news-body h3,
.ff-topbar,
.ff-utilities{
  font-family:'Montserrat','Poppins',Arial,sans-serif;
}

.ff-hero-copy h1{
  font-weight:800;
  letter-spacing:-.025em;
}

.ff-hero-subtitle{
  font-family:'Poppins',Arial,sans-serif;
  font-weight:600;
}

.ff-nav-link{
  font-weight:700;
  letter-spacing:-.01em;
}

.ff-quick-card strong{
  font-weight:700;
}

.ff-stream-heading{
  font-weight:700;
}

.ff-news-body h3{
  font-weight:700;
}

/* Keep all three content columns aligned */
.ff-stream-grid{
  align-items:stretch;
}

.ff-stream{
  height:100%;
  display:flex;
  flex-direction:column;
}

.ff-stream-list{
  flex:1;
}

.ff-news-stream{
  display:flex;
  flex-direction:column;
}

.ff-news-stream .ff-stream-more,
.ff-stream .ff-stream-more{
  margin-top:auto;
  padding-top:14px;
}

/* Cap list area so homepage does not grow indefinitely */
.ff-stream-list{
  max-height:430px;
  overflow:hidden;
}

.ff-news-stream{
  min-height:100%;
}

/* If titles wrap, keep list rows visually consistent */
.ff-stream-item{
  min-height:58px;
}

/* Equal baseline between the three feed cards on desktop */
@media(min-width:1001px){
  .ff-stream-grid{
    grid-auto-rows:1fr;
  }
  .ff-stream{
    min-height:520px;
  }
}


/* ==========================================
   FF UNSA v2.10 — Dropdown hover + layering fix
   ========================================== */

/* Navigation must sit above hero copy/cards/content */
.ff-header,
.ff-navrow,
.ff-nav,
.ff-nav-item{
  position:relative;
  z-index:500;
}

.ff-dropdown{
  z-index:1000 !important;
}

/* Remove hover gap between nav item and dropdown */
.ff-nav-item > .ff-dropdown{
  top:100% !important;
  margin-top:0 !important;
}

/* Add invisible hover bridge so the pointer never loses hover */
.ff-nav-item > .ff-dropdown::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-12px;
  height:12px;
  background:transparent;
}

/* Submenus stay above their parent dropdown and touch it directly */
.ff-has-sub{
  position:relative;
}

.ff-has-sub > .ff-submenu{
  left:100% !important;
  top:0 !important;
  margin-left:0 !important;
  z-index:1100 !important;
}

.ff-has-sub > .ff-submenu::before{
  content:"";
  position:absolute;
  left:-10px;
  top:0;
  bottom:0;
  width:10px;
  background:transparent;
}

/* Hero/content can never visually overlap dropdowns */
.ff-hero-copy{
  z-index:20 !important;
}

.ff-quick-wrap{
  z-index:30 !important;
}

.ff-dropdown,
.ff-submenu{
  isolation:isolate;
}

/* Dropdown visual stability */
.ff-dropdown{
  box-shadow:0 18px 42px rgba(0,0,0,.24) !important;
  background:#fff !important;
}

.ff-dropdown a,
.ff-submenu a{
  position:relative;
  z-index:2;
}


/* ==========================================
   FF UNSA v2.11 — Viewport fit + submenu edge fix
   ========================================== */

/* Never allow hidden/offscreen menus to widen the page */
html,
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

.ff-hero,
.ff-header,
.ff-topbar,
.ff-quick-wrap,
.ff-stream-section,
.ff-quote-day,
.site-footer{
  max-width:100%;
}

/* Main navigation must always fit the available desktop width */
.ff-navrow{
  width:min(calc(100% - 48px),var(--ff-max));
  max-width:100%;
}

.ff-nav{
  min-width:0;
}

.ff-nav-link{
  white-space:nowrap;
}

/* Keep first-level dropdowns inside viewport */
.ff-dropdown{
  max-width:min(920px,calc(100vw - 32px)) !important;
}

/* Right-side main menu dropdowns align to the right edge */
.ff-nav-item:nth-last-child(-n+2) > .ff-dropdown{
  left:auto !important;
  right:0 !important;
}

/* Nested menus of the right-most navigation items open LEFT */
.ff-nav-item:nth-last-child(-n+3) .ff-has-sub > .ff-submenu{
  left:auto !important;
  right:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* Hover bridge for left-opening submenu */
.ff-nav-item:nth-last-child(-n+3) .ff-has-sub > .ff-submenu::before{
  left:auto !important;
  right:-10px !important;
}

/* Nested menus can never exceed the screen */
.ff-submenu{
  width:max-content;
  min-width:250px;
  max-width:min(390px,calc(100vw - 32px)) !important;
}

/* Long submenu text wraps instead of forcing page width */
.ff-dropdown a,
.ff-submenu a{
  white-space:normal;
  overflow-wrap:anywhere;
}

/* Desktop navigation scales gently on narrower desktops */
@media (max-width:1500px) and (min-width:1001px){
  .ff-container{
    width:min(calc(100% - 28px),var(--ff-max));
  }

  .ff-nav{
    gap:10px;
  }

  .ff-nav-link{
    font-size:12.5px;
  }

  .ff-logo img{
    width:92px;
    height:92px;
  }
}

@media (max-width:1250px) and (min-width:1001px){
  .ff-nav{
    gap:6px;
  }

  .ff-nav-link{
    font-size:11.5px;
  }
}


/* ==========================================
   FF UNSA v2.12 — Global structure + responsive baseline
   Global header/footer remain reusable.
   Home hero, quick links, quote and feeds remain homepage-only content.
   ========================================== */

:root{
  --ff-page-gutter: clamp(16px, 3vw, 44px);
}

/* Universal sizing prevents accidental viewport overflow */
*, *::before, *::after{
  box-sizing:border-box;
}

img, svg, video, iframe{
  max-width:100%;
  height:auto;
}

/* Global header/footer layering */
.ff-topbar,
.ff-header,
.ff-navrow{
  position:relative;
  z-index:500;
}

.site-footer{
  position:relative;
  z-index:10;
  width:100%;
}

/* Homepage-only blocks remain structurally independent of header/footer */
.ff-hero,
.ff-quick-wrap,
.ff-quote-day,
.ff-stream-section{
  position:relative;
}

/* Tablet */
@media (max-width:1000px){
  .ff-topbar .ff-container{
    padding-left:16px;
    padding-right:16px;
  }

  .ff-hero{
    min-height:auto;
  }

  .ff-hero-copy{
    width:min(92%,720px);
  }

  .ff-hero-title{
    font-size:clamp(34px,6vw,58px);
    line-height:1.02;
  }

  .ff-quick-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .ff-stream-grid{
    grid-template-columns:1fr !important;
  }

  .ff-stream-card{
    min-width:0;
  }

  .site-footer .ff-container,
  .ff-footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:28px;
  }
}

/* Mobile */
@media (max-width:680px){
  body{
    min-width:0;
  }

  .ff-topbar{
    font-size:12px;
  }

  .ff-topbar .ff-container{
    gap:10px;
    flex-wrap:wrap;
  }

  .ff-hero{
    background-position:center center;
  }

  .ff-hero-copy{
    width:100%;
    padding-left:18px;
    padding-right:18px;
  }

  .ff-hero-title{
    font-size:clamp(30px,10vw,44px);
  }

  .ff-hero-subtitle{
    font-size:17px;
  }

  .ff-quick-wrap{
    padding-left:14px;
    padding-right:14px;
  }

  .ff-quick-grid{
    grid-template-columns:1fr !important;
  }

  .ff-quick-card{
    min-height:92px;
  }

  .ff-stream-section{
    padding-left:14px;
    padding-right:14px;
  }

  .ff-stream-grid{
    grid-template-columns:1fr !important;
  }

  .ff-quote-day{
    padding-left:18px;
    padding-right:18px;
  }

  .site-footer .ff-container,
  .ff-footer-grid{
    grid-template-columns:1fr !important;
  }
}


/* ==========================================
   FF UNSA v2.13 — Working mobile navigation
   ========================================== */
@media(max-width:980px){

  .ff-header{
    z-index:900;
  }

  .ff-navrow{
    position:relative;
    align-items:center;
    padding-bottom:14px;
  }

  .ff-mobile-toggle{
    display:block;
    position:relative;
    z-index:1002;
    cursor:pointer;
    min-width:46px;
    min-height:46px;
    font-size:22px;
    line-height:1;
  }

  /* Closed by default */
  .ff-nav{
    display:none !important;
  }

  /* Open mobile navigation */
  body.ff-menu-open .ff-nav{
    display:flex !important;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    width:100%;
    max-height:calc(100vh - 110px);
    overflow-y:auto;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:10px 14px 18px;
    background:rgba(5,47,95,.985);
    box-shadow:0 18px 35px rgba(0,0,0,.28);
    z-index:1000;
  }

  .ff-nav-item{
    width:100%;
    border-bottom:1px solid rgba(255,255,255,.10);
  }

  .ff-nav-link{
    width:100%;
    display:flex;
    justify-content:space-between;
    padding:15px 6px;
    border-bottom:0 !important;
    font-size:14px;
    color:#fff;
  }

  /* Desktop hover dropdown rules are neutralized on mobile */
  .ff-nav-item > .ff-dropdown,
  .ff-nav-item:hover > .ff-dropdown,
  .ff-nav-item:focus-within > .ff-dropdown,
  .ff-nav-item > .ff-dropdown.cols-3,
  .ff-nav-item:hover > .ff-dropdown.cols-3,
  .ff-nav-item:focus-within > .ff-dropdown.cols-3{
    display:none !important;
    position:static !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    pointer-events:auto !important;
    box-shadow:none !important;
    border-top:0 !important;
    border-radius:6px !important;
    margin:0 0 10px !important;
    padding:7px !important;
    background:#fff !important;
  }

  .ff-nav-item.ff-mobile-open > .ff-dropdown,
  .ff-nav-item.ff-mobile-open > .ff-dropdown.cols-3{
    display:grid !important;
    grid-template-columns:1fr !important;
  }

  .ff-dropdown a{
    padding:11px 12px;
    font-size:13px;
  }

  /* Second-level mobile submenu */
  .ff-has-sub > .ff-submenu,
  .ff-has-sub:hover > .ff-submenu{
    display:none !important;
    position:static !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    pointer-events:auto !important;
    box-shadow:none !important;
    border-left:2px solid var(--ff-gold) !important;
    margin:4px 0 6px 10px !important;
    padding:4px 0 4px 8px !important;
    background:#f5f8fb !important;
  }

  .ff-has-sub.ff-mobile-sub-open > .ff-submenu{
    display:block !important;
  }

  /* Keep hero from being covered awkwardly when menu opens */
  body.ff-menu-open{
    overflow:hidden;
  }
}


/* FF UNSA v2.14 — mobile menu runtime safety */
@media(max-width:980px){
  body.ff-menu-open .ff-nav{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }
}


/* ==========================================
   FF UNSA v2.15 — Refined global footer
   ========================================== */
.ff-footer-modern{
  margin-top:0;
  background:
    radial-gradient(circle at 12% 10%,rgba(255,255,255,.055),transparent 28%),
    linear-gradient(135deg,#052f5f 0%,#063d73 58%,#052c57 100%);
  color:#fff;
  border-top:3px solid var(--ff-gold);
}
.ff-footer-main{
  display:grid;
  grid-template-columns:1.25fr 1.15fr .8fr;
  gap:54px;
  padding-top:48px;
  padding-bottom:42px;
}
.ff-footer-brand{
  display:flex;
  align-items:flex-start;
  gap:20px;
}
.ff-footer-logo{
  width:82px;
  height:82px;
  flex:0 0 82px;
  display:grid;
  place-items:center;
  background:#fff;
  border-radius:50%;
  padding:5px;
  box-shadow:0 8px 24px rgba(0,0,0,.16);
}
.ff-footer-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:50%;
}
.ff-footer-brand h2{
  margin:2px 0 12px;
  font-family:'Montserrat','Poppins',Arial,sans-serif;
  font-size:18px;
  line-height:1.32;
  font-weight:700;
}
.ff-footer-brand p{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:13px;
  line-height:1.65;
}
.ff-footer-links{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
}
.ff-footer-modern h3{
  margin:0 0 14px;
  color:#fff;
  font-family:'Montserrat','Poppins',Arial,sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:.035em;
}
.ff-footer-links a{
  display:block;
  width:max-content;
  max-width:100%;
  margin:0 0 9px;
  color:rgba(255,255,255,.72);
  text-decoration:none;
  font-size:13px;
  transition:color .16s ease,transform .16s ease;
}
.ff-footer-links a:hover{
  color:#fff;
  transform:translateX(3px);
}
.ff-footer-buttons{
  display:grid;
  gap:8px;
}
.ff-footer-btn{
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:38px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:7px;
  background:rgba(255,255,255,.055);
  color:#fff;
  text-decoration:none;
  font-size:12.5px;
  font-weight:600;
  transition:background .16s ease,border-color .16s ease;
}
.ff-footer-btn:hover{
  background:rgba(255,255,255,.11);
  border-color:rgba(255,255,255,.28);
}
.ff-footer-btn span,
.ff-footer-contact span{
  color:var(--ff-gold);
}
.ff-footer-contact{
  display:inline-flex;
  gap:8px;
  margin-top:13px;
  color:rgba(255,255,255,.78);
  text-decoration:none;
  font-size:12.5px;
  font-weight:600;
}
.ff-footer-contact:hover{color:#fff}
.ff-footer-bottom{
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-top:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.58);
  font-size:11.5px;
}
.ff-footer-bottom div{
  display:flex;
  gap:20px;
}
.ff-footer-bottom a{
  color:rgba(255,255,255,.62);
  text-decoration:none;
}
.ff-footer-bottom a:hover{color:#fff}

@media(max-width:900px){
  .ff-footer-main{
    grid-template-columns:1fr 1fr;
    gap:34px;
  }
  .ff-footer-access{grid-column:1/-1}
  .ff-footer-buttons{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:620px){
  .ff-footer-main{
    grid-template-columns:1fr;
    padding-top:38px;
    padding-bottom:30px;
  }
  .ff-footer-brand{gap:15px}
  .ff-footer-logo{width:68px;height:68px;flex-basis:68px}
  .ff-footer-links{grid-template-columns:1fr 1fr}
  .ff-footer-access{grid-column:auto}
  .ff-footer-buttons{grid-template-columns:1fr}
  .ff-footer-bottom{
    padding-top:16px;
    padding-bottom:16px;
    flex-direction:column;
    align-items:flex-start;
  }
  .ff-footer-bottom div{flex-wrap:wrap;gap:12px 18px}
}


/* FF UNSA v2.16 — footer logo correction */
.ff-footer-logo{
  overflow:hidden;
  background:transparent;
  padding:0;
  box-shadow:none;
}
.ff-footer-logo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  border-radius:50%;
}

/* FF UNSA v2.17 — Aktuelno featured strip */
.ff-current-strip{
  position:relative;
  z-index:4;
  background:#fff;
  border-top:1px solid rgba(8,62,112,.10);
  border-bottom:1px solid rgba(8,62,112,.12);
}
.ff-current-strip-inner{
  min-height:58px;
  display:flex;
  align-items:center;
  gap:26px;
}
.ff-current-label{
  flex:0 0 auto;
  color:var(--ff-gold);
  font-family:'Montserrat','Poppins',Arial,sans-serif;
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
}
.ff-current-items{
  min-width:0;
  display:flex;
  align-items:center;
  gap:0;
  overflow:hidden;
}
.ff-current-items a{
  position:relative;
  flex:0 0 auto;
  padding:7px 22px;
  color:#0b4279;
  text-decoration:none;
  font-size:13px;
  font-weight:650;
  white-space:nowrap;
  transition:color .16s ease;
}
.ff-current-items a:first-child{padding-left:0}
.ff-current-items a:not(:last-child)::after{
  content:'';
  position:absolute;
  right:0;
  top:50%;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#aebdca;
  transform:translate(50%,-50%);
}
.ff-current-items a span{
  display:inline-block;
  margin-left:4px;
  color:var(--ff-gold);
  transition:transform .16s ease;
}
.ff-current-items a:hover{color:#0067b9}
.ff-current-items a:hover span{transform:translateX(3px)}
@media(max-width:980px){
  .ff-current-strip-inner{gap:16px}
  .ff-current-items{overflow-x:auto;scrollbar-width:none}
  .ff-current-items::-webkit-scrollbar{display:none}
}
@media(max-width:620px){
  .ff-current-strip-inner{
    min-height:54px;
    padding-right:0;
  }
  .ff-current-label{font-size:10.5px}
  .ff-current-items a{font-size:12px;padding:7px 17px}
}


/* ==========================================
   FF UNSA v2.18 — Final homepage polish
   ========================================== */

/* Search overlay */
.ff-search-overlay{
  position:fixed;
  inset:0;
  z-index:5000;
  display:grid;
  place-items:start center;
  padding:clamp(80px,12vh,150px) 22px 40px;
  background:rgba(3,30,58,.92);
  backdrop-filter:blur(12px) saturate(120%);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .2s ease,visibility .2s ease;
}
.ff-search-overlay.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
body.ff-search-open{overflow:hidden}
.ff-search-shell{
  position:relative;
  width:min(900px,100%);
  padding:clamp(26px,4vw,48px);
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  background:#fff;
  box-shadow:0 30px 90px rgba(0,0,0,.30);
  transform:translateY(-10px);
  transition:transform .2s ease;
}
.ff-search-overlay.is-open .ff-search-shell{transform:none}
.ff-search-close{
  position:absolute;
  top:14px;right:16px;
  width:42px;height:42px;
  border:0;border-radius:50%;
  background:#f1f5f8;
  color:#153e67;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}
.ff-search-eyebrow{
  color:#c89200;
  font-family:'Montserrat','Poppins',sans-serif;
  font-size:11px;font-weight:800;letter-spacing:.16em;
}
.ff-search-shell h2{
  margin:7px 0 24px;
  color:#0b3d6d;
  font-family:'Montserrat','Poppins',sans-serif;
  font-size:clamp(30px,4vw,50px);
  letter-spacing:-.035em;
}
.ff-search-form{
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
}
.ff-search-form input{
  min-width:0;
  height:58px;
  padding:0 18px;
  border:1px solid #cbd7e2;
  border-radius:8px;
  outline:0;
  font:500 15px 'Poppins',sans-serif;
}
.ff-search-form input:focus{
  border-color:#0b5f9f;
  box-shadow:0 0 0 3px rgba(11,95,159,.11);
}
.ff-search-form button{
  min-width:140px;
  border:0;border-radius:8px;
  background:#063b70;color:#fff;
  font:700 13px 'Montserrat',sans-serif;
  cursor:pointer;
}
.ff-search-form button span{color:var(--ff-gold);margin-left:5px}
.ff-search-shortcuts{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
}
.ff-search-shortcuts a{
  padding:8px 12px;
  border:1px solid #d9e2ea;
  border-radius:999px;
  color:#315879;
  text-decoration:none;
  font-size:12px;font-weight:600;
  transition:background .16s ease,border-color .16s ease,color .16s ease;
}
.ff-search-shortcuts a:hover{
  background:#f4f8fb;border-color:#b9cbd9;color:#075996;
}
.ff-search-hint{margin:16px 0 0;color:#7c8d9c;font-size:12px}

/* Quote: quieter, more editorial */
.ff-quote-day{
  padding-top:28px;
  padding-bottom:25px;
}
.ff-quote-mark{
  font-size:45px;
  opacity:.72;
}
.ff-quote-inner blockquote{
  max-width:760px;
  font-size:clamp(18px,1.35vw,23px);
  line-height:1.48;
}
.ff-quote-inner cite{
  margin-top:9px;
  font-size:12px;
}

/* Editorial polish for homepage news */
.ff-news-card{
  transition:transform .18s ease,box-shadow .18s ease;
}
.ff-news-card:hover{
  transform:translateY(-3px);
  box-shadow:0 15px 34px rgba(5,47,95,.11);
}
.ff-news-body h3 a{
  transition:color .16s ease;
}
.ff-news-body h3 a:hover{color:#0863a8}

/* Focus states: visible keyboard navigation */
.ff-nav a:focus-visible,
.ff-quick-card:focus-visible,
.ff-current-items a:focus-visible,
.ff-stream a:focus-visible,
.ff-footer-modern a:focus-visible,
.ff-search-overlay a:focus-visible,
.ff-search-overlay button:focus-visible,
.ff-search-overlay input:focus-visible{
  outline:3px solid #e4b126;
  outline-offset:3px;
}

/* Keep motion restrained */
@media(prefers-reduced-motion:reduce){
  .ff-search-overlay,.ff-search-shell,.ff-news-card,
  .ff-current-items a span{transition:none!important}
}
@media(max-width:620px){
  .ff-search-overlay{padding:76px 12px 24px}
  .ff-search-shell{padding:25px 18px}
  .ff-search-form{grid-template-columns:1fr}
  .ff-search-form button{height:48px}
}

/* FF UNSA v2.18.1 — institutional hero signature + robust search */
.ff-hero-signature{
  display:block;
  width:max-content;
  max-width:100%;
  margin-top:14px;
  padding-bottom:11px;
  color:#e5b323 !important;
  font-family:'Montserrat','Poppins',sans-serif;
  font-size:clamp(12px,1.05vw,16px) !important;
  font-weight:700 !important;
  line-height:1.35;
  letter-spacing:.13em;
  text-transform:uppercase;
  position:relative;
}
.ff-hero-signature::after{
  content:"";
  position:absolute;
  left:0;bottom:0;
  width:76px;height:3px;
  background:#e5b323;
  border-radius:3px;
}
.ff-search-toggle,.ff-search{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  padding:6px;
  cursor:pointer;
}
.ff-search-form input.ff-search-empty{
  border-color:#c89200;
  box-shadow:0 0 0 3px rgba(200,146,0,.14);
}
@media(max-width:620px){
  .ff-hero-signature{
    width:auto;
    font-size:11px !important;
    letter-spacing:.09em;
  }
}

/* ==========================================
   FF UNSA v2.19 — Department pilot: Anglistika
   ========================================== */
.ff-dept-page{background:#fff;color:#123b67}
.ff-dept-hero{
  padding:54px 0 48px;
  background:linear-gradient(135deg,#073766 0%,#0b4a82 72%,#0b568f 100%);
  color:#fff;
}
.ff-breadcrumbs{display:flex;gap:9px;align-items:center;margin-bottom:30px;font-size:11px;color:rgba(255,255,255,.68)}
.ff-breadcrumbs a{color:inherit;text-decoration:none}
.ff-dept-kicker,.ff-section-eyebrow{
  display:block;color:#e5b323;font-family:'Montserrat','Poppins',sans-serif;
  font-size:11px;font-weight:800;letter-spacing:.15em
}
.ff-dept-hero h1{
  margin:6px 0 10px;font:800 clamp(34px,4vw,58px)/1.05 'Montserrat','Poppins',sans-serif;
  letter-spacing:-.035em
}
.ff-dept-hero p{max-width:720px;margin:0;color:rgba(255,255,255,.78);font-size:15px;line-height:1.6}
.ff-dept-nav{
  position:sticky;top:0;z-index:350;background:#fff;border-bottom:1px solid #dce5ee;
  box-shadow:0 7px 20px rgba(5,47,95,.06)
}
.ff-dept-nav-scroll{display:flex;gap:0;overflow-x:auto;scrollbar-width:none}
.ff-dept-nav-scroll::-webkit-scrollbar{display:none}
.ff-dept-nav a{
  flex:0 0 auto;padding:17px 14px;text-decoration:none;color:#315777;font-size:12px;font-weight:650;
  border-bottom:3px solid transparent
}
.ff-dept-nav a:hover,.ff-dept-nav a.active{color:#064f8a;border-bottom-color:#e5b323}
.ff-dept-content{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:48px;padding-top:48px;padding-bottom:70px}
.ff-dept-section{scroll-margin-top:86px;padding:0 0 52px;margin:0 0 48px;border-bottom:1px solid #e5ebf1}
.ff-dept-section:last-child{border-bottom:0}
.ff-dept-section h2{
  margin:6px 0 20px;font:750 clamp(25px,2.4vw,36px)/1.18 'Montserrat','Poppins',sans-serif;
  letter-spacing:-.025em;color:#0b3f73
}
.ff-prose{max-width:900px}
.ff-prose p,.ff-section-intro{font-size:14px;line-height:1.8;color:#526a7e}
.ff-dept-cards{display:grid;gap:14px}
.ff-dept-cards-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ff-dept-cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ff-dept-card{
  min-height:170px;padding:20px;border:1px solid #dce5ee;border-radius:10px;background:#fff;
  box-shadow:0 7px 20px rgba(5,47,95,.05);text-decoration:none;transition:.18s ease
}
.ff-dept-card:hover{transform:translateY(-3px);box-shadow:0 15px 32px rgba(5,47,95,.10);border-color:#c5d4e2}
.ff-dept-card>span{color:#c89100;font-size:10px;font-weight:800;letter-spacing:.12em}
.ff-dept-card h3{margin:8px 0 7px;color:#0d426f;font:700 17px/1.3 'Montserrat','Poppins',sans-serif}
.ff-dept-card p{margin:0 0 15px;color:#738595;font-size:12.5px;line-height:1.55}
.ff-dept-card b{color:#0863a7;font-size:12px}
.ff-document-list{margin-top:24px;padding:18px;border-radius:10px;background:#f6f8fb}
.ff-document-list h3{margin:0 0 12px;font-size:14px}
.ff-document-row{display:grid;grid-template-columns:95px 1fr 42px;gap:10px;padding:11px 0;border-top:1px solid #e0e7ee;align-items:center}
.ff-document-row span,.ff-document-row em{font-size:11px;color:#8393a1;font-style:normal}
.ff-document-row strong{font-size:12.5px;font-weight:600}
.ff-staff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ff-staff-card{padding:20px;border:1px solid #dce5ee;border-radius:10px;background:#fff}
.ff-staff-avatar{width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:#eef4f8;color:#0b4b82;font-weight:800;margin-bottom:13px}
.ff-staff-card h3{margin:0 0 5px;font:700 14px/1.35 'Montserrat','Poppins',sans-serif}
.ff-staff-card p{margin:0 0 10px;font-size:11.5px;color:#7b8b98}
.ff-staff-card a{font-size:11px;color:#0c67ad;text-decoration:none;overflow-wrap:anywhere}
.ff-inline-link{display:inline-block;margin-top:16px;color:#0c67ad;text-decoration:none;font-size:12px;font-weight:700}
.ff-dept-notices{display:grid;gap:7px}
.ff-dept-notices a{
  display:grid;grid-template-columns:92px 1fr 65px;gap:12px;align-items:center;padding:13px 14px;
  border:1px solid #e0e7ee;border-radius:8px;color:#15446f;text-decoration:none
}
.ff-dept-notices time{font-size:10.5px;color:#8493a0}
.ff-dept-notices strong{font-size:12.5px;line-height:1.4}
.ff-dept-notices span{font-size:10px;color:#ad7b00;text-align:right}
.ff-data-note{margin-top:12px;font-size:11px;color:#8796a3}
.ff-contact-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#dbe4ec;border:1px solid #dbe4ec;border-radius:10px;overflow:hidden}
.ff-contact-panel>div{padding:18px;background:#f8fafc}
.ff-contact-panel span{display:block;margin-bottom:5px;color:#82919e;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.ff-contact-panel strong,.ff-contact-panel a{color:#16476f;font-size:12.5px;text-decoration:none}
.ff-dept-aside{position:relative}
.ff-dept-sidebox{position:sticky;top:82px;margin-bottom:16px;padding:18px;border:1px solid #dce5ee;border-radius:10px;background:#f8fafc}
.ff-dept-sidebox>span{display:block;margin-bottom:12px;color:#a77800;font-size:10px;font-weight:800;letter-spacing:.12em}
.ff-dept-sidebox a{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid #e2e8ee;color:#214d72;text-decoration:none;font-size:12px}
.ff-dept-sidebox a b{color:#d49d00}
.ff-dept-sidebox-gold{position:static;background:#fffaf0;border-color:#f0d58a}
.ff-dept-sidebox-gold strong{font:800 23px 'Montserrat','Poppins',sans-serif;color:#0b4175}
.ff-dept-sidebox-gold p{font-size:11.5px;line-height:1.55;color:#768696}
@media(max-width:1050px){
  .ff-dept-content{grid-template-columns:1fr}.ff-dept-aside{display:none}
  .ff-staff-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .ff-dept-hero{padding:38px 0 34px}
  .ff-dept-content{padding-top:34px}
  .ff-dept-cards-2,.ff-dept-cards-3,.ff-staff-grid,.ff-contact-panel{grid-template-columns:1fr}
  .ff-dept-notices a{grid-template-columns:80px 1fr}.ff-dept-notices span{grid-column:2;text-align:left}
}

/* FF UNSA v2.20 — live notice system */
.ff-role-notices{display:grid;gap:8px;margin:18px 0 15px}
.ff-role-notice{display:grid;grid-template-columns:95px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 15px;border:1px solid #dfe7ee;border-radius:8px;text-decoration:none;background:#fff;transition:.16s ease}
.ff-role-notice:hover{border-color:#c5d5e2;box-shadow:0 8px 20px rgba(5,47,95,.07);transform:translateY(-1px)}
.ff-role-notice time{font-size:10.5px;color:#8595a2}
.ff-role-notice strong{font-size:12.5px;color:#15466f}
.ff-role-notice span{padding:5px 8px;border-radius:999px;background:#fff7df;color:#9a7000;font-size:9.5px;font-weight:750;text-transform:uppercase;letter-spacing:.05em}
.ff-empty-notices{padding:22px;border:1px dashed #ced9e2;border-radius:8px;color:#788b9b;font-size:12px;background:#f8fafc}
@media(max-width:650px){.ff-role-notice{grid-template-columns:76px 1fr}.ff-role-notice span{grid-column:2;width:max-content}}

/* =========================================================
   FF UNSA v2.21 POLISH — Department Design System candidate
   ========================================================= */
.ff-dept-content{
  grid-template-columns:minmax(0,1fr) !important;
  max-width:1180px;
  gap:0;
  padding-top:52px;
}
.ff-dept-main{max-width:100%}
.ff-dept-quick-wrap{background:#f7f9fb;border-bottom:1px solid #e4eaf0}
.ff-dept-quick{min-height:48px;display:flex;align-items:center;gap:7px;overflow-x:auto;scrollbar-width:none}
.ff-dept-quick::-webkit-scrollbar{display:none}
.ff-dept-quick>span{flex:0 0 auto;margin-right:6px;color:#9b7508;font-size:9.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.ff-dept-quick a{
  flex:0 0 auto;padding:7px 11px;border-radius:999px;text-decoration:none;
  color:#315777;background:#fff;border:1px solid #dce5ec;font-size:10.5px;font-weight:650;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease
}
.ff-dept-quick a:hover{transform:translateY(-1px);border-color:#bdcedc;box-shadow:0 5px 12px rgba(5,47,95,.06)}
.ff-dept-section{
  max-width:1040px;margin-left:auto;margin-right:auto;padding-bottom:60px;margin-bottom:56px;
}
.ff-dept-section h2{margin-top:7px;margin-bottom:22px}
.ff-dept-notice-home{
  max-width:1120px;padding:30px 34px 34px;border:1px solid #dce5ec;border-radius:14px;
  background:linear-gradient(180deg,#fbfcfd 0%,#fff 100%);
  box-shadow:0 14px 35px rgba(7,54,100,.055)
}
.ff-dept-notice-home h2{font-size:clamp(27px,2.6vw,39px)}
.ff-dept-notice-home .ff-section-intro{max-width:780px}
.ff-role-notice{position:relative;overflow:hidden;padding:16px 17px}
.ff-role-notice:before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#e4b321;
  transform:scaleY(0);transform-origin:center;transition:transform .16s ease
}
.ff-role-notice:hover:before{transform:scaleY(1)}
.ff-prose{max-width:850px}
.ff-prose p{font-size:14.5px;line-height:1.85}
.ff-dept-card{border-radius:12px}
.ff-dept-card h3{letter-spacing:-.015em}
.ff-document-list{border:1px solid #e3e9ee;background:#fafbfc}
.ff-staff-card{position:relative;overflow:hidden;transition:transform .17s ease,box-shadow .17s ease,border-color .17s ease}
.ff-staff-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(5,47,95,.075);border-color:#cad8e3}
.ff-staff-avatar{background:linear-gradient(145deg,#edf4f8,#f8fafc);border:1px solid #dbe6ee}
.ff-section-eyebrow{margin-bottom:3px}
@media(prefers-reduced-motion:reduce){
  .ff-dept-card,.ff-staff-card,.ff-role-notice,.ff-dept-quick a,.ff-role-notice:before{transition:none!important;transform:none!important}
}
@media(max-width:700px){
  .ff-dept-content{padding-top:32px}
  .ff-dept-quick{padding-top:8px;padding-bottom:8px}
  .ff-dept-notice-home{padding:23px 18px 25px;border-radius:10px}
  .ff-dept-section{padding-bottom:45px;margin-bottom:42px}
  .ff-prose p{font-size:14px;line-height:1.75}
}

/* FF UNSA v2.22 — Student-first department layout */
.ff-dept-quick-wrap{display:none!important}
.ff-dept-content{
  display:grid!important;
  grid-template-columns:230px minmax(0,1fr)!important;
  gap:38px!important;
  max-width:1240px!important;
  align-items:start;
}
.ff-dept-leftbar{position:relative;min-width:0}
.ff-dept-main{min-width:0}
.ff-dept-leftbar .ff-dept-sidebox{
  position:sticky;top:84px;margin-bottom:16px;padding:18px;
  border:1px solid #dce5ee;border-radius:10px;background:#f8fafc
}
.ff-dept-leftbar .ff-dept-sidebox>span{
  display:block;margin-bottom:12px;color:#9b7508;font-size:9.5px;font-weight:800;
  letter-spacing:.12em
}
.ff-dept-leftbar .ff-dept-sidebox a{
  display:flex;justify-content:space-between;gap:10px;padding:10px 0;
  border-top:1px solid #e2e8ee;color:#214d72;text-decoration:none;
  font-size:11.5px;line-height:1.35;transition:padding-left .16s ease,color .16s ease
}
.ff-dept-leftbar .ff-dept-sidebox a:hover{padding-left:4px;color:#0b67ad}
.ff-dept-leftbar .ff-dept-sidebox a b{color:#d49d00}
.ff-dept-leftbar .ff-dept-sidebox-gold{
  position:sticky;top:435px;background:#fffaf0;border-color:#eed487
}
.ff-dept-leftbar .ff-dept-sidebox-gold strong{
  display:block;margin:5px 0 8px;color:#0b4175;
  font:800 22px/1.15 'Montserrat','Poppins',sans-serif
}
.ff-dept-leftbar .ff-dept-sidebox-gold p{
  margin:0;color:#768696;font-size:11px;line-height:1.55
}
.ff-dept-section{max-width:1000px!important}
@media(max-width:1050px){
  .ff-dept-content{grid-template-columns:1fr!important;gap:0!important}
  .ff-dept-leftbar{margin-bottom:26px}
  .ff-dept-leftbar .ff-dept-sidebox{position:static}
  .ff-dept-leftbar .ff-dept-sidebox:first-child{
    display:flex;flex-wrap:wrap;gap:7px;padding:14px
  }
  .ff-dept-leftbar .ff-dept-sidebox:first-child>span{width:100%}
  .ff-dept-leftbar .ff-dept-sidebox:first-child a{
    border:1px solid #dce5ee;border-radius:999px;padding:7px 10px;background:#fff;font-size:10.5px
  }
  .ff-dept-leftbar .ff-dept-sidebox:first-child a b{display:none}
  .ff-dept-leftbar .ff-dept-sidebox-gold{display:flex;align-items:center;gap:12px}
  .ff-dept-leftbar .ff-dept-sidebox-gold span,
  .ff-dept-leftbar .ff-dept-sidebox-gold strong,
  .ff-dept-leftbar .ff-dept-sidebox-gold p{margin:0}
}
@media(max-width:650px){
  .ff-dept-leftbar .ff-dept-sidebox-gold{display:block}
}

/* FF UNSA v2.24 — universal department hamburger + document repository */
.ff-dept-nav-collapsible{overflow:visible!important;background:#fff;border-bottom:1px solid #e1e7ec}
.ff-dept-menu-toggle{
  width:100%;min-height:54px;border:0;background:#fff;display:flex;align-items:center;
  justify-content:space-between;padding:0 4px;color:#0d4777;cursor:pointer;font:750 12px/1 'Poppins',sans-serif
}
.ff-dept-menu-label{text-transform:uppercase;letter-spacing:.08em}
.ff-dept-menu-icon{width:25px;height:18px;display:flex;flex-direction:column;justify-content:space-between}
.ff-dept-menu-icon i{display:block;height:2px;border-radius:2px;background:#0d4777;transition:.18s ease}
.ff-dept-menu-toggle[aria-expanded="true"] .ff-dept-menu-icon i:nth-child(1){transform:translateY(8px) rotate(45deg)}
.ff-dept-menu-toggle[aria-expanded="true"] .ff-dept-menu-icon i:nth-child(2){opacity:0}
.ff-dept-menu-toggle[aria-expanded="true"] .ff-dept-menu-icon i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.ff-dept-menu-panel{
  position:absolute;z-index:9999;left:50%;transform:translateX(-50%);top:100%;
  width:min(1180px,calc(100% - 32px));padding:14px;background:#fff;border:1px solid #dce5ec;
  border-top:3px solid #e4b321;border-radius:0 0 12px 12px;
  box-shadow:0 18px 38px rgba(5,47,95,.14);
  grid-template-columns:repeat(4,minmax(0,1fr));gap:6px
}
.ff-dept-menu-panel:not([hidden]){display:grid}
.ff-dept-menu-panel a{
  padding:13px 14px;border-radius:7px;color:#174d76;text-decoration:none;font-size:12px;font-weight:650
}
.ff-dept-menu-panel a:hover,.ff-dept-menu-panel a.active{background:#f2f7fa;color:#0067a8}
.ff-document-repository{display:grid;gap:7px}
.ff-document-row{
  display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:14px;align-items:center;
  padding:14px 16px;border:1px solid #e0e7ed;border-radius:8px;background:#fff;text-decoration:none
}
.ff-document-row:hover{border-color:#bfd0dd;box-shadow:0 7px 18px rgba(5,47,95,.06)}
.ff-document-meta{font-size:10px;color:#8494a1}
.ff-document-row strong{font-size:12px;color:#174d76}
.ff-document-row b{font-size:10.5px;color:#a77b00}
@media(max-width:760px){
  .ff-dept-menu-panel{grid-template-columns:1fr 1fr;width:calc(100% - 20px);padding:10px}
  .ff-dept-menu-panel a{padding:11px 10px;font-size:11px}
  .ff-document-row{grid-template-columns:1fr;gap:5px}
}

/* FF UNSA v2.25 — hamburger at left, no text label */
.ff-dept-nav-collapsible>.ff-container{position:relative;min-height:54px;display:flex;align-items:center}
.ff-dept-menu-toggle{
  width:44px!important;
  min-height:44px!important;
  height:44px;
  padding:10px!important;
  justify-content:center!important;
  border-radius:7px;
  margin-left:0;
}
.ff-dept-menu-toggle:hover{background:#f2f6f9}
.ff-dept-menu-label{display:none!important}
.ff-dept-menu-icon{width:24px;height:18px}
.ff-dept-menu-panel{left:0!important;transform:none!important;margin-left:max(16px,calc((100vw - 1180px)/2));}
@media(max-width:1210px){
  .ff-dept-menu-panel{margin-left:16px}
}
@media(max-width:760px){
  .ff-dept-menu-panel{left:10px!important;right:10px!important;margin-left:0;width:auto!important}
}

/* FF UNSA v2.26 — Study programs by cycle + real archive */
.ff-cycle-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.ff-cycle-panel{
  border:1px solid #dce5ec;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 8px 24px rgba(5,47,95,.045);
}
.ff-cycle-head{
  padding:22px 22px 18px;
  background:linear-gradient(180deg,#fbfcfd,#fff);
}
.ff-cycle-head>span{
  color:#b18100;
  font-size:10px;
  font-weight:800;
  letter-spacing:.11em;
}
.ff-cycle-head h3{
  margin:6px 0 8px;
  color:#0c4678;
  font:750 19px/1.25 'Montserrat','Poppins',sans-serif;
}
.ff-cycle-head p{
  margin:0;
  color:#748594;
  font-size:12px;
  line-height:1.55;
}
.ff-cycle-docs{
  padding:0 14px 14px;
}
.ff-cycle-doc{
  display:grid;
  grid-template-columns:95px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:12px 10px;
  border-top:1px solid #e5ebf0;
  text-decoration:none;
}
.ff-cycle-doc span{font-size:10px;color:#8796a2}
.ff-cycle-doc strong{font-size:11.5px;color:#164a75}
.ff-cycle-doc b{font-size:10px;color:#a87900}

.ff-study-archive{
  margin-top:28px;
  padding:22px;
  border:1px solid #dfe6ec;
  border-radius:12px;
  background:#f8fafc;
}
.ff-study-archive-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:end;
}
.ff-study-archive-head h3{
  margin:5px 0 5px;
  color:#0c4678;
  font:750 18px/1.25 'Montserrat','Poppins',sans-serif;
}
.ff-study-archive-head p{
  margin:0;
  max-width:620px;
  color:#7b8b98;
  font-size:11.5px;
}
.ff-study-filters{
  display:flex;
  gap:10px;
}
.ff-study-filters label span{
  display:block;
  margin-bottom:5px;
  color:#718392;
  font-size:9px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.ff-study-filters select{
  min-width:145px;
  height:38px;
  border:1px solid #ccd8e1;
  border-radius:7px;
  background:#fff;
  color:#214d72;
  padding:0 10px;
  font:500 11px 'Poppins',sans-serif;
}
.ff-study-archive-list{
  display:grid;
  gap:6px;
  margin-top:18px;
}
.ff-study-archive-row{
  display:grid;
  grid-template-columns:100px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:12px 14px;
  border:1px solid #e0e7ed;
  border-radius:7px;
  background:#fff;
  text-decoration:none;
}
.ff-study-archive-row span{font-size:10px;color:#8594a0}
.ff-study-archive-row strong{font-size:11.5px;color:#174b75}
.ff-study-archive-row b{font-size:10px;color:#a77a00}
@media(max-width:780px){
  .ff-cycle-grid{grid-template-columns:1fr}
  .ff-study-archive-head{grid-template-columns:1fr}
  .ff-study-filters{flex-wrap:wrap}
}
@media(max-width:560px){
  .ff-study-filters{display:grid;grid-template-columns:1fr;width:100%}
  .ff-study-filters select{width:100%}
  .ff-cycle-doc,.ff-study-archive-row{grid-template-columns:78px 1fr}
  .ff-cycle-doc b,.ff-study-archive-row b{grid-column:2}
}

/* FF UNSA v2.27 — unified archive */
.ff-study-archive-link{
  margin-top:28px;padding:22px;border:1px solid #e0e7ed;border-radius:12px;background:#f8fafc
}
.ff-study-archive-link h3{margin:6px 0 6px;color:#0c4678;font:750 18px/1.25 'Montserrat','Poppins',sans-serif}
.ff-study-archive-link p{margin:0 0 12px;color:#758694;font-size:11.5px;line-height:1.55}
.ff-unified-archive{max-width:1180px}
.ff-archive-filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.ff-archive-filters label span{display:block;margin-bottom:5px;color:#6f8190;font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}
.ff-archive-filters select{
  min-width:180px;height:40px;border:1px solid #ccd8e1;border-radius:7px;background:#fff;color:#214d72;
  padding:0 10px;font:500 11px 'Poppins',sans-serif
}
.ff-archive-results{display:grid;gap:7px}
.ff-archive-row{
  display:grid;grid-template-columns:100px minmax(0,1fr) 220px auto;gap:14px;align-items:center;
  padding:13px 15px;border:1px solid #e0e7ed;border-radius:8px;background:#fff;text-decoration:none
}
.ff-archive-row:hover{border-color:#bfd0dd;box-shadow:0 7px 18px rgba(5,47,95,.055)}
.ff-archive-row span{font-size:10px;color:#8394a1}
.ff-archive-row strong{font-size:11.7px;color:#174b75}
.ff-archive-row em{font-style:normal;font-size:10px;color:#738694}
.ff-archive-row b{font-size:10px;color:#a77a00}
@media(max-width:760px){
  .ff-archive-filters{display:grid;grid-template-columns:1fr}
  .ff-archive-filters select{width:100%}
  .ff-archive-row{grid-template-columns:82px 1fr}
  .ff-archive-row em,.ff-archive-row b{grid-column:2}
}

/* FF UNSA v2.28 — archive in left rail + refined student-first order */
.ff-dept-cards-1{grid-template-columns:1fr}
.ff-dept-sidebox-archive{
  position:sticky;
  top:615px;
  background:#f7f9fb;
  border-color:#dce5ec;
}
.ff-dept-sidebox-archive strong{
  display:block;
  color:#0b4175;
  font:750 15px/1.35 'Montserrat','Poppins',sans-serif;
  margin:5px 0 8px;
}
.ff-dept-sidebox-archive p{
  margin:0 0 10px;
  color:#768696;
  font-size:10.8px;
  line-height:1.55;
}
.ff-dept-sidebox-archive .ff-archive-side-link{
  border-top:1px solid #e0e6eb;
  padding-top:10px;
  color:#0b67ad;
  font-weight:700;
}
@media(max-width:1050px){
  .ff-dept-sidebox-archive{position:static}
}

/* FF UNSA v2.31 — generic department dynamic lists */
.ff-dept-list{display:grid;gap:6px;margin-top:10px}
.ff-dept-list-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 12px;border:1px solid #e1e8ee;border-radius:7px;background:#fff;text-decoration:none
}
.ff-dept-list-row strong{font-size:11.5px;color:#174b75;font-weight:650}
.ff-dept-list-row span{font-size:10px;color:#a77900;white-space:nowrap}
.ff-cycle-panel .ff-dept-list-row{border-left:0;border-right:0;border-bottom:0;border-radius:0}

/* FF UNSA v2.31.2 — Departments index */
.ff-departments-index-hero{
  padding:58px 0 54px;
  background:linear-gradient(120deg,#0b4779,#145f95);
  color:#fff;
}
.ff-departments-index-hero h1{
  margin:10px 0 8px;
  color:#fff;
  font:800 clamp(36px,5vw,64px)/1.02 'Montserrat','Poppins',sans-serif;
  letter-spacing:-.035em;
}
.ff-departments-index-hero p{
  max-width:760px;
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:14px;
  line-height:1.65;
}
.ff-departments-index-hero .ff-breadcrumbs,
.ff-departments-index-hero .ff-breadcrumbs a{
  color:rgba(255,255,255,.78);
}
.ff-departments-index-content{
  padding-top:46px;
  padding-bottom:70px;
}
.ff-departments-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.ff-department-index-card{
  min-height:180px;
  padding:24px;
  border:1px solid #dce5ec;
  border-radius:12px;
  background:#fff;
  text-decoration:none;
  box-shadow:0 8px 24px rgba(5,47,95,.045);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.ff-department-index-card:hover{
  transform:translateY(-2px);
  border-color:#c0d1de;
  box-shadow:0 14px 30px rgba(5,47,95,.075);
}
.ff-department-index-card span{
  color:#b48200;
  font-size:9.5px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.ff-department-index-card h2{
  margin:9px 0 26px;
  color:#0d4777;
  font:750 19px/1.3 'Montserrat','Poppins',sans-serif;
}
.ff-department-index-card b{
  color:#0c67aa;
  font-size:10.5px;
}
@media(max-width:950px){
  .ff-departments-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .ff-departments-grid{grid-template-columns:1fr}
  .ff-departments-index-hero{padding:42px 0 40px}
}

/* FF UNSA v2.32 — Students Hub + Department Archive */
.ff-students-hero,.ff-archive-page-hero{
  padding:56px 0 52px;background:linear-gradient(120deg,#0b4779,#145f95);color:#fff
}
.ff-students-hero h1,.ff-archive-page-hero h1{
  margin:9px 0 10px;color:#fff;font:800 clamp(34px,4.6vw,60px)/1.04 'Montserrat','Poppins',sans-serif;
  letter-spacing:-.035em
}
.ff-students-hero p,.ff-archive-page-hero p{max-width:760px;margin:0;color:rgba(255,255,255,.82);font-size:14px;line-height:1.65}
.ff-students-year{display:flex;align-items:center;gap:12px;margin-top:22px;width:max-content;padding:9px 12px;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:rgba(255,255,255,.06)}
.ff-students-year span{font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.ff-students-year strong{color:#f1c33a;font-size:13px}
.ff-students-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-top:44px;padding-bottom:38px}
.ff-student-hub-card{min-height:190px;padding:23px;border:1px solid #dce5ec;border-radius:12px;background:#fff;text-decoration:none;transition:.17s ease}
.ff-student-hub-card:hover{transform:translateY(-2px);box-shadow:0 13px 30px rgba(5,47,95,.075);border-color:#c0d1de}
.ff-student-hub-card>span{color:#b48200;font-size:9px;font-weight:800;letter-spacing:.1em}
.ff-student-hub-card h2{margin:7px 0 8px;color:#0d4777;font:750 20px/1.25 'Montserrat','Poppins',sans-serif}
.ff-student-hub-card p{margin:0 0 22px;color:#738594;font-size:12px;line-height:1.6}
.ff-student-hub-card b{color:#0c67aa;font-size:10.5px}
.ff-students-services{padding-bottom:70px}
.ff-students-services h2{color:#0d4777;font:750 22px 'Montserrat','Poppins',sans-serif}
.ff-students-services>div{display:flex;flex-wrap:wrap;gap:8px}
.ff-students-services a{padding:10px 14px;border:1px solid #dce5ec;border-radius:999px;text-decoration:none;color:#245579;font-size:11px;background:#fff}
.ff-archive-page-content{padding-top:40px;padding-bottom:70px}
.ff-archive-heading h2{margin:5px 0 5px;color:#0d4777;font:750 26px 'Montserrat','Poppins',sans-serif}
.ff-archive-heading p{margin:0 0 20px;color:#748696;font-size:12px}
.ff-archive-search-label{min-width:220px;flex:1}
.ff-archive-search{width:100%;height:40px;border:1px solid #ccd8e1;border-radius:7px;padding:0 11px;font:500 11px 'Poppins',sans-serif;color:#214d72;background:#fff}
@media(max-width:900px){.ff-students-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.ff-students-hub-grid{grid-template-columns:1fr}.ff-students-hero,.ff-archive-page-hero{padding:42px 0 38px}}

/* FF UNSA v2.33 — Studentska služba */
.ff-service-hero{padding:54px 0 50px;background:linear-gradient(120deg,#0b4779,#145f95);color:#fff}
.ff-service-hero h1{margin:9px 0 9px;color:#fff;font:800 clamp(36px,4.8vw,62px)/1.03 'Montserrat','Poppins',sans-serif;letter-spacing:-.035em}
.ff-service-hero p{max-width:800px;margin:0;color:rgba(255,255,255,.82);font-size:14px;line-height:1.65}
.ff-service-mini-nav{background:#fff;border-bottom:1px solid #e0e7ed;overflow-x:auto}
.ff-service-mini-nav>.ff-container{display:flex;gap:4px;min-width:max-content}
.ff-service-mini-nav a{padding:15px 12px;color:#345b79;text-decoration:none;font-size:10.5px;font-weight:650}
.ff-service-mini-nav a:hover,.ff-service-mini-nav a.active{color:#0b67ad}
.ff-service-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:38px;padding-top:42px;padding-bottom:70px;align-items:start}
.ff-service-side .ff-dept-sidebox{position:sticky;top:84px;margin-bottom:16px}
.ff-service-main{min-width:0}
.ff-service-list{display:grid;gap:6px;margin-top:10px}
.ff-service-list>a{display:flex;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid #e1e8ed;border-radius:7px;background:#fff;text-decoration:none}
.ff-service-list strong{font-size:11px;color:#174b75}
.ff-service-list span{font-size:10px;color:#a77900;white-space:nowrap}
.ff-cycle-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1050px){.ff-service-layout{grid-template-columns:1fr}.ff-service-side .ff-dept-sidebox{position:static}.ff-service-side{display:grid;grid-template-columns:1fr 1fr;gap:12px}}
@media(max-width:700px){.ff-service-side{grid-template-columns:1fr}.ff-cycle-grid-4{grid-template-columns:1fr}.ff-service-hero{padding:42px 0 38px}}

/* FF UNSA v2.34 — Student Portal */
.ff-student-register,.ff-new-request form{display:grid;gap:12px;max-width:720px}
.ff-student-register label span,.ff-new-request label span{display:block;margin-bottom:5px;font-size:9px;font-weight:750;color:#607789;text-transform:uppercase;letter-spacing:.07em}
.ff-student-register input,.ff-student-register select,.ff-new-request input,.ff-new-request select,.ff-new-request textarea{
  width:100%;border:1px solid #ccd8e1;border-radius:8px;background:#fff;padding:11px 12px;font:500 12px 'Poppins',sans-serif;color:#214d72
}
.ff-student-register button,.ff-new-request button{
  width:max-content;border:0;border-radius:8px;background:#0d4777;color:#fff;padding:11px 18px;font:700 11px 'Poppins',sans-serif;cursor:pointer
}
.ff-portal-message{padding:13px 15px;border:1px solid #d9e4eb;border-radius:8px;background:#f6f9fb;color:#315874;font-size:12px;margin-bottom:16px}
.ff-student-dashboard{display:grid;gap:18px}
.ff-dashboard-head{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 22px;border-radius:12px;background:#0d4777;color:#fff}
.ff-dashboard-head>div>span{font-size:9px;font-weight:800;letter-spacing:.1em;color:#d4e4ef}
.ff-dashboard-head h2{margin:4px 0 0;color:#fff;font:750 24px 'Montserrat','Poppins',sans-serif}
.ff-dashboard-profile{text-align:right}.ff-dashboard-profile b,.ff-dashboard-profile span{display:block}
.ff-dashboard-profile b{color:#f0c443;font-size:12px}.ff-dashboard-profile span{font-size:10px;color:#d4e4ef;margin-top:4px}
.ff-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ff-dashboard-card{padding:20px;border:1px solid #dce5ec;border-radius:12px;background:#fff}
.ff-dashboard-card>span{font-size:9px;font-weight:800;letter-spacing:.09em;color:#b48200}
.ff-dashboard-card h3{margin:6px 0 12px;color:#0d4777;font:750 18px 'Montserrat','Poppins',sans-serif}
.ff-dashboard-card p{color:#748696;font-size:11.5px}
.ff-dashboard-list{display:grid;gap:7px}
.ff-dashboard-list>a,.ff-request-row{display:flex;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid #e1e8ed;border-radius:7px;text-decoration:none}
.ff-dashboard-list strong,.ff-request-row strong{color:#174b75;font-size:11.5px}
.ff-dashboard-list span,.ff-request-row span{color:#9c7700;font-size:10px;white-space:nowrap}
.ff-new-request{margin-top:18px;border-top:1px solid #e4eaef;padding-top:14px}
.ff-new-request summary{cursor:pointer;color:#0c67aa;font-size:11px;font-weight:750;margin-bottom:14px}
@media(max-width:760px){.ff-dashboard-grid{grid-template-columns:1fr}.ff-dashboard-head{align-items:flex-start;flex-direction:column}.ff-dashboard-profile{text-align:left}}

/* FF UNSA v2.35 — Studentska služba archive */
.ff-studentska-archive{max-width:1180px}
.ff-studentska-archive .ff-archive-row b a{color:#a77900;text-decoration:none}
.ff-service-side .ff-dept-sidebox-archive{position:static!important}
@media(min-width:1051px){
  .ff-service-side .ff-dept-sidebox:first-child{position:sticky;top:84px}
}

/* FF UNSA v2.36 — Služba za nastavu */
.ff-nastava-archive .ff-archive-row b a{color:#a77900;text-decoration:none}
.ff-service-main #kalendar,.ff-service-main #raspored,.ff-service-main #rokovi{scroll-margin-top:84px}

/* FF UNSA v2.37 — Stručne službe index */
.ff-services-index-hero{
  padding:58px 0 54px;
  background:linear-gradient(120deg,#0b4779,#145f95);
  color:#fff;
}
.ff-services-index-hero h1{
  margin:10px 0 8px;
  color:#fff;
  font:800 clamp(36px,5vw,64px)/1.02 'Montserrat','Poppins',sans-serif;
  letter-spacing:-.035em;
}
.ff-services-index-hero p{
  max-width:760px;margin:0;color:rgba(255,255,255,.82);font-size:14px;line-height:1.65
}
.ff-services-index-hero .ff-breadcrumbs,
.ff-services-index-hero .ff-breadcrumbs a{color:rgba(255,255,255,.78)}
.ff-services-index-content{padding-top:46px;padding-bottom:70px}
.ff-services-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px
}
.ff-service-index-card{
  min-height:205px;padding:24px;border:1px solid #dce5ec;border-radius:12px;background:#fff;
  text-decoration:none;box-shadow:0 8px 24px rgba(5,47,95,.045);transition:.17s ease
}
.ff-service-index-card:hover{
  transform:translateY(-2px);border-color:#c0d1de;box-shadow:0 14px 30px rgba(5,47,95,.075)
}
.ff-service-index-card>span{
  color:#b48200;font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase
}
.ff-service-index-card h2{
  margin:9px 0 10px;color:#0d4777;font:750 18px/1.32 'Montserrat','Poppins',sans-serif
}
.ff-service-index-card p{margin:0 0 24px;color:#758696;font-size:11.5px;line-height:1.6}
.ff-service-index-card b{color:#0c67aa;font-size:10.5px}
.ff-service-index-card.is-framework{background:#f8fafb}
.ff-service-index-card.is-framework:hover{transform:none;box-shadow:0 8px 24px rgba(5,47,95,.045)}
.ff-service-index-card.is-framework>span{color:#8293a1}
.ff-service-index-card.is-framework b{color:#8293a1}
@media(max-width:950px){.ff-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){
  .ff-services-grid{grid-template-columns:1fr}
  .ff-services-index-hero{padding:42px 0 40px}
}

/* FF UNSA v2.38 — Javnost rada */
.ff-public-page-content{padding-top:42px;padding-bottom:72px}
.ff-public-work-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:24px}
.ff-public-work-filters a{
  padding:8px 12px;border:1px solid #dce5ec;border-radius:999px;background:#fff;
  color:#365f7d;text-decoration:none;font-size:10px;font-weight:650
}
.ff-public-work-filters a.active,.ff-public-work-filters a:hover{
  color:#0d4777;border-color:#b9ccd9;background:#f6f9fb
}
.ff-public-work-list{display:grid;gap:8px}
.ff-public-row{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:18px 20px;border:1px solid #dde6ec;border-radius:10px;background:#fff
}
.ff-public-row span{
  color:#b48200;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase
}
.ff-public-row h3{margin:5px 0 4px}
.ff-public-row h3 a{color:#0d4777;text-decoration:none;font:700 16px/1.35 'Montserrat','Poppins',sans-serif}
.ff-public-row p{margin:0;color:#7a8b99;font-size:10.5px}
.ff-public-open{color:#0c67aa;text-decoration:none;font-size:10.5px;font-weight:700;white-space:nowrap}
@media(max-width:650px){.ff-public-row{align-items:flex-start;flex-direction:column}}

/* FF UNSA v2.39 — NIRMAS + IT */
.ff-it-status-board{display:grid;gap:8px}
.ff-it-status-row{padding:16px 18px;border:1px solid #dce5ec;border-radius:10px;background:#fff}
.ff-it-status-row span{font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6f8190}
.ff-it-status-row h3{margin:5px 0 3px;color:#0d4777;font:700 16px 'Montserrat','Poppins',sans-serif}
.ff-it-status-row p{margin:0;color:#758696;font-size:10.5px}
.ff-it-status-row.status-operativno{border-left:4px solid #7ca26b}
.ff-it-status-row.status-odrzavanje{border-left:4px solid #be9e42}
.ff-it-status-row.status-poteskoce{border-left:4px solid #c18b3e}
.ff-it-status-row.status-nedostupno{border-left:4px solid #a85b5b}
.ff-it-status-row.status-u-razvoju,.ff-it-status-row.status-testiranje{border-left:4px solid #4d7da7}
.ff-web-development-strip{
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  padding:9px 16px;background:#fff3cf;border-bottom:1px solid #e4cf8f;color:#66541f;font-size:10.5px
}
.ff-web-development-strip strong{font-weight:750}
.ff-web-development-strip span{opacity:.82}
.ff-nirmas-archive .ff-archive-row b a,.ff-it-archive .ff-archive-row b a{color:#a77900;text-decoration:none}

/* FF UNSA v2.40 — Research + International public portals */
.ff-public-hub-content{padding-top:42px;padding-bottom:76px}
.ff-public-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:38px}
.ff-public-feature-card{padding:22px;border:1px solid #dce5ec;border-radius:12px;background:#fff}
.ff-public-feature-card>span{font-size:9px;font-weight:800;letter-spacing:.09em;color:#b48200}
.ff-public-feature-card h2{margin:7px 0 8px;color:#0d4777;font:750 19px 'Montserrat','Poppins',sans-serif}
.ff-public-feature-card p{margin:0 0 18px;color:#748696;font-size:11.5px;line-height:1.6}
.ff-public-feature-card a{color:#0c67aa;text-decoration:none;font-size:10.5px;font-weight:700}
.ff-projection-list{display:grid;gap:8px}
.ff-projection-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;border:1px solid #e0e7ec;border-radius:9px;background:#fff}
.ff-projection-row>div>span{font-size:9px;color:#9a7a1d;font-weight:800;letter-spacing:.06em}
.ff-projection-row h3{margin:4px 0 3px}
.ff-projection-row h3 a{color:#0d4777;text-decoration:none;font:700 15px/1.35 'Montserrat','Poppins',sans-serif}
.ff-projection-row p{margin:0;color:#7d8d99;font-size:10.5px}
.ff-projection-row>a{color:#0c67aa;text-decoration:none;font-size:10.5px;font-weight:700;white-space:nowrap}
.ff-public-filter-pills{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 16px}
.ff-public-filter-pills a{padding:7px 11px;border:1px solid #dce5ec;border-radius:999px;background:#fff;color:#43637b;text-decoration:none;font-size:9.5px}
.ff-public-filter-pills a.active,.ff-public-filter-pills a:hover{background:#f5f8fa;border-color:#b9ccd9;color:#0d4777}
@media(max-width:900px){.ff-public-feature-grid{grid-template-columns:1fr}}
@media(max-width:640px){.ff-projection-row{align-items:flex-start;flex-direction:column}}

/* FF UNSA v2.41 — Students hub */
.ff-students-page-content{padding-top:42px;padding-bottom:76px}
.ff-student-hero-tools{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:34px}
.ff-student-year-card,.ff-student-dashboard-card{padding:22px;border-radius:12px}
.ff-student-year-card{background:#0d4777;color:#fff}
.ff-student-dashboard-card{background:#fff;border:1px solid #dce5ec}
.ff-student-year-card>span,.ff-student-dashboard-card>span{display:block;font-size:9px;font-weight:800;letter-spacing:.09em;margin-bottom:7px}
.ff-student-year-card>span{color:#d7e5ef}.ff-student-dashboard-card>span{color:#b48200}
.ff-student-year-card strong,.ff-student-dashboard-card strong{display:block;font:750 22px 'Montserrat','Poppins',sans-serif;margin-bottom:7px}
.ff-student-year-card strong{color:#f2c640}.ff-student-dashboard-card strong{color:#0d4777}
.ff-student-year-card p,.ff-student-dashboard-card p{margin:0 0 14px;font-size:11.5px;line-height:1.6}
.ff-student-year-card p{color:#d7e5ef}.ff-student-dashboard-card p{color:#748696}
.ff-student-dashboard-card a{color:#0c67aa;text-decoration:none;font-size:10.5px;font-weight:700}
.ff-student-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ff-student-link-grid>a{padding:18px;border:1px solid #dde6ec;border-radius:10px;background:#fff;text-decoration:none}
.ff-student-link-grid>a>span{font-size:9px;font-weight:800;letter-spacing:.08em;color:#b48200}
.ff-student-link-grid h3{margin:6px 0 7px;color:#0d4777;font:700 16px/1.3 'Montserrat','Poppins',sans-serif}
.ff-student-link-grid p{margin:0 0 16px;color:#778895;font-size:10.5px;line-height:1.55}
.ff-student-link-grid b{color:#0c67aa;font-size:10px}
.ff-student-notice-list{display:grid;gap:8px}
.ff-student-notice-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;border:1px solid #e0e7ec;border-radius:9px;background:#fff}
.ff-student-notice-row span{font-size:9px;color:#9a7a1d;font-weight:800}
.ff-student-notice-row h3{margin:4px 0 0}
.ff-student-notice-row h3 a{color:#0d4777;text-decoration:none;font:700 14px 'Montserrat','Poppins',sans-serif}
.ff-student-notice-row>a{color:#0c67aa;text-decoration:none;font-size:10px;font-weight:700;white-space:nowrap}
@media(max-width:950px){.ff-student-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  .ff-student-hero-tools,.ff-student-link-grid{grid-template-columns:1fr}
  .ff-student-notice-row{align-items:flex-start;flex-direction:column}
}

/* FF UNSA v2.42 — Nastava public hub */
.ff-nastava-hub .ff-dept-section{scroll-margin-top:84px}
.ff-inline-cta{display:inline-block;margin-top:10px;color:#0c67aa;text-decoration:none;font-size:10.5px;font-weight:700}

/* FF UNSA v2.43 — Biblioteka + O Fakultetu */
.ff-about-copy{max-width:900px;color:#4e6577;font-size:13px;line-height:1.85}
.ff-about-copy p{margin:0 0 16px}
.ff-dekanat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ff-dekanat-card{padding:20px;border:1px solid #dce5ec;border-radius:11px;background:#fff}
.ff-dekanat-card>span{display:block;color:#b48200;font-size:8.7px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;line-height:1.5}
.ff-dekanat-card h3{margin:7px 0 5px;color:#0d4777;font:700 16px/1.35 'Montserrat','Poppins',sans-serif}
.ff-dekanat-card p{margin:0 0 9px;color:#748696;font-size:10.5px}
.ff-dekanat-card a{color:#0c67aa;font-size:10px;text-decoration:none;overflow-wrap:anywhere}
.ff-people-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ff-person-card{padding:18px;border:1px solid #dce5ec;border-radius:10px;background:#fff}
.ff-person-card h3{margin:0 0 7px}.ff-person-card h3 a{color:#0d4777;text-decoration:none;font:700 15px 'Montserrat','Poppins',sans-serif}
.ff-person-card p{margin:0 0 7px;color:#748696;font-size:10.5px}.ff-person-card>a{color:#0c67aa;font-size:10px;text-decoration:none}
.ff-library-list{display:grid;gap:8px}
.ff-library-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;border:1px solid #e0e7ec;border-radius:9px;background:#fff}
.ff-library-row h3{margin:0 0 4px;color:#0d4777;font:700 14px 'Montserrat','Poppins',sans-serif}
.ff-library-row p{margin:0;color:#7b8b98;font-size:10.5px}.ff-library-row>a{color:#0c67aa;text-decoration:none;font-size:10px;font-weight:700;white-space:nowrap}
.ff-library-question-form{display:grid;gap:12px;max-width:900px}
.ff-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ff-library-question-form label>span{display:block;margin-bottom:5px;color:#647c8f;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.ff-library-question-form input,.ff-library-question-form select,.ff-library-question-form textarea{width:100%;box-sizing:border-box;border:1px solid #cdd9e2;border-radius:8px;padding:11px 12px;background:#fff;color:#214d72;font:500 11.5px 'Poppins',sans-serif}
.ff-library-question-form button{width:max-content;border:0;border-radius:8px;background:#0d4777;color:#fff;padding:11px 18px;font:700 11px 'Poppins',sans-serif;cursor:pointer}
@media(max-width:900px){.ff-dekanat-grid,.ff-people-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.ff-dekanat-grid,.ff-people-directory,.ff-form-grid{grid-template-columns:1fr}.ff-library-row{align-items:flex-start;flex-direction:column}}

/* v2.44 hardening */
.ff-header-inner{background:#083b66;position:relative}
.ff-header-inner .ff-nav-link{color:#fff}
.ff-single-content{max-width:960px;padding:30px 0 70px;color:#455f73;line-height:1.75}
.ff-secure-downloads{margin-top:28px;display:grid;gap:8px}
.ff-secure-downloads>a{display:flex;justify-content:space-between;padding:13px 15px;border:1px solid #dce5ec;border-radius:8px;text-decoration:none;color:#0d4777}
.ff-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ff-choice-grid form{margin:0 0 7px}.ff-choice-grid button{width:100%;text-align:left;padding:9px 10px;border:1px solid #dce5ec;background:#fff;border-radius:7px;color:#0d4777;cursor:pointer}
@media(max-width:800px){.ff-choice-grid{grid-template-columns:1fr}}

.ff-footer-directory-search{display:flex;gap:6px;margin-top:12px}.ff-footer-directory-search input{min-width:0;padding:8px 9px;border-radius:6px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff}.ff-footer-directory-search button{border:0;border-radius:6px;padding:8px 10px;cursor:pointer}

/* FF UNSA v2.45 — Portal login */
.ff-portal-login-shell{max-width:560px;margin:0 auto;padding:42px 0 78px}
.ff-portal-login-card{padding:30px;border:1px solid #dbe5ec;border-radius:14px;background:#fff;box-shadow:0 12px 35px rgba(12,63,103,.08)}
.ff-portal-login-card h1,.ff-portal-login-card h2{margin:6px 0 8px;color:#0d4777;font:750 25px/1.25 'Montserrat','Poppins',sans-serif}
.ff-portal-login-card>p{color:#708494;font-size:11.5px;line-height:1.6}
.ff-portal-login-form{display:grid;gap:12px;margin-top:22px}
.ff-portal-login-form label>span{display:block;margin-bottom:5px;color:#60798c;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.ff-portal-login-form input[type=text],.ff-portal-login-form input[type=password]{width:100%;box-sizing:border-box;padding:12px;border:1px solid #cbd8e2;border-radius:8px}
.ff-portal-login-form button,.ff-portal-primary{display:inline-block;border:0;border-radius:8px;padding:12px 18px;background:#0d4777;color:#fff;text-decoration:none;font:700 11px 'Poppins',sans-serif;cursor:pointer}
.ff-portal-remember{display:flex!important;gap:7px;align-items:center;color:#657d8f;font-size:10.5px}
.ff-portal-types{display:flex;gap:7px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid #edf1f4}
.ff-portal-types span{padding:6px 9px;border-radius:999px;background:#f3f7fa;color:#41657e;font-size:9px;font-weight:700}
.ff-portal-error{margin:14px 0;padding:10px 12px;border-radius:8px;background:#fff0f0;color:#934343;font-size:10.5px}
.ff-role-portal{padding:42px 0 80px}.ff-role-portal-head{margin-bottom:25px}.ff-role-portal-head h1{margin:5px 0;color:#0d4777}


/* =========================================================
   FF UNSA v2.52 — MODERN DARK NAVY SYSTEM
   Consistent global header/navigation across ALL pages
   ========================================================= */

:root{
  --ff-navy-950:#07111f;
  --ff-navy-900:#0a1728;
  --ff-navy-850:#0d1c30;
  --ff-navy-800:#11243b;
  --ff-navy-750:#152b46;
  --ff-navy-700:#193653;
  --ff-gold:#d8a92f;
  --ff-gold-2:#efbd3e;
  --ff-ink:#122033;
  --ff-muted:#6f8194;
  --ff-line:#dfe6ed;
  --ff-bg:#f5f7fa;
  --ff-card:#ffffff;
}

/* Global page background */
body{
  background:var(--ff-bg);
  color:var(--ff-ink);
}

/* Top utility bar */
.ff-topbar,
.site-topbar,
.top-bar,
.header-top{
  background:var(--ff-navy-950)!important;
  color:#d8e1ea!important;
  border-bottom:1px solid rgba(255,255,255,.06)!important;
}
.ff-topbar a,
.site-topbar a,
.top-bar a,
.header-top a{
  color:#e7edf3!important;
}
.ff-topbar a:hover,
.site-topbar a:hover,
.top-bar a:hover,
.header-top a:hover{
  color:var(--ff-gold-2)!important;
}

/* Main header/nav shell */
.ff-header,
.site-header,
header.site-header,
.main-header,
.ff-main-header{
  background:linear-gradient(180deg,var(--ff-navy-900),var(--ff-navy-850))!important;
  color:#fff!important;
  border-bottom:1px solid rgba(255,255,255,.07)!important;
  box-shadow:0 6px 20px rgba(4,15,28,.14)!important;
}

/* Force navigation visibility globally */
.ff-header nav,
.site-header nav,
.main-header nav,
.ff-main-nav,
.primary-navigation,
#site-navigation{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}

/* Navigation links */
.ff-header nav a,
.site-header nav a,
.main-header nav a,
.ff-main-nav a,
.primary-navigation a,
#site-navigation a{
  color:#f3f6f9!important;
  font-weight:700!important;
  letter-spacing:.01em!important;
  text-decoration:none!important;
  transition:color .18s ease, background .18s ease, border-color .18s ease!important;
}
.ff-header nav a:hover,
.site-header nav a:hover,
.main-header nav a:hover,
.ff-main-nav a:hover,
.primary-navigation a:hover,
#site-navigation a:hover{
  color:var(--ff-gold-2)!important;
}

/* Active menu accent */
.current-menu-item>a,
.current_page_item>a,
.current-menu-ancestor>a,
.ff-header nav a[aria-current="page"],
.site-header nav a[aria-current="page"]{
  color:#fff!important;
  border-bottom:2px solid var(--ff-gold-2)!important;
}

/* Logo / brand */
.site-branding,
.ff-brand,
.ff-logo-wrap{
  color:#fff!important;
}
.site-branding img,
.ff-brand img,
.ff-logo-wrap img{
  filter:none!important;
}

/* Inner-page hero/banner: darker, cleaner */
.ff-page-hero,
.page-hero,
.inner-hero,
.ff-section-hero,
.ff-page-header{
  background:
    radial-gradient(circle at 80% 10%,rgba(52,84,124,.22),transparent 38%),
    linear-gradient(135deg,var(--ff-navy-900),var(--ff-navy-750))!important;
  color:#fff!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}
.ff-page-hero h1,
.page-hero h1,
.inner-hero h1,
.ff-section-hero h1,
.ff-page-header h1{
  color:#fff!important;
}
.ff-page-hero p,
.page-hero p,
.inner-hero p,
.ff-section-hero p,
.ff-page-header p{
  color:#dbe4ed!important;
}
.ff-page-hero .ff-section-eyebrow,
.page-hero .ff-section-eyebrow,
.inner-hero .ff-section-eyebrow{
  color:var(--ff-gold-2)!important;
}

/* Breadcrumbs */
.breadcrumb,
.breadcrumbs,
.ff-breadcrumbs{
  color:#c9d5df!important;
}
.breadcrumb a,
.breadcrumbs a,
.ff-breadcrumbs a{
  color:#e7edf3!important;
}

/* Secondary tab navigation */
.ff-page-tabs,
.page-tabs,
.section-tabs,
.ff-section-tabs{
  background:#fff!important;
  border-bottom:1px solid var(--ff-line)!important;
}
.ff-page-tabs a,
.page-tabs a,
.section-tabs a,
.ff-section-tabs a{
  color:#244563!important;
  font-weight:700!important;
}
.ff-page-tabs a:hover,
.page-tabs a:hover,
.section-tabs a:hover,
.ff-section-tabs a:hover,
.ff-page-tabs a.active,
.page-tabs a.active,
.section-tabs a.active,
.ff-section-tabs a.active{
  color:var(--ff-navy-900)!important;
  border-bottom:2px solid var(--ff-gold)!important;
}

/* Homepage hero modernization */
.ff-home-hero,
.home-hero,
.hero,
.front-hero{
  position:relative!important;
}
.ff-home-hero:before,
.home-hero:before,
.front-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(4,14,25,.78) 0%,rgba(8,22,38,.58) 45%,rgba(8,22,38,.34) 100%)!important;
  pointer-events:none;
  z-index:1;
}
.ff-home-hero>*,
.home-hero>*,
.front-hero>*{
  position:relative;
  z-index:2;
}
.ff-home-hero h1,
.home-hero h1,
.front-hero h1{
  color:#fff!important;
  text-shadow:0 2px 14px rgba(0,0,0,.22)!important;
}
.ff-home-hero .ff-section-eyebrow,
.home-hero .ff-section-eyebrow{
  color:var(--ff-gold-2)!important;
}

/* Cards */
.ff-card,
.ff-quick-card,
.ff-feature-card,
.ff-student-link-grid>a,
.ff-home-grid>a,
.ff-service-card,
.ff-info-card{
  background:var(--ff-card)!important;
  border:1px solid var(--ff-line)!important;
  box-shadow:0 10px 28px rgba(17,36,59,.06)!important;
  border-radius:12px!important;
}
.ff-card:hover,
.ff-quick-card:hover,
.ff-feature-card:hover,
.ff-student-link-grid>a:hover,
.ff-home-grid>a:hover,
.ff-service-card:hover,
.ff-info-card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 36px rgba(17,36,59,.10)!important;
}

/* Dark quick cards where appropriate */
.ff-dark-card,
.ff-teaching-card,
.ff-dashboard-card{
  background:linear-gradient(145deg,var(--ff-navy-850),var(--ff-navy-750))!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.08)!important;
}
.ff-dark-card h3,
.ff-teaching-card h3,
.ff-dashboard-card h3{
  color:#fff!important;
}

/* Gold accents/buttons */
.button,
button,
input[type=submit],
.ff-btn,
.ff-portal-primary{
  border-radius:8px!important;
}
.ff-btn-primary,
.button-primary,
.ff-portal-primary{
  background:linear-gradient(180deg,var(--ff-gold-2),var(--ff-gold))!important;
  color:#111a24!important;
  border-color:var(--ff-gold)!important;
  font-weight:800!important;
}
.ff-btn-primary:hover,
.button-primary:hover,
.ff-portal-primary:hover{
  filter:brightness(1.04)!important;
}

/* Footer */
.ff-footer,
.site-footer,
footer.site-footer{
  background:linear-gradient(180deg,var(--ff-navy-850),var(--ff-navy-950))!important;
  color:#dbe5ee!important;
  border-top:2px solid var(--ff-gold)!important;
}
.ff-footer h3,
.ff-footer h4,
.site-footer h3,
.site-footer h4{
  color:#fff!important;
}
.ff-footer a,
.site-footer a{
  color:#d7e1eb!important;
}
.ff-footer a:hover,
.site-footer a:hover{
  color:var(--ff-gold-2)!important;
}

/* Remove accidental page-specific hiding of nav */
body:not(.home) .ff-header nav,
body:not(.home) .site-header nav,
body:not(.home) .main-header nav,
body:not(.home) .ff-main-nav,
body:not(.home) .primary-navigation,
body:not(.home) #site-navigation{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}

/* Responsive */
@media (max-width:1100px){
  .ff-header nav,
  .site-header nav,
  .main-header nav,
  .ff-main-nav,
  .primary-navigation,
  #site-navigation{
    flex-wrap:wrap!important;
    gap:12px 18px!important;
  }
}
@media (max-width:780px){
  .ff-header,
  .site-header,
  header.site-header,
  .main-header,
  .ff-main-header{
    position:relative!important;
  }
}


/* =========================================================
   FF UNSA v2.53 — ONE GLOBAL MENU / READABLE DROPDOWNS
   ========================================================= */

/* Every page now uses the same .ff-nav-item / .ff-dropdown markup. */
.ff-header-inner{
  position:relative!important;
  z-index:100!important;
  background:linear-gradient(180deg,#091626 0%,#0d1d31 100%)!important;
}
.ff-header-inner .ff-navrow{
  padding-top:14px!important;
  padding-bottom:14px!important;
}
.ff-header-inner .ff-logo img{
  width:96px!important;
  height:96px!important;
}

/* Keep dropdowns above all hero/page content. */
.ff-header,
.ff-navrow,
.ff-nav,
.ff-nav-item{
  overflow:visible!important;
}
.ff-nav-item{
  z-index:300!important;
}
.ff-nav-item:hover,
.ff-nav-item:focus-within{
  z-index:600!important;
}

/* DARK, readable dropdowns. Generic v2.52 nav rules must not make text invisible. */
.ff-header .ff-dropdown{
  top:56px!important;
  background:#0d1d31!important;
  color:#eef4fa!important;
  border:1px solid rgba(255,255,255,.11)!important;
  border-top:3px solid #e2ad2f!important;
  box-shadow:0 22px 46px rgba(0,0,0,.34)!important;
  border-radius:0 0 10px 10px!important;
  padding:10px!important;
  z-index:1000!important;
}
.ff-header .ff-dropdown a{
  color:#eef4fa!important;
  background:transparent!important;
  border:0!important;
  padding:10px 12px!important;
  font-weight:650!important;
  line-height:1.35!important;
}
.ff-header .ff-dropdown a:hover,
.ff-header .ff-dropdown a:focus{
  color:#ffd25e!important;
  background:rgba(255,255,255,.075)!important;
  border-radius:6px!important;
}

/* Nested flyout menus */
.ff-has-sub{
  position:relative!important;
}
.ff-header .ff-submenu{
  position:absolute!important;
  left:calc(100% + 8px)!important;
  top:-10px!important;
  min-width:285px!important;
  background:#101f33!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-top:3px solid #e2ad2f!important;
  border-radius:0 9px 9px 9px!important;
  box-shadow:0 20px 44px rgba(0,0,0,.36)!important;
  padding:10px!important;
  display:none;
  z-index:1200!important;
}
.ff-header .ff-has-sub:hover>.ff-submenu,
.ff-header .ff-has-sub:focus-within>.ff-submenu{
  display:block!important;
}
.ff-header .ff-submenu a{
  color:#eef4fa!important;
}
.ff-header .ff-submenu a:hover,
.ff-header .ff-submenu a:focus{
  color:#ffd25e!important;
  background:rgba(255,255,255,.075)!important;
}

/* Wide Odsjeci dropdown */
.ff-header .ff-dropdown.cols-3{
  background:#0d1d31!important;
  color:#eef4fa!important;
}

/* Rightmost menu must stay inside viewport. */
.ff-header .ff-dropdown-right{
  left:auto!important;
  right:0!important;
}

/* Prevent the wide dropdowns around the right side from escaping viewport. */
.ff-nav-item:nth-last-child(-n+3)>.ff-dropdown:not(.cols-3){
  left:auto!important;
  right:0!important;
}

/* Homepage header/nav should remain readable over hero. */
.home .ff-header{
  background:linear-gradient(180deg,rgba(7,17,31,.94),rgba(10,24,42,.89))!important;
}

/* Inner page header MUST have same dropdown arrows and menu behavior. */
body:not(.home) .ff-nav-item>.ff-nav-link{
  color:#f4f7fa!important;
}
body:not(.home) .ff-nav-item>.ff-nav-link .chev{
  display:inline!important;
  color:#b9c6d2!important;
}
body:not(.home) .ff-nav-item:hover>.ff-nav-link,
body:not(.home) .ff-nav-item:focus-within>.ff-nav-link{
  color:#ffd25e!important;
  border-bottom-color:#e2ad2f!important;
}

/* Make inner page blue hero darker and visually match header. */
body:not(.home) .ff-services-index-hero,
body:not(.home) .ff-public-hub-hero,
body:not(.home) .ff-page-hero,
body:not(.home) .ff-section-hero,
body:not(.home) .ff-students-hero,
body:not(.home) .ff-teaching-hero,
body:not(.home) .ff-international-hero{
  background:
    radial-gradient(circle at 78% 12%,rgba(55,81,113,.20),transparent 40%),
    linear-gradient(135deg,#0c1b2e 0%,#132a45 62%,#183653 100%)!important;
}

/* At desktop widths keep menu compact enough to fit. */
@media (min-width:1180px){
  .ff-nav{gap:10px!important;}
  .ff-nav-link{font-size:13px!important;padding-left:2px!important;padding-right:2px!important;}
}

/* Mobile/tablet: dropdowns become in-flow panels rather than off-screen flyouts. */
@media (max-width:1100px){
  .ff-nav{align-items:stretch!important;}
  .ff-nav-item{width:100%!important;}
  .ff-header .ff-dropdown,
  .ff-header .ff-dropdown.cols-3{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    width:100%!important;
    min-width:0!important;
    grid-template-columns:1fr!important;
  }
  .ff-header .ff-submenu{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    min-width:0!important;
    margin:4px 0 4px 12px!important;
  }
}

/* =========================================================
   FF UNSA v3.0 CLEAN PRODUCTION LAYER
   Single responsive source of truth. No legacy patch stacking.
   ========================================================= */

/* ---------- GLOBAL STABILITY ---------- */
html{overflow-x:hidden}
body{overflow-x:hidden}
img{max-width:100%;height:auto}

/* Department secondary mobile navigation is redundant with Brzi pristup. */
@media(max-width:980px){
  .ff-dept-nav.ff-dept-nav-collapsible,
  .ff-dept-menu-toggle,
  .ff-dept-menu-panel{display:none!important}
}

/* ---------- GLOBAL MOBILE MENU ---------- */
@media(max-width:980px){
  .ff-header,.ff-header-inner,.ff-navrow{overflow:visible!important}
  .ff-navrow{position:relative!important;align-items:center!important}
  .ff-mobile-toggle{
    display:block!important;position:relative!important;z-index:10010!important;
    margin-left:auto!important;width:44px!important;height:44px!important;
    min-width:44px!important;min-height:44px!important;padding:0!important;
    border:1px solid rgba(255,255,255,.42)!important;border-radius:8px!important;
    background:#0b2035!important;color:#fff!important;font-size:21px!important;
    line-height:42px!important;text-align:center!important
  }
  body:not(.ff-menu-open) .ff-header .ff-nav,
  body:not(.ff-menu-open) .ff-header-inner .ff-nav{display:none!important}
  body.ff-menu-open .ff-header .ff-nav,
  body.ff-menu-open .ff-header-inner .ff-nav{
    display:flex!important;position:absolute!important;top:100%!important;left:0!important;right:0!important;
    width:100%!important;max-height:calc(100vh - 92px)!important;overflow-y:auto!important;overflow-x:hidden!important;
    flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:8px 14px 16px!important;margin:0!important;
    background:rgba(7,22,38,.985)!important;border-top:1px solid rgba(255,255,255,.08)!important;
    box-shadow:0 18px 40px rgba(0,0,0,.32)!important;z-index:10000!important
  }
  .ff-nav-item{display:block!important;width:100%!important;margin:0!important;padding:0!important;border-bottom:1px solid rgba(255,255,255,.10)!important}
  .ff-nav-link{display:flex!important;width:100%!important;min-height:46px!important;align-items:center!important;justify-content:space-between!important;padding:11px 4px!important;color:#f5f7fa!important;background:transparent!important;border:0!important;font-size:13px!important;line-height:1.2!important}
  .ff-nav-item>.ff-dropdown,.ff-nav-item:hover>.ff-dropdown,.ff-nav-item:focus-within>.ff-dropdown{display:none!important}
  .ff-nav-item.ff-mobile-open>.ff-dropdown{
    display:grid!important;position:static!important;width:100%!important;min-width:0!important;max-width:none!important;
    grid-template-columns:1fr!important;margin:0 0 8px!important;padding:6px!important;background:#0f2943!important;
    border:1px solid rgba(255,255,255,.10)!important;border-top:2px solid #d7aa36!important;border-radius:6px!important;
    box-shadow:none!important;opacity:1!important;visibility:visible!important;transform:none!important
  }
  .ff-dropdown a,.ff-submenu a{color:#eef4f8!important;background:transparent!important;padding:9px 10px!important;font-size:12px!important;line-height:1.3!important}
  .ff-has-sub>.ff-submenu,.ff-has-sub:hover>.ff-submenu{display:none!important}
  .ff-has-sub.ff-mobile-sub-open>.ff-submenu{
    display:block!important;position:static!important;width:100%!important;min-width:0!important;margin:4px 0 5px 7px!important;
    padding:4px 5px 4px 8px!important;background:#15314d!important;border:0!important;border-left:2px solid #d7aa36!important;box-shadow:none!important
  }
}

/* ---------- HOMEPAGE MAIN CONTENT ---------- */
.ff263-wrap{
  width:min(94%,1450px)!important;max-width:1450px!important;margin:34px auto 48px!important;
  display:grid!important;gap:22px!important;box-sizing:border-box!important
}
.ff263-panel{background:#fff;border:1px solid #e1e8ee;border-radius:12px;padding:20px;box-shadow:0 7px 24px rgba(12,35,58,.045)}
.ff263-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid #e6ebef}
.ff263-head h2{position:relative;margin:0;color:#0b3155;font-size:25px;line-height:1.1;font-weight:800}
.ff263-head h2:after{content:"";position:absolute;left:0;bottom:-11px;width:42px;height:3px;border-radius:2px;background:#e2ad22}
.ff263-head h2 .ff263-title-link{color:inherit;text-decoration:none}
.ff263-head h2 .ff263-title-link:hover,.ff263-head h2 .ff263-title-link:focus-visible{color:#0b4a81;text-decoration:underline;text-underline-offset:3px}
.ff263-head>a{color:#0b4a81;font-size:12px;font-weight:750;text-decoration:none;white-space:nowrap}.ff263-head>a:hover{text-decoration:underline}

/* ---------- NEWS: DESKTOP KLIX 3+4 ---------- */
.ff268-news-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;align-items:stretch!important}
.ff268-card{min-width:0!important;overflow:hidden!important;background:#fff!important;border:1px solid #dde6ed!important;border-radius:9px!important;box-shadow:0 5px 16px rgba(14,39,62,.05)!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important}
.ff268-card:hover{transform:translateY(-2px)!important;border-color:#cbd8e3!important;box-shadow:0 10px 24px rgba(14,39,62,.08)!important}
.ff268-card>a{display:flex!important;flex-direction:column!important;height:100%!important;color:inherit!important;text-decoration:none!important}
.ff268-left{grid-column:1!important;grid-row:1!important}.ff268-featured{grid-column:2/span 2!important;grid-row:1!important}.ff268-right{grid-column:4!important;grid-row:1!important}
.ff268-small-4{grid-column:1!important;grid-row:2!important}.ff268-small-5{grid-column:2!important;grid-row:2!important}.ff268-small-6{grid-column:3!important;grid-row:2!important}.ff268-small-7{grid-column:4!important;grid-row:2!important}
.ff268-media{position:relative!important;width:100%!important;height:205px!important;overflow:hidden!important;background:linear-gradient(135deg,#dbe5ed,#c6d4df)!important}
.ff268-media img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;display:block!important;margin:0 auto!important}
.ff268-featured .ff268-media{height:100%!important;min-height:390px!important}
.ff268-shade{position:absolute!important;inset:0!important;background:linear-gradient(to top,rgba(2,14,27,.90) 0%,rgba(2,14,27,.45) 45%,rgba(2,14,27,.03) 78%)!important}
.ff268-feature-copy{display:block!important;position:absolute!important;left:22px!important;right:22px!important;bottom:18px!important;z-index:3!important;color:#fff!important}
.ff268-feature-copy h3{display:block!important;margin:0 0 9px!important;color:#fff!important;font-size:26px!important;line-height:1.16!important;font-weight:850!important;text-shadow:0 2px 12px rgba(0,0,0,.35)!important}
.ff268-feature-copy time{display:block!important;margin:0!important;color:#fff!important;text-align:right!important;font-size:11px!important;font-weight:700!important}
.ff268-body{display:flex!important;flex-direction:column!important;flex:1!important;min-height:215px!important;padding:14px 15px 13px!important}
.ff268-body h3{margin:0 0 9px!important;color:#0b2d50!important;font-size:17px!important;line-height:1.27!important;font-weight:800!important;overflow-wrap:anywhere!important}
.ff268-body p{margin:0!important;color:#536879!important;font-size:13px!important;line-height:1.48!important}
.ff268-body time{margin-top:auto!important;padding-top:14px!important;text-align:right!important;color:#0866bf!important;font-size:11px!important;font-weight:650!important}
.ff268-small .ff268-media{height:170px!important}.ff268-small .ff268-body{min-height:145px!important}.ff268-small .ff268-body h3{font-size:15px!important;line-height:1.28!important}

/* ---------- OGLASNA / KONKURSI ---------- */
.ff263-bottom{display:grid!important;grid-template-columns:minmax(0,7fr) minmax(300px,3fr)!important;gap:22px!important;align-items:start!important}
.ff263-list{display:grid}.ff263-row{display:grid;grid-template-columns:90px minmax(0,1fr) 18px;gap:14px;align-items:center;min-height:61px;padding:11px 10px;border-bottom:1px solid #e5eaef;text-decoration:none!important;background:#fff}
.ff263-row:last-child{border-bottom:0}.ff263-row:hover{background:#f8fafc}.ff263-row time{color:#0866bf;font-size:10.5px;font-weight:650;white-space:nowrap}.ff263-row-title{min-width:0;color:#0b2d50;font-size:13.5px;line-height:1.35;font-weight:600;white-space:normal;overflow-wrap:anywhere}.ff263-chevron{color:#0b4a81;font-size:23px;line-height:1;text-align:right}
.ff263-row.ff263-row-call{display:grid!important;grid-template-columns:minmax(0,1fr) 18px!important;grid-template-rows:auto auto!important;column-gap:12px!important;row-gap:5px!important;align-items:start!important}
.ff263-row.ff263-row-call .ff263-row-title{grid-column:1!important;grid-row:1!important;width:100%!important;min-width:0!important}.ff263-row.ff263-row-call time{grid-column:1!important;grid-row:2!important;width:auto!important;min-width:0!important;max-width:none!important;text-align:left!important;padding:0!important;margin:0!important;font-size:10px!important;color:#6e8193!important}.ff263-row.ff263-row-call .ff263-chevron{grid-column:2!important;grid-row:1/span 2!important;align-self:center!important}

/* ---------- TABLET ---------- */
@media(max-width:1180px) and (min-width:761px){
  .ff268-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ff268-featured{grid-column:1/span 2!important;grid-row:1!important}.ff268-left{grid-column:1!important;grid-row:2!important}.ff268-right{grid-column:2!important;grid-row:2!important}
  .ff268-small-4{grid-column:1!important;grid-row:3!important}.ff268-small-5{grid-column:2!important;grid-row:3!important}.ff268-small-6{grid-column:1!important;grid-row:4!important}.ff268-small-7{grid-column:2!important;grid-row:4!important}
  .ff268-featured .ff268-media{min-height:350px!important}
}

/* ---------- MOBILE HOMEPAGE: FINAL APPROVED STATE ---------- */
@media(max-width:760px){
  /* Compact utility/header */
  .home .ff-topbar{min-height:22px!important;height:auto!important;font-size:9px!important;line-height:1.1!important}
  .home .ff-header{position:absolute!important;top:22px!important;left:0!important;right:0!important;z-index:50!important}
  .home .ff-header .ff-navrow{min-height:76px!important;height:76px!important;padding:0 14px!important;align-items:center!important}
  .home .ff-header .ff-logo img{width:58px!important;height:58px!important;max-width:58px!important;max-height:58px!important;object-fit:contain!important}

  /* Hero */
  .home .ff-hero{position:relative!important;min-height:470px!important;height:470px!important;overflow:visible!important;background-position:center center!important}
  .home .ff-hero-copy{position:absolute!important;left:26px!important;right:22px!important;bottom:86px!important;top:auto!important;max-width:88%!important;z-index:4!important;padding:0!important}
  .home .ff-hero-copy h1{font-size:28px!important;line-height:1.04!important;letter-spacing:-.35px!important;margin:0!important;max-width:100%!important}
  .home .ff-hero-subtitle{display:block!important;margin-top:10px!important;font-size:10px!important;line-height:1.15!important;letter-spacing:.55px!important;white-space:nowrap!important;overflow:visible!important;max-width:100%!important}

  /* Quick 2 x 4, half-overlapping hero bottom */
  .home .ff-quick-wrap{position:relative!important;z-index:20!important;width:100%!important;margin:-38px auto 0!important;padding:0 16px!important;box-sizing:border-box!important}
  .home .ff-quick-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;width:100%!important;max-width:100%!important;margin:0 auto!important;padding:0!important}
  .home .ff-quick-card{width:100%!important;min-width:0!important;height:86px!important;min-height:86px!important;padding:11px 13px!important;gap:11px!important;border-radius:10px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;box-sizing:border-box!important;overflow:hidden!important}
  .home .ff-quick-icon{flex:0 0 42px!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;display:flex!important;align-items:center!important;justify-content:center!important}
  .home .ff-quick-icon svg,.home .ff-quick-icon img{width:21px!important;height:21px!important;max-width:21px!important;max-height:21px!important}
  .home .ff-quick-card strong{min-width:0!important;font-size:12px!important;line-height:1.12!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .home .ff-quote-day{margin-top:18px!important}

  /* Content */
  .ff263-wrap{width:calc(100% - 20px)!important;max-width:none!important;margin:24px auto 36px!important;gap:16px!important}
  .ff263-panel{padding:14px!important}
  .ff263-bottom{grid-template-columns:1fr!important;gap:16px!important}

  /* Featured news first, then two-column card grid. Pure CSS, no JS dependency. */
  .ff268-news-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  .ff268-featured{grid-column:1/span 2!important;grid-row:1!important}
  .ff268-left{grid-column:1!important;grid-row:2!important}.ff268-right{grid-column:2!important;grid-row:2!important}
  .ff268-small-4{grid-column:1!important;grid-row:3!important}.ff268-small-5{grid-column:2!important;grid-row:3!important}.ff268-small-6{grid-column:1!important;grid-row:4!important}.ff268-small-7{grid-column:2!important;grid-row:4!important}
  .ff268-featured .ff268-media{height:300px!important;min-height:300px!important}.ff268-feature-copy{left:16px!important;right:16px!important;bottom:14px!important}.ff268-feature-copy h3{font-size:21px!important}
  .ff268-left .ff268-media,.ff268-right .ff268-media,.ff268-small .ff268-media{height:135px!important}
  .ff268-body,.ff268-small .ff268-body{min-height:0!important;padding:10px!important}.ff268-body h3,.ff268-small .ff268-body h3{font-size:12px!important;line-height:1.23!important;margin-bottom:6px!important}.ff268-body p{display:none!important}.ff268-body time{font-size:9.5px!important;padding-top:8px!important}

  .ff263-row{grid-template-columns:68px minmax(0,1fr) 14px;gap:8px;min-height:58px;padding:10px 5px}.ff263-row time{font-size:9.5px}.ff263-row-title{font-size:12.5px}.ff263-row.ff263-row-call{grid-template-columns:minmax(0,1fr) 16px!important}
}

@media(max-width:390px){
  .home .ff-hero{min-height:445px!important;height:445px!important}.home .ff-hero-copy{bottom:82px!important;left:22px!important}.home .ff-hero-copy h1{font-size:26px!important}.home .ff-quick-wrap{margin-top:-34px!important;padding:0 12px!important}.home .ff-quick-grid{gap:8px!important}.home .ff-quick-card{height:80px!important;min-height:80px!important;padding:9px 10px!important}.home .ff-quick-card strong{font-size:10.8px!important}
}

/* v4.0.6: real-device mobile guard. Some mobile browsers retained the
   desktop 70/30 grid despite the narrower homepage rules. */
@media screen and (max-width:900px){
  body.home .ff263-bottom{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    gap:16px!important;
  }
  body.home .ff263-bottom>.ff263-panel{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    flex:0 0 auto!important;
    box-sizing:border-box!important;
  }
  body.home .ff263-bottom>.ff263-panel:first-child{order:1!important}
  body.home .ff263-bottom>.ff263-panel:last-child{order:2!important}
}

/* Department contact data is projected from the first ordered staff record. */
.ff-dept-contact-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.ff-dept-contact-card>div{display:flex;flex-direction:column;gap:5px;padding:16px;border:1px solid #dfe7ed;border-radius:9px;background:#f8fafc}.ff-dept-contact-card span{color:#6a7c8d;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.ff-dept-contact-card strong{color:#0b3155;font-size:15px;overflow-wrap:anywhere}.ff-dept-contact-card strong a{color:inherit;text-decoration:none}.ff-dept-contact-card strong a:hover{text-decoration:underline}.ff-dept-contact-card small{color:#607385;font-size:12px}
@media(max-width:760px){.ff-dept-contact-card{grid-template-columns:1fr}}


/* =========================================================
   FF UNSA v3.1 — DESIGN CONSISTENCY PASS
   ========================================================= */

/* 1) Homepage mobile utility bar + logo/menu header are one visual block. */
@media(max-width:760px){
  .home .ff-topbar{margin:0!important;border:0!important;border-bottom:0!important}
  .home .ff-hero{margin-top:0!important}
  .home .ff-header{
    top:0!important;
    margin:0!important;
    border-top:0!important;
    background:linear-gradient(180deg,rgba(7,17,31,.98),rgba(10,24,42,.94))!important;
  }
  .home .ff-header .ff-navrow{margin-top:0!important}
}

/* 2) Dates on regular homepage news cards use the same quiet grey as calls.
      Featured date intentionally remains white overlay. */
.ff268-card:not(.ff268-featured) .ff268-body time{
  color:#6e8193!important;
}

/* 3) One institutional hero colour system on every inner page. */
body:not(.home) .ff-dept-hero,
body:not(.home) .ff-departments-index-hero,
body:not(.home) .ff-students-hero,
body:not(.home) .ff-archive-page-hero,
body:not(.home) .ff-service-hero,
body:not(.home) .ff-services-index-hero,
body:not(.home) .ff-public-hub-hero,
body:not(.home) .ff-page-hero,
body:not(.home) .page-hero,
body:not(.home) .inner-hero,
body:not(.home) .ff-section-hero,
body:not(.home) .ff-teaching-hero,
body:not(.home) .ff-international-hero{
  background:
    radial-gradient(circle at 82% 12%,rgba(46,76,108,.18),transparent 38%),
    linear-gradient(135deg,#081a2d 0%,#102b47 58%,#173b5c 100%)!important;
  color:#fff!important;
}

/* 4) Single news — centered portal/article layout inspired by modern news sites. */
.ff-news-single-hero{
  padding:34px 0 30px!important;
}
.ff-news-single-hero h1{
  max-width:1180px!important;
  font-size:clamp(34px,4.2vw,58px)!important;
  line-height:1.04!important;
}
.ff-news-single-meta{
  margin-top:12px;
  color:rgba(255,255,255,.72);
  font-size:12px;
}
.ff-news-single-shell{
  width:min(calc(100% - 48px),1280px);
  margin:0 auto;
  padding:38px 0 76px;
  display:grid;
  grid-template-columns:minmax(0,820px) minmax(280px,340px);
  justify-content:center;
  gap:44px;
  align-items:start;
}
.ff-news-single-main{min-width:0}
.ff-news-single-main .ff-single-content{
  width:100%;
  max-width:820px!important;
  margin:0!important;
  padding:0!important;
  color:#405b70;
  font-size:17px;
  line-height:1.78;
}
.ff-news-single-main .ff-single-content>p,
.ff-news-single-main .ff-single-content>figure,
.ff-news-single-main .ff-single-content>.wp-block-image,
.ff-news-single-main .ff-single-content>div{
  max-width:820px;
}
.ff-news-single-main .ff-single-content img{
  display:block;
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  margin:0 auto 22px!important;
  border-radius:4px;
}
.ff-news-single-main .ff-single-content figure{
  margin:0 0 24px!important;
}
.ff-news-single-main .ff-single-content figure img{margin-bottom:7px!important}
.ff-news-single-main .ff-single-content figcaption{
  color:#7a8b98;
  font-size:11px;
}
.ff-news-single-main .ff-single-content p{margin:0 0 20px}

.ff-news-related{
  position:sticky;
  top:92px;
  border-left:1px solid #e1e7ec;
  padding-left:24px;
}
.ff-news-related h2{
  margin:0 0 14px;
  padding-bottom:12px;
  border-bottom:1px solid #e1e7ec;
  color:#344e64;
  font:750 18px/1.2 'Montserrat','Poppins',Arial,sans-serif;
}
.ff-news-related-list{display:grid}
.ff-news-related-item{
  display:block;
  padding:14px 0;
  border-bottom:1px solid #e7ecef;
  color:#183e60;
  text-decoration:none;
}
.ff-news-related-item:last-child{border-bottom:0}
.ff-news-related-item time{
  display:block;
  margin-bottom:5px;
  color:#8a99a5;
  font-size:10px;
}
.ff-news-related-item strong{
  display:block;
  font-size:14px;
  line-height:1.42;
  font-weight:650;
}
.ff-news-related-item:hover strong{color:#0a67a7}

@media(max-width:980px){
  .ff-news-single-shell{
    width:min(calc(100% - 28px),820px);
    grid-template-columns:1fr;
    gap:34px;
    padding-top:26px;
  }
  .ff-news-related{
    position:static;
    border-left:0;
    border-top:1px solid #e1e7ec;
    padding:24px 0 0;
  }
  .ff-news-related-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:20px;
  }
}
@media(max-width:620px){
  .ff-news-single-hero{padding:28px 0 26px!important}
  .ff-news-single-hero h1{font-size:30px!important;line-height:1.08!important}
  .ff-news-single-shell{width:calc(100% - 24px);padding:22px 0 52px;gap:28px}
  .ff-news-single-main .ff-single-content{font-size:15.5px;line-height:1.72}
  .ff-news-related-list{grid-template-columns:1fr}
  .ff-news-related-item strong{font-size:13.5px}
}


/* =========================================================
   FF UNSA v3.2 — GLOBAL SINGLE NEWS NORMALIZATION + GALLERY
   ========================================================= */
.ff-news-single-shell{
  width:min(calc(100% - 48px),1280px)!important;
  margin:0 auto!important;
  padding:36px 0 76px!important;
  display:grid!important;
  grid-template-columns:minmax(0,820px) minmax(280px,340px)!important;
  justify-content:center!important;
  gap:44px!important;
  align-items:start!important;
}
.ff-news-single-main{
  width:100%!important;
  max-width:820px!important;
  min-width:0!important;
  margin:0!important;
}
.ff-news-article-text,
.ff-news-article-text > *,
.ff-news-article-text .ff-container{
  max-width:100%!important;
  box-sizing:border-box!important;
}
.ff-news-article-text .ff-container{
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
.ff-news-article-text [style*="width"]{max-width:100%!important}
.ff-news-article-text img{display:none!important}
.ff-news-article-text p{
  max-width:100%!important;
  margin:0 0 20px!important;
}
.ff-news-article-text iframe,
.ff-news-article-text video{max-width:100%!important}

.ff-news-lead-image{
  width:100%;
  margin:0 0 28px!important;
  background:#eef2f5;
  border-radius:5px;
  overflow:hidden;
}
.ff-news-lead-image img{
  display:block;
  width:100%!important;
  max-width:820px!important;
  height:auto!important;
  max-height:620px;
  margin:0 auto!important;
  object-fit:contain;
  object-position:center;
}

.ff-news-gallery{
  width:100%;
  max-width:820px;
  margin:0 0 30px;
}
.ff-news-gallery-stage{
  position:relative;
  width:100%;
  aspect-ratio:16 / 10;
  min-height:360px;
  max-height:560px;
  overflow:hidden;
  border-radius:6px;
  background:#0b1724;
  box-shadow:0 8px 26px rgba(9,28,45,.10);
  touch-action:pan-y;
}
.ff-news-gallery-track{
  position:relative;
  width:100%;
  height:100%;
}
.ff-news-gallery-slide{
  position:absolute;
  inset:0;
  margin:0!important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease;
}
.ff-news-gallery-slide.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.ff-news-gallery-slide img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center center!important;
}
.ff-news-gallery-prev,
.ff-news-gallery-next{
  position:absolute;
  top:50%;
  z-index:4;
  width:46px;
  height:46px;
  margin-top:-23px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:50%;
  background:rgba(5,15,25,.62);
  color:#fff;
  font:400 34px/42px Arial,sans-serif;
  cursor:pointer;
  backdrop-filter:blur(4px);
}
.ff-news-gallery-prev{left:14px}
.ff-news-gallery-next{right:14px}
.ff-news-gallery-prev:hover,
.ff-news-gallery-next:hover{background:rgba(5,15,25,.82)}
.ff-news-gallery-count{
  position:absolute;
  right:14px;
  bottom:13px;
  z-index:4;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(5,15,25,.70);
  color:#fff;
  font-size:11px;
  font-weight:700;
}
.ff-news-gallery-dots{
  display:flex;
  justify-content:center;
  gap:7px;
  margin-top:10px;
}
.ff-news-gallery-dots button{
  width:7px;
  height:7px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#cbd4db;
}
.ff-news-gallery-dots button.is-active{background:#0d527f}
.ff-news-related{
  position:sticky!important;
  top:92px!important;
  min-width:0!important;
}
@media(max-width:980px){
  .ff-news-single-shell{
    width:min(calc(100% - 28px),820px)!important;
    grid-template-columns:1fr!important;
    gap:32px!important;
    padding-top:26px!important;
  }
  .ff-news-single-main{
    max-width:820px!important;
    margin:0 auto!important;
  }
  .ff-news-related{position:static!important}
  .ff-news-gallery-stage{
    min-height:0;
    aspect-ratio:16 / 10;
  }
}
@media(max-width:620px){
  .ff-news-single-shell{
    width:calc(100% - 22px)!important;
    padding:20px 0 48px!important;
  }
  .ff-news-gallery{margin-bottom:22px}
  .ff-news-gallery-stage{
    aspect-ratio:4 / 3;
    border-radius:4px;
  }
  .ff-news-gallery-prev,
  .ff-news-gallery-next{
    width:38px;
    height:38px;
    margin-top:-19px;
    font-size:28px;
    line-height:34px;
  }
  .ff-news-gallery-prev{left:9px}
  .ff-news-gallery-next{right:9px}
  .ff-news-gallery-count{right:9px;bottom:9px}
  .ff-news-lead-image{margin-bottom:22px!important}
  .ff-news-lead-image img{max-height:none}
}
