
.fcd-wrap{--line:#e6ebf2;--ink:#0e2a52;box-sizing:border-box}
*,*::before,*::after{box-sizing:inherit}
.fcd-header{background:#0d2850;color:#fff;padding:16px 12px;border-radius:12px;margin-bottom:14px;display:grid;gap:10px;position:sticky;top:0;z-index:5}
.fcd-header .title{font-weight:800;font-size:20px}
.fcd-header .searchrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.fcd-header .searchbar{display:flex;gap:8px;flex:1}
.fcd-header .searchbar input{flex:1;min-width:180px;max-width:640px;padding:10px;border-radius:10px;border:1px solid #d3dcf0;color:#0e2a52}
.fcd-header .searchbar button{background:#0e2a52;color:#fff;border:0;border-radius:10px;padding:10px 14px}
.filters-btn{border:1px solid #d3dcf0;background:#fff;color:#0e2a52;border-radius:10px;padding:10px 12px}
.active-filters{display:flex;gap:8px;flex-wrap:wrap}
.active-filters .chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid #d3dcf0;background:#f8fbff;color:#0e2a52;font-size:12px}
.active-filters .chip .x{font-weight:800}
.fcd-body{display:grid;grid-template-columns:minmax(260px,320px) 1fr;gap:16px}
.fcd-topgrid{align-items:start}
.fcd-main{min-width:0}
.filters{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;height:fit-content;position:sticky;top:96px;display:grid;gap:10px;transition:transform .28s ease, opacity .28s ease}
.filters .filters-close{display:none}
.filters .row1,.filters .row2{display:grid;gap:8px}
.filters .row2{grid-template-columns:1fr 1fr}
.filters label{font-size:12px;color:#5b6b82}
.filters select{padding:8px 10px;border:1px solid var(--line);border-radius:10px;min-height:42px;width:100%}
.filters .actions{display:flex;justify-content:flex-end}
.filters #fcd_reset{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff}

.drawer-backdrop{display:none;position:fixed;inset:0;background:rgba(10,20,40,.42);z-index:999}
.drawer-backdrop.show{display:block}

.results .toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.grid{min-height:120px}
.grid.loading{opacity:.6;pointer-events:none}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px;box-shadow:0 6px 16px rgba(14,24,44,.06)}
.card .place{font-size:12px;color:#5b6b82}
.card .name{font-size:16px;font-weight:800;margin:2px 0}
.card .chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{padding:2px 6px;border-radius:999px;border:1px solid var(--line);background:#f7f9fc;font-size:11px}
.chip.bb{background:#ffe9eb;border-color:#ffccd1;color:#9b1c28}
.chip.sb{background:#e8f1ff;border-color:#cfe1ff;color:#174ea6}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.stats dt{font-size:11px;color:#5b6b82}
.stats dd{font-weight:800;margin:0}
.actions{margin-top:auto;text-align:right}
.actions .btn{border:1px solid var(--line);border-radius:10px;padding:8px 10px;display:inline-block}

.pager{display:flex;gap:8px;justify-content:center;margin:12px 0;flex-wrap:wrap}
.pager button{padding:6px 10px;border:1px solid var(--line);background:#fff;border-radius:10px}
.pager button.active{background:#0e2a52;color:#fff}

.empty{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;color:#0e2a52}

/* Mobile drawer behavior */
@media (max-width:1100px){
  .fcd-body{grid-template-columns:1fr}
  .filters{
    position:fixed; top:0; right:0; bottom:0; width:min(92vw,420px); z-index:1000;
    border-radius:0; padding:18px; gap:12px; overflow:auto;
    transform:translateX(100%); opacity:0;
  }
  .filters.open{ transform:translateX(0); opacity:1; }
  .filters .filters-close{display:inline-block; align-self:flex-end; border:1px solid var(--line); background:#fff; border-radius:10px; padding:6px 10px}
  body.fcd-no-scroll{overflow:hidden}
  .cards{grid-template-columns:1fr}
}
@media (min-width:1101px){
  #fcd_filters_btn{display:none}
}


/* ===== College Profile ===== */
.fcd-profile{--line:#e6ebf2;--ink:#0e2a52;--muted:#5b6b82}
.fcd-profile .hero{background:linear-gradient(180deg,#0d2850 0%, #0e2a52 100%);color:#fff;border-radius:14px;padding:18px 16px;margin-bottom:14px;box-shadow:0 10px 28px rgba(10,20,40,.18)}
.fcd-profile .crumbs{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;opacity:.92}
.fcd-profile .crumbs a{color:#cfe1ff;text-decoration:none}
.fcd-profile .crumbs .dot{opacity:.65}
.fcd-profile .school{margin:10px 0 4px 0;font-size:28px;line-height:1.1;font-weight:900}
.fcd-profile .subline{font-size:14px;opacity:.95;margin-bottom:10px}
.fcd-profile .meta-chips{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 0 0}
.fcd-profile .meta-chips .chip{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff}
.fcd-profile .meta-chips .chip.bb{background:rgba(255,233,235,.18);border-color:rgba(255,233,235,.28)}
.fcd-profile .meta-chips .chip.sb{background:rgba(232,241,255,.18);border-color:rgba(232,241,255,.28)}
.fcd-profile .meta-chips .chip.link{display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.fcd-profile .meta-chips .fav{width:16px;height:16px;border-radius:4px}
.fcd-profile .hero-actions{display:flex;gap:10px;align-items:center;margin-top:14px;position:relative}
.fcd-profile .btn{border-radius:12px;padding:10px 12px;border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff}
.fcd-profile .btn.primary{background:#fff;color:#0e2a52;border-color:#fff;font-weight:800}
.fcd-profile .btn.ghost{background:rgba(255,255,255,.10)}
.fcd-profile .tooltip{position:absolute;left:210px;top:12px;background:#081a33;color:#fff;border:1px solid rgba(255,255,255,.16);padding:6px 10px;border-radius:999px;font-size:12px;opacity:0;transform:translateY(-6px);transition:all .15s ease}
.fcd-profile .tooltip.show{opacity:1;transform:translateY(0)}

.fcd-profile .tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px 0}
.fcd-profile .tab{border:1px solid var(--line);background:#fff;color:var(--ink);padding:10px 12px;border-radius:999px;font-weight:800}
.fcd-profile .tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.fcd-profile .tabpanel{display:none}
.fcd-profile .tabpanel.active{display:block}

.fcd-profile .cards2{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}
.fcd-profile .panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:0 8px 20px rgba(14,24,44,.06)}
.fcd-profile .panel h3{margin:0 0 10px 0;font-weight:900;color:var(--ink)}
.fcd-profile .divider{height:1px;background:var(--line);margin:12px 0}
.fcd-profile .kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
.fcd-profile .kv{display:flex;flex-direction:column;gap:4px}
.fcd-profile .kv .k{font-size:12px;color:var(--muted)}
.fcd-profile .kv .v{font-size:16px;font-weight:900;color:var(--ink)}

.fcd-profile .news-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px 0}
.fcd-profile .tab2{border:1px solid var(--line);background:#fff;color:var(--ink);padding:8px 10px;border-radius:999px;font-weight:800}
.fcd-profile .tab2.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.fcd-profile .news-panel{display:none}
.fcd-profile .news-panel.active{display:block}
.fcd-profile .news-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.fcd-profile .news-item{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fbfdff}
.fcd-profile .news-fav{width:20px;height:20px;border-radius:4px;margin-top:2px}
.fcd-profile .news-top{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:4px}
.fcd-profile .news-title{color:var(--ink);font-weight:900;text-decoration:none}
.fcd-profile .news-title:hover{text-decoration:underline}

@media (max-width:980px){
  .fcd-profile .cards2{grid-template-columns:1fr}
  .fcd-profile .school{font-size:24px}
  .fcd-profile .tooltip{left:auto;right:0}
}

.fcd-main .results{padding-top:12px}


/* ===== Profile UI Overrides (readability + map) ===== */
.fcd-profile .hero{
  background: linear-gradient(180deg,#f8fafc 0%, #eef2ff 100%) !important;
  color: var(--ink) !important;
  border: 1px solid var(--line);
  box-shadow: 0 10px 28px rgba(10,20,40,.10) !important;
}
.fcd-profile .crumbs{opacity:1}
.fcd-profile .crumbs a{color: var(--ink) !important}
.fcd-profile .meta-chips .chip{
  background:#fff !important;
  border:1px solid rgba(14,42,82,.15) !important;
  color: var(--ink) !important;
}
.fcd-profile .meta-chips .chip.bb{background:rgba(255,233,235,.55) !important}
.fcd-profile .meta-chips .chip.sb{background:rgba(232,241,255,.65) !important}
.fcd-profile .btn{
  border:1px solid rgba(14,42,82,.22) !important;
  color: var(--ink) !important;
  background: rgba(255,255,255,.55) !important;
}
.fcd-profile .btn.primary{
  background: var(--ink) !important;
  color:#fff !important;
  border-color: var(--ink) !important;
}
.fcd-profile .btn.ghost{background:#fff !important}

.fcd-profile .map-panel{margin: 14px 0 16px 0}
.fcd-profile .map-wrap{border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#fff}
.fcd-profile .map-wrap iframe{width:100%;height:340px;border:0;display:block}
.fcd-profile .map-meta{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}
@media (max-width: 720px){
  .fcd-profile .map-wrap iframe{height:260px}
}


/* ===== Dev-style white hero + full-width map ===== */
.fcd-profile .hero{
  background:#fff !important;
  border:1px solid var(--line) !important;
  box-shadow: 0 10px 26px rgba(10,20,40,.08) !important;
  color: var(--ink) !important;
}
.fcd-profile .meta-chips .chip{
  background:#fff !important;
  border:1px solid rgba(14,42,82,.14) !important;
  color: var(--ink) !important;
}
.fcd-profile .btn{
  background:#fff !important;
  border:1px solid rgba(14,42,82,.18) !important;
  color: var(--ink) !important;
}
.fcd-profile .btn.primary{
  background: var(--ink) !important;
  border-color: var(--ink) !important;
  color:#fff !important;
}

.fcd-profile .map-full{padding-top:0}
.fcd-profile .map-full .map-wrap{border-radius:16px}
.fcd-profile .map-full .map-wrap iframe{height:360px}
@media (max-width: 720px){
  .fcd-profile .map-full .map-wrap iframe{height:260px}
}

/* School logo */
.fcd-profile .hero{gap:18px}
.fcd-profile .hero-logo{
  width:64px;height:64px;border-radius:14px;
  border:1px solid var(--line);
  background:#fff;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.fcd-profile .hero-logo img{width:100%;height:100%;object-fit:contain;padding:8px;display:block}
@media (max-width:720px){
  .fcd-profile .hero{flex-direction:column;align-items:flex-start}
  .fcd-profile .hero-logo{width:56px;height:56px}
}

/* Stack multiple panels inside the right column of Snapshot */
.fcd-profile .panel-stack{
  display:grid;
  gap:14px;
  align-content:start;
}
.fcd-profile .panel-stack .panel{margin:0}

/* School logo below back links */
.fcd-profile .school-logo{
  width:128px;height:128px;border-radius:18px;
  border:1px solid var(--line);
  background:#fff;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  margin-top:12px;
}
.fcd-profile .school-logo img{width:100%;height:100%;object-fit:contain;padding:12px;display:block}
@media (max-width:720px){
  .fcd-profile .school-logo{width:104px;height:104px}
}


/* Profile header: logo + title inline (keeps existing look/feel) */
.fcd-profile .hero .school-head{
  display:flex;
  align-items:center;
  gap:16px;
  margin-top: 10px;
}
.fcd-profile .hero .school-logo{
  width:128px;
  height:128px;
  flex: 0 0 128px;
  border-radius: 14px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  display:flex;
  align-items:center;
  justify-content:center;
}
.fcd-profile .hero .school-logo img{
  width:128px;
  height:128px;
  object-fit:contain;
}
.fcd-profile .hero .school-head-text .school{
  margin: 0;
}
.fcd-profile .hero .school-head-text .subline{
  margin-top: 4px;
}

/* Chips: wrap cleanly and align */
.fcd-profile .hero .meta-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top: 12px;
}
.fcd-profile .hero .meta-chips .chip{
  max-width: 100%;
}
@media (max-width: 640px){
  .fcd-profile .hero .school-head{
    align-items:flex-start;
  }
  .fcd-profile .hero .school-logo{
    width:72px;height:72px;flex-basis:72px;
  }
  .fcd-profile .hero .school-logo img{
    width:72px;height:72px;
  }
}

/* Admin overrides panel (staff only) */
.fcd-admin-overrides{ margin-top: 10px; }
.fcd-admin-overrides .admin-panel{
  margin-top: 10px;
  padding: 12px;
  border: 1px dashed rgba(0,0,0,.18);
  border-radius: 14px;
  background: rgba(255,255,255,.7);
}
.fcd-admin-overrides .admin-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.fcd-admin-overrides .admin-col{
  display:flex;
  flex-direction:column;
  gap: 8px;
}
.fcd-admin-overrides label{
  display:flex;
  flex-direction:column;
  gap: 4px;
  font-size: 12px;
}
.fcd-admin-overrides input[type="text"],
.fcd-admin-overrides input[type="number"]{
  width:100%;
}
.fcd-admin-overrides .admin-title{
  font-weight: 800;
  margin-bottom: 4px;
}
.fcd-admin-overrides label.chk{
  flex-direction:row;
  align-items:center;
  gap:8px;
}
.fcd-admin-overrides .admin-actions{
  margin-top: 12px;
  display:flex;
  align-items:center;
  gap: 10px;
}
.fcd-admin-overrides .admin-msg{
  font-size: 12px;
  opacity: .9;
}
@media (max-width: 900px){
  .fcd-admin-overrides .admin-grid{ grid-template-columns: 1fr; }
}


/* ---- 1.2.8.1 stickybar + chip sizing ---- */
.cp-stickybar .cp-location,
.cp-stickybar .cp-location *{
  font-size: 14px;
}
.cp-stickybar span.chip,
.cp-stickybar .chip{
  font-size: 14px;
}
@media (max-width: 767px){
  .cp-stickybar{ background:#000; color:#fff; }
}


/* News block under Snapshot */
.cp-news-block{margin-top:16px;}
