
.taff-wrap{max-width:1400px;margin:28px auto;padding:0 14px;font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;color:#182033}
.taff-head{padding:24px 26px;border:1px solid #e4e8ef;border-radius:22px;background:linear-gradient(135deg,#fff,#fafbff);box-shadow:0 14px 34px rgba(20,30,55,.06);margin-bottom:18px}
.taff-kicker{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#725810;background:#fff8e7;border:1px solid #efdfb0;border-radius:999px;padding:6px 9px;margin-bottom:10px}
.taff-head h2{font-size:32px;line-height:1.2;margin:0 0 8px;font-weight:800}
.taff-head p{font-size:16px;line-height:1.7;color:#687386;margin:0}
.taff-filter-grid{display:grid;grid-template-columns:1.35fr 1.1fr .8fr 1fr 1.35fr;gap:10px;background:#fff;border:1px solid #e4e8ef;border-radius:18px;padding:14px;box-shadow:0 10px 28px rgba(20,30,55,.05)}
.taff-filter{display:block;min-width:0}
.taff-filter>span{display:block;font-size:12px;font-weight:800;color:#566174;margin:0 0 6px}
.taff-input-wrap{position:relative}
.taff-input-wrap input{width:100%;height:44px;border:1px solid #d5dbe5;border-radius:10px;background:#fff;padding:0 34px 0 11px;font-size:14px;outline:none}
.taff-input-wrap input:focus{border-color:#9da9ba;box-shadow:0 0 0 3px rgba(120,135,160,.12)}
.taff-clear-one{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:25px;height:25px;border:0;background:#f4f6f9;border-radius:50%;font-size:17px;color:#7b8494;cursor:pointer}
.taff-wrap[data-lang="ar"]{direction:rtl}.taff-wrap[data-lang="ar"] .taff-input-wrap input{padding:0 11px 0 34px}.taff-wrap[data-lang="ar"] .taff-clear-one{right:auto;left:7px}
.taff-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 2px 10px}
#taff-summary{font-size:14px;font-weight:700;color:#596578}
#taff-clear-all{border:1px solid #d8dde6;background:#fff;border-radius:9px;padding:8px 11px;font-weight:700;cursor:pointer}
.taff-table-wrap{overflow:auto;border:1px solid #e2e7ee;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(20,30,55,.045)}
.taff-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1100px}
.taff-table th{position:sticky;top:0;z-index:2;background:#f8fafc;color:#445066;font-size:12px;text-transform:uppercase;letter-spacing:.03em;text-align:left;padding:12px;border-bottom:1px solid #e2e7ee;white-space:nowrap}
.taff-wrap[data-lang="ar"] .taff-table th{text-align:right}
.taff-table td{padding:12px;border-bottom:1px solid #edf0f4;vertical-align:middle;font-size:14px;line-height:1.45}
.taff-table tr:last-child td{border-bottom:0}.taff-table tbody tr:hover{background:#fffdf8}
.taff-table td strong{font-size:14px;color:#182033}.taff-table td small{display:block;margin-top:3px;color:#7a8494;font-size:12px}
.taff-tuition{display:inline-flex;white-space:nowrap;background:#fff8e7;border:1px solid #efdfb0;color:#674f0e;border-radius:8px;padding:5px 8px;font-weight:800}
.taff-apply-form{margin:0}.taff-apply-btn{width:100%;min-width:96px;border:1px solid #23304c;background:linear-gradient(135deg,#222d49,#344766);color:#fff;border-radius:9px;padding:9px 11px;font-size:13px;font-weight:800;cursor:pointer}
.taff-loading,.taff-empty{padding:26px;color:#667085;background:#fafbfc}
.taff-pagination{display:flex;justify-content:center;align-items:center;gap:10px;margin:14px 0}.taff-pagination button{border:1px solid #d8dde6;background:#fff;border-radius:9px;padding:8px 12px;font-weight:700;cursor:pointer}.taff-pagination button:disabled{opacity:.4;cursor:not-allowed}.taff-pagination span{font-size:13px;font-weight:700;color:#687386}
@media(max-width:1050px){.taff-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.taff-head{padding:19px}.taff-head h2{font-size:27px}.taff-filter-grid{grid-template-columns:1fr;padding:11px}.taff-toolbar{align-items:stretch;flex-direction:column}.taff-table-wrap{border-radius:12px}.taff-table{min-width:1000px}}

/* v0.1.1 — custom dropdowns for consistent desktop/mobile behavior */
.taff-input-wrap{position:relative;z-index:1}
.taff-input-wrap:focus-within{z-index:30}
.taff-dropdown{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 6px);
  z-index:1000;
  background:#fff;
  border:1px solid #dfe4ec;
  border-radius:12px;
  box-shadow:0 16px 36px rgba(20,30,55,.14);
  max-height:300px;
  overflow:auto;
  padding:6px;
  -webkit-overflow-scrolling:touch;
}
.taff-dropdown[hidden]{display:none!important}
.taff-option{
  display:block;
  width:100%;
  border:0;
  background:transparent;
  text-align:left;
  border-radius:8px;
  padding:10px 11px;
  font-size:14px;
  color:#273247;
  cursor:pointer;
  line-height:1.35;
}
.taff-wrap[data-lang="ar"] .taff-option{text-align:right}
.taff-option:hover,.taff-option:focus{background:#f6f8fb;outline:none}
.taff-dropdown-empty{padding:12px;color:#7a8494;font-size:13px}
@media(max-width:650px){
  .taff-dropdown{
    max-height:min(42vh,320px);
    border-radius:14px;
    box-shadow:0 18px 40px rgba(20,30,55,.18);
  }
  .taff-option{
    padding:12px 11px;
    font-size:15px;
  }
  .taff-input-wrap input{
    height:48px;
    font-size:15px;
  }
}

/* v0.1.3 — clean initial state + no-result contact CTA */
.taff-start-hint{display:flex;align-items:center;gap:13px;padding:18px 20px;margin-top:14px;border:1px dashed #d9dee7;border-radius:15px;background:linear-gradient(135deg,#fbfcfe,#fffdf8);color:#697386}
.taff-start-hint[hidden],.taff-toolbar[hidden],.taff-table-wrap[hidden],.taff-pagination[hidden]{display:none!important}
.taff-start-icon{width:42px;height:42px;min-width:42px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#fff8e7;border:1px solid #efdfb0;color:#74580d;font-size:20px}
.taff-start-hint strong{display:block;margin-bottom:3px;color:#344054;font-size:14px}.taff-start-hint span{display:block;font-size:13px;line-height:1.55}
.taff-no-results{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:center;padding:22px;border-radius:15px;background:linear-gradient(135deg,#fffdf8,#fbfcff);border:1px solid #eadfbf}
.taff-no-results-icon{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#fff5d8;border:1px solid #ead79a;color:#785d11;font-size:20px;font-weight:900}
.taff-no-results-copy strong{display:block;color:#2f394b;font-size:15px;margin-bottom:4px}.taff-no-results-copy span{display:block;color:#707a8c;font-size:13px;line-height:1.6}
.taff-contact-btn{display:inline-flex;align-items:center;justify-content:center;min-width:116px;min-height:42px;padding:10px 14px;border-radius:10px;text-decoration:none!important;background:linear-gradient(135deg,#222d49,#344766);color:#fff!important;font-size:13px;font-weight:800;white-space:nowrap}
.taff-contact-btn:hover{transform:translateY(-1px);box-shadow:0 9px 18px rgba(34,45,73,.15)}
@media(max-width:650px){.taff-start-hint{padding:15px;align-items:flex-start}.taff-no-results{grid-template-columns:42px 1fr;padding:16px}.taff-no-results-icon{width:40px;height:40px}.taff-contact-btn{grid-column:1/-1;width:100%}}

/* v0.2.0 — independent build + robust mobile dropdown scrolling */
.taff-dropdown{
  touch-action: pan-y !important;
  overscroll-behavior-y: contain !important;
  -webkit-overflow-scrolling: touch !important;
}
.taff-option{
  touch-action: pan-y !important;
  -webkit-tap-highlight-color: transparent;
}

/* v0.2.1 — arrow-controlled dropdown scrolling */
.taff-dropdown-shell{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 6px);
  z-index:1000;
  background:#fff;
  border:1px solid #dfe4ec;
  border-radius:14px;
  box-shadow:0 16px 36px rgba(20,30,55,.16);
  overflow:hidden;
}
.taff-dropdown-shell[hidden]{display:none!important}

.taff-dropdown-shell .taff-dropdown{
  position:static!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  max-height:280px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:6px!important;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y!important;
}

.taff-scroll-btn{
  width:100%;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  background:linear-gradient(180deg,#fbfcfe,#f5f7fa);
  color:#354056;
  font-size:14px;
  font-weight:900;
  cursor:pointer;
  user-select:none;
  touch-action:manipulation!important;
}
.taff-scroll-up{
  border-bottom:1px solid #e6eaf0;
}
.taff-scroll-down{
  border-top:1px solid #e6eaf0;
}
.taff-scroll-btn:active{
  background:#eef2f7;
  transform:scale(.99);
}

@media(max-width:650px){
  .taff-dropdown-shell{
    border-radius:16px;
  }
  .taff-dropdown-shell .taff-dropdown{
    max-height:min(44vh,330px)!important;
  }
  .taff-scroll-btn{
    height:42px;
    font-size:16px;
  }
}

/* v0.2.2 — highly visible dropdown navigation arrows */
.taff-dropdown-shell{
  padding:0 !important;
  overflow:hidden !important;
}

.taff-scroll-btn{
  position:relative !important;
  width:100% !important;
  height:58px !important;
  min-height:58px !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  border:0 !important;
  border-radius:0 !important;
  font-weight:900 !important;
  cursor:pointer !important;
  opacity:1 !important;
  visibility:visible !important;
  z-index:1005 !important;
  touch-action:manipulation !important;
}

.taff-scroll-btn span{
  display:block !important;
  font-size:25px !important;
  line-height:1 !important;
  font-weight:900 !important;
}

.taff-scroll-btn small{
  display:block !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
}

.taff-scroll-up{
  background:linear-gradient(180deg,#273653,#1d2942) !important;
  color:#fff !important;
  border-bottom:3px solid #d8aa2d !important;
}

.taff-scroll-down{
  background:linear-gradient(180deg,#fff4d5,#f1d779) !important;
  color:#59430a !important;
  border-top:3px solid #d8aa2d !important;
}

.taff-scroll-btn:active{
  transform:none !important;
  filter:brightness(.92);
}

.taff-dropdown-shell .taff-dropdown{
  max-height:270px !important;
  background:#fff !important;
}

/* Mobile: make controls impossible to miss */
@media(max-width:650px){
  .taff-scroll-btn{
    height:64px !important;
    min-height:64px !important;
  }

  .taff-scroll-btn span{
    font-size:30px !important;
  }

  .taff-scroll-btn small{
    font-size:13px !important;
  }

  .taff-dropdown-shell .taff-dropdown{
    max-height:300px !important;
  }
}

/* v0.2.3 */
.taff-scroll-btn{display:flex!important;visibility:visible!important;opacity:1!important}
.taff-dropdown-shell{overflow:hidden!important}

/* v0.3.0: primary dropdown rail styling is injected inline by the shortcode to defeat theme/cache overrides. */

/* v0.3.2 — dropdown must paint above following filter rows */
.taff-filter-grid{overflow:visible!important;isolation:isolate!important}
.taff-filter{position:relative!important;z-index:1!important;overflow:visible!important}
.taff-filter.taff-filter-open{z-index:2147483000!important}
.taff-input-wrap.taff-open{z-index:2147483001!important}
.taff-input-wrap.taff-open .taff-dropdown-shell{z-index:2147483002!important}

/* v0.3.3: University Type comes only from its dedicated taxonomy; categories are excluded. */

/* v0.3.4: University Type source pinned to exact taxonomy: us-type */

/* v0.3.5 — helpful no-results contact state */
.taff-no-results{
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  margin-top:16px;
  padding:22px;
  border:1px solid #eadfbf;
  border-radius:18px;
  background:linear-gradient(135deg,#fffdf8,#f8fbff);
  box-shadow:0 12px 28px rgba(29,42,70,.06);
}
.taff-no-results-icon{
  width:50px;
  height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:15px;
  background:#fff4cf;
  border:1px solid #ead48e;
  color:#74570b;
  font-size:23px;
  font-weight:900;
}
.taff-no-results-copy strong{
  display:block;
  margin-bottom:5px;
  color:#1f2b44;
  font-size:16px;
  font-weight:850;
}
.taff-no-results-copy span{
  display:block;
  color:#687386;
  font-size:13px;
  line-height:1.7;
}
.taff-contact-btn{
  min-height:44px;
  padding:11px 16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:linear-gradient(135deg,#1f2d49,#344b70);
  color:#fff!important;
  text-decoration:none!important;
  font-size:13px;
  font-weight:850;
  white-space:nowrap;
  box-shadow:0 9px 20px rgba(31,45,73,.14);
}
.taff-contact-btn:hover{
  transform:translateY(-1px);
}
@media(max-width:650px){
  .taff-no-results{
    grid-template-columns:44px 1fr;
    padding:17px;
    gap:12px;
  }
  .taff-no-results-icon{
    width:42px;
    height:42px;
    font-size:20px;
  }
  .taff-contact-btn{
    grid-column:1 / -1;
    width:100%;
  }
}
