/* Tuition & Fees page additions (keeps Apply Now look & feel) */
:root{
  --couFieldBg:#f7f8fb; /* soft light background for inputs/selects */
  --couFieldBgFocus:#ffffff;
  --couFieldText:#111;
}

.cou-pageTitle{
  max-width:1150px;margin:18px auto 0;padding:0 14px;
  font-size:22px;font-weight:700;color:#111;
}
.cou-hero{
  max-width:1150px;margin:10px auto 0;padding:0 14px;
}
.cou-hero img{width:100%;height:auto;display:block;}

.cou-heroFrame{
  border-radius:10px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.10);
}
.cou-heroFrame img{
  width:100%;
  height:auto;
  display:block;
}

.cou-heroMenu{
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding:14px 18px;
  background:#fff;
  border-top:1px solid rgba(0,0,0,.08);
}
.cou-heroMenuCol{min-width:180px;}
.cou-heroMenuTitle{
  font-weight:800;
  font-size:14px;
  margin-bottom:6px;
  color:#111;
}
.cou-heroMenuLink{
  display:block;
  font-size:12px;
  line-height:1.35;
  color:#111;
  text-decoration:none;
  margin:2px 0;
}
.cou-heroMenuLink:hover,
.cou-heroMenuLink:focus{
  text-decoration:underline;
}

@media (max-width:780px){
  .cou-heroMenu{flex-direction:column;gap:14px;}
  .cou-heroMenuCol{min-width:auto;}
}

