/*-----------------------------------------------------------------
 Theme override: E-Class style (white / light-gray / orange / charcoal)
 Loaded last so it wins the cascade over bootstrap.min.css & style.css.
 Visual-only overrides - no markup/layout/functionality changes.
-------------------------------------------------------------------*/
:root{
	--theme-primary:#F47B20;
	--theme-primary-hover:#DB6A16;
	--theme-primary-light:#FFF3E8;
	--theme-hover-bg:#FFF7F0;
	--theme-text-dark:#3F4750;
	--theme-text-secondary:#66707A;
	--theme-page-bg:#F3F3F3;
	--theme-border:#D9D9D9;
	--theme-white:#FFFFFF;
}

/* Page background & base text */
body{
	background-color:var(--theme-page-bg);
	color:var(--theme-text-dark);
}

/* Links */
a{
	color:var(--theme-text-dark);
	transition:color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}
a:hover,a:focus{
	color:var(--theme-primary);
}

/*-----------------------------------------------Header/Nav---------------------------------------------*/
header{
	background:var(--theme-white);
	border-bottom:1px solid var(--theme-border);
}
.headerDiv .navRight ul li a:hover{
	color:var(--theme-primary);
}
.headerDiv .navRight .language ul li.orgColor a{
	color:var(--theme-primary)!important;
}
.headerDiv .navRight .searchBox button,.form-wrapper .searchBox button{
	background:var(--theme-primary);
	border:1px solid var(--theme-primary);
}
.headerDiv .navRight .searchBox input,.form-wrapper .searchBox input{
	border:1px solid var(--theme-border);
}

nav.bgBlue{
	background:var(--theme-white)!important;
	color:var(--theme-text-dark);
	border-bottom:1px solid var(--theme-border);
	box-shadow:0 1px 4px rgba(0,0,0,0.05);
}
nav.bgBlue .navbar-nav .nav-link{
	color:var(--theme-text-dark);
}
nav.bgBlue .navbar-nav .nav-item:hover .nav-link,
nav.bgBlue .navbar-nav .nav-item:focus .nav-link,
nav.bgBlue .navbar-nav .nav-link:hover,
nav.bgBlue .navbar-nav .nav-link:focus,
nav.bgBlue .navbar-nav .open > .nav-link,
nav.bgBlue .navbar-nav .active > .nav-link,
nav.bgBlue .navbar-nav .nav-link.open,
nav.bgBlue .navbar-nav .nav-link.active{
	color:var(--theme-primary);
	background:transparent;
	border-radius:0;
	box-shadow:inset 0 -2px 0 0 var(--theme-primary);
}
nav.bgBlue .navbar-nav .nav-item .dropMenu{
	background:var(--theme-white);
	box-shadow:0 2px 10px rgba(0,0,0,0.12);
	border:1px solid var(--theme-border);
}
nav.bgBlue .navbar-nav .nav-item .dropMenu li{
	background:var(--theme-white);
	color:var(--theme-text-dark);
	border-bottom:1px solid var(--theme-border);
}
nav.bgBlue .navbar-nav .nav-item .dropMenu li.active,
nav.bgBlue .navbar-nav .nav-item .dropMenu li:hover,
nav.bgBlue .navbar-nav .nav-item .dropMenu li:focus{
	background:var(--theme-hover-bg);
	color:var(--theme-primary);
}
nav.bgBlue .navbar-nav .nav-item ul.dropMenu li.expanded:after{
	color:var(--theme-text-dark);
}
/* Bootstrap's own dropdown inside the blue nav, matched to the .dropMenu look above.
   No fixed width - the menu sizes to its longest label. */
