/* C.E. Bernhauer Jr. Scholarship — exact mockup styles, scoped under .ceb-scholarship */

.ceb-scholarship {
  --forest:#004f71; --forest-md:#004f71; --forest-lt:#1a7a9f;
  --amber:#b60a38; --amber-lt:#d4124a;
  --cream:#f5f8fc; --cream-dk:#e8eef5; --parchment:#dde6ef;
  --ink:#0d1f2d; --ink-soft:#1e3346; --muted:#6a7e8f;
  --border:#b8c8d8; --error:#c0392b; --success:#1a7a9f; --white:#fff;
  --r-sm:4px; --r-md:8px; --r-lg:14px;
  --shadow:0 2px 12px rgba(0,79,113,0.10); --shadow-lg:0 8px 40px rgba(0,79,113,0.16);
  font-family:"Source Sans 3",sans-serif; background:transparent; color:var(--ink);
  font-size:15px; line-height:1.6;
}
.ceb-scholarship *, .ceb-scholarship *::before, .ceb-scholarship *::after { box-sizing:border-box; margin:0; padding:0; }

/* Header */
.ceb-scholarship .site-header { background:var(--forest); color:var(--cream); position:relative; overflow:hidden; }
.ceb-scholarship .header-inner { max-width:1140px; margin:0 auto; padding:48px 24px 40px; display:flex; align-items:center; justify-content:center; gap:28px; position:relative; }
.ceb-scholarship .header-emblem { width:72px; height:72px; border-radius:50%; background:var(--amber); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 0 0 6px rgba(182,10,56,0.25); font-size:34px; }
.ceb-scholarship .header-text h1 { font-family:"Playfair Display",serif; font-size:1.9rem; font-weight:700; line-height:1.2; letter-spacing:-0.01em; color:var(--cream); }
.ceb-scholarship .header-text p { font-size:0.88rem; color:rgba(250,246,240,0.65); margin-top:4px; letter-spacing:0.06em; text-transform:uppercase; }
.ceb-scholarship .deadline-banner { background:var(--amber); color:var(--white); text-align:center; padding:9px 24px; font-size:0.84rem; font-weight:600; letter-spacing:0.04em; text-transform:uppercase; }
.ceb-scholarship .deadline-banner span { opacity:0.85; font-weight:400; margin-right:6px; }

/* Progress */
.ceb-scholarship .progress-wrap { background:var(--white); border-bottom:1px solid var(--border); position:sticky; top:0; z-index:50; box-shadow:0 2px 8px rgba(0,0,0,0.06); }
.ceb-scholarship .progress-inner { max-width:1140px; margin:0 auto; padding:0 24px; display:flex; align-items:center; justify-content:center; gap:0; overflow-x:auto; position:relative; }
.ceb-scholarship .step-tab { display:flex; align-items:center; gap:8px; padding:14px 18px 14px 14px; cursor:pointer; border-bottom:3px solid transparent; transition:0.2s; white-space:nowrap; font-size:0.82rem; font-weight:500; color:var(--muted); letter-spacing:0.02em; flex-shrink:0; }
.ceb-scholarship .step-tab.active { color:var(--forest); border-bottom-color:var(--amber); font-weight:600; }
.ceb-scholarship .step-tab.completed { color:var(--forest-lt); }
.ceb-scholarship .step-num { width:22px; height:22px; border-radius:50%; background:var(--cream-dk); color:var(--muted); display:flex; align-items:center; justify-content:center; font-size:0.72rem; font-weight:700; transition:0.2s; }
.ceb-scholarship .step-tab.active .step-num { background:var(--amber); color:var(--white); }
.ceb-scholarship .step-tab.completed .step-num { background:var(--forest-lt); color:var(--white); }
.ceb-scholarship .step-tab.completed .step-num::before { content:"✓"; }
.ceb-scholarship .step-tab.completed .step-num > span { display:none; }
.ceb-scholarship .bar-progress { height:3px; background:var(--amber); position:absolute; bottom:0; left:0; transition:width 0.4s; }

/* Layout */
.ceb-scholarship .app-layout { max-width:1140px; margin:0 auto; padding:36px 24px 80px; display:grid; grid-template-columns:1fr 300px; gap:28px; align-items:start; }
@media (max-width:780px){ .ceb-scholarship .app-layout { grid-template-columns:1fr; } .ceb-scholarship .sidebar { order:-1; } }

.ceb-scholarship .form-section { display:none; animation:cebFadeIn 0.35s ease; }
.ceb-scholarship .form-section.active { display:block; }
@keyframes cebFadeIn { 0%{opacity:0; transform:translateY(8px);} 100%{opacity:1; transform:none;} }