.cou-main{max-width:1150px;margin:14px auto 40px;padding:0 14px;}
.cou-card{
  background:#fff;border:1px solid #e8e8e8;border-radius:12px;
  box-shadow:0 8px 20px rgba(0,0,0,.06);
  overflow:hidden;margin:14px 0;
}
.cou-cardInner{display:grid;grid-template-columns:360px 1fr;gap:0;}
.cou-cardMedia{background:#fafafa;border-right:1px solid #ededed;}
.cou-cardMedia img{display:block;width:100%;height:100%;object-fit:cover;}
.cou-cardBody{padding:18px 18px 16px;}
.cou-cardBody h2,.cou-cardBody h3{margin:0 0 10px;font-size:18px;}
.cou-cardBody p{margin:10px 0;line-height:1.45;color:#111;}
.cou-cardBody .smallNote{font-size:12px;color:#444;margin-top:8px;}

/* Subpage helper UI (very small, safe) */
.cou-alert{border:1px solid rgba(0,0,0,.12);border-left-width:6px;padding:10px 12px;border-radius:10px;margin:10px 0;background:#fff;}
.cou-alert.ok{border-left-color:#2e7d32;}
.cou-alert.warn{border-left-color:#f39c12;}
.cou-miniActions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;}
.cou-inlineLink{color:#0b63c9;text-decoration:underline;}
.cou-split{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;
}
.cou-table{
  width:100%;border-collapse:separate;border-spacing:0;
  border:1px solid #e8e8e8;border-radius:10px;overflow:hidden;
  font-size:13px;
}
.cou-table th{
  text-align:left;background:#f6f8fb;border-bottom:1px solid #e8e8e8;
  padding:10px 12px;font-weight:700;
}
.cou-table td{
  border-bottom:1px solid #f0f0f0;padding:9px 12px;vertical-align:top;
}
.cou-table tr:last-child td{border-bottom:none;}
.cou-price{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;}
.cou-chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;padding:3px 8px;border-radius:999px;background:#f2f2f2;color:#333;}
.cou-calc{
  border:1px solid #e8e8e8;border-radius:12px;padding:14px;background:#fbfcff;
}
.cou-formRow{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0;}
.cou-field label{display:block;font-size:12px;color:#333;margin:0 0 6px;}
.cou-field input,.cou-field select{
  width:100%;padding:10px 10px;border:1px solid #dcdcdc;border-radius:10px;
  font:inherit;font-size:13px;color:var(--couFieldText);background:var(--couFieldBg);
}
.cou-field input:focus,.cou-field select:focus{outline:none;border-color:var(--couRed);box-shadow:0 0 0 3px rgba(100,0,0,.12);}
.cou-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;}
.cou-btn{
  padding:10px 14px;border-radius:10px;border:1px solid var(--couRed);
  background:var(--couRed);color:#fff;font-weight:700;cursor:pointer;
}
.cou-btn.secondary{background:#fff;color:var(--couRed);}
.cou-results{
  margin-top:12px;border-top:1px dashed #d8d8d8;padding-top:12px;
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
}
.cou-kpi{
  background:#fff;border:1px solid #e8e8e8;border-radius:12px;padding:12px;
}
.cou-kpi .k{font-size:12px;color:#444;margin-bottom:6px;}
.cou-kpi .v{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;}
.cou-kpi .v.good{color:#1b7f2a;}
.cou-kpi .v.blue{color:#0b63c9;}

@media (max-width: 920px){
  .cou-cardInner{grid-template-columns:1fr;}
  .cou-cardMedia{border-right:none;border-bottom:1px solid #ededed;}
  .cou-split{grid-template-columns:1fr;}
  .cou-results{grid-template-columns:1fr;}
}

/* Secondary menu line (dark red) */
.secondary-nav{
  background:#6b0000;
  width:100%;
}
.secondary-nav__inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 18px;
}
.secondary-nav__list{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  padding:10px 0;
  margin:0;
  align-items:center;
}
.secondary-nav__link{
  color:#ffffff;
  text-decoration:none;
  font-weight:600;
  font-size:14px;
  white-space:nowrap;
}
.secondary-nav__link:hover{ text-decoration:underline; }

/* Chat box must be touchable/clickable above all */
#chat-toggle, .chat-toggle{ cursor:pointer; pointer-events:auto; }
#chat-box, .chat-box{ pointer-events:auto; z-index:9999; }
.chat-widget, .chat-container{ z-index:9999; }


/* --- Tuition & Fees enhancements (safe, additive) --- */
.srOnly{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

.cou-tools{
  max-width:1150px;margin:10px auto 0;padding:0 14px;
}
.cou-toolsInner{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:#fff;border:1px solid rgba(0,0,0,.10);border-radius:10px;
  box-shadow:0 4px 14px rgba(0,0,0,.08);
  padding:10px 12px;
}
.cou-toolsLeft{display:flex;align-items:center;gap:10px;min-width:260px;flex:1;}
.cou-toolsLabel{font-weight:800;font-size:12px;color:#111;white-space:nowrap;}
.cou-toolsSearch{
  width:100%;min-width:220px;
  border:1px solid rgba(0,0,0,.18);border-radius:8px;
  padding:9px 10px;font-size:13px;outline:none;
}
.cou-toolsSearch:focus{border-color:rgba(137,5,5,.75);box-shadow:0 0 0 3px rgba(137,5,5,.12);}

.cou-toolsRight{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;}
.cou-toolsSelect{
  border:1px solid rgba(0,0,0,.18);border-radius:8px;
  padding:8px 10px;font-size:13px;background:#fff;
}
.cou-toolsFx{display:inline-flex;align-items:center;gap:6px;}
.cou-toolsFx input{
  width:120px;border:1px solid rgba(0,0,0,.18);border-radius:8px;
  padding:8px 10px;font-size:13px;
  background:var(--couFieldBg);
  color:var(--couFieldText);
}

.cou-toolsBtn{
  border:1px solid rgba(0,0,0,.18);
  border-radius:8px;
  padding:8px 10px;
  font-size:13px;
  background:#fff;
  cursor:pointer;
}
.cou-toolsBtn:hover{border-color:rgba(0,0,0,.30);}
.cou-toolsNote{
  margin:8px 2px 0;
  font-size:12px;color:rgba(0,0,0,.70);
}

/* Role banner */
.cou-roleBanner{
  max-width:1150px;margin:10px auto 0;padding:0 14px;
}
.cou-roleBannerInner{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  border-radius:10px;
  background:linear-gradient(90deg, rgba(137,5,5,.08), rgba(0,0,0,.02));
  border:1px solid rgba(137,5,5,.20);
  padding:10px 12px;
}
.cou-roleBannerTitle{font-weight:900;font-size:12px;color:#890505;letter-spacing:.2px;text-transform:uppercase;}
.cou-roleBannerText{font-size:13px;color:#111;}
.cou-roleBannerActions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}

/* Modal */
.cou-modal{position:fixed;inset:0;display:none;z-index:11000;}
.cou-modal.open{display:block;}
.cou-modalBackdrop{position:absolute;inset:0;background:rgba(0,0,0,.45);}
.cou-modalCard{
  position:relative;
  max-width:720px;
  margin:10vh auto 0;
  background:#fff;
  border-radius:12px;
  box-shadow:0 16px 45px rgba(0,0,0,.25);
  overflow:hidden;
}
.cou-modalHead{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 14px;border-bottom:1px solid rgba(0,0,0,.08);
}
.cou-modalTitle{font-weight:900;font-size:14px;color:#111;}
.cou-modalClose{
  border:0;background:transparent;font-size:16px;cursor:pointer;line-height:1;
  padding:8px;border-radius:8px;
}
.cou-modalClose:hover{background:rgba(0,0,0,.05);}
.cou-modalBody{padding:14px;font-size:13px;color:#111;}
.cou-modalBody ul{margin:10px 0 0 18px;}
.cou-modalBody a{color:#890505;text-decoration:none;}
.cou-modalBody a:hover{text-decoration:underline;}
.cou-modalFoot{
  display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;
  padding:12px 14px;border-top:1px solid rgba(0,0,0,.08);
}

/* Toast */
.cou-toast{
  position:fixed;left:50%;bottom:22px;transform:translateX(-50%);
  background:#111;color:#fff;
  padding:10px 12px;border-radius:10px;
  font-size:13px;opacity:0;pointer-events:none;
  box-shadow:0 12px 30px rgba(0,0,0,.25);
  z-index:12000;
  transition:opacity .18s ease, transform .18s ease;
}
.cou-toast.show{opacity:1;transform:translateX(-50%) translateY(-2px);}

/* Print: hide floating elements, keep content */
@media print{
  .apply-header, .apply-footer, .cou-tools, .chat-toggle, .chat-box, .cou-toast, .cou-modal, #roleBanner{display:none!important;}
  body{background:#fff;}
  .cou-card{box-shadow:none!important;border:1px solid rgba(0,0,0,.12)!important;}
}

/* Calculator contrast tweak (improves visibility without changing layout) */
.cou-calc .cou-field input,
.cou-calc .cou-field select{
  background:#f7f8fb;
  color:#111;
}
.cou-calc .cou-field input::placeholder{color:#6b6b6b;}


/* Global form contrast inside Tuition & Fees content (does not affect header nav controls) */
.cou-heroMenu input,.cou-heroMenu select,
.cou-tools input,.cou-tools select,
.cou-card input,.cou-card select,.cou-card textarea,
.cou-formRow input,.cou-formRow select,.cou-formRow textarea{
  background:var(--couFieldBg);
  color:var(--couFieldText);
}
