:root {
  --primary-red: #ae0b04;
  --primary-yellow: #e7b006;
  --primary-green: #055d0b;
  --accent-yellow: #f2c507;
  --dark: #000000;
  --light-bg: #f8f9fa;
  --gold: #d4af37;
  --cream: #f8f4e9;

  --fc-bg: #fff;
  --fc-text: #0f172a;
  --fc-muted: #64748b;
  --fc-border: rgba(15, 23, 42, .18);
  --fc-border-hover: rgba(15, 23, 42, .28);
  --fc-ring: rgba(59, 130, 246, .45);
  --fc-shadow: 0 10px 24px rgba(2, 6, 23, .06);
  --fc-radius: 10px;
}
body {font-family:'Lato', sans-serif; background:linear-gradient(135deg, #f8f4e9 0%, #f5f5f5 100%); color:#333; font-size:16px; line-height:1.3; padding:20px 0;}
.elegant-container {max-width:1000px; margin:0 auto; background:white; border-radius:15px; box-shadow:0 10px 30px rgba(0,0,0,0.08); overflow:hidden;}
.elegant-header {background:linear-gradient(135deg, var(--primary-green) 0%, #033a07 100%); padding:30px; text-align:center; color:white; position:relative; overflow:hidden;}
.header-content {position:relative; z-index:2;}
#admission_logo {height:48px; width:auto; margin-bottom:15px; filter:drop-shadow(0 3px 5px rgba(0,0,0,0.3));}
.elegant-header h1 {font-weight:700; margin:10px 0 5px; font-size:32px; text-shadow:1px 1px 3px rgba(0,0,0,0.3); letter-spacing:0.5px;}
.elegant-header p {font-size:16px; opacity:0.9; margin-bottom:0;}
.form-content {padding:30px;}
.progress-container {padding:0 30px 15px; background-color:#f8f9fa; border-bottom:1px solid #e9ecef;}
.progress {height:10px; margin-bottom:10px; border-radius:10px; background-color:#e9ecef; box-shadow:inset 0 1px 2px rgba(0,0,0,0.1); overflow:hidden;}
.progress-bar {background:linear-gradient(to right, var(--primary-yellow), var(--accent-yellow)); position:relative; transition:width 0.8s cubic-bezier(0.65, 0, 0.35, 1);}
.progress-text {text-align:center; font-weight:600; color:var(--primary-green); font-size:14px; margin-bottom:5px;}
.progress-steps {display:flex; justify-content:space-between; margin-top:5px; padding:0 10px;}
.progress-step {font-size:14px; color:#6c757d; position:relative;}
.progress-step.active {color:var(--primary-green); font-weight:bold;}
.form-section {display:none; animation:fadeInUp 0.5s ease;}
    
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}
    
.form-section.active {display:block;}
.section-title {color:var(--primary-red); font-weight:700; font-size:24px; margin-bottom:25px; padding-bottom:15px; border-bottom:2px solid var(--accent-yellow); position:relative;}
.section-title:after {content:''; position:absolute; bottom:-2px; left:0; width:60px; height:2px; background-color:var(--primary-green);}
.form-group {margin-bottom:25px; position:relative;}
label {font-weight:600; margin-bottom:8px; color:#444; display:block;}
.required:after {content:" *"; color:var(--primary-red);}
.input-group-addon {background-color:var(--primary-yellow); color:#000; border:1px solid #ddd; border-left:none; cursor:pointer; border-radius:0 8px 8px 0;}
.radio-btn .radio-inline input[type="radio"] {margin-top: 7px;}
.form-control {width:100%; box-sizing:border-box; appearance:none; -webkit-appearance:none; -moz-appearance:none; background-color:var(--fc-bg); color:var(--fc-text); border:1px solid var(--fc-border); border-radius:var(--fc-radius); padding:15px 44px 15px 14px; font:400 14px/1.2 "Helvetica Neue",Helvetica,Arial,sans-serif; box-shadow:var(--fc-shadow); transition:border-color .2s ease, box-shadow .2s ease, transform .12s ease; height:auto;}
.form-control:hover {border-color:var(--fc-border-hover);}
.form-control:focus {outline:none; border-color:rgba(59, 130, 246, .65); box-shadow:var(--fc-shadow), 0 0 0 2px var(--fc-ring);}
.form-control:disabled {opacity:.7; cursor:not-allowed; background:rgba(2, 6, 23, .03);}
.form-control:required:invalid {color:var(--fc-muted);}
.form-control option {color:var(--fc-text);}
select.form-control {background-image:linear-gradient(180deg, rgba(255,255,255,.0), rgba(255, 255, 255, .0)), url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath fill='%2364748b' d='M5.5 7.5l4.5 5 4.5-5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; background-size:20px 20px;}

.margin-top-10 { margin-top: 20px;}
.btn-next { margin: 5px 0; border:none; position: relative; color:white; background:linear-gradient(to right, var(--primary-green), #088312); font-size:16px; font-weight:600; padding:14px 45px 14px 30px; border-radius: 10px; display:inline-flex; align-items:center; gap:10px; box-shadow:0 10px 30px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .08); cursor:pointer; transition:transform .12s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;}
.btn-next:hover {background:linear-gradient(to right, #044a09, #066a0e); box-shadow: 0 6px 15px rgba(5, 93, 11, 0.4);}
.btn-next:active {transform:translateY(0); box-shadow: 0 6px 15px rgba(5, 93, 11, 0.4);}
.btn-next:focus-visible {outline:none; box-shadow:none;}
.btn-next:after {content:''; position:absolute; top:50%; right:20px; transform:translateY(-50%); width:20px; height:20px; background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white" width="24px" height="24px"><path d="M0 0h24v24H0z" fill="none"/><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/></svg>') no-repeat center; transition:transform 0.3s;}
.btn-submit { margin: 5px 0; background:#088312; color:white; padding:14px 35px; font-size:16px; font-weight:600; border:none; border-radius:8px; transition:all 0.3s; box-shadow:0 4px 10px rgba(170, 11, 5, 0.3);}
.btn-submit:hover {background:#088312; color:white; box-shadow:0 6px 15px rgba(5, 170, 15, 0.4);}

.btn-default { margin: 5px 0; position: relative; color:white; background:linear-gradient(to right, #6c757d, #868e96); border:none; box-shadow:0 10px 22px rgba(2, 6, 23, .06), inset 0 1px 0 rgba(255, 255, 255, .8);font-size: 16px;font-weight: 600;padding: 14px 30px 14px 45px;border-radius: 10px;display: inline-flex;align-items: center;gap: 10px;}
.btn-default::before {content:''; position:absolute; top:50%; left:20px; transform: translate(-50%, -50%) rotate(180deg); width:20px; height:20px; background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white" width="24px" height="24px"><path d="M0 0h24v24H0z" fill="none"/><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/></svg>') no-repeat center; transition:transform 0.3s;}
.btn-default:hover {background:linear-gradient(to right, #5a6268, #727b84); color:white;}
.btn-default:active {transform:translateY(0); box-shadow:0 10px 18px rgba(2, 6, 23, .06), inset 0 2px 10px rgba(2, 6, 23, .08);}
.btn-default:focus-visible {outline:none; box-shadow:0 10px 22px rgba(2, 6, 23, .06), 0 0 0 4px rgba(59, 130, 246, .35);}
.btn:disabled {opacity:.6; cursor:not-allowed; transform:none; box-shadow:none;}
.btn-default:active:hover {color:white;}
 
.programme-card {border:1px solid #e9ecef; border-radius:10px; padding:25px; margin-bottom:25px; background-color:#fff; box-shadow:0 3px 10px rgba(0,0,0,0.05); transition:all 0.3s; position:relative; overflow:hidden;}
.programme-card:before {content:''; position:absolute; top:0; left:0; width:5px; height:100%; background:linear-gradient(to bottom, var(--primary-yellow), var(--accent-yellow));}
.programme-card:hover {box-shadow:0 5px 15px rgba(0,0,0,0.08); transform:translateY(-3px);}
.programme-title {color:var(--primary-green); font-family:'Playfair Display', serif; font-weight:700; margin-bottom:15px; font-size:22px;}
.error {color:var(--primary-red); font-size:13px; margin-top:5px; font-weight:500;}
input.error, select.error, textarea.error {border:1.5px solid var(--primary-red) !important; background-color:#fff6f6;}
.error-msg {color:var(--primary-red); font-size:13px; margin-top:4px; font-weight:500;}
.radio-inline, .checkbox-inline {margin-right:15px; font-weight:normal;}
.alert-info {background-color:#e6f7ff; border-color:#91d5ff; color:#004074; border-radius:8px; border-left:4px solid #1890ff;}
.checkbox label {font-weight:normal;}
.trial-label {color:var(--primary-green); font-weight:600;}
.center-label {color:var(--primary-red); font-weight:600;}
.timing-label {color:#0b5ed7; font-weight:600;}
.btn-submit:disabled {background:#ccc; color:#666; cursor:not-allowed; opacity:0.7; transform:none; box-shadow:none;}
.elegant-footer { display: flex; align-items: center; justify-content: center; column-gap: 20px; flex-wrap: wrap; row-gap: 15px; text-align:center; padding:20px; background-color:#f8f9fa; border-top:1px solid #e9ecef; color:#6c757d; font-size:14px;}
.elegant-footer #admission_logo { margin-bottom: 0;}
.chk-bx { display: flex; align-items: center; column-gap: 10px;}
.chk-bx input[type="checkbox"], .chk-bx input[type="radio"] { margin: 0;}
.chk-bx label { margin: 0;}
.agree-chk-btn label { display: flex; align-items: center;}
.agree-chk-btn .text-danger {font-size: 16px; line-height: 1.3;}
.radio-btn .radio-inline input[type="radio"] { margin-top: 5px;}

ul {list-style:none; padding:0; margin:0; display:grid; gap:14px;}
ul > li {font: 400 16px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif; color: #555;}
ul > li > strong {display:block; letter-spacing:.04em; text-transform:uppercase; font:500 18px/1.3 "Helvetica Neue",Helvetica,Arial,sans-serif; color:#0f172a; margin-bottom:10px;}
ul > li > p {margin:0; margin-top:8px; font:400 16px/1.6 "Helvetica Neue",Helvetica,Arial,sans-serif; color:rgba(15, 23, 42, .82);}
ul > li > p:first-of-type {margin-top:0;}
ul a {color:#2563eb; text-decoration:none; font-weight:700;}
ul a:hover {text-decoration:underline; text-underline-offset:3px;}
ul > li > p:has(> i), ul > li > p {}
ul > li > p b, ul > li > p strong {font-weight:800; color:#0f172a;}

#section4 ul > li {border: 1px solid rgba(15, 23, 42, .14); border-radius: 16px; background: #fff; padding: 16px 16px 14px; box-shadow: 0 10px 24px rgba(2, 6, 23, .06); transition: transform .12s ease, box-shadow .2s ease, border-color .2s ease;}
#section4 ul > li:hover{ border-color: rgba(15, 23, 42, .22); box-shadow: 0 16px 34px rgba(2, 6, 23, .09);}

.elegant-header { background-size:cover; background-position:center; background-repeat:no-repeat; text-align:center; color:white; height:243px; width:561px; margin:0 auto; padding:0;}
.header-content img {max-height:80px; margin-bottom:15px;}
.header-content h1 {font-size:28px; margin:0;}
.header-content p {font-size:20px; margin:5px 0 0;}
.admission-header {display:flex; align-items:center; gap:3px; margin:20px 0 20px;}
.admission-header img {max-height:70px;}
.admission-header h1 {font-size:24px; font-weight:bold; margin:0; color:#333;}
.progress-container {padding:0 20px 15px;}
#courseDetails {display:flex; flex-wrap:wrap; justify-content:center; gap:20px;}
.course-card {width:350px; border-radius:12px; border:1px solid #ccc; box-shadow:0 2px 6px rgba(0,0,0,0.1); padding:10px; display:flex; flex-direction:column; justify-content:space-between;}
.course-card h4, .course-card h5 {margin-bottom:10px;}
.course-card p {color:#555; min-height:60px;}
.course-extra {margin-top:15px;}
.trial-card {width:350px; border-radius:12px; border:1px solid #0c6600; box-shadow:0 2px 6px rgba(0,0,0,0.1); padding:10px; background-color:#f6fff6;}
#courseDetails {display:flex; flex-direction:column; align-items:center; gap:25px; margin-top:20px;}
.course-card, .trial-card {width:90%; max-width:850px; border-radius:14px; border:1px solid #ddd; box-shadow:0 4px 12px rgba(0, 0, 0, 0.08); padding:15px 20px; background-color:#fff; transition:all 0.3s ease;}
.course-card:hover { box-shadow:0 6px 14px rgba(0, 0, 0, 0.1);}
.course-card h4 {color:#007bff; margin-bottom:5px; font: 700 18px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif;}
.course-card h5 {color:#333; margin-bottom:10px; font: 600 16px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif;}
.course-card p {color:#555; margin-bottom:15px; font: 400 16px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif;}
.course-extra {margin-top:15px; text-align:left;}
.form-group label {font-weight:500;}
.trial-card {background:#f8fff8; border:1px solid #0c6600;}
.trial-card h5 {color:#0c6600; font-weight:700; margin-bottom:15px;}
.trial-card label {font-weight:500;}
#studentStatusModal .modal-dialog {width:450px; margin:0 auto; top:50%; transform:translateY(-50%);}