/* StudyFlow v38 — FINAL universities section stylesheet.
   Loaded last on purpose: this is the single source of truth for the section. */

/* section + panel */
.sf-programs-v21{padding-bottom:34px!important}
.sf-universities-v22{
  padding:12px 0 28px!important;
  margin:0!important;
  background:#fff!important;
  color:#0a2b20!important;
  overflow:visible!important;
}
.sf-universities-v22::before{display:none!important}
.sf-universities-v22 .container{
  width:min(1540px,calc(100% - 34px))!important;
  max-width:none!important;
  margin-inline:auto!important;
}
.sf-universities-panel,
.sf-universities-panel.sf-universities-panel--editorial{
  position:relative!important;
  overflow:hidden!important;
  padding:48px!important;
  border:1px solid #dce8e1!important;
  border-radius:32px!important;
  background:
    radial-gradient(circle at 96% 4%,rgba(116,151,133,.13),transparent 25%),
    linear-gradient(145deg,#f4f8f6 0%,#edf5f1 100%)!important;
  box-shadow:0 24px 65px rgba(7,31,22,.07)!important;
  color:#0a2b20!important;
}
.sf-universities-panel::before{
  content:"";
  position:absolute;
  right:-100px;
  bottom:-115px;
  width:235px;
  height:235px;
  border-radius:50%;
  border:1px solid rgba(29,91,64,.10);
  pointer-events:none;
}
.sf-universities-panel::after{display:none!important}

/* heading */
.sf-universities-v22-head{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)!important;
  gap:54px!important;
  align-items:end!important;
  max-width:none!important;
  margin:0 0 22px!important;
  padding:0 0 30px!important;
  border-bottom:1px solid #cfddd5!important;
}
.sf-universities-v22 .sf-kicker{
  display:inline-flex!important;
  width:auto!important;
  max-width:max-content!important;
  align-items:center!important;
  gap:9px!important;
  margin:0 0 18px!important;
  padding:8px 13px!important;
  border:1px solid #bfd2c7!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.78)!important;
  color:#15553b!important;
  font-size:.68rem!important;
  line-height:1!important;
  letter-spacing:.13em!important;
  font-weight:900!important;
}
.sf-universities-v22 .sf-kicker::before{
  content:"";
  width:17px;
  height:2px;
  border-radius:999px;
  background:#1d6b4a;
}
.sf-universities-v22-head h2{
  max-width:820px!important;
  margin:0!important;
  color:#082f20!important;
  font-size:clamp(2.65rem,4vw,4.5rem)!important;
  line-height:.96!important;
  letter-spacing:-.055em!important;
  text-wrap:balance;
}
.sf-universities-v22-head p{
  max-width:470px!important;
  margin:0 0 16px!important;
  color:#5f7168!important;
  font-size:1.03rem!important;
  line-height:1.68!important;
}
.sf-universities-v22-head .sf-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  color:#0c563b!important;
  font-size:.92rem!important;
  font-weight:900!important;
  text-decoration:none!important;
}

