/* JDbrief polish, round one (2026-09-27). Visual only. Remove the enqueue in jdb-look.php to undo. */
:root{--n:#1f2b52;--n2:#2e3d72;--bg:#f5f6fa;--line:#e2e5ee;--mut:#5f6780;--ink:#1d2233}
/* 1. Type + color */
body,button,input,select,textarea,p,a,li,label,h3,h4,h5,h6{font-family:Inter,system-ui,-apple-system,sans-serif!important}
body{background:var(--bg)!important;color:var(--ink)!important}
#main h1,#main h2,.page-title,.reviewsTitle{font-family:'Source Serif 4',Georgia,serif!important;color:var(--n)!important;font-weight:700!important;letter-spacing:-.01em}
#main h1.page-title{font-size:30px!important;margin:0 0 2px!important}
#main a{color:var(--n2)}
/* 2. Header */
header{background:#fff!important;border-bottom:1px solid var(--line);padding:14px 0!important;box-shadow:0 1px 0 rgba(31,43,82,.03)}
header .row{align-items:center}
header img{width:148px!important;height:auto}
#search{display:flex!important;max-width:100%}
#search #sp{flex:1;min-width:0;width:auto!important;border:1px solid #cfd4e2!important;border-right:0!important;border-radius:999px 0 0 999px!important;padding:10px 18px!important;font-size:15px!important;background:#fbfbfd!important;height:44px}
#search #sp:focus{outline:none;border-color:var(--n2)!important;background:#fff!important}
#search input[type=submit]{background:var(--n)!important;color:#fff!important;border:0!important;border-radius:0 999px 999px 0!important;padding:0 22px!important;font-weight:600;font-size:14.5px!important;height:44px}
header .login{text-align:right}
header .login a{text-decoration:none!important;color:var(--n)!important;font-weight:500;font-size:14px}
header .login a:first-child{border:1px solid var(--line);border-radius:999px;padding:7px 14px;margin-right:6px;background:#fbfbfd}
.simple-banner{background:var(--n)!important}
/* 3. Class list */
.classes-list .classes-title,.filtersBox .classes-title{font-size:13px!important;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)!important;font-weight:600!important;margin:6px 0 10px!important}
.classes-list .menu{background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px!important;max-height:calc(100vh - 170px);overflow:auto;position:sticky;top:16px;margin:0!important}
.classes-list .menu li{list-style:none;margin:0!important}
.classes-list .menu a{display:block;font-size:14px!important;line-height:1.35!important;color:#34405f!important;padding:6px 10px!important;border-radius:7px;text-decoration:none!important}
.classes-list .menu a:hover{background:#eef1f8;color:var(--n)!important}
/* 4. Professor list */
.professorRow{background:#fff!important;border:1px solid var(--line)!important;border-radius:10px!important;margin:0 0 8px!important;padding:12px 16px!important;box-shadow:none!important;transition:border-color .15s,box-shadow .15s}
.professorRow:hover{border-color:#c9cfe0!important;box-shadow:0 4px 14px rgba(31,43,82,.07)!important}
.professorRow .row{align-items:center}
.professorRow a.prof{font-weight:600!important;color:var(--n)!important;font-size:15.5px!important;text-decoration:none!important}
.professorRow .col-12.col-lg-4{color:var(--mut)!important;font-size:14px!important}
.frontstars i,.stars .frontstars i{color:#f2a516!important}
.backstars i{color:#dfe2ea!important}
.paginations a,.paginations span{display:inline-block;min-width:34px;padding:6px 10px;border-radius:8px;text-decoration:none!important;color:var(--n)!important;font-size:14px}
.paginations .current{background:var(--n);color:#fff!important}
/* 5. Filters */
.filtersBox .form-group{background:#fff!important;border:1px solid var(--line)!important;border-radius:10px!important;padding:10px 14px!important;margin-bottom:8px!important;box-shadow:none!important}
.filtersBox h5{font-size:13.5px!important;font-weight:600!important;color:var(--ink)!important}
.filtersBox select,#filter select,#search2 select{border:1px solid #cfd4e2!important;border-radius:8px!important;padding:6px 10px!important;font-size:14px!important;background:#fff!important;height:auto!important}
.filtersBox input[type=submit],#main input[type=submit]:not(.rateProfessor){background:var(--n)!important;color:#fff!important;border:0!important;border-radius:8px!important;padding:9px 18px!important;font-weight:600;font-size:14px!important}
.fa-circle-info{color:#a3aac0!important}
/* 6. Professor page: use the full width */
.single-professors #main>.container>.row>.col-md-3,.single-professors #main>.container>.row>.col-3{display:none!important}
.single-professors #main>.container>.row>.col-md-6{flex:0 0 100%!important;max-width:900px!important;margin:0 auto!important}
.single-professors .professor-title{font-size:36px!important}
.single-professors .professor-title+p{color:var(--mut);font-size:15px;margin-bottom:18px}
.overallBox{background:#fff!important;border:1px solid var(--line)!important;border-radius:14px!important;padding:22px 26px!important;box-shadow:0 2px 10px rgba(31,43,82,.05)!important}
.overallBox h3{font-size:14px!important;text-transform:uppercase;letter-spacing:.08em;color:var(--mut)!important}
.overallBox h3 b{font-weight:600}
.overallBox .stars.quality i{font-size:30px!important}
.overallBox h4{font-size:15px!important;font-weight:500!important;color:var(--ink)!important}
.overallBox .ratingLine{align-items:center;padding:6px 0;border-bottom:1px solid #f0f2f6}
.overallBox .ratingLine:last-child{border-bottom:0}
.rateProfessor,.seeOutlines{border-radius:999px!important;padding:10px 20px!important;font-weight:600!important;font-size:14.5px!important;margin:18px 8px 0 0!important;display:inline-block}
a.rateProfessor{background:var(--n)!important;border-color:var(--n)!important;color:#fff!important}
/* 7. Review cards */
.reviewsTitle{font-size:24px!important;margin:34px 0 14px!important}
.mainReviewBox{background:#fff!important;border:1px solid var(--line)!important;border-radius:14px!important;padding:0!important;margin-bottom:16px!important;overflow:hidden;box-shadow:none!important}
.mainReviewBox .headings{background:#f8f9fc;border-bottom:1px solid var(--line);margin:0!important;padding:10px 18px;font-size:12.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--mut);font-weight:600}
.mainReviewBox .headings>div{padding:0!important}
.mainReviewBox .headings .desktopOnly{display:none!important}
.mainReviewBox .headings .date{text-align:right;text-transform:none;letter-spacing:0;font-weight:500}
.reviewBox{padding:16px 18px!important;border:0!important;background:transparent!important}
.mainInfo .row{margin:0!important}
.mainInfo .left-box{flex:0 0 250px!important;max-width:250px!important;padding:0 18px 0 0!important;border-right:1px solid #f0f2f6}
.mainInfo .left-box h3{font-size:13.5px!important;font-weight:500!important;color:var(--mut)!important;margin:0!important;line-height:26px}
.mainInfo .left-box .stars i{font-size:13px!important}
.mainInfo .comment{flex:1!important;max-width:none!important;padding:0 0 0 20px!important}
.mainInfo .comment p{font-size:15px!important;line-height:1.65!important;color:#2a3045!important;margin:0 0 10px!important}
.mainInfo .comment br{display:none}
.moreInfo{display:grid!important;grid-template-columns:1fr 1fr;column-gap:28px;margin-top:14px;padding-top:12px;border-top:1px solid #f0f2f6}
.moreInfo .ratingLine{justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px dashed #eef0f5;margin:0!important}
.moreInfo .ratingLine.d-none{display:none!important}
.moreInfo h4{font-size:13px!important;font-weight:500!important;color:var(--mut)!important;margin:0!important}
.moreInfo p{font-size:13.5px!important;font-weight:600;color:var(--ink);margin:0!important}
.moreInfo .stars i{font-size:12px!important}
/* 8. Login / Register */
.um-login,.um-register{background:#fff!important;border:1px solid var(--line);border-radius:14px;padding:26px 28px!important;max-width:460px!important;margin:0!important}
.um .um-field-label label{font-weight:600!important;font-size:13.5px!important;color:var(--ink)!important}
.um .um-form input.um-form-field{border:1px solid #cfd4e2!important;border-radius:8px!important;height:44px!important;padding:0 12px!important;font-size:15px!important;background:#fbfbfd!important}
.um .um-form input.um-form-field:focus{border-color:var(--n2)!important;background:#fff!important}
.um input[type=submit].um-button{background:var(--n)!important;border-radius:8px!important;height:46px!important;width:100%!important;max-width:none!important;font-weight:600!important;font-size:15px!important}
.um .um-center{width:100%}
.um .um-col-alt .um-center{float:none!important}
.page-id-169 #main h2{font-size:28px!important;margin-bottom:14px!important}
/* 9. Footer */
.site-footer{border-top:1px solid var(--line)!important;padding:22px 0!important;margin-top:40px}
.site-footer .site-name a{font-family:'Source Serif 4',Georgia,serif;text-decoration:none!important;color:var(--n)!important;font-size:18px;font-weight:700;text-transform:none}
.site-footer .powered-by{color:var(--mut);font-size:13.5px}
.site-footer a{color:var(--n2)!important}
@media (max-width:768px){
  .mainInfo .left-box{flex:0 0 100%!important;max-width:100%!important;border-right:0;padding:0 0 10px!important;border-bottom:1px solid #f0f2f6;margin-bottom:10px}
  .mainInfo .comment{padding:0!important}
  .moreInfo{grid-template-columns:1fr}
  header .login{text-align:center}
  .um-login,.um-register{padding:20px!important}
}
/* fixes */
.single-professors #main>.container>.row>.col-md-6{width:100%!important;float:none!important;flex:0 0 100%!important;max-width:900px!important;margin:0 auto!important}
.single-professors #main>.container{max-width:960px!important}
.overallBox .stars.quality{position:relative;height:36px;margin:4px 0 2px}
.overallBox .stars.quality i{font-size:26px!important}
.overallBox .col-md-5 p{color:var(--mut);font-size:14px;margin:0}
a.seeOutlines,#main a.seeOutlines{color:#fff!important;background:#85110c!important;border-color:#85110c!important}
.site-footer .site-info,.site-footer{border-top:1px solid var(--line)!important}
.site-info{border-top:0!important;padding-top:0!important}
.professorRow .backstars,.professorRow .frontstars{margin-top:0!important}
.overallBox .stars.quality,.overallBox .stars.quality .backstars,.overallBox .stars.quality .frontstars{white-space:nowrap!important;width:auto!important}
.overallBox .stars.quality i{font-size:24px!important;margin-left:3px!important}
.filters-title{font-size:13px!important;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)!important;font-weight:600!important}
@media (max-width:768px){.classes-title,.filters-title{display:flex;align-items:center;justify-content:space-between}}

/* Register: remind students which email to use */
.um-register .um-field-user_email .um-field-label::after{content:"Use your @bc.edu email";display:block;font-size:12.5px;color:var(--mut);font-weight:400;margin-top:2px}

/* Professor rows: stars always centered, class on one line (full name on hover) - 2026-09-27 */
.professorRow .row>div:nth-child(2){position:relative;min-height:25px;display:flex;align-items:center}
.professorRow .row>div:nth-child(2) .backstars{top:50%;transform:translateY(-50%)}
.professorRow .frontstars{min-height:25px}
@media (min-width:992px){
  .professorRow .row{flex-wrap:nowrap}
  .professorRow .row>div:nth-child(1){flex:1 1 auto;max-width:none;min-width:0}
  .professorRow .row>div:nth-child(2){flex:0 0 150px;max-width:150px}
  .professorRow .row>div.jdb-class{flex:0 0 40%;max-width:40%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
.professorRow .backstars,.professorRow .frontstars{white-space:nowrap}
/* Narrower laptops: name and stars on one line, class underneath */
@media (min-width:992px) and (max-width:1199px){
  .professorRow .row{flex-wrap:wrap}
  .professorRow .row>div:nth-child(1){flex:1 1 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .professorRow .row>div.jdb-class{flex:0 0 100%;max-width:100%;order:3;font-size:13.5px!important;margin-top:2px}
}
/* Sort box: let the button drop below the dropdown when the column is narrow */
.filtersBox #search{flex-wrap:wrap;gap:6px}
.filtersBox #search select{flex:1 1 120px;min-width:0;max-width:100%}

/* ===== Round 2 (2026-09-27) ===== */
/* A. Review form */
.reviewFormMain .reviewForm{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 24px!important;margin-top:18px}
.reviewForm>p:first-child{background:#eef1f8;border-radius:10px;padding:12px 14px 12px 40px;position:relative;margin:0 0 14px!important}
.reviewForm>p:first-child::before{content:"\f3ed";font-family:"Font Awesome 6 Free","FontAwesome";font-weight:900;position:absolute;left:14px;top:12px;color:var(--n)}
.reviewForm>p:first-child small{font-size:13px!important;line-height:1.55;color:#34405f}
.reviewForm .reviewLine{justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #f0f2f6;margin:0!important}
.reviewForm .reviewLine>label.line,.reviewForm .reviewLine>label:first-child{font-size:14.5px!important;font-weight:500!important;color:var(--ink)!important;margin:0!important}
.reviewForm .reviewLine .fa-circle-info{margin-left:6px;order:2}
.reviewForm select{border:1px solid #cfd4e2!important;border-radius:8px!important;padding:7px 30px 7px 12px!important;font-size:14px!important;background-color:#fbfbfd!important;min-width:150px;height:auto!important}
.reviewForm .rating-group i{font-size:22px!important}
.reviewForm .checkboxes{gap:6px;align-items:center;flex-wrap:wrap}
.reviewForm .checkboxes label{font-size:13.5px!important;margin:0 2px 0 8px!important;color:var(--mut)}
.reviewForm .checkboxes input{width:18px;height:18px;accent-color:var(--n)}
.reviewForm textarea{border:1px solid #cfd4e2!important;border-radius:10px!important;padding:12px 14px!important;font-size:15px!important;line-height:1.6;min-height:170px;background:#fbfbfd!important}
.reviewForm textarea:focus{border-color:var(--n2)!important;background:#fff!important;outline:none}
#wordCount{display:inline-block;margin-left:8px;background:#fdf1dc;color:#8a5a00;border-radius:999px;padding:1px 10px;font-size:12.5px;font-weight:600}
#wordCount.ok{background:#e7f3ea;color:#1f6b35}
.reviewForm .reviewLine:has(textarea){display:block!important;border-bottom:0}
.reviewForm .reviewLine:has(textarea)>label{display:block;margin-bottom:8px!important}
.reviewForm input[type=submit].rateProfessor{width:100%;background:var(--n)!important;border:0!important;border-radius:10px!important;height:48px;font-size:15.5px!important;margin:16px 0 0!important}
/* C. Big score on professor pages */
.jdb-big{font-family:'Source Serif 4',Georgia,serif;font-size:44px;font-weight:700;color:var(--n);line-height:1;margin:4px 0 2px}
.jdb-big small{font-family:Inter,sans-serif;font-size:14px;font-weight:500;color:var(--mut);margin-left:4px}
/* D. Empty professor */
.jdb-empty{background:#fff;border:1px dashed #c9cfe0;border-radius:14px;padding:26px;text-align:center;margin-top:8px}
.jdb-empty h3{font-family:'Source Serif 4',Georgia,serif!important;color:var(--n)!important;font-size:21px!important;margin:6px 0!important}
.jdb-empty p{color:var(--mut);margin:0 0 14px!important}
.jdb-empty .fa-star{color:#f2a516;font-size:26px}
.jdb-empty a{display:inline-block;background:var(--n);color:#fff!important;border-radius:999px;padding:10px 20px;font-weight:600;text-decoration:none!important}
/* E. Active class chip */
.jdb-chip{display:inline-flex;align-items:center;gap:8px;background:#eef1f8;border:1px solid #d9deec;color:var(--n);border-radius:999px;padding:5px 8px 5px 14px;font-size:13.5px;font-weight:600;margin:0 0 12px}
.jdb-chip a{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#fff;color:var(--n)!important;text-decoration:none!important;font-weight:700;font-size:13px}
.classes-list .menu a.jdb-on{background:var(--n)!important;color:#fff!important}
/* F. Filters */
.filtersBox .rating__icon--none{display:none!important}
.filtersBox label[for$="-rating-00"]::after{content:"Any";font-size:12px;font-weight:600;color:var(--mut);background:#f0f2f7;border-radius:999px;padding:2px 9px;margin-right:6px;display:inline-block;vertical-align:3px}
.filtersBox .hourscheck{display:flex;flex-wrap:wrap;gap:6px}
.filtersBox .hourscheck h5{flex-basis:100%}
.filtersBox .hourscheck label{border:1px solid #cfd4e2;border-radius:999px;padding:3px 11px;font-size:13px!important;display:inline-flex;align-items:center;gap:5px;cursor:pointer;background:#fbfbfd}
.filtersBox .hourscheck input{accent-color:var(--n)}
/* G. Compact phone header */
@media (max-width:768px){
  header .row{display:flex!important;flex-wrap:wrap;align-items:center}
  header .row>.col-md-3:first-child{flex:0 0 auto!important;width:auto!important;max-width:none!important;order:1;text-align:left!important}
  header .row>.col-md-3.login{flex:1 1 auto!important;width:auto!important;order:2;text-align:right!important;margin:0!important}
  header .row>.col-md-6{flex:0 0 100%!important;max-width:100%!important;order:3;margin-top:10px}
  header img{width:118px!important}
  header .login a:first-child{padding:6px 12px}
  header{padding:10px 0!important}
}
/* H. Review submitted */
.jdb-done{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px 28px;max-width:620px;margin:10px auto;text-align:center}
.jdb-done .ic{width:54px;height:54px;border-radius:50%;background:#e7f3ea;color:#1f6b35;display:inline-flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:8px}
.jdb-done h2{font-size:26px!important;margin:4px 0 8px!important}
.jdb-done p{color:var(--mut);font-size:15px;line-height:1.6;margin:0 0 18px!important}
.jdb-done a{display:inline-block;border-radius:999px;padding:10px 20px;font-weight:600;text-decoration:none!important;margin:0 4px}
.jdb-done a.p{background:var(--n);color:#fff!important}
.jdb-done a.s{border:1px solid var(--line);color:var(--n)!important}
/* I. Account page */
.page-id-173 #main .um-account{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px!important}
.page-id-173 #main h2,.page-id-173 #main h3{font-family:'Source Serif 4',Georgia,serif!important;color:var(--n)!important}
.um-account-side li a{border-radius:8px!important}
.um-account-side li a.current,.um-account-side li a.current:hover{background:var(--n)!important}
.um .um-button{background:var(--n)!important;border-radius:8px!important}
/* J. 404 */
.error404 #main .page-header{border-bottom:0!important}
.error404 #main .page-content{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px;max-width:620px;margin:0 auto}
.error404 #main input[type=search]{border:1px solid #cfd4e2!important;border-radius:8px!important;height:44px}

.overallBox.jdb-hide{display:none!important}
#wordCount.ok{background:#e7f3ea!important;color:#1f6b35!important}
.jdb-chipwrap{margin:2px 0 4px}
/* Course details: stars line up on the right with the text answers (2026-09-27) */
.moreInfo .ratingLine .stars{width:auto!important;margin:0 0 0 auto!important;position:relative;display:inline-block;line-height:1}
.moreInfo .ratingLine .stars .backstars{position:static!important;white-space:nowrap}
.moreInfo .ratingLine .stars .frontstars{position:absolute!important;left:0;top:0;white-space:nowrap}
.moreInfo .ratingLine .stars i{margin-top:0!important}
.moreInfo .ratingLine .stars .backstars i:first-child,.moreInfo .ratingLine .stars .frontstars i:first-child{margin-left:0!important}

/* ===== Round 3 (2026-09-27) ===== */
/* Ratings breakdown + class summary */
.jdb-sum{display:grid;grid-template-columns:1fr 1.25fr;gap:26px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 24px;margin:18px 0 6px}
.jdb-sum h4{font-size:12.5px!important;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)!important;font-weight:600!important;margin:0 0 10px!important}
.jdb-bar{display:grid;grid-template-columns:42px 1fr 28px;gap:10px;align-items:center;font-size:13.5px;color:var(--ink);margin:5px 0}
.jdb-bar i.t{display:block;height:9px;border-radius:5px;background:#eef0f5;overflow:hidden}
.jdb-bar i.t b{display:block;height:100%;background:#f2a516;border-radius:5px}
.jdb-bar em{font-style:normal;color:var(--mut);text-align:right;font-variant-numeric:tabular-nums}
.jdb-glance{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.jdb-g{background:#f8f9fc;border:1px solid #edf0f6;border-radius:10px;padding:9px 12px}
.jdb-g span{display:block;font-size:12px;color:var(--mut)}
.jdb-g b{display:block;font-size:15px;color:var(--ink);font-weight:600;margin-top:1px}
.jdb-g small{color:var(--mut);font-weight:500;font-size:12.5px}
/* Sort */
.jdb-sortbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:30px 0 12px}
.jdb-sortbar .reviewsTitle{margin:0!important}
.jdb-sortbar select{border:1px solid #cfd4e2;border-radius:8px;padding:7px 12px;font-size:14px;background:#fff;color:var(--ink)}
/* Read more + course details toggles */
.mainInfo .comment.jdb-clamp{max-height:10.2em;overflow:hidden;position:relative}
.mainInfo .comment.jdb-clamp::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3em;background:linear-gradient(rgba(255,255,255,0),#fff)}
button.jdb-more,button.jdb-dtl{background:transparent!important;color:var(--n2)!important;box-shadow:none!important;border:0!important;border-radius:0!important;text-transform:none!important;letter-spacing:0!important;font-family:Inter,sans-serif!important;font-weight:600!important;font-size:14px!important;cursor:pointer}
button.jdb-more{display:block;padding:6px 0 0 270px!important}
button.jdb-dtl{width:100%;text-align:left;border-top:1px solid #f0f2f6!important;padding:10px 0 0!important;margin-top:12px;font-size:13.5px!important}
.moreInfo.jdb-closed{display:none!important}
/* Also teaches */
.jdb-also{margin:-10px 0 18px;font-size:14px;color:var(--mut)}
.jdb-also a{display:inline-block;background:#eef1f8;color:var(--n)!important;border-radius:999px;padding:3px 11px;margin:3px 4px 0 0;font-weight:500;text-decoration:none!important;font-size:13px}
.jdb-also a:hover{background:var(--n);color:#fff!important}
/* A-Z + class filter */
.jdb-az{display:grid;grid-template-columns:repeat(13,1fr);gap:4px;margin:0 0 12px}
.jdb-az a{text-align:center;padding:4px 0;border-radius:6px;font-size:13px;font-weight:600;color:var(--n)!important;text-decoration:none!important;background:#fff;border:1px solid var(--line)}
.jdb-az a:hover,.jdb-az a.on{background:var(--n);color:#fff!important;border-color:var(--n)}
.jdb-cfilter{width:100%;border:1px solid #cfd4e2!important;border-radius:8px!important;padding:8px 12px!important;font-size:14px!important;margin:0 0 6px;background:#fbfbfd!important;box-sizing:border-box}
.jdb-cnone{padding:8px 10px;color:var(--mut);font-size:13.5px}
/* Login: remember me + forgot password */
.um-login .um-field-checkbox .um-field-checkbox-option{font-size:13.5px!important;color:var(--mut)!important}
.um-login .um-col-alt-b{text-align:right;margin-top:10px}
.um-login a.um-link-alt{color:var(--n2)!important;font-weight:600;font-size:13.5px}
@media (max-width:768px){.jdb-sum{grid-template-columns:1fr}button.jdb-more{padding-left:0!important}.jdb-sortbar{flex-wrap:wrap}}
/* Filter cards: even spacing above and below the stars; class filter box spacing (2026-09-27) */
.filtersBox .rating__label{margin-bottom:0!important}
.filtersBox .form-group h5{margin:0 0 6px!important}
.filtersBox .rating-group{display:flex!important;align-items:center}
.filtersBox label[for$="-rating-00"]::after{vertical-align:middle!important}
.jdb-cfilter{margin:0 0 10px!important}

/* Header search autocomplete (2026-09-27) */
header form#search{position:relative}
.jdb-ac{position:absolute;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 34px rgba(31,43,82,.16);z-index:1000;max-height:420px;overflow:auto;padding:6px 0;text-align:left}
.jdb-ac-h{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);font-weight:600;padding:8px 16px 4px}
.jdb-ac-i{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 16px;text-decoration:none!important;color:var(--ink)!important}
.jdb-ac-i:hover,.jdb-ac-i.on{background:#f1f3f9}
.jdb-ac-n{font-size:14.5px;font-weight:500;color:var(--n)}
.jdb-ac-n b{font-weight:700;background:#fff3d1;border-radius:3px}
.jdb-ac-s{font-size:12.5px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:55%}
.jdb-ac-all{border-top:1px solid #f0f2f6;margin-top:4px;padding-top:10px;color:var(--n2)!important;font-size:13.5px;font-weight:600}
.jdb-ac-none{padding:10px 16px;color:var(--mut);font-size:13.5px}
/* Compare professors (2026-09-27) */
.jdb-compare-page .container>.row>.col-6{flex:0 0 100%;max-width:100%}
.jdb-cmp{max-width:1080px;margin:8px auto 40px}
.jdb-cmp h1{font-size:30px!important;margin:0 0 4px!important}
.jdb-cmp-sub{color:var(--mut);margin:0 0 16px;font-size:15.5px!important}
.jdb-cmp-add{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 16px}
.jdb-cmp-add label{font-weight:600;color:var(--n);margin:0;font-size:14px}
.jdb-cmp-add select{max-width:100%;min-width:0;width:340px;border:1px solid #cfd4e2;border-radius:10px;padding:8px 12px;background:#fff;font-size:14.5px;color:var(--ink)}
.jdb-cmp-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:14px;-webkit-overflow-scrolling:touch}
.jdb-cmp-table{width:100%;border-collapse:separate;border-spacing:0;min-width:560px;font-size:14.5px}
.jdb-cmp-table th,.jdb-cmp-table td{padding:12px 16px;border:0!important;border-bottom:1px solid var(--line)!important;text-align:left;vertical-align:middle}
.jdb-cmp-table td,.jdb-cmp-table thead th+th{border-left:1px solid var(--line)!important}
.jdb-cmp-table tbody tr:last-child th,.jdb-cmp-table tbody tr:last-child td{border-bottom:0!important}
.jdb-cmp-table tbody th{font-weight:600;color:var(--mut);width:200px;background:#fafbfd;position:sticky;left:0;z-index:1}
.jdb-cmp-table tbody th small{font-weight:400;display:block;font-size:12px}
.jdb-cmp-table thead th{position:relative;vertical-align:bottom;background:#fff;border-bottom:2px solid var(--line)!important;padding-right:36px}
.jdb-cmp-table thead th:first-child{background:#fafbfd;position:sticky;left:0;z-index:2}
.jdb-cmp-name{display:block;font-family:'Source Serif 4',Georgia,serif;font-size:19px;font-weight:700;color:var(--n)!important;text-decoration:none!important;line-height:1.2}
.jdb-cmp-name:hover{text-decoration:underline!important}
.jdb-cmp-cls,.jdb-cmp-n{display:block;font-size:13px;color:var(--mut);font-weight:400;margin-top:2px}
.jdb-cmp-x{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eef1f8;color:var(--n)!important;text-decoration:none!important;font-weight:700;font-size:15px;line-height:1}
.jdb-cmp-x:hover{background:var(--n);color:#fff!important}
.jdb-cmp-score{font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink);display:inline-block;min-width:30px}
.jdb-cmp-stars{display:inline-block;position:relative;margin-left:6px;color:#dde1ec;font-size:17px;letter-spacing:1px;line-height:1;white-space:nowrap;vertical-align:-1px}
.jdb-cmp-stars:before{content:"\2605\2605\2605\2605\2605"}
.jdb-cmp-stars span{position:absolute;left:0;top:0;overflow:hidden;color:#f2b01e;white-space:nowrap}
.jdb-cmp-stars span:before{content:"\2605\2605\2605\2605\2605"}
.jdb-cmp-best{background:#f3f6ff}
.jdb-cmp-best .jdb-cmp-score{color:var(--n)}
.jdb-cmp-best .jdb-cmp-score:after{content:"Best";display:inline-block;margin-left:6px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--n);color:#fff;border-radius:999px;padding:1px 7px;vertical-align:2px}
.jdb-cmp-table td b{font-weight:600;color:var(--ink)}
.jdb-cmp-table td small{color:var(--mut);font-size:12.5px;white-space:nowrap}
.jdb-cmp-na{color:#9aa1b5}
.jdb-cmp-links td a{font-weight:600;text-decoration:none!important}
.jdb-cmp-foot{font-size:13px;color:var(--mut);margin-top:10px}
.jdb-cmp-intro{max-width:520px;margin:30px auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;text-align:center}
.jdb-cmp-btn{display:inline-block;background:var(--n);color:#fff!important;border-radius:999px;padding:9px 22px;font-weight:600;text-decoration:none!important;margin-top:6px}
.jdb-cmp-entry{display:inline-block;font-size:13.5px;font-weight:600;color:var(--n2)!important;text-decoration:none!important;border-bottom:1px dashed #b9c1d9;margin:0 0 16px}
.jdb-cmp-entry:hover{border-bottom-style:solid}
.jdb-chipwrap .jdb-cmp-entry{margin:0 0 0 12px;vertical-align:middle}
@media (max-width:640px){.jdb-cmp h1{font-size:25px!important}.jdb-cmp-table{font-size:13.5px;min-width:0}.jdb-cmp-table th,.jdb-cmp-table td{padding:10px 10px}.jdb-cmp-table tbody th{width:108px;min-width:108px}.jdb-cmp-table thead th{min-width:140px}.jdb-cmp-stars{display:none}.jdb-cmp-name{font-size:16px}.jdb-cmp-best .jdb-cmp-score:after{display:none}.jdb-chipwrap .jdb-cmp-entry{display:block;margin:8px 0 0}}
/* Teaching schedule (2026-09-27) */
.jdb-teach{background:#fff;border:1px solid var(--line);border-left:4px solid var(--n);border-radius:14px;padding:16px 20px;margin:0 0 18px}
.jdb-teach-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;margin-bottom:10px}
.jdb-teach-h b{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--n);font-weight:700}
.jdb-teach-h span{font-size:12.5px;color:var(--mut)}
.jdb-teach ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.jdb-teach li{display:grid;grid-template-columns:1fr auto;gap:2px 14px;align-items:baseline;padding-top:10px;border-top:1px solid #eef0f5;margin:0}
.jdb-teach li:first-child{border-top:0;padding-top:0}
.jdb-teach .t{font-weight:600;color:var(--ink);font-size:15px}
.jdb-teach .t em{font-style:normal;font-size:11.5px;font-weight:600;background:#eef1f8;color:var(--n);border-radius:999px;padding:1px 8px;margin-left:6px;vertical-align:1px;white-space:nowrap}
.jdb-teach .m{grid-column:1;font-size:13.5px;color:var(--mut);font-variant-numeric:tabular-nums}
.jdb-teach .l{grid-row:1/3;grid-column:2;font-size:13px;font-weight:600;white-space:nowrap}
.jdb-teach .l a{color:var(--n2)!important;text-decoration:none!important}
.jdb-teach .l i{font-style:normal;color:#8a91a6;font-weight:500}
.jdb-teach-none{font-size:13.5px;color:var(--mut);background:#fff;border:1px dashed #cfd4e2;border-radius:12px;padding:10px 16px;margin:0 0 18px}
.jdb-tbadge{display:inline-block;font-size:11.5px;font-weight:600;color:#1f6b45;background:#e6f4ec;border-radius:999px;padding:1px 9px;margin-left:8px;vertical-align:2px;white-space:nowrap}
.jdb-tfilter{display:flex!important;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--ink);margin:4px 0 14px;cursor:pointer}
.jdb-tfilter input{width:17px;height:17px;accent-color:var(--n);margin:0}
@media (max-width:640px){.jdb-teach{padding:14px 16px}.jdb-teach li{grid-template-columns:1fr}.jdb-teach .l{grid-row:auto;grid-column:1}}
/* Teaching badge stays on the name's line (2026-09-27) */
.professorRow .row>div:nth-child(1){display:flex;align-items:center;gap:8px;min-width:0;white-space:nowrap}
.professorRow a.prof{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.professorRow .jdb-tbadge{flex:0 0 auto;margin-left:0;vertical-align:0}
@media (min-width:1400px){.professorRow .row>div:nth-child(1){flex:0 0 42%;max-width:42%}.professorRow .row>div.jdb-class{flex:1 1 0;max-width:none;min-width:0}}
@media (min-width:1200px) and (max-width:1399px){.professorRow .row{flex-wrap:wrap}.professorRow .row>div:nth-child(1){flex:1 1 0;max-width:none}.professorRow .row>div.jdb-class{flex:0 0 100%;max-width:100%;order:3;font-size:13.5px!important;margin-top:2px}}
@media (max-width:991px){.professorRow .row>div:nth-child(1){flex:1 1 0;max-width:none;padding-right:6px}.professorRow .row>div:nth-child(2){flex:0 0 124px;max-width:124px;padding-left:6px;padding-right:0}}
.professorRow .jdb-tbadge{font-size:11px;padding:1px 7px}
/* Fix: on phones the review text column collapsed to zero width next to the ratings (2026-09-27) */
@media (max-width:768px){.mainInfo .row>.comment{flex:0 0 100%!important;width:100%!important}}
/* Helpful votes (2026-09-27) */
.jdb-rfoot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;margin-top:12px;border-top:1px solid #f0f2f6;padding-top:10px}
.jdb-rfoot button.jdb-dtl{width:auto;margin:0!important;border-top:0!important;padding:0!important}
.jdb-help{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-left:auto}
.jdb-hbtn{display:inline-flex!important;align-items:center;gap:7px;border:1px solid #cfd4e2!important;background:#fff!important;color:var(--n2)!important;border-radius:999px!important;padding:5px 13px!important;font-size:13.5px!important;font-weight:600!important;cursor:pointer;line-height:1.2!important;box-shadow:none!important;text-transform:none!important;letter-spacing:0!important}
.jdb-hbtn:hover{border-color:var(--n2)!important}
.jdb-hbtn.on{background:var(--n)!important;border-color:var(--n)!important;color:#fff!important}
.jdb-hbtn:disabled{opacity:.75}
.jdb-hbtn b{font-weight:700;font-variant-numeric:tabular-nums}
.jdb-hbtn .fa,.jdb-hbtn .fa-regular{font-size:13px}
.jdb-top{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;background:#e6f4ec;color:#1f6b45;border-radius:999px;padding:3px 11px}
@media (max-width:768px){.jdb-help{margin-left:0}}
/* Fix: on phones the grey back stars sat one star to the left of the gold ones (2026-09-28) */
@media (max-width:991px){.professorRow .row>div:nth-child(2) .backstars{right:auto!important;left:6px!important}.professorRow .row>div:nth-child(2) .frontstars{float:none!important;width:auto!important}}

/* Compare entry as a solid button (2026-09-28) */
a.jdb-cmp-entry{display:inline-flex!important;align-items:center;gap:8px;background:var(--n)!important;color:#fff!important;border:0!important;border-radius:999px;padding:9px 18px;font-size:14.5px!important;font-weight:600;text-decoration:none!important;margin:4px 0 18px;line-height:1.25;max-width:100%}
a.jdb-cmp-entry:hover{background:var(--n2)!important;border:0!important}
a.jdb-cmp-entry svg{flex:0 0 auto}
.jdb-chipwrap a.jdb-cmp-entry{display:flex!important;width:max-content;margin:12px 0 4px!important}