.ceb-scholarship .section-card { background:var(--white); border:1px solid var(--border); border-radius:var(--r-lg); padding:32px; box-shadow:var(--shadow); margin-bottom:20px; }
.ceb-scholarship .section-title { font-family:"Playfair Display",serif; font-size:1.25rem; font-weight:600; color:var(--forest); margin-bottom:6px; padding-bottom:14px; border-bottom:2px solid var(--cream-dk); display:flex; align-items:center; gap:10px; }
.ceb-scholarship .section-title .icon { width:30px; height:30px; background:var(--cream-dk); border-radius:6px; display:flex; align-items:center; justify-content:center; font-size:0.9rem; }
.ceb-scholarship .section-sub { font-size:0.84rem; color:var(--muted); margin-bottom:22px; }

/* Fields */
.ceb-scholarship .field-grid { display:grid; gap:16px; }
.ceb-scholarship .field-grid-2 { grid-template-columns:1fr 1fr; }
.ceb-scholarship .field-grid-3 { grid-template-columns:1fr 1fr 1fr; }
@media (max-width:540px){ .ceb-scholarship .field-grid-2, .ceb-scholarship .field-grid-3 { grid-template-columns:1fr; } }
.ceb-scholarship .field { display:flex; flex-direction:column; gap:5px; }
.ceb-scholarship .field label { font-size:0.79rem; font-weight:600; color:var(--ink-soft); letter-spacing:0.04em; text-transform:uppercase; }
.ceb-scholarship .field label .req { color:var(--amber); margin-left:2px; }
.ceb-scholarship .field input[type="text"],
.ceb-scholarship .field input[type="email"],
.ceb-scholarship .field input[type="tel"],
.ceb-scholarship .field input[type="date"],
.ceb-scholarship .field select,
.ceb-scholarship .field textarea { border:1.5px solid var(--border); border-radius:var(--r-md); padding:10px 13px; font-family:"Source Sans 3",sans-serif; font-size:0.93rem; color:var(--ink); background:var(--cream); transition:border-color 0.2s, box-shadow 0.2s; width:100%; }
.ceb-scholarship .field input:focus,
.ceb-scholarship .field select:focus,
.ceb-scholarship .field textarea:focus { outline:none; border-color:var(--forest-lt); box-shadow:0 0 0 3px rgba(26,122,159,0.12); background:var(--white); }
.ceb-scholarship .field.has-error input,
.ceb-scholarship .field.has-error textarea { border-color:var(--error); }
.ceb-scholarship .field .err-msg { font-size:0.76rem; color:var(--error); display:none; }
.ceb-scholarship .field.has-error .err-msg { display:block; }
.ceb-scholarship .field textarea { resize:vertical; min-height:100px; }
.ceb-scholarship .field select { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236a7e8f' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; padding-right:32px; }

/* Radio / check */
.ceb-scholarship .radio-group, .ceb-scholarship .check-group { display:flex; gap:14px; flex-wrap:wrap; margin-top:4px; }
.ceb-scholarship .radio-opt, .ceb-scholarship .check-opt { display:flex; align-items:center; gap:7px; cursor:pointer; font-size:0.9rem; }
.ceb-scholarship .radio-opt input, .ceb-scholarship .check-opt input { accent-color:var(--forest); cursor:pointer; width:16px; height:16px; }
.ceb-scholarship .ceb-cond { display:none; }
.ceb-scholarship .ceb-cond.show { display:grid; }

/* Degree pills */
.ceb-scholarship .degree-grid { display:flex; gap:10px; flex-wrap:wrap; margin-top:6px; }
.ceb-scholarship .degree-btn { border:2px solid var(--border); border-radius:var(--r-md); padding:8px 16px; font-size:0.85rem; font-weight:600; cursor:pointer; background:var(--cream); color:var(--ink-soft); transition:0.18s; user-select:none; }
.ceb-scholarship .degree-btn:hover { border-color:var(--forest-lt); color:var(--forest); }
.ceb-scholarship .degree-btn.selected { border-color:var(--forest); background:var(--forest); color:var(--white); }

/* Upload */
.ceb-scholarship .upload-zone { border:2px dashed var(--border); border-radius:var(--r-lg); padding:28px 20px; text-align:center; cursor:pointer; transition:0.2s; background:var(--cream); position:relative; }
.ceb-scholarship .upload-zone:hover, .ceb-scholarship .upload-zone.drag-over { border-color:var(--forest-lt); background:rgba(26,122,159,0.04); }
.ceb-scholarship .upload-zone input[type="file"] { position:absolute; inset:0; opacity:0; cursor:pointer; width:100%; height:100%; }
.ceb-scholarship .upload-icon { font-size:2rem; margin-bottom:10px; }
.ceb-scholarship .upload-zone h4 { font-size:0.92rem; font-weight:600; color:var(--ink-soft); }
.ceb-scholarship .upload-zone p { font-size:0.8rem; color:var(--muted); margin-top:4px; }
.ceb-scholarship .file-list { margin-top:14px; display:flex; flex-direction:column; gap:8px; }
.ceb-scholarship .file-item { display:flex; align-items:center; gap:10px; background:var(--white); border:1px solid var(--border); border-radius:var(--r-md); padding:9px 12px; font-size:0.83rem; }
.ceb-scholarship .file-item .file-name { flex:1; font-weight:500; color:var(--ink-soft); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ceb-scholarship .file-item .file-size { color:var(--muted); font-size:0.76rem; }
.ceb-scholarship .file-item .remove-file { cursor:pointer; color:var(--error); font-size:0.85rem; padding:2px 6px; border-radius:3px; border:none; background:none; }
.ceb-scholarship .file-item .remove-file:hover { background:rgba(192,57,43,0.08); }

/* Nav / buttons */
.ceb-scholarship .form-nav { display:flex; justify-content:space-between; align-items:center; margin-top:28px; gap:12px; }
.ceb-scholarship .btn { display:inline-flex; align-items:center; gap:8px; padding:12px 24px; border-radius:var(--r-md); font-family:"Source Sans 3",sans-serif; font-size:0.9rem; font-weight:600; cursor:pointer; border:2px solid transparent; transition:0.2s; letter-spacing:0.02em; text-decoration:none; }
.ceb-scholarship .btn-primary { background:var(--forest); color:var(--white); border-color:var(--forest); }
.ceb-scholarship .btn-primary:hover { background:var(--forest-md); box-shadow:0 4px 14px rgba(0,79,113,0.25); }
.ceb-scholarship .btn-secondary { background:transparent; color:var(--forest); border-color:var(--forest-lt); }
.ceb-scholarship .btn-secondary:hover { background:var(--cream-dk); }
.ceb-scholarship .btn-submit { background:var(--amber); color:var(--white); border-color:var(--amber); font-size:0.95rem; padding:14px 32px; }
.ceb-scholarship .btn-submit:hover { background:#9e0830; box-shadow:0 4px 18px rgba(182,10,56,0.35); }
.ceb-scholarship .btn:disabled { opacity:0.5; cursor:not-allowed; }

/* Sidebar */
.ceb-scholarship .sidebar { position:sticky; top:80px; }
.ceb-scholarship .info-card { background:var(--white); border:1px solid var(--border); border-radius:var(--r-lg); padding:22px; box-shadow:var(--shadow); margin-bottom:16px; }
.ceb-scholarship .info-card h3 { font-family:"Playfair Display",serif; font-size:0.98rem; color:var(--forest); margin-bottom:10px; padding-bottom:10px; border-bottom:1px solid var(--cream-dk); }
.ceb-scholarship .info-card p, .ceb-scholarship .info-card li { font-size:0.82rem; color:var(--ink-soft); line-height:1.55; }
.ceb-scholarship .info-card ul { padding-left:16px; margin-top:6px; display:flex; flex-direction:column; gap:5px; }
.ceb-scholarship .info-card a { color:var(--forest-lt); }
.ceb-scholarship .checklist-item { display:flex; align-items:flex-start; gap:8px; font-size:0.81rem; color:var(--ink-soft); margin-bottom:7px; }
.ceb-scholarship .checklist-item .ci-icon { flex-shrink:0; margin-top:1px; font-size:0.85rem; }

/* Success */
.ceb-scholarship .success-screen { display:none; text-align:center; padding:60px 40px; }
.ceb-scholarship .success-screen.visible { display:block; animation:cebFadeIn 0.5s ease; }
.ceb-scholarship .success-icon { width:80px; height:80px; border-radius:50%; background:var(--forest); color:var(--white); display:flex; align-items:center; justify-content:center; font-size:2.2rem; margin:0 auto 24px; box-shadow:0 0 0 12px rgba(0,79,113,0.1); }
.ceb-scholarship .success-screen h2 { font-family:"Playfair Display",serif; font-size:1.7rem; color:var(--forest); margin-bottom:12px; }
.ceb-scholarship .success-screen p { color:var(--muted); max-width:420px; margin:0 auto; }

/* Review */
.ceb-scholarship .review-group { margin-bottom:22px; }
.ceb-scholarship .review-group h4 { font-size:0.77rem; font-weight:700; color:var(--forest-lt); text-transform:uppercase; letter-spacing:0.06em; margin-bottom:10px; padding-bottom:8px; border-bottom:1px solid var(--cream-dk); }
.ceb-scholarship .review-row { display:flex; gap:10px; font-size:0.87rem; margin-bottom:6px; align-items:baseline; }
.ceb-scholarship .review-row dt { color:var(--muted); min-width:160px; flex-shrink:0; font-size:0.82rem; }
.ceb-scholarship .review-row dd { color:var(--ink-soft); font-weight:500; word-break:break-word; }

/* Inline submit error */
.ceb-scholarship .ceb-submit-error { background:rgba(192,57,43,0.06); border:1px solid var(--error); color:var(--error); border-radius:var(--r-md); padding:12px 14px; font-size:0.85rem; margin-bottom:16px; }

@media (max-width:600px){
  .ceb-scholarship .section-card { padding:20px; }
  .ceb-scholarship .header-inner { padding:28px 20px 24px; gap:16px; }
  .ceb-scholarship .header-text h1 { font-size:1.4rem; }
  .ceb-scholarship .header-emblem { width:52px; height:52px; }
}