/* scroll affordance */
.sf-universities-toolbar{
  position:relative!important;
  z-index:3!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:16px!important;
  margin:0 0 18px!important;
}
.sf-uni-scroll-hint{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  color:#5f7168!important;
  font-size:.86rem!important;
  font-weight:800!important;
}
.sf-uni-scroll-hint::before{
  content:"↔";
  width:30px;
  height:30px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#e6efe9;
  color:#0c563b;
  font-weight:900;
}
.sf-uni-scroll-hint .is-mobile{display:none}
.sf-uni-scroll-buttons{display:flex!important;gap:10px!important}
.sf-uni-scroll-btn{
  width:44px!important;
  height:44px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid #d6e3dc!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#0c563b!important;
  box-shadow:0 8px 24px rgba(11,50,33,.07)!important;
  cursor:pointer!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
.sf-uni-scroll-btn:hover{
  transform:translateY(-2px)!important;
  border-color:#b7cbbf!important;
  box-shadow:0 14px 30px rgba(11,50,33,.11)!important;
}
.sf-uni-scroll-btn span{font-size:1.05rem!important;font-weight:900!important;line-height:1!important}

/* horizontal rail */
.sf-uni-scroll-shell{position:relative!important;z-index:2!important;overflow:visible!important}
.sf-uni-scroll-fade{
  position:absolute!important;
  top:0!important;
  bottom:14px!important;
  width:54px!important;
  z-index:4!important;
  pointer-events:none!important;
}
.sf-uni-scroll-fade.is-left{left:0!important;background:linear-gradient(90deg,#eff5f1 0%,rgba(239,245,241,0) 100%)!important}
.sf-uni-scroll-fade.is-right{right:0!important;background:linear-gradient(270deg,#eff5f1 0%,rgba(239,245,241,0) 100%)!important}
.sf-university-grid-v22{
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  grid-template-columns:none!important;
  align-items:stretch!important;
  gap:20px!important;
  width:100%!important;
  margin:0!important;
  padding:4px 2px 18px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scroll-padding-inline:2px!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:thin!important;
  scrollbar-color:#afc5b9 #e3ece7!important;
}
.sf-university-grid-v22::-webkit-scrollbar{height:10px!important}
.sf-university-grid-v22::-webkit-scrollbar-track{background:#e3ece7!important;border-radius:999px!important}
.sf-university-grid-v22::-webkit-scrollbar-thumb{background:#afc5b9!important;border-radius:999px!important;border:2px solid #e3ece7!important}

/* cards */
.sf-university-card-v22,
.sf-university-card-v22:nth-child(n){
  flex:0 0 405px!important;
  width:405px!important;
  min-width:405px!important;
  max-width:405px!important;
  height:auto!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  scroll-snap-align:start!important;
  color:#0a3223!important;
  text-decoration:none!important;
  background:#fff!important;
  border:1px solid #d7e3dc!important;
  border-radius:24px!important;
  box-shadow:0 12px 34px rgba(10,49,34,.055)!important;
  transform:none!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important;
}
.sf-university-card-v22:hover,
.sf-university-card-v22:nth-child(n):hover{
  transform:translateY(-5px)!important;
  border-color:#afcbbb!important;
  box-shadow:0 22px 48px rgba(10,49,34,.11)!important;
}
.sf-university-card-v22-media{
  position:relative!important;
  height:240px!important;
  flex:0 0 240px!important;
  overflow:hidden!important;
  background:#dfe8e3!important;
}
.sf-university-card-v22-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  transition:transform .45s ease!important;
}
.sf-university-card-v22:hover .sf-university-card-v22-media img{transform:scale(1.035)!important}
.sf-university-card-v22-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(2,20,13,.02) 0%,rgba(2,20,13,.20) 100%)!important;
}
.sf-university-card-v22-badge{
  position:absolute!important;
  z-index:3!important;
  left:18px!important;
  right:auto!important;
  bottom:18px!important;
  display:inline-flex!important;
  align-items:center!important;
  max-width:calc(100% - 36px)!important;
  padding:10px 13px!important;
  border:1px solid #d2e1d9!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.95)!important;
  color:#0c563b!important;
  font-size:.7rem!important;
  line-height:1.2!important;
  font-weight:900!important;
  box-shadow:0 8px 24px rgba(0,0,0,.10)!important;
}
.sf-university-card-v22.is-partner .sf-university-card-v22-badge{background:#eef5f1!important}
.sf-university-card-v22-body{
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  padding:22px!important;
  background:#fff!important;
}
.sf-university-card-v22-body::after{display:none!important}
.sf-university-card-v22-location{
  margin:0 0 9px!important;
  color:#728078!important;
  font-size:.7rem!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
  letter-spacing:.12em!important;
  font-weight:900!important;
}
.sf-university-card-v22 h3{
  min-height:2.35em!important;
  margin:0 0 12px!important;
  color:#082f20!important;
  font-size:1.42rem!important;
  line-height:1.14!important;
  letter-spacing:-.035em!important;
}
.sf-university-card-v22-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin:0 0 14px!important;
}
.sf-university-chip{
  display:inline-flex!important;
  align-items:center!important;
  min-height:30px!important;
  padding:6px 10px!important;
  border:1px solid #d8e5dd!important;
  border-radius:999px!important;
  background:#edf5f1!important;
  color:#15553b!important;
  font-size:.71rem!important;
  line-height:1.2!important;
  font-weight:800!important;
}
.sf-university-chip.is-subtle{background:#fff!important;color:#5f7168!important}
.sf-university-card-v22 p{
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  min-height:4.55em!important;
  margin:0!important;
  color:#63746c!important;
  font-size:.91rem!important;
  line-height:1.55!important;
}

/* important facts: readable, no narrow word-by-word column */
.sf-university-card-v22-facts{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:9px!important;
  margin:17px 0 0!important;
}
.sf-university-fact{
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:start!important;
  min-height:0!important;
  padding:11px 12px!important;
  border:1px solid #dce7e1!important;
  border-radius:14px!important;
  background:#f6faf7!important;
}
.sf-university-fact small{
  display:block!important;
  margin:2px 0 0!important;
  color:#77867f!important;
  font-size:.65rem!important;
  line-height:1.3!important;
  font-weight:900!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}
.sf-university-fact span{
  display:block!important;
  min-width:0!important;
  color:#203e32!important;
  font-size:.82rem!important;
  line-height:1.45!important;
  font-weight:700!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
}
.sf-university-card-v22-footer{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  margin-top:auto!important;
  padding-top:17px!important;
  border-top:1px solid #e3ebe6!important;
}
.sf-university-card-v22-footer b{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  color:#0c563b!important;
  font-size:.86rem!important;
  line-height:1.2!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.sf-university-card-v22-footer b span{font-size:1rem!important}

@media(max-width:1180px){
  .sf-universities-v22-head{grid-template-columns:1fr!important;gap:18px!important;align-items:start!important}
  .sf-universities-v22-head p{max-width:720px!important}
  .sf-university-card-v22,
  .sf-university-card-v22:nth-child(n){flex-basis:370px!important;width:370px!important;min-width:370px!important;max-width:370px!important}
}
@media(max-width:820px){
  .sf-universities-v22{padding:10px 0 58px!important}
  .sf-universities-v22 .container{width:min(100% - 28px,1540px)!important}
  .sf-universities-panel,
  .sf-universities-panel.sf-universities-panel--editorial{padding:24px 18px 18px!important;border-radius:24px!important}
  .sf-universities-v22-head{margin-bottom:18px!important;padding-bottom:22px!important}
  .sf-universities-v22-head h2{font-size:clamp(2.25rem,10.5vw,3.3rem)!important}
  .sf-universities-v22-head p{font-size:.94rem!important;line-height:1.58!important}
  .sf-universities-toolbar{align-items:flex-start!important;flex-direction:column!important;gap:10px!important}
  .sf-uni-scroll-hint .is-desktop{display:none!important}
  .sf-uni-scroll-hint .is-mobile{display:inline!important}
  .sf-university-card-v22,
  .sf-university-card-v22:nth-child(n){flex-basis:min(86vw,350px)!important;width:min(86vw,350px)!important;min-width:min(86vw,350px)!important;max-width:min(86vw,350px)!important}
  .sf-university-card-v22-media{height:220px!important;flex-basis:220px!important}
  .sf-university-card-v22 h3{min-height:0!important;font-size:1.28rem!important}
  .sf-university-card-v22 p{min-height:0!important}
}
@media(max-width:640px){
  .sf-uni-scroll-buttons{display:none!important}
  .sf-uni-scroll-fade{display:none!important}
  .sf-university-fact{grid-template-columns:100px minmax(0,1fr)!important}
}

html[dir="rtl"] .sf-universities-v22-head{text-align:right!important}
html[dir="rtl"] .sf-university-card-v22-badge{left:auto!important;right:18px!important}
html[dir="rtl"] .sf-university-card-v22-footer{justify-content:flex-start!important}
html[dir="rtl"] .sf-university-card-v22-footer b span{transform:scaleX(-1)}


/* =========================================================
   v39 — hard final color/background reset for university section
   Scoped by #universitaeten so legacy/refactor rules cannot win.
   ========================================================= */
html body main #universitaeten.sf-universities-v22 {
  background:#ffffff !important;
  background-image:none !important;
  color:#0a2b20 !important;
  border:0 !important;
  box-shadow:none !important;
}
html body main #universitaeten.sf-universities-v22::before,
html body main #universitaeten.sf-universities-v22::after {
  display:none !important;
  background:none !important;
}
html body main #universitaeten .sf-universities-panel,
html body main #universitaeten .sf-universities-panel.sf-universities-panel--editorial {
  background:radial-gradient(circle at 96% 4%,rgba(116,151,133,.13),transparent 25%),linear-gradient(145deg,#f4f8f6 0%,#edf5f1 100%) !important;
  color:#0a2b20 !important;
  border:1px solid #dce8e1 !important;
}
html body main #universitaeten .sf-universities-v22-head {
  border-color:#cfddd5 !important;
  color:#0a2b20 !important;
}
html body main #universitaeten .sf-universities-v22-head h2 {
  color:#082f20 !important;
  -webkit-text-fill-color:#082f20 !important;
  opacity:1 !important;
}
html body main #universitaeten .sf-universities-v22-head p {
  color:#5f7168 !important;
  -webkit-text-fill-color:#5f7168 !important;
  opacity:1 !important;
}
html body main #universitaeten .sf-universities-v22-head .sf-link {
  color:#0c563b !important;
  -webkit-text-fill-color:#0c563b !important;
  opacity:1 !important;
}
html body main #universitaeten .sf-kicker {
  color:#15553b !important;
  -webkit-text-fill-color:#15553b !important;
  background:rgba(255,255,255,.78) !important;
  border-color:#bfd2c7 !important;
  opacity:1 !important;
}
html body main #universitaeten .sf-uni-scroll-hint {
  color:#5f7168 !important;
  -webkit-text-fill-color:#5f7168 !important;
}


/* v41 spacing bridge */
html body main #universitaeten.sf-universities-v22{padding-bottom:28px !important;}
@media (max-width: 820px){html body main #universitaeten.sf-universities-v22{padding-bottom:18px !important;}}
