/*==========================================================================================
  MODERN THEME LAYER
  Loaded LAST in master.blade.php. It only overrides presentation (colors, type, spacing,
  shadows) — no markup or custom logic is touched. Remove the <link> to revert instantly.
==========================================================================================*/
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Source+Serif+4:opsz,wght@8..60,500;8..60,600;8..60,700&display=swap');

:root {
	--ink: #0f2438;
	--ink-soft: #3b4d61;
	--muted: #6b7c8f;
	--line: #e4eaf1;
	--bg: #f4f7fb;
	--card: #ffffff;
	--primary: #0f7ca6;
	--primary-dark: #0a5f80;
	--primary-soft: #e6f4fa;
	--accent: #1fb58a;
	--navy: #0b1f33;
	--navy-2: #112d47;
	--radius: 14px;
	--radius-sm: 10px;
	--shadow-sm: 0 1px 2px rgba(15, 36, 56, .06), 0 2px 8px rgba(15, 36, 56, .05);
	--shadow: 0 8px 28px rgba(15, 36, 56, .09);
	--shadow-lg: 0 18px 50px rgba(15, 36, 56, .16);
	--ease: cubic-bezier(.2, .7, .2, 1);
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body {
	color: var(--ink-soft) !important;
	background: var(--bg) !important;
	font: 400 15px/1.7 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif !important;
	-webkit-font-smoothing: antialiased;
}
body h1, body h2, body h3, body h4, body h5, body h6 {
	color: var(--ink) !important;
	font-family: 'Source Serif 4', Georgia, 'Times New Roman', serif !important;
	font-weight: 600 !important;
	letter-spacing: -.01em;
	line-height: 1.25 !important;
}
h1 { font-size: 44px; }
h2 { font-size: 34px; }
h3 { font-size: 22px; }
h4 { font-size: 18px; }
p { line-height: 1.75; }
a, p a, a:hover, a:focus { color: var(--primary); transition: color .2s var(--ease); }
a:hover { color: var(--primary-dark); }
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color: var(--ink); }
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover { color: var(--primary) !important; }
::selection { background: var(--primary); color: #fff; }
img { max-width: 100%; }

/* ---------- Page shell: full width instead of a boxed page ---------- */
.sj-wrapper { background: var(--bg); }
.sj-contentwrapper {
	max-width: none !important;
	padding-top: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}
.sj-contentwrapper:before {
	height: 4px;
	z-index: 60;
	background: linear-gradient(90deg, var(--primary), var(--accent)) !important;
}
.container { max-width: 1200px; }

/* ---------- Header ---------- */
.sj-header { background: #fff; position: relative; z-index: 50; box-shadow: 0 1px 0 var(--line); }
.sj-topbar { padding: 8px 0 !important; border-bottom: 1px solid var(--line) !important; font-size: 13px; }
.sj-topbar .sj-socialiconssimple { padding: 4px 0 !important; }
.sj-topbar .sj-socialiconssimple li a { color: var(--muted) !important; transition: color .2s, transform .2s var(--ease); }
.sj-topbar .sj-socialiconssimple li a:hover { color: var(--primary) !important; transform: translateY(-2px); }
.sj-loging li a { color: var(--ink-soft); font-weight: 500; padding: 4px 10px; border-radius: 999px; transition: all .2s; }
.sj-loging li a:hover { background: var(--primary-soft); color: var(--primary-dark); }

.sj-navigationarea {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	padding: 16px 0 !important;
}
.sj-navigationarea:after { display: none; }
.sj-logo { float: none !important; padding: 0 !important; margin: 0; flex: 0 0 auto; width: auto; }
.sj-logo a { display: block; }
.sj-navigationarea .sj-logo a img { height: 72px; width: auto !important; max-width: 300px; object-fit: contain; transition: transform .3s var(--ease); }
.sj-logo a:hover img { transform: scale(1.03); }
.sj-rightarea { float: none !important; display: flex; align-items: center; gap: 6px; margin-left: auto; }

.sj-navigation > ul > li > a {
	color: var(--ink-soft) !important;
	font-weight: 500;
	font-size: 14.5px;
	padding: 9px 14px !important;
	border-radius: 999px !important;
	border: 0 !important;
	background: transparent !important;
	transition: all .2s var(--ease);
}
.sj-navigation > ul > li.menu-item-has-children > a,
.sj-navigation > ul > li.page_item_has_children > a { padding-right: 28px !important; }
.sj-navigation > ul > li:hover > a,
.sj-navigation > ul > li.current-menu-item > a {
	background: var(--primary-soft) !important;
	color: var(--primary-dark) !important;
}
.sj-nav { font: 500 14.5px/1.2 'Inter', sans-serif !important; text-transform: none !important; }

.sub-menu, .children {
	border: 1px solid var(--line) !important;
	border-top: 3px solid var(--primary) !important;
	border-radius: var(--radius-sm) !important;
	box-shadow: var(--shadow-lg) !important;
	padding: 6px !important;
	overflow: hidden;
}
.sub-menu li a, .children li a {
	border-radius: 8px;
	padding: 9px 12px !important;
	color: var(--ink-soft) !important;
	transition: background .15s, color .15s;
}
.sub-menu li a:hover, .children li a:hover { background: var(--primary-soft); color: var(--primary-dark) !important; }

.sj-btntopsearch {
	width: 40px; height: 40px; line-height: 40px;
	text-align: center; border-radius: 50%;
	margin: 0 10px 0 6px !important;
	color: var(--ink-soft) !important;
	transition: all .2s;
}
.sj-btntopsearch:hover { background: var(--primary-soft); color: var(--primary) !important; }

/* user menu */
.sj-userloginarea > a { display: flex; align-items: center; gap: 10px; }
.sj-userloginarea img { border-radius: 50% !important; box-shadow: 0 0 0 2px var(--primary-soft); }
.sj-usernav {
	border: 1px solid var(--line) !important;
	border-radius: var(--radius-sm) !important;
	box-shadow: var(--shadow-lg) !important;
	overflow: hidden;
}
.sj-usernav ul li a { transition: background .15s, color .15s; }
.sj-usernav ul li a:hover { background: var(--primary-soft); color: var(--primary-dark) !important; }

/* ---------- Buttons ---------- */
.sj-btn {
	font-family: 'Inter', sans-serif !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	letter-spacing: .01em;
	line-height: 44px !important;
	padding: 0 24px !important;
	border-radius: 999px !important;
	text-transform: none !important;
	color: #fff !important;
	border: 0;
	box-shadow: 0 4px 14px rgba(15, 124, 166, .28);
	transition: transform .2s var(--ease), box-shadow .2s var(--ease);
}
/* gradient lives on the element itself so <input type=submit> (no pseudo-elements) works too */
.sj-btn, input.sj-btn, button.sj-btn, a.sj-btn, .sj-btnactive {
	background: linear-gradient(135deg, var(--primary), #14a0b8) !important;
	background-size: 140% 100% !important;
	background-position: 0 0 !important;
	cursor: pointer;
}
.sj-btn:before, .sj-btn.sj-btnactive:before { display: none !important; }
.sj-btn:hover, .sj-btn:focus {
	background: linear-gradient(135deg, var(--primary-dark), var(--primary)) !important;
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(15, 124, 166, .35);
	color: #fff !important;
}
input.sj-btn { height: auto; border: 0 !important; }
.sj-btn-sm { line-height: 34px !important; padding: 0 16px !important; }
.sj-btnview {
	color: var(--primary) !important;
	font-weight: 600;
	font-size: 14px;
	border-radius: 999px;
	padding: 6px 16px;
	background: var(--primary-soft);
	transition: all .2s;
}
.sj-btnview:hover { background: var(--primary); color: #fff !important; }

/* ---------- Inner page banner ---------- */
.sj-innerbanner {
	padding: 38px 0 !important;
	background:
		radial-gradient(900px 300px at 85% -20%, rgba(31, 181, 138, .35), transparent 60%),
		linear-gradient(120deg, var(--navy) 0%, var(--navy-2) 55%, #0f4a6b 100%) !important;
	position: relative;
}
.sj-innerbannercontent h1 {
	color: #fff !important;
	font-size: 28px !important;
	margin: 0 0 6px;
}
.sj-innerbannercontent, .sj-innerbannercontent a, .sj-innerbannercontent li, .sj-innerbannercontent span { color: rgba(255, 255, 255, .85) !important; }
.sj-innerbannercontent a:hover { color: #fff !important; }

/* ---------- Home hero ---------- */
.sj-homebanner {
	background:
		radial-gradient(800px 380px at 10% 0%, rgba(15, 124, 166, .13), transparent 60%),
		radial-gradient(700px 360px at 95% 100%, rgba(31, 181, 138, .14), transparent 60%),
		linear-gradient(180deg, #fff, var(--bg)) !important;
	border-bottom: 1px solid var(--line) !important;
}
.sj-bannercontent { padding: 20px 0 20px 20px !important; max-width: 560px; }
.sj-bannercontent h1 {
	font-size: 38px !important;
	padding: 0 0 20px !important;
	margin: 0 0 20px !important;
	color: var(--ink) !important;
}
.sj-bannercontent h1:before { height: 4px !important; width: 70px !important; border-radius: 4px; background: linear-gradient(90deg, var(--primary), var(--accent)) !important; }
.sj-bannercontent .sj-description p { color: var(--ink-soft); font-size: 16px; margin: 0; }
/* Keep every hero slide the same height: long copy is trimmed to a short teaser */
.sj-bannercontent h1 {
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden;
}
.sj-bannercontent .sj-description {
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; line-clamp: 5;
	overflow: hidden; float: none; width: 100%;
}
.sj-homebanner .item { padding: 44px 0 52px; }
.sj-homebanner .item > .container > .row { align-items: center; min-height: 440px; }
.sj-homebanner .item > .container > .row > [class*="col-"] { display: flex; flex-direction: column; justify-content: center; align-self: stretch; }
.sj-homebanner .item { overflow: hidden; }
.sj-postbook, .sj-featureimg { perspective: 1200px; }
.sj-homebanner .sj-postbook { display: flex; justify-content: center; width: 100%; float: none; }
.sj-homebanner .sj-featureimg, .sj-homebanner .sj-bookimg, .sj-homebanner .sj-frontcover {
	float: none !important; width: auto !important; max-width: 100%; margin: 0; padding: 0; position: relative;
}
.sj-homebanner .sj-frontcover:before {
	content: ''; position: absolute; inset: 8% -6% -6% 10%; z-index: 0; border-radius: 28px;
	background: linear-gradient(135deg, rgba(15, 124, 166, .18), rgba(31, 181, 138, .22));
}
.sj-frontcover img, .sj-bookimg img {
	position: relative; z-index: 1;
	width: auto !important;
	max-width: 100%;
	max-height: 400px;
	display: block; margin: 0 auto;
	border-radius: 6px 12px 12px 6px;
	box-shadow: -4px 0 0 rgba(0, 0, 0, .12), 0 24px 48px rgba(15, 36, 56, .26);
	transition: transform .5s var(--ease);
}
.sj-postbook:hover .sj-frontcover img { transform: rotateY(-8deg) translateY(-6px); }
.owl-carousel .owl-dot span { background: var(--line) !important; transition: all .3s; }
.owl-carousel .owl-dot.active span { background: var(--primary) !important; width: 26px !important; border-radius: 6px !important; }

/* ---------- Welcome section ---------- */
.sj-welcomegreetingsection {
	background: var(--card) !important;
	padding: 70px 0 !important;
	border-top: 0 !important;
	border-bottom: 1px solid var(--line) !important;
}
.sj-welcomegreeting { display: flex; flex-wrap: wrap; align-items: center; width: 100%; }
/* every welcome-slider image gets the same box, cropped to fit */
.sj-welcomeimgslider .sj-welcomeimg, .sj-welcomeimgslider figure { margin: 0; background: transparent !important; padding: 0 !important; }
.sj-welcomeimgslider img, .sj-welcomeimg img {
	border-radius: var(--radius);
	box-shadow: var(--shadow-lg);
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 2 / 1;
	max-height: none;
	object-fit: cover;
	object-position: center;
	margin: 0 auto;
	display: block;
}
.sj-welcomecontent .sj-description, .sj-welcomecontent .sj-description * { letter-spacing: normal !important; }
.sj-welcomehead span {
	color: var(--accent) !important;
	font-weight: 700;
	font-size: 13px !important;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.sj-welcomehead h2 { font-size: 38px !important; position: relative; padding-bottom: 18px; margin-bottom: 8px; }
.sj-welcomehead h2:after {
	content: ''; position: absolute; left: 0; bottom: 0; width: 70px; height: 4px; border-radius: 4px;
	background: linear-gradient(90deg, var(--primary), var(--accent));
}
.sj-welcomecontent .sj-description { color: var(--ink-soft); font-size: 15.5px; }
.sj-btnarea { margin-top: 22px; width: 100%; float: left; }

/* ---------- Section heading ---------- */
.sj-sectioninnerspace { padding: 0 0 20px; }
.sj-borderheading {
	display: flex; align-items: center; justify-content: space-between;
	border-bottom: 0 !important;
	padding-bottom: 14px !important;
	margin-bottom: 26px !important;
	position: relative;
}
.sj-borderheading:after {
	content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 2px;
	background: linear-gradient(90deg, var(--primary) 0 80px, var(--line) 80px 100%);
}
.sj-borderheading h3 { float: none !important; margin: 0; font-size: 26px; }
.sj-borderheading a { float: none !important; }

/* ---------- Content layout ---------- */
.sj-twocolumns { padding: 56px 0 70px !important; background: var(--bg); }
.sj-haslayout.sj-sectionspace { padding: 0; }
.sj-main { background: var(--bg); min-height: 50vh; }

/* ---------- Article / edition cards ---------- */
.sj-editorchoice, .sj-editorschoice .item, .sj-post {
	background: var(--card);
}
.sj-editorschoice article.sj-post, .sj-editorschoice .sj-editorchoice {
	display: flex !important;
	gap: 22px;
	align-items: flex-start;
	width: 100%;
	padding: 20px !important;
	margin: 0 0 20px !important;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	box-shadow: var(--shadow-sm);
	transition: transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s;
}
.sj-editorschoice article.sj-post:hover, .sj-editorschoice .sj-editorchoice:hover {
	transform: translateY(-3px);
	box-shadow: var(--shadow);
	border-color: transparent;
}
.sj-postimg { float: none !important; flex: 0 0 150px; width: 150px !important; margin: 0 !important; }
.sj-postimg img {
	width: 100%; height: auto; border-radius: 8px;
	box-shadow: 0 10px 24px rgba(15, 36, 56, .2);
}
.sj-postcontent { float: none !important; flex: 1 1 auto; width: auto !important; padding: 0 !important; }
.sj-postcontent .sj-head h3 { font-size: 21px; margin: 4px 0 10px; }
.sj-username {
	display: inline-block; font-size: 12.5px; font-weight: 600; letter-spacing: .04em;
	color: var(--primary-dark) !important; background: var(--primary-soft);
	padding: 3px 12px; border-radius: 999px; margin-bottom: 6px;
}
.sj-postcontent .sj-description { color: var(--ink-soft); margin-bottom: 14px; }
.sj-editorchoice:hover .sj-head h3 a { color: var(--primary) !important; }

/* ---------- Sidebar widgets ---------- */
.sj-sidebar .sj-widget, aside .sj-widget {
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	box-shadow: var(--shadow-sm);
	padding: 22px;
	margin-bottom: 22px;
}
.sj-widget + .sj-widget { margin-top: 0 !important; }
.sj-widgetheading {
	background: transparent !important;
	padding: 0 0 12px !important;
	margin: 0 0 6px !important;
	border-radius: 0 !important;
	border-bottom: 1px solid var(--line);
}
.sj-widgetheading h3 { font-size: 19px !important; margin: 0; color: var(--ink) !important; position: relative; padding-left: 14px; }
.sj-widgetheading h3:before {
	content: ''; position: absolute; left: 0; top: 4px; bottom: 4px; width: 4px; border-radius: 4px;
	background: linear-gradient(var(--primary), var(--accent));
}
.sj-widgetcontent li a { color: var(--ink-soft); transition: all .2s; }
.sj-widgetcontent li:hover a { color: var(--primary) !important; padding-left: 4px; }
.sj-widgetquestions .sj-widgetheading { background: var(--primary) !important; }
.sj-widgetcontent .sj-formsearch button { background: var(--primary) !important; border-radius: 0 999px 999px 0; }

/* ---------- Forms ---------- */
.form-control, textarea, select, .sj-select select,
input[type="text"], input[type="password"], input[type="email"], input[type="number"],
input[type="search"], input[type="tel"], input[type="url"], input[type="date"] {
	font-family: 'Inter', sans-serif !important;
	font-size: 14.5px !important;
	color: var(--ink) !important;
	background: #fff !important;
	border: 1.5px solid var(--line) !important;
	border-radius: var(--radius-sm) !important;
	box-shadow: none !important;
	transition: border-color .2s, box-shadow .2s;
}
.form-control, input[type="text"], input[type="password"], input[type="email"], input[type="number"],
input[type="search"], input[type="tel"], input[type="url"], select { min-height: 46px; }
.form-control:focus, textarea:focus, select:focus,
input:focus { border-color: var(--primary) !important; box-shadow: 0 0 0 4px rgba(15, 124, 166, .13) !important; outline: 0; }
::placeholder { color: #9aa9b8 !important; opacity: 1; }
.form-group { margin-bottom: 16px; }
label { font-weight: 500; color: var(--ink-soft); }
.sj-formtheme fieldset { padding: 0; }
.invalid-feedback, .is-invalid ~ .invalid-feedback { color: #d64545; font-size: 13px; }
.is-invalid { border-color: #d64545 !important; }

/* Login / register cards */
.sj-widgetlogin, .sj-registerarea {
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	padding: 30px;
}
.sj-widgetlogin .sj-widgetheading, .registernow .sj-widgetheading { padding: 0 0 14px !important; margin-bottom: 18px !important; }
.sj-widgetlogin .sj-btn, .sj-registerarea .sj-btn { min-width: 160px; }
.sj-widgetlogin .sj-widgetheading h3, .registernow .sj-widgetheading h3 { font-size: 24px !important; }
.sj-forgotpass a, .sj-forgorpass { color: var(--primary); font-weight: 500; }

/* checkbox/radio labels */
.sj-checkbox input[type=checkbox] + label:before, .sj-radio input[type=radio] + label:before { border-radius: 5px; border-color: #c9d4df; }

/* ---------- Tables ---------- */
.table, table { color: var(--ink-soft); }
.table { background: var(--card); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm); border-collapse: separate; border-spacing: 0; }
.table thead th, table thead th {
	background: #f1f6fb !important;
	color: var(--ink) !important;
	font-size: 12.5px; text-transform: uppercase; letter-spacing: .06em;
	border-bottom: 1px solid var(--line) !important;
	border-top: 0 !important;
	padding: 14px 16px !important;
}
.table td, .table th { border-top: 1px solid var(--line); padding: 14px 16px; vertical-align: middle; }
.table-striped tbody tr:nth-of-type(odd) { background: #fafcfe; }
.table-hover tbody tr:hover, .table tbody tr:hover { background: var(--primary-soft); }

/* ---------- Pagination ---------- */
.sj-pagination ul li a, .sj-pagination ul li span, .pagination li a, .pagination li span {
	border-radius: 10px !important;
	border: 1px solid var(--line) !important;
	background: #fff;
	margin: 0 3px;
	transition: all .2s;
}
.sj-pagination ul li:hover a, .sj-pagination ul li.sj-active a, .sj-pagination ul li.sj-active span,
.pagination li.active span { background: var(--primary) !important; border-color: var(--primary) !important; color: #fff !important; }

/* ---------- Alerts / toasts / modals ---------- */
.alert { border: 0; border-radius: var(--radius-sm); box-shadow: var(--shadow-sm); }
.modal-content { border: 0; border-radius: var(--radius); box-shadow: var(--shadow-lg); overflow: hidden; }
.modal-header { background: #f6f9fc; border-bottom: 1px solid var(--line); }
.modal-footer { border-top: 1px solid var(--line); }
.badge { border-radius: 999px; padding: 5px 10px; font-weight: 600; }

/* ---------- Dashboard side-menu icons ----------
   Helper::displayArticleMenu() emits icon classes that don't exist in the Linearicons set
   (money, money_received, spell, accept), leaving blank gaps. Map them to real glyphs. */
.lnr-money:before          { content: "\e85f"; } /* hourglass        – Payment Initiated  */
.lnr-money_received:before { content: "\e87f"; } /* checkmark-circle – Payment Received   */
.lnr-spell:before          { content: "\e81b"; } /* eye              – Paper Under Review */
.lnr-accept:before         { content: "\e853"; } /* earth            – Published Article  */

/* ---------- Dashboard (author/reviewer/admin) ---------- */
.sj-dashboardnav, .sj-dashboardbox, .sj-dashboardboxtitle, .sj-dashboardbox .sj-dashboardboxcontent { border-radius: var(--radius); }
.sj-dashboardnav > ul > li > a { border-radius: var(--radius-sm); transition: all .2s; }
.sj-dashboardnav > ul > li > a:before { border-radius: var(--radius-sm); }
.sj-dashboardbox, .sj-dbsection, .sj-dashboardboxtitle ~ div, .sj-articledetails, .sj-formtheme .sj-dashboardbox {
	box-shadow: var(--shadow-sm);
}
.sj-dashboardbox { background: var(--card); border: 1px solid var(--line); }

/* ---------- Footer ---------- */
.sj-footer {
	background: linear-gradient(180deg, var(--navy-2), var(--navy)) !important;
	border-top: 0 !important;
	color: #b7c6d6;
	margin-top: 0;
}
.sj-footer, .sj-footer p, .sj-footer li, .sj-footer address, .sj-footer span, .sj-footer .sj-description { color: #b7c6d6 !important; }
.sj-footer a { color: #d6e4f1; }
.sj-footer a:hover { color: #fff; }
.sj-footer h3, .sj-footer h4 { color: #fff !important; }
.sj-footer .sj-widgetheading { border-bottom-color: rgba(255, 255, 255, .12); }
.sj-footercolumns { padding: 56px 0 40px !important; }
.sj-footer .sj-widget { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
.sj-footer img { border-radius: 8px; }
.sj-footer .sj-logo img, .sj-footer #footer_site_logo, .sj-footer .sj-widgetcontent > a > img, .sj-footer .sj-footerlogo img {
	background: #fff; padding: 10px 14px; border-radius: 12px !important;
}
.sj-footerbottom {
	border-top: 1px solid rgba(255, 255, 255, .1);
	padding: 18px 0 !important;
	text-align: center;
}
.sj-copyrights { margin: 0 !important; font-size: 13.5px; color: #8fa3b8 !important; }
.sj-copyrights span { color: #fff !important; font-weight: 600; }
.sj-btnscrolltotop {
	background: var(--primary) !important;
	width: 46px !important; height: 46px !important; line-height: 46px !important;
	top: -23px !important; right: 40px !important;
	border-radius: 50% !important;
	text-align: center;
	box-shadow: 0 8px 20px rgba(15, 124, 166, .4);
	transition: transform .25s var(--ease), background .2s;
}
.sj-btnscrolltotop:hover { transform: translateY(-4px); background: var(--primary-dark) !important; }
.sj-btnscrolltotop:before, .sj-btnscrolltotop:after { display: none !important; }
.sj-btnscrolltotop i { color: #fff; font-size: 22px; line-height: 46px; }

/* ---------- Search overlay ---------- */
.sj-searcharea { background: rgba(11, 31, 51, .92) !important; backdrop-filter: blur(6px); }
.sj-searcharea input[type="search"] { background: transparent !important; color: #fff !important; border: 0 !important; border-bottom: 2px solid rgba(255, 255, 255, .4) !important; border-radius: 0 !important; font-size: 28px !important; }
.sj-searcharea input[type="search"]:focus { box-shadow: none !important; border-bottom-color: var(--accent) !important; }

/* ---------- Misc polish ---------- */
/* CMS-pasted content often carries its own fonts; keep typography consistent */
.sj-description p, .sj-description span, .sj-description li, .sj-description div { font-family: inherit !important; }
.sj-description ul, .sj-description ol { padding-left: 22px; margin-bottom: 18px; }
.sj-description img { max-width: 100%; height: auto; border-radius: var(--radius-sm); }
.sj-widgetcontent:empty { display: none; }
.provider-site-wrap { backdrop-filter: blur(3px); }
.sj-bgdark { background: var(--navy); }
.sj-bglight { background: var(--bg); }
blockquote { border-left: 4px solid var(--accent); background: var(--primary-soft); padding: 14px 20px; border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
hr { border-top-color: var(--line); }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: #c3d0dc; border-radius: 10px; border: 2px solid var(--bg); }
::-webkit-scrollbar-thumb:hover { background: #a6b6c6; }

@media (prefers-reduced-motion: reduce) {
	*, *:before, *:after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
	h1 { font-size: 34px; }
	.sj-bannercontent { padding: 40px 0 !important; }
	.sj-bannercontent h1 { font-size: 34px !important; }
	.sj-welcomehead h2 { font-size: 30px !important; }
	.sj-navigationarea { justify-content: space-between; }
	.sj-nav .navbar-toggler { border-radius: 10px; border: 0; padding: 8px 12px; }
	.sj-navigation { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-sm); box-shadow: var(--shadow); margin-top: 10px; padding: 8px; }
	.sj-navigation > ul > li { float: none !important; width: 100%; }
	.sj-navigation > ul > li > a { text-align: left; }
	.sj-twocolumns { padding: 36px 0 50px !important; }
}
.navbar-toggler { background: var(--primary) !important; border-radius: 10px !important; color: #fff; }
.navbar-toggler i { color: #fff; }
@media (max-width: 575px) {
	.sj-topbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }
	.sj-navigationarea .sj-logo a img { height: 56px; }
	.sj-welcomegreetingsection { padding: 40px 0 !important; }
	.sj-welcomehead h2 { font-size: 26px !important; }
	.sj-editorschoice article.sj-post, .sj-editorschoice .sj-editorchoice { flex-direction: column; }
	.sj-postimg { flex-basis: auto; width: 120px !important; }
	.sj-widgetlogin, .sj-registerarea { padding: 20px; }
	.sj-btnscrolltotop { right: 16px !important; }
	.sj-rightarea { width: 100%; justify-content: space-between; }
}