nav.bgBlue .navbar-nav .dropdown-menu{
	background:var(--theme-white);
	border:1px solid var(--theme-border);
	border-radius:0;
	box-shadow:0 2px 10px rgba(0,0,0,0.12);
	margin-top:4px;
	padding:0;
	min-width:0;
}
nav.bgBlue .navbar-nav .dropdown-menu .dropdown-item{
	color:var(--theme-text-dark);
	font-size:15px;
	padding:6px 14px;
	white-space:nowrap;
	border-bottom:1px solid var(--theme-border);
}
nav.bgBlue .navbar-nav .dropdown-menu .dropdown-item:last-child{
	border-bottom:none;
}
nav.bgBlue .navbar-nav .dropdown-menu .dropdown-item:hover,
nav.bgBlue .navbar-nav .dropdown-menu .dropdown-item:focus,
nav.bgBlue .navbar-nav .dropdown-menu .dropdown-item.active{
	background:var(--theme-hover-bg);
	color:var(--theme-primary);
}
.navbar-toggler{
	border-color:var(--theme-border)!important;
}
.navbar-light .navbar-toggler-icon{
	background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(63, 71, 80, 0.85)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

/*-----------------------------------------------Footer---------------------------------------------*/
footer{
	background-color:var(--theme-white);
	color:var(--theme-text-secondary);
	border-top:1px solid var(--theme-border);
}
footer ul li{
	border-right:1px solid var(--theme-border);
	color:var(--theme-text-secondary);
}
footer ul li a{
	color:var(--theme-text-secondary);
}
footer ul li a:hover{
	color:var(--theme-primary);
}

/*-----------------------------------------------Buttons---------------------------------------------*/
.btn-primary{
	background-color:var(--theme-primary);
	border-color:var(--theme-primary);
	color:var(--theme-white);
}
.btn-primary:hover,.btn-primary:focus,.btn-primary:active{
	background-color:var(--theme-primary-hover)!important;
	border-color:var(--theme-primary-hover)!important;
}
.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active{
	background-color:var(--theme-primary-hover);
	border-color:var(--theme-primary-hover);
}
.btn-primary.focus,.btn-primary:focus,
.btn-outline-primary.focus,.btn-outline-primary:focus{
	box-shadow:0 0 0 0.2rem rgba(244,123,32,0.35);
}
.btn-outline-primary{
	color:var(--theme-primary);
	border-color:var(--theme-primary);
}
.btn-outline-primary:hover{
	background-color:var(--theme-primary);
	border-color:var(--theme-primary);
}
.btn-secondary,.btn-light{
	background-color:var(--theme-white);
	border-color:var(--theme-border);
	color:var(--theme-text-dark);
}
.btn-secondary:hover,.btn-light:hover{
	background-color:var(--theme-hover-bg);
	border-color:var(--theme-border);
	color:var(--theme-text-dark);
}

/*-----------------------------------------------Cards/Panels---------------------------------------------*/
.card,.setup-content{
	background-color:var(--theme-white);
	border:1px solid var(--theme-border);
	border-radius:6px;
	box-shadow:0 2px 8px rgba(0,0,0,0.08);
}
.card-header{
	background-color:var(--theme-white);
	border-bottom:1px solid var(--theme-border);
	color:var(--theme-text-dark);
}

/*-----------------------------------------------Forms---------------------------------------------*/
.form-control{
	border-color:var(--theme-border);
	color:var(--theme-text-dark);
}
.form-control::placeholder{
	color:#8A9299;
}
.form-control:focus{
	border-color:var(--theme-primary);
	box-shadow:0 0 0 0.2rem rgba(244,123,32,0.25);
}
label{
	color:var(--theme-text-dark);
}
.custom-control-input:checked ~ .custom-control-label::before{
	background-color:var(--theme-primary);
	border-color:var(--theme-primary);
}

/*-----------------------------------------------Tables---------------------------------------------*/
.table{
	color:var(--theme-text-dark);
}
.table thead th{
	background-color:var(--theme-white);
	color:var(--theme-text-dark);
	border-bottom:2px solid var(--theme-primary);
}
.table td,.table th{
	border-color:var(--theme-border);
}
.table-hover tbody tr:hover{
	background-color:var(--theme-hover-bg);
}
.table-striped tbody tr:nth-of-type(odd){
	background-color:#FAFAFA;
}

/*-----------------------------------------------Pagination---------------------------------------------*/
.page-link{
	color:var(--theme-text-dark);
	border-color:var(--theme-border);
}
.page-link:hover{
	color:var(--theme-primary);
	background-color:var(--theme-hover-bg);
	border-color:var(--theme-border);
}
.page-item.active .page-link{
	background-color:var(--theme-primary);
	border-color:var(--theme-primary);
}

/*-----------------------------------------------Sidebar (if rendered)---------------------------------------------*/
.main-wrapper .sidebar{
	background:var(--theme-primary);
}

/*-----------------------------------------------Registration page (.reg-page)---------------------------------------------*/
.reg-page{
	max-width:1100px;
	margin:0 auto;
}
.reg-page-title{
	text-align:center;
	margin:8px 0 28px;
}
.reg-page-title h1{
	font-size:26px;
	font-weight:600;
	color:var(--theme-text-dark);
	margin-bottom:6px;
}
.reg-page-title p{
	color:var(--theme-text-secondary);
	margin-bottom:0;
}

/* Content card below stepper — keep same width as stepper */
.reg-page .setup-content{
	max-width:1000px;
	margin-left:auto;
	margin-right:auto;
}

/* Horizontal stepper */
.reg-stepper{
	margin-bottom:28px;
	overflow-x:auto;
	-webkit-overflow-scrolling:touch;
	max-width:1000px;
	margin-left:auto;
	margin-right:auto;
}
.reg-stepper .reg-stepper-list{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	list-style:none;
	margin:0;
	padding:0;
	min-width:1000px;
}
.reg-stepper .reg-stepper-list > li{
	position:relative;
	flex:1;
	text-align:center;
	padding:0 4px;
	background:transparent!important;
}
.reg-stepper .reg-stepper-list > li:not(:last-child):after{
	content:"";
	position:absolute;
	top:16px;
	left:50%;
	width:100%;
	height:2px;
	background:var(--theme-border);
	z-index:0;
}
.reg-stepper .reg-stepper-list > li.not-allowed:after{
	background:var(--theme-border);
}
.reg-stepper .reg-stepper-list > li:not(.not-allowed):after{
	background:var(--theme-primary);
}
.reg-stepper .reg-stepper-list > li a{
	position:relative;
	z-index:1;
	display:flex;
	flex-direction:column;
	align-items:center;
	text-decoration:none;
	color:var(--theme-text-secondary);
}
.reg-stepper .reg-stepper-list > li a i{
	display:flex;
	align-items:center;
	justify-content:center;
	width:32px;
	height:32px;
	border-radius:50%;
	background:var(--theme-white);
	border:2px solid var(--theme-border);
	color:var(--theme-text-secondary);
	margin-bottom:8px;
	font-size:13px;
}
.reg-stepper .reg-stepper-list > li span{
	font-size:12.5px;
	font-weight:500;
	white-space:nowrap;
}
.reg-stepper .reg-stepper-list > li.not-allowed a{
	cursor:not-allowed;
	color:var(--theme-text-secondary);
}
.reg-stepper .reg-stepper-list > li:not(.not-allowed) a i{
	background:var(--theme-primary);
	border-color:var(--theme-primary);
	color:var(--theme-white);
}
.reg-stepper .reg-stepper-list > li:not(.not-allowed) a span{
	color:var(--theme-text-dark);
}
.reg-stepper .reg-stepper-list > li a.active i{
	background:var(--theme-primary);
	border-color:var(--theme-primary);
	color:var(--theme-white);
	box-shadow:0 0 0 3px var(--theme-primary-light);
}
.reg-stepper .reg-stepper-list > li a.active span{
	color:var(--theme-primary);
	font-weight:600;
}

/* Flash messages — match width of the registration card below */
.fash-messages{
	max-width:1000px;
	margin:0 auto;
}

/* Registration card */
.reg-card{
	max-width:1000px;
	margin:0 auto;
	background:var(--theme-white);
	border:1px solid var(--theme-border);
	border-radius:8px;
	box-shadow:0 2px 10px rgba(0,0,0,0.06);
	padding:32px;
}
@media (max-width:576px){
	.reg-card{
		padding:20px;
	}
}
.reg-card .form_title{
	font-size:20px;
	font-weight:600;
	color:var(--theme-text-dark);
	margin-bottom:20px;
}

/* Password requirements */
.reg-password-requirements{
	background:var(--theme-page-bg);
	border:1px solid var(--theme-border);
	border-radius:6px;
	padding:12px 16px;
	margin-top:8px;
}
.reg-password-requirements .req-heading{
	font-size:12.5px;
	font-weight:600;
	color:var(--theme-text-secondary);
	margin-bottom:6px;
	display:block;
}
.reg-password-requirements ul{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:4px 12px;
	margin:0;
	padding:0;
	list-style:none;
}
@media (max-width:480px){
	.reg-password-requirements ul{
		grid-template-columns:1fr;
	}
}
.reg-password-requirements ul li{
	font-size:12.5px;
	color:var(--theme-text-secondary);
	opacity:1!important;
}
.reg-password-requirements ul li span{
	display:flex;
	align-items:center;
	gap:6px;
}
.reg-password-requirements ul li i{
	font-size:11px;
}
.reg-password-requirements ul li i.fa-times{
	color:#B0B7BD;
}
.reg-password-requirements ul li i.fa-check,
.reg-password-requirements ul li .text-success i{
	color:#2E9E5B;
}

/* CAPTCHA group */
.reg-captcha-group{
	display:flex;
	align-items:center;
	gap:10px;
	flex-wrap:wrap;
	border:1px solid var(--theme-border);
	border-radius:5px;
	padding:8px 10px;
	background:var(--theme-white);
}
.reg-captcha-group input.form-control{
	border:none;
	flex:1;
	min-width:140px;
	padding-left:0;
}
.reg-captcha-group input.form-control:focus{
	box-shadow:none;
}
.reg-captcha-group img{
	height:40px;
	border-radius:3px;
}
.reg-captcha-group .btn-outline-primary{
	padding:6px 12px;
}

/* Already registered link */
.reg-already{
	text-align:center;
	margin-top:18px;
	color:var(--theme-text-dark);
	font-size:14px;
}
.reg-already a{
	color:var(--theme-primary);
	font-weight:600;
}

/* Register button sizing */
.reg-card #sign-up{
	height:44px;
	border-radius:5px;
	font-weight:600;
}
